|
|
|
@@ -1,6 +1,6 @@ |
|
|
|
import { Damage, DamageType, Actionable, Action, Vigor, DamageInstance, DamageFormula } from '@/game/combat' |
|
|
|
import { LogLines, LogEntry, LogLine, nilLog, RandomEntry } from '@/game/interface' |
|
|
|
import { Noun, ImproperNoun, Verb, RandomWord, Word, Preposition } from '@/game/language' |
|
|
|
import { Noun, ImproperNoun, Verb, RandomWord, Word, Preposition, ToBe } from '@/game/language' |
|
|
|
import { RubAction, DevourAction, ReleaseAction, StruggleAction, TransferAction } from '@/game/combat/actions' |
|
|
|
import * as Words from '@/game/words' |
|
|
|
import { Creature } from '@/game/creature' |
|
|
|
@@ -53,6 +53,8 @@ export interface Container extends Actionable { |
|
|
|
|
|
|
|
consumeLine (user: Creature, target: Creature): LogEntry; |
|
|
|
|
|
|
|
statusLine (user: Creature, target: Creature): LogEntry; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
export abstract class NormalContainer implements Container { |
|
|
|
@@ -82,6 +84,12 @@ export abstract class NormalContainer implements Container { |
|
|
|
return new LogLine(`${user.name.capital} ${user.name.conjugate(this.consumeVerb)} ${target.name.objective} ${this.consumePreposition} ${user.pronouns.possessive} ${this.name}.`) |
|
|
|
} |
|
|
|
|
|
|
|
statusLine (user: Creature, target: Creature): LogEntry { |
|
|
|
return new LogLine( |
|
|
|
`${target.name.capital} ${target.name.conjugate(new ToBe())} ${Words.Stuck} inside ${user.name.possessive} ${this.name}.` |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
releaseLine (user: Creature, target: Creature): LogEntry { |
|
|
|
return new LogLine(`${user.name.capital} ${user.name.conjugate(this.releaseVerb)} ${target.name.objective} ${this.releasePreposition} ${user.pronouns.possessive} ${this.name}.`) |
|
|
|
} |
|
|
|
|