import { VoreAI } from '@/game/ai' import { DamageType, Side, Stat, StatDamageFormula, Vigor } from '@/game/combat' import { DigestionPowerEffect } from '@/game/combat/effects' import { Creature } from '@/game/creature' import { LogEntry, LogLine } from '@/game/interface' import { ImproperNoun, MalePronouns, ObjectPronouns, Preposition, Verb } from '@/game/language' import { anyVore, ConnectionDirection, Container, Stomach, Throat, transferDescription } from '@/game/vore' import * as Words from '@/game/words' export default class Werewolf extends Creature { constructor () { super( new ImproperNoun("werewolf", "werewolves"), new ImproperNoun("werewolf", "werewolves"), MalePronouns, { Power: 45, Toughness: 30, Agility: 25, Reflexes: 25, Charm: 10, Willpower: 15 }, anyVore, anyVore, 75 ) const throat = new Throat( this, 25 ) const stomach = new Stomach( this, 50, new StatDamageFormula([ { fraction: 1, stat: Stat.Toughness, type: DamageType.Acid, target: Vigor.Health } ]) ) this.addContainer(throat) this.addContainer(stomach) throat.connect({ destination: stomach, direction: ConnectionDirection.Deeper, description: transferDescription(Words.Swallow, new Preposition("down")) }) stomach.connect({ destination: throat, direction: ConnectionDirection.Shallower, description: transferDescription(new Verb("hork"), new Preposition("up")) }) this.side = Side.Monsters this.ai = new VoreAI(this) } }