|  |  | @@ -8,17 +8,13 @@ import { Container } from '../vore' | 
		
	
		
			
			|  |  |  | * Takes a function, and thus can do anything. | 
		
	
		
			
			|  |  |  | */ | 
		
	
		
			
			|  |  |  | export class ArbitraryConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | constructor (public apply: (user: Creature, target: Creature) => LogEntry, conditions: Condition[] = []) { | 
		
	
		
			
			|  |  |  | constructor ( | 
		
	
		
			
			|  |  |  | public apply: (user: Creature, target: Creature) => LogEntry, | 
		
	
		
			
			|  |  |  | public describe: (user: Creature, target: Creature) => LogEntry, | 
		
	
		
			
			|  |  |  | conditions: Condition[] = [] | 
		
	
		
			
			|  |  |  | ) { | 
		
	
		
			
			|  |  |  | super(conditions) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describeSolo (user: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return nilLog | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describePair (user: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return nilLog | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | /** | 
		
	
	
		
			
				|  |  | @@ -33,6 +29,10 @@ export class LogConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | apply (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return this.line(user, target) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describe (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return nilLog | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | /** | 
		
	
	
		
			
				|  |  | @@ -51,7 +51,7 @@ export class DamageConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describePair (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | describe (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return new LogLine( | 
		
	
		
			
			|  |  |  | this.damageFormula.describe(user, target) | 
		
	
		
			
			|  |  |  | ) | 
		
	
	
		
			
				|  |  | @@ -74,7 +74,7 @@ export class HealingConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describePair (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | describe (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return new LogLine( | 
		
	
		
			
			|  |  |  | `Heals for `, | 
		
	
		
			
			|  |  |  | this.damageFormula.describe(user, target) | 
		
	
	
		
			
				|  |  | @@ -94,7 +94,7 @@ export class StatusConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | return target.applyEffect(this.statusMaker(user, target)) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describePair (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | describe (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return new LogLine( | 
		
	
		
			
			|  |  |  | `Applies a ${this.statusMaker(user, target)} effect.` | 
		
	
		
			
			|  |  |  | ) | 
		
	
	
		
			
				|  |  | @@ -112,4 +112,10 @@ export class ConsumeConsequence extends Consequence { | 
		
	
		
			
			|  |  |  | apply (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return this.container.consume(target) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | describe (user: Creature, target: Creature): LogEntry { | 
		
	
		
			
			|  |  |  | return new LogLine( | 
		
	
		
			
			|  |  |  | `Devours the target.` | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } |