|  | import { Creature } from "../creature"
import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, StatDamageFormula, Stat } from '../combat'
import { MalePronouns, ImproperNoun, ProperNoun, ObjectPronouns, FemalePronouns, TheyPronouns, Verb } from '../language'
import { VoreType, Stomach, Bowels, Cock, Balls, anyVore, Slit, Womb, biconnectContainers } from '../vore'
import { AttackAction, TransferAction, FeedAction } from '../combat/actions'
import { Human } from '../creatures'
export class Wolf extends Creature {
  constructor () {
    super(
      new ImproperNoun('wolf', 'wolves'),
      new ImproperNoun('wolf', 'wolves'),
      [MalePronouns, FemalePronouns, TheyPronouns][Math.floor(Math.random() * 3)],
      { Toughness: 20, Power: 20, Speed: 20, Willpower: 20, Charm: 20 },
      anyVore,
      anyVore,
      25
    )
    this.actions.push(
      new AttackAction(
        new StatDamageFormula([
          { fraction: 1, stat: Stat.Power, target: Vigor.Health, type: DamageType.Pierce },
          { fraction: 0.5, stat: Stat.Power, target: Vigor.Health, type: DamageType.Crush }
        ]),
        new Verb("bite")
      )
    )
    this.side = Side.Monsters
    const stomach = new Stomach(this, 2, new Damage(
      { amount: 60, type: DamageType.Acid, target: Vigor.Health },
      { amount: 30, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 30, type: DamageType.Dominance, target: Vigor.Resolve }
    ))
    this.containers.push(stomach)
    const bowels = new Bowels(this, 2, new Damage(
      { amount: 30, type: DamageType.Crush, target: Vigor.Health },
      { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
    ))
    this.containers.push(bowels)
    this.actions.push(new TransferAction(bowels, stomach))
    this.otherActions.push(new FeedAction(stomach))
    const cock = new Cock(this, 2, new Damage(
      { amount: 30, type: DamageType.Crush, target: Vigor.Health },
      { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
    ))
    const balls = new Balls(this, 2, new Damage(
      { amount: 30, type: DamageType.Crush, target: Vigor.Health },
      { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
    ), cock)
    const slit = new Slit(this, 2, new Damage(
      { amount: 30, type: DamageType.Crush, target: Vigor.Health },
      { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
    ))
    const womb = new Womb(this, 2, new Damage(
      { amount: 30, type: DamageType.Crush, target: Vigor.Health },
      { amount: 60, type: DamageType.Crush, target: Vigor.Stamina },
      { amount: 60, type: DamageType.Dominance, target: Vigor.Resolve }
    ), slit)
    this.containers.push(balls)
    this.containers.push(cock)
    this.containers.push(womb)
    this.containers.push(slit)
    biconnectContainers(cock, balls)
    biconnectContainers(slit, womb)
  }
}
 |