Quellcode durchsuchen

Update containers to have a capacity based on the owner's mass

vintage
Fen Dweller vor 6 Jahren
Ursprung
Commit
eee1a721ad
11 geänderte Dateien mit 45 neuen und 35 gelöschten Zeilen
  1. +2
    -2
      src/game/creatures/cafat.ts
  2. +2
    -2
      src/game/creatures/dragon.ts
  3. +6
    -6
      src/game/creatures/geta.ts
  4. +1
    -1
      src/game/creatures/kenzie.ts
  5. +4
    -4
      src/game/creatures/kuro.ts
  6. +2
    -2
      src/game/creatures/player.ts
  7. +3
    -3
      src/game/creatures/shingo.ts
  8. +3
    -3
      src/game/creatures/withers.ts
  9. +6
    -6
      src/game/creatures/wolf.ts
  10. +5
    -1
      src/game/vore.ts
  11. +11
    -5
      src/game/words.ts

+ 2
- 2
src/game/creatures/cafat.ts Datei anzeigen

@@ -83,7 +83,7 @@ export class Cafat extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 100, new Damage(
const stomach = new Stomach(this, 1, new Damage(
{ amount: 20, type: DamageType.Acid, target: Vigor.Health }, { amount: 20, type: DamageType.Acid, target: Vigor.Health },
{ amount: 10, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 10, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 10, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 10, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -93,7 +93,7 @@ export class Cafat extends Creature {


this.containers.push(stomach) this.containers.push(stomach)


const lowerStomach = new InnerStomach(this, 100, new Damage(
const lowerStomach = new InnerStomach(this, 1.5, new Damage(
{ amount: 40, type: DamageType.Acid, target: Vigor.Health }, { amount: 40, type: DamageType.Acid, target: Vigor.Health },
{ amount: 20, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 20, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 20, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 20, type: DamageType.Dominance, target: Vigor.Resolve }


+ 2
- 2
src/game/creatures/dragon.ts Datei anzeigen

@@ -20,7 +20,7 @@ export class Dragon extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 200, new Damage(
const stomach = new Stomach(this, 0.5, new Damage(
{ amount: 40, type: DamageType.Acid, target: Vigor.Health }, { amount: 40, type: DamageType.Acid, target: Vigor.Health },
{ amount: 20, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 20, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 20, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 20, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -28,7 +28,7 @@ export class Dragon extends Creature {


this.containers.push(stomach) this.containers.push(stomach)


const bowels = new Bowels(this, 200, new Damage(
const bowels = new Bowels(this, 0.5, new Damage(
{ amount: 10, type: DamageType.Crush, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health },
{ amount: 25, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 25, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 50, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 50, type: DamageType.Dominance, target: Vigor.Resolve }


+ 6
- 6
src/game/creatures/geta.ts Datei anzeigen

@@ -18,19 +18,19 @@ export class Geta extends Creature {
{ Toughness: 10, Power: 10, Speed: 30, Willpower: 15, Charm: 40 }, { Toughness: 10, Power: 10, Speed: 30, Willpower: 15, Charm: 40 },
new Set([VoreType.Oral, VoreType.Anal, VoreType.Cock]), new Set([VoreType.Oral, VoreType.Anal, VoreType.Cock]),
new Set([VoreType.Oral, VoreType.Anal, VoreType.Cock]), new Set([VoreType.Oral, VoreType.Anal, VoreType.Cock]),
100
40
) )


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 10, new Damage(
const stomach = new Stomach(this, 0.25, new Damage(
{ amount: 100, type: DamageType.Acid, target: Vigor.Health }, { amount: 100, type: DamageType.Acid, target: Vigor.Health },
{ amount: 40, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 40, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 80, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 80, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))
this.containers.push(stomach) this.containers.push(stomach)


const bowels = new Bowels(this, 10, new Damage(
const bowels = new Bowels(this, 0.25, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 90, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 90, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 120, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 120, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -42,7 +42,7 @@ export class Geta extends Creature {


this.otherActions.push(new FeedAction(stomach)) this.otherActions.push(new FeedAction(stomach))


const cock = new Cock(this, 10, new Damage(
const cock = new Cock(this, 0.25, new Damage(
{ amount: 10, type: DamageType.Crush, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health },
{ amount: 50, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 50, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 150, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 150, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -85,7 +85,7 @@ export class Geta extends Creature {
) )
) )


const balls = new Balls(this, 10, new Damage(
const balls = new Balls(this, 0.25, new Damage(
{ amount: 50, type: DamageType.Acid, target: Vigor.Health }, { amount: 50, type: DamageType.Acid, target: Vigor.Health },
{ amount: 25, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 25, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 50, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 50, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -152,7 +152,7 @@ export class Geta extends Creature {
crushAction crushAction
) )


const hand = new Hand(this, 10)
const hand = new Hand(this, 0.25)


this.otherContainers.push( this.otherContainers.push(
hand hand


+ 1
- 1
src/game/creatures/kenzie.ts Datei anzeigen

@@ -39,7 +39,7 @@ export class Kenzie extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 50, new Damage(
const stomach = new Stomach(this, 0.1, new Damage(
{ amount: 100, type: DamageType.Acid, target: Vigor.Health }, { amount: 100, type: DamageType.Acid, target: Vigor.Health },
{ amount: 100, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 100, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 100, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 100, type: DamageType.Dominance, target: Vigor.Resolve }


+ 4
- 4
src/game/creatures/kuro.ts Datei anzeigen

@@ -18,14 +18,14 @@ export class Kuro extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 50, new Damage(
const stomach = new Stomach(this, 0.5, new Damage(
{ amount: 100, type: DamageType.Acid, target: Vigor.Health }, { amount: 100, type: DamageType.Acid, target: Vigor.Health },
{ amount: 40, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 40, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 80, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 80, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))
this.containers.push(stomach) this.containers.push(stomach)


const bowels = new Bowels(this, 50, new Damage(
const bowels = new Bowels(this, 0.5, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 90, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 90, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 120, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 120, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -37,13 +37,13 @@ export class Kuro extends Creature {


this.otherActions.push(new FeedAction(stomach)) this.otherActions.push(new FeedAction(stomach))


const cock = new Cock(this, 50, new Damage(
const cock = new Cock(this, 0.5, new Damage(
{ amount: 10, type: DamageType.Crush, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health },
{ amount: 30, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 30, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 30, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 30, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))


const balls = new Balls(this, 50, new Damage(
const balls = new Balls(this, 0.5, new Damage(
{ amount: 50, type: DamageType.Acid, target: Vigor.Health }, { amount: 50, type: DamageType.Acid, target: Vigor.Health },
{ amount: 25, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 25, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 150, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 150, type: DamageType.Dominance, target: Vigor.Resolve }


+ 2
- 2
src/game/creatures/player.ts Datei anzeigen

@@ -18,10 +18,10 @@ export class Player extends Creature {


this.actions.push(new AttackAction(new ConstantDamageFormula(new Damage({ type: DamageType.Pierce, amount: 20, target: Vigor.Health }, { type: DamageType.Pierce, amount: 20, target: Vigor.Stamina })))) this.actions.push(new AttackAction(new ConstantDamageFormula(new Damage({ type: DamageType.Pierce, amount: 20, target: Vigor.Health }, { type: DamageType.Pierce, amount: 20, target: Vigor.Stamina }))))


const stomach = new Stomach(this, 100, new Damage({ amount: 20, type: DamageType.Acid, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health }))
const stomach = new Stomach(this, 2, new Damage({ amount: 20, type: DamageType.Acid, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health }))


this.containers.push(stomach) this.containers.push(stomach)
const bowels = new Bowels(this, 100, new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health }))
const bowels = new Bowels(this, 2, new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health }))


this.containers.push(bowels) this.containers.push(bowels)
this.perspective = POV.Second this.perspective = POV.Second


+ 3
- 3
src/game/creatures/shingo.ts Datei anzeigen

@@ -38,7 +38,7 @@ class Hand extends NormalContainer {
struggleVerb: Verb = new Verb('squirm', 'squirms', 'squirming', 'squirmed') struggleVerb: Verb = new Verb('squirm', 'squirms', 'squirming', 'squirmed')


constructor (owner: Creature) { constructor (owner: Creature) {
super(new ImproperNoun('hand', 'hands'), owner, new Set(), 100)
super(new ImproperNoun('hand', 'hands'), owner, new Set(), 0.1)
this.actions.push(new TrappedAction( this.actions.push(new TrappedAction(
"Grip", "Grip",
"Give your victim the squeeze", "Give your victim the squeeze",
@@ -65,7 +65,7 @@ class Paw extends NormalContainer {
struggleVerb: Verb = new Verb('squirm', 'squirms', 'squirming', 'squirmed') struggleVerb: Verb = new Verb('squirm', 'squirms', 'squirming', 'squirmed')


constructor (owner: Creature) { constructor (owner: Creature) {
super(new ImproperNoun('paw', 'paws'), owner, new Set([VoreType.Oral]), 100)
super(new ImproperNoun('paw', 'paws'), owner, new Set([VoreType.Oral]), 0.1)


this.actions.push(new TrappedAction( this.actions.push(new TrappedAction(
"Smother", "Smother",
@@ -162,7 +162,7 @@ export class Shingo extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 50, new Damage(
const stomach = new Stomach(this, 0.1, new Damage(
{ amount: 200, type: DamageType.Acid, target: Vigor.Health }, { amount: 200, type: DamageType.Acid, target: Vigor.Health },
{ amount: 100, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 100, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 100, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 100, type: DamageType.Dominance, target: Vigor.Resolve }


+ 3
- 3
src/game/creatures/withers.ts Datei anzeigen

@@ -84,7 +84,7 @@ class MawContainer extends NormalContainer {
struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled') struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled')


constructor (owner: Vore, stomach: VoreContainer) { constructor (owner: Vore, stomach: VoreContainer) {
super(new ImproperNoun('maw'), owner, new Set([VoreType.Oral]), 50)
super(new ImproperNoun('maw'), owner, new Set([VoreType.Oral]), 0.05)


const transfer = new TransferAction(this, stomach) const transfer = new TransferAction(this, stomach)
transfer.verb = new Verb('gulp') transfer.verb = new Verb('gulp')
@@ -122,7 +122,7 @@ class BootContainer extends NormalContainer {
struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled') struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled')


constructor (owner: Vore) { constructor (owner: Vore) {
super(new ImproperNoun('boot'), owner, new Set(), 50)
super(new ImproperNoun('boot'), owner, new Set(), 0.05)


const flex = new FlexToesAction( const flex = new FlexToesAction(
new UniformRandomDamageFormula(new Damage( new UniformRandomDamageFormula(new Damage(
@@ -317,7 +317,7 @@ export class Withers extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 50, new Damage(
const stomach = new Stomach(this, 0.1, new Damage(
{ amount: 300, type: DamageType.Acid, target: Vigor.Health }, { amount: 300, type: DamageType.Acid, target: Vigor.Health },
{ amount: 200, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 200, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 200, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 200, type: DamageType.Dominance, target: Vigor.Resolve }


+ 6
- 6
src/game/creatures/wolf.ts Datei anzeigen

@@ -28,14 +28,14 @@ export class Wolf extends Creature {


this.side = Side.Monsters this.side = Side.Monsters


const stomach = new Stomach(this, 50, new Damage(
const stomach = new Stomach(this, 2, new Damage(
{ amount: 60, type: DamageType.Acid, target: Vigor.Health }, { amount: 60, type: DamageType.Acid, target: Vigor.Health },
{ amount: 30, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 30, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 30, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 30, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))
this.containers.push(stomach) this.containers.push(stomach)


const bowels = new Bowels(this, 50, new Damage(
const bowels = new Bowels(this, 2, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 60, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 60, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
@@ -47,25 +47,25 @@ export class Wolf extends Creature {


this.otherActions.push(new FeedAction(stomach)) this.otherActions.push(new FeedAction(stomach))


const cock = new Cock(this, 50, new Damage(
const cock = new Cock(this, 2, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 60, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 60, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))


const balls = new Balls(this, 50, new Damage(
const balls = new Balls(this, 2, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 60, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 60, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
), cock) ), cock)


const slit = new Slit(this, 50, new Damage(
const slit = new Slit(this, 2, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 60, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 60, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
)) ))


const womb = new Womb(this, 50, new Damage(
const womb = new Womb(this, 2, new Damage(
{ amount: 30, type: DamageType.Crush, target: Vigor.Health }, { amount: 30, type: DamageType.Crush, target: Vigor.Health },
{ amount: 60, type: DamageType.Crush, target: Vigor.Stamina }, { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
{ amount: 60, type: DamageType.Dominance, target: Vigor.Resolve } { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }


+ 5
- 1
src/game/vore.ts Datei anzeigen

@@ -145,13 +145,17 @@ export abstract class NormalContainer implements Container {
releaseVerb = new Verb('release', 'releases', 'releasing', 'released') releaseVerb = new Verb('release', 'releases', 'releasing', 'released')
struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled') struggleVerb = new Verb('struggle', 'struggles', 'struggling', 'struggled')


constructor (name: Noun, public owner: Vore, public voreTypes: Set<VoreType>, public capacity: number) {
constructor (name: Noun, public owner: Vore, public voreTypes: Set<VoreType>, public capacityFactor: number) {
this.name = name.all this.name = name.all
this.actions.push(new DevourAction(this)) this.actions.push(new DevourAction(this))
this.actions.push(new ReleaseAction(this)) this.actions.push(new ReleaseAction(this))
this.actions.push(new StruggleAction(this)) this.actions.push(new StruggleAction(this))
} }


get capacity (): number {
return this.capacityFactor * this.owner.voreStats.Mass
}

consumeLine: PairLineArgs<Vore, { container: Container }> = (user, target, args) => { consumeLine: PairLineArgs<Vore, { container: Container }> = (user, target, args) => {
return new LogLine(`${user.name.capital} ${user.name.conjugate(this.consumeVerb)} ${target.name.objective} in ${user.pronouns.possessive} ${args.container.name}.`) return new LogLine(`${user.name.capital} ${user.name.conjugate(this.consumeVerb)} ${target.name.objective} in ${user.pronouns.possessive} ${args.container.name}.`)
} }


+ 11
- 5
src/game/words.ts Datei anzeigen

@@ -15,7 +15,8 @@ export const Slick = new RandomWord([


export const Swallows = new RandomWord([ export const Swallows = new RandomWord([
new Verb("swallow"), new Verb("swallow"),
new Verb("gulp")
new Verb("gulp"),
new Verb("consume", "consumes", "consuming", "consumed")
]) ])


export const Churns = new RandomWord([ export const Churns = new RandomWord([
@@ -25,16 +26,21 @@ export const Churns = new RandomWord([
new Verb("stew") new Verb("stew")
]) ])


export const Dark = new RandomWord([
new Adjective("dark"),
new Adjective("lightless"),
new Adjective("pitch-black")
])

export const Digests = new RandomWord([ export const Digests = new RandomWord([
new Verb("digest"),
new Verb("melt"),
new Verb("dissolve", "dissolves", "dissolving", "dissolved")
new Verb("digest")
]) ])


export const Absorbs = new RandomWord([ export const Absorbs = new RandomWord([
new Verb("absorb"), new Verb("absorb"),
new Verb("soak up", "soaks up", "soaking up", "soaked up"), new Verb("soak up", "soaks up", "soaking up", "soaked up"),
new Verb("melt")
new Verb("melt down", "melts down", "melting down", "melted down"),
new Verb("dissolve", "dissolves", "dissolving", "dissolved")
]) ])


export const Struggles = new RandomWord([ export const Struggles = new RandomWord([


Laden…
Abbrechen
Speichern