@@ -1,6 +1,6 @@  
														
													
														
															
																import { Damage, DamageType, Actionable, Action, Vigor, DamageInstance, DamageFormula } from './combat' import { Damage, DamageType, Actionable, Action, Vigor, DamageInstance, DamageFormula } from './combat'  
														
													
														
															
																import { LogLines, LogEntry, LogLine, nilLog, RandomEntry } from './interface' import { LogLines, LogEntry, LogLine, nilLog, RandomEntry } from './interface'  
														
													
														
															
																import { Noun, ImproperNoun, Verb, RandomWord } from './language'  
														
													
														
															
																import { Noun, ImproperNoun, Verb, RandomWord, Word  } from './language'  
														
													
														
															
																import { RubAction, DevourAction, ReleaseAction, StruggleAction, TransferAction } from './combat/actions' import { RubAction, DevourAction, ReleaseAction, StruggleAction, TransferAction } from './combat/actions'  
														
													
														
															
																import * as Words from './words' import * as Words from './words'  
														
													
														
															
																import { Creature } from './creature' import { Creature } from './creature'  
														
													
												
													
														
															
																
																	
																		 
																@@ -160,6 +160,7 @@ export interface VoreContainer extends Container {  
														
													
														
															
																  tick: (dt: number) => LogEntry;   tick: (dt: number) => LogEntry;  
														
													
														
															
																  digest: (preys: Creature[]) => LogEntry;   digest: (preys: Creature[]) => LogEntry;  
														
													
														
															
																  absorb: (preys: Creature[]) => LogEntry;   absorb: (preys: Creature[]) => LogEntry;  
														
													
														
															
																  fluidName: Word;  
														
													
														
															
																  fluidColor: string;   fluidColor: string;  
														
													
														
															
																 
														
													
														
															
																  onDigest: (prey: Creature) => LogEntry;   onDigest: (prey: Creature) => LogEntry;  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -175,6 +176,8 @@ export abstract class NormalVoreContainer extends NormalContainer implements Vor  
														
													
														
															
																  digested: Array<Creature> = []   digested: Array<Creature> = []  
														
													
														
															
																  absorbed: Array<Creature> = []   absorbed: Array<Creature> = []  
														
													
														
															
																 
														
													
														
															
																  abstract fluidName: Word  
														
													
														
															
																 
														
													
														
															
																  constructor (name: Noun, owner: Creature, voreTypes: Set<VoreType>, capacity: number, private damage: DamageFormula) {   constructor (name: Noun, owner: Creature, voreTypes: Set<VoreType>, capacity: number, private damage: DamageFormula) {  
														
													
														
															
																    super(name, owner, voreTypes, capacity)     super(name, owner, voreTypes, capacity)  
														
													
														
															
																 
														
													
												
													
														
															
																
																	
																		 
																@@ -203,11 +206,11 @@ export abstract class NormalVoreContainer extends NormalContainer implements Vor  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  digestLine (user: Creature, target: Creature): LogEntry {   digestLine (user: Creature, target: Creature): LogEntry {  
														
													
														
															
																    return new LogLine(`${user.name.capital.possessive} ${this.name} ${this.name.conjugate(new Verb('finish', 'finishes'))} ${Words.Digests .present} ${target.name.objective} down, ${target.pronouns.possessive} ${Words.Struggles .singular} fading away.`)  
														
													
														
															
																    return new LogLine(`${user.name.capital.possessive} ${this.name} ${this.name.conjugate(new Verb('finish', 'finishes'))} ${Words.Digest.present} ${target.name.objective} down, ${target.pronouns.possessive} ${Words.Struggle.singular} fading away as ${target.pronouns.subjective} ${target.pronouns.conjugate(Words.Succumb)} and ${target.pronouns.conjugate(Words.Digest)} into ${this.fluidName} .`)  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  absorbLine (user: Creature, target: Creature): LogEntry {   absorbLine (user: Creature, target: Creature): LogEntry {  
														
													
														
															
																    return new LogLine(`${user.name.capital.possessive} ${this.name} ${this.name.conjugate(new Verb('finish', 'finishes'))} ${Words.Absorbs .present} ${target.name.objective}, fully claiming ${target.pronouns.objective}.`)  
														
													
														
															
																    return new LogLine(`${user.name.capital.possessive} ${this.name} ${this.name.conjugate(new Verb('finish', 'finishes'))} ${Words.Absorb.present} ${target.name.objective}, fully claiming ${target.pronouns.objective}.`)  
														
													
														
															
																  }   }  
														
													
														
															
																 
														
													
														
															
																  tick (dt: number): LogEntry {   tick (dt: number): LogEntry {  
														
													
												
													
														
															
																
																	
																		 
																@@ -303,6 +306,8 @@ export abstract class InnerVoreContainer extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Stomach extends NormalVoreContainer { export class Stomach extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("chyme")  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
														
															
																    super(new ImproperNoun('stomach', 'stomachs').all, owner, new Set([VoreType.Oral]), capacity, damage)     super(new ImproperNoun('stomach', 'stomachs').all, owner, new Set([VoreType.Oral]), capacity, damage)  
														
													
														
															
																  }   }  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -328,6 +333,8 @@ export class Stomach extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class InnerStomach extends InnerVoreContainer { export class InnerStomach extends InnerVoreContainer {  
														
													
														
															
																  fluidName = new Noun("chyme")  
														
													
														
															
																 
														
													
														
															
																  consumeVerb = new Verb('swallow')   consumeVerb = new Verb('swallow')  
														
													
														
															
																  releaseVerb = new Verb('hork')   releaseVerb = new Verb('hork')  
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: VoreContainer) {   constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: VoreContainer) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -336,6 +343,8 @@ export class InnerStomach extends InnerVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Bowels extends NormalVoreContainer { export class Bowels extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("chyme")  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
														
															
																    super(new ImproperNoun('bowel', 'bowels').plural.all, owner, new Set([VoreType.Anal]), capacity, damage)     super(new ImproperNoun('bowel', 'bowels').plural.all, owner, new Set([VoreType.Anal]), capacity, damage)  
														
													
														
															
																  }   }  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -349,6 +358,8 @@ export class Bowels extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Cock extends NormalVoreContainer { export class Cock extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("cum")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#eeeeee66";   fluidColor = "#eeeeee66";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -367,6 +378,8 @@ export class Cock extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Balls extends InnerVoreContainer { export class Balls extends InnerVoreContainer {  
														
													
														
															
																  fluidName = new Noun("cum")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#eeeeeecc";   fluidColor = "#eeeeeecc";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {   constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -382,6 +395,8 @@ export class Balls extends InnerVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Slit extends NormalVoreContainer { export class Slit extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("femcum")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#cccccc99";   fluidColor = "#cccccc99";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -395,6 +410,8 @@ export class Slit extends NormalVoreContainer {  
														
													
														
															
																  }   }  
														
													
														
															
																} }  
														
													
														
															
																export class Womb extends InnerVoreContainer { export class Womb extends InnerVoreContainer {  
														
													
														
															
																  fluidName = new Noun("femcum")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#ddddddbb";   fluidColor = "#ddddddbb";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {   constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -410,6 +427,8 @@ export class Womb extends InnerVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Breasts extends NormalVoreContainer { export class Breasts extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("milk")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#eeeeeecc";   fluidColor = "#eeeeeecc";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -424,6 +443,8 @@ export class Breasts extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class Bladder extends NormalVoreContainer { export class Bladder extends NormalVoreContainer {  
														
													
														
															
																  fluidName = new Noun("piss")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#eeee3399";   fluidColor = "#eeee3399";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula) {   constructor (owner: Creature, capacity: number, damage: DamageFormula) {  
														
													
												
													
														
															
																
																	
																	
																	
																		 
																@@ -438,6 +459,8 @@ export class Bladder extends NormalVoreContainer {  
														
													
														
															
																} }  
														
													
														
															
																 
														
													
														
															
																export class InnerBladder extends InnerVoreContainer { export class InnerBladder extends InnerVoreContainer {  
														
													
														
															
																  fluidName = new Noun("piss")  
														
													
														
															
																 
														
													
														
															
																  fluidColor = "#eeee3399";   fluidColor = "#eeee3399";  
														
													
														
															
																 
														
													
														
															
																  constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {   constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {