|
- import { Creature } from "../creature"
- import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat'
- import { ImproperNoun, FemalePronouns, Verb } from '../language'
- import { VoreType, Stomach, Bowels } from '../vore'
- import { AttackAction, TransferAction, FeedAction } from '../combat/actions'
-
- export class Dragon extends Creature {
- constructor () {
- super(new ImproperNoun('dragon', 'dragons'), new ImproperNoun('wolf', 'wolves'), FemalePronouns, { Toughness: 35, Power: 35, Reflexes: 15, Agility: 15, Willpower: 30, Charm: 20 }, new Set([VoreType.Oral, VoreType.Anal]), new Set([VoreType.Oral, VoreType.Anal]), 300)
- this.actions.push(
- new AttackAction(
- new ConstantDamageFormula(
- new Damage(
- { amount: 20, type: DamageType.Pierce, target: Vigor.Health }
- )
- ),
- new Verb("bite", "bites", "biting", "bit")
- )
- )
-
- this.side = Side.Monsters
-
- const stomach = new Stomach(this, 0.5, new ConstantDamageFormula(new Damage(
- { amount: 40, type: DamageType.Acid, target: Vigor.Health },
- { amount: 20, type: DamageType.Crush, target: Vigor.Stamina },
- { amount: 20, type: DamageType.Dominance, target: Vigor.Resolve }
- )))
-
- this.containers.push(stomach)
-
- const bowels = new Bowels(this, 0.5, new ConstantDamageFormula(new Damage(
- { amount: 10, type: DamageType.Crush, target: Vigor.Health },
- { amount: 25, type: DamageType.Crush, target: Vigor.Stamina },
- { amount: 50, type: DamageType.Dominance, target: Vigor.Resolve }
- )))
-
- this.containers.push(bowels)
-
- this.actions.push(new TransferAction(bowels, stomach))
- this.actions.push(new TransferAction(stomach, bowels))
-
- this.otherActions.push(new FeedAction(stomach))
- }
- }
|