|
|
|
@@ -0,0 +1,44 @@ |
|
|
|
import { Creature } from "../creature" |
|
|
|
import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat' |
|
|
|
import { MalePronouns, 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, Speed: 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, 50, 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, 50, 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)) |
|
|
|
} |
|
|
|
} |