| @@ -1,7 +1,6 @@ | |||||
| import { Creature } from "./creature" | import { Creature } from "./creature" | ||||
| import { TextLike, DynText, ToBe, LiveText, PairLineArgs, PairLine } from './language' | |||||
| import { TextLike } from './language' | |||||
| import { LogEntry, LogLines, FAElem, LogLine, FormatEntry, FormatOpt, PropElem, nilLog, Newline } from './interface' | import { LogEntry, LogLines, FAElem, LogLine, FormatEntry, FormatOpt, PropElem, nilLog, Newline } from './interface' | ||||
| import { Resistances } from './entity' | |||||
| import { World } from './world' | import { World } from './world' | ||||
| import { TestCategory } from './combat/tests' | import { TestCategory } from './combat/tests' | ||||
| import { VoreContainer } from './vore' | import { VoreContainer } from './vore' | ||||
| @@ -1,7 +1,7 @@ | |||||
| import { Condition, Stat, Vigor, VoreStat } from "../combat" | import { Condition, Stat, Vigor, VoreStat } from "../combat" | ||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Container } from '../vore' | import { Container } from '../vore' | ||||
| import { FAElem, LogEntry, LogLine, PropElem } from '../interface' | |||||
| import { LogEntry, LogLine, PropElem } from '../interface' | |||||
| import { ToBe, Verb } from '../language' | import { ToBe, Verb } from '../language' | ||||
| import * as Words from '../words' | import * as Words from '../words' | ||||
| @@ -1,4 +1,4 @@ | |||||
| import { Damage, Combatant, Stats, Action, Vigor, Side, GroupAction, VisibleStatus, ImplicitStatus, StatusEffect, DamageType, Effective, VoreStat, VoreStats, DamageInstance, Stat, Vigors } from './combat' | |||||
| import { Damage, Stats, Action, Vigor, Side, GroupAction, VisibleStatus, ImplicitStatus, StatusEffect, DamageType, Effective, VoreStat, VoreStats, DamageInstance, Stat, Vigors } from './combat' | |||||
| import { Noun, Pronoun, SoloLine, Verb } from './language' | import { Noun, Pronoun, SoloLine, Verb } from './language' | ||||
| import { LogEntry, LogLines, LogLine } from './interface' | import { LogEntry, LogLines, LogLine } from './interface' | ||||
| import { VoreContainer, VoreType, Container } from './vore' | import { VoreContainer, VoreType, Container } from './vore' | ||||
| @@ -6,7 +6,7 @@ import { LogLine, LogLines, LogEntry, FAElem, ImgElem } from '../interface' | |||||
| import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | ||||
| import { InstantKillEffect } from '../combat/effects' | import { InstantKillEffect } from '../combat/effects' | ||||
| import * as Words from '../words' | import * as Words from '../words' | ||||
| import { ContainedByCondition, ContainsCondition } from '../combat/conditions' | |||||
| import { ContainsCondition } from '../combat/conditions' | |||||
| class BellyCrushAction extends AttackAction { | class BellyCrushAction extends AttackAction { | ||||
| constructor (_damage: Damage) { | constructor (_damage: Damage) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat' | import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat' | ||||
| import { MalePronouns, ImproperNoun, FemalePronouns, Verb } from '../language' | |||||
| import { ImproperNoun, FemalePronouns, Verb } from '../language' | |||||
| import { VoreType, Stomach, Bowels } from '../vore' | import { VoreType, Stomach, Bowels } from '../vore' | ||||
| import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | ||||
| @@ -1,10 +1,10 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, CompositionAction } from '../combat' | import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, CompositionAction } from '../combat' | ||||
| import { MalePronouns, ImproperNoun, ProperNoun, ObjectPronouns, FemalePronouns, TheyPronouns, Verb } from '../language' | |||||
| import { VoreType, Stomach, Bowels, Cock, Balls, anyVore, Slit, Womb, biconnectContainers, Hand } from '../vore' | |||||
| import { AttackAction, TransferAction, FeedAction, DevourAction } from '../combat/actions' | |||||
| import { StatusConsequence, LogConsequence, DamageConsequence, ArbitraryConsequence } from '../combat/consequences' | |||||
| import { SizeEffect, DamageTypeResistanceEffect, InstantKillEffect } from '../combat/effects' | |||||
| import { MalePronouns, ImproperNoun, ProperNoun, Verb } from '../language' | |||||
| import { VoreType, Stomach, Bowels, Cock, Balls, biconnectContainers, Hand } from '../vore' | |||||
| import { TransferAction, FeedAction } from '../combat/actions' | |||||
| import { StatusConsequence, LogConsequence, ArbitraryConsequence } from '../combat/consequences' | |||||
| import { SizeEffect, InstantKillEffect } from '../combat/effects' | |||||
| import { LogLine, nilLog } from '../interface' | import { LogLine, nilLog } from '../interface' | ||||
| import { TogetherCondition, MassRatioCondition, ContainsCondition } from '../combat/conditions' | import { TogetherCondition, MassRatioCondition, ContainsCondition } from '../combat/conditions' | ||||
| import { ChanceTest } from '../combat/tests' | import { ChanceTest } from '../combat/tests' | ||||
| @@ -78,8 +78,8 @@ export class Geta extends Creature { | |||||
| () => new InstantKillEffect() | () => new InstantKillEffect() | ||||
| ), | ), | ||||
| new ArbitraryConsequence( | new ArbitraryConsequence( | ||||
| (user, target) => cock.tick(0), | |||||
| (user, target) => nilLog | |||||
| () => cock.tick(0), | |||||
| () => nilLog | |||||
| ) | ) | ||||
| ] | ] | ||||
| } | } | ||||
| @@ -97,7 +97,7 @@ export class Geta extends Creature { | |||||
| biconnectContainers(cock, balls) | biconnectContainers(cock, balls) | ||||
| cock.onDigest = (prey) => nilLog | |||||
| cock.onDigest = () => nilLog | |||||
| const shrinkAction = new CompositionAction( | const shrinkAction = new CompositionAction( | ||||
| "Shrink", | "Shrink", | ||||
| @@ -108,7 +108,7 @@ export class Geta extends Creature { | |||||
| ], | ], | ||||
| consequences: [ | consequences: [ | ||||
| new LogConsequence( | new LogConsequence( | ||||
| (user, target) => new LogLine(`ZAP!`) | |||||
| () => new LogLine(`ZAP!`) | |||||
| ), | ), | ||||
| new StatusConsequence( | new StatusConsequence( | ||||
| () => new SizeEffect(0.1) | () => new SizeEffect(0.1) | ||||
| @@ -170,7 +170,7 @@ export class Geta extends Creature { | |||||
| consequences: [ | consequences: [ | ||||
| new ArbitraryConsequence( | new ArbitraryConsequence( | ||||
| (user, target) => stomach.consume(target), | (user, target) => stomach.consume(target), | ||||
| (user, target) => new LogLine(`Devours the target.`) | |||||
| () => new LogLine(`Devours the target.`) | |||||
| ) | ) | ||||
| ] | ] | ||||
| } | } | ||||
| @@ -1,11 +1,11 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, GroupAction, FractionDamageFormula, DamageFormula, UniformRandomDamageFormula, CompositionAction, StatusEffect, CompositeDamageFormula } from '../combat' | |||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, GroupAction, FractionDamageFormula, DamageFormula, UniformRandomDamageFormula, CompositionAction, CompositeDamageFormula } from '../combat' | |||||
| import { MalePronouns, ImproperNoun, Verb, ProperNoun, ToBe, SoloLineArgs, Noun } from '../language' | import { MalePronouns, ImproperNoun, Verb, ProperNoun, ToBe, SoloLineArgs, Noun } from '../language' | ||||
| import { VoreType, NormalContainer, InnerVoreContainer, Container } from '../vore' | import { VoreType, NormalContainer, InnerVoreContainer, Container } from '../vore' | ||||
| import { TransferAction } from '../combat/actions' | import { TransferAction } from '../combat/actions' | ||||
| import { LogEntry, LogLine, LogLines } from '../interface' | import { LogEntry, LogLine, LogLines } from '../interface' | ||||
| import { ContainerFullCondition, CapableCondition, EnemyCondition, TogetherCondition } from '../combat/conditions' | import { ContainerFullCondition, CapableCondition, EnemyCondition, TogetherCondition } from '../combat/conditions' | ||||
| import { UntouchableEffect, DazzlingEffect, StunEffect } from '../combat/effects' | |||||
| import { DazzlingEffect, StunEffect } from '../combat/effects' | |||||
| import { DamageConsequence, StatusConsequence, LogConsequence } from '../combat/consequences' | import { DamageConsequence, StatusConsequence, LogConsequence } from '../combat/consequences' | ||||
| class GoldeneyeCrop extends NormalContainer { | class GoldeneyeCrop extends NormalContainer { | ||||
| @@ -1,7 +1,7 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Vigor, Stats, Vigors, CompositionAction } from '../combat' | import { Vigor, Stats, Vigors, CompositionAction } from '../combat' | ||||
| import { Noun, Pronoun, ImproperNoun } from '../language' | import { Noun, Pronoun, ImproperNoun } from '../language' | ||||
| import { anyVore, VoreType } from '../vore' | |||||
| import { anyVore } from '../vore' | |||||
| import { StatusConsequence } from '../combat/consequences' | import { StatusConsequence } from '../combat/consequences' | ||||
| import { SurrenderEffect } from '../combat/effects' | import { SurrenderEffect } from '../combat/effects' | ||||
| import { SoloCondition } from '../combat/conditions' | import { SoloCondition } from '../combat/conditions' | ||||
| @@ -1,8 +1,8 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat' | import { Damage, DamageType, ConstantDamageFormula, Vigor, Side } from '../combat' | ||||
| import { MalePronouns, ImproperNoun, ProperNoun, ObjectPronouns, FemalePronouns, TheyPronouns } from '../language' | |||||
| import { VoreType, Stomach, Bowels, Cock, Balls, anyVore, Slit, Womb, biconnectContainers } from '../vore' | |||||
| import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | |||||
| import { MalePronouns, ProperNoun } from '../language' | |||||
| import { VoreType, Stomach, Bowels, Cock, Balls, biconnectContainers } from '../vore' | |||||
| import { TransferAction, FeedAction } from '../combat/actions' | |||||
| export class Kuro extends Creature { | export class Kuro extends Creature { | ||||
| constructor () { | constructor () { | ||||
| @@ -1,5 +1,5 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, StatDamageFormula, Stat } from '../combat' | |||||
| import { DamageType, Vigor, Side, StatDamageFormula, Stat } from '../combat' | |||||
| import { MalePronouns, ImproperNoun, Verb } from '../language' | import { MalePronouns, ImproperNoun, Verb } from '../language' | ||||
| import { Stomach, Bowels, Cock, Balls, anyVore, biconnectContainers } from '../vore' | import { Stomach, Bowels, Cock, Balls, anyVore, biconnectContainers } from '../vore' | ||||
| import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | import { AttackAction, TransferAction, FeedAction } from '../combat/actions' | ||||
| @@ -1,8 +1,8 @@ | |||||
| import { Creature } from "../creature" | import { Creature } from "../creature" | ||||
| import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, StatDamageFormula, Stat } from '../combat' | |||||
| import { DamageType, Vigor, Side, StatDamageFormula, Stat } from '../combat' | |||||
| import { MalePronouns, ImproperNoun, FemalePronouns, TheyPronouns, Verb } from '../language' | import { MalePronouns, ImproperNoun, FemalePronouns, TheyPronouns, Verb } from '../language' | ||||
| import { Stomach, Bowels, anyVore } from '../vore' | |||||
| import { AttackAction, TransferAction } from '../combat/actions' | |||||
| import { Stomach, anyVore } from '../vore' | |||||
| import { AttackAction } from '../combat/actions' | |||||
| import { VoreAI } from '../ai' | import { VoreAI } from '../ai' | ||||
| import { RavenousPerk } from '../combat/perks' | import { RavenousPerk } from '../combat/perks' | ||||
| @@ -1,6 +1,5 @@ | |||||
| import { DamageType, Damage, Stats, Vigor, VoreStats, VoreStat, Stat, Vigors, DamageInstance } from './combat' | |||||
| import { DamageType } from './combat' | |||||
| import { Noun, Pronoun, TextLike, POV, PronounAsNoun, FirstPersonPronouns, SecondPersonPronouns } from './language' | import { Noun, Pronoun, TextLike, POV, PronounAsNoun, FirstPersonPronouns, SecondPersonPronouns } from './language' | ||||
| import { LogEntry, LogLine } from './interface' | |||||
| import { Place, Nowhere } from './world' | import { Place, Nowhere } from './world' | ||||
| export abstract class Entity { | export abstract class Entity { | ||||
| @@ -1,9 +1,9 @@ | |||||
| import { TextLike, LiveText, DynText, Word, ImproperNoun, Verb, Noun } from './language' | |||||
| import { Actionable, Action, DamageFormula, ConstantDamageFormula, Damage, DamageType, Vigor, StatDamageFormula, Stat, Effective, CompositionAction, Condition, CompositeDamageFormula, Consequence, StatusEffect } from './combat' | |||||
| import { TextLike, DynText, Word, ImproperNoun, Verb, Noun } from './language' | |||||
| import { Actionable, Action, DamageFormula, ConstantDamageFormula, Damage, DamageType, Vigor, StatDamageFormula, Stat, Effective, CompositionAction, CompositeDamageFormula, Consequence } from './combat' | |||||
| import { AttackAction } from './combat/actions' | import { AttackAction } from './combat/actions' | ||||
| import { Resistances } from './entity' | import { Resistances } from './entity' | ||||
| import { DamageTypeResistanceEffect, DigestionPowerEffect, SizeEffect, StatEffect } from './combat/effects' | import { DamageTypeResistanceEffect, DigestionPowerEffect, SizeEffect, StatEffect } from './combat/effects' | ||||
| import { DamageConsequence, LogConsequence, HealingConsequence, StatusConsequence, ArbitraryConsequence } from './combat/consequences' | |||||
| import { LogConsequence, HealingConsequence, StatusConsequence } from './combat/consequences' | |||||
| import { SoloCondition } from './combat/conditions' | import { SoloCondition } from './combat/conditions' | ||||
| import { LogLine, LogEntry } from './interface' | import { LogLine, LogEntry } from './interface' | ||||
| import { Creature } from './creature' | import { Creature } from './creature' | ||||
| @@ -206,7 +206,7 @@ export abstract class Potion extends Consumable { | |||||
| ], | ], | ||||
| consequences: ([ | consequences: ([ | ||||
| new LogConsequence( | new LogConsequence( | ||||
| (user, target) => new LogLine(`${user.name.capital} ${user.name.conjugate(new Verb('drink'))} a ${name}.`) | |||||
| (user) => new LogLine(`${user.name.capital} ${user.name.conjugate(new Verb('drink'))} a ${name}.`) | |||||
| ) | ) | ||||
| ] as Consequence[]).concat(consequences) | ] as Consequence[]).concat(consequences) | ||||
| } | } | ||||
| @@ -249,7 +249,7 @@ export class StrengthPotion extends Potion { | |||||
| "Power up!", | "Power up!", | ||||
| [ | [ | ||||
| new StatusConsequence( | new StatusConsequence( | ||||
| (user, target) => new StatEffect(Stat.Power, 0, 1.5) | |||||
| () => new StatEffect(Stat.Power, 0, 1.5) | |||||
| ) | ) | ||||
| ] | ] | ||||
| ) | ) | ||||
| @@ -263,7 +263,7 @@ export class AcidPotion extends Potion { | |||||
| "Boosts your digestive power", | "Boosts your digestive power", | ||||
| [ | [ | ||||
| new StatusConsequence( | new StatusConsequence( | ||||
| (user, target) => new DigestionPowerEffect(2) | |||||
| () => new DigestionPowerEffect(2) | |||||
| ) | ) | ||||
| ] | ] | ||||
| ) | ) | ||||
| @@ -277,7 +277,7 @@ export class ShrinkPotion extends Potion { | |||||
| "Drink me!", | "Drink me!", | ||||
| [ | [ | ||||
| new StatusConsequence( | new StatusConsequence( | ||||
| (user, target) => new SizeEffect(0.5) | |||||
| () => new SizeEffect(0.5) | |||||
| ) | ) | ||||
| ] | ] | ||||
| ) | ) | ||||
| @@ -1,5 +1,4 @@ | |||||
| import { Entity } from './entity' | |||||
| import { LogEntry, LogLine } from './interface' | |||||
| import { LogEntry } from './interface' | |||||
| export enum POV {First, Second, Third} | export enum POV {First, Second, Third} | ||||
| @@ -303,7 +302,7 @@ export class Noun extends Word { | |||||
| } | } | ||||
| export class ImproperNoun extends Noun { | export class ImproperNoun extends Noun { | ||||
| constructor (singularNoun: string, pluralNoun: string = singularNoun, possessiveNoun: string = singularNoun + "'s") { | |||||
| constructor (singularNoun: string, pluralNoun: string = singularNoun) { | |||||
| super(singularNoun, pluralNoun, null, { plural: false, allCaps: false, capital: false, proper: false, nounKind: NounKind.Specific, verbKind: VerbKind.Root, vowel: VowelSound.Default, count: true, possessive: false, objective: false, perspective: POV.Third }) | super(singularNoun, pluralNoun, null, { plural: false, allCaps: false, capital: false, proper: false, nounKind: NounKind.Specific, verbKind: VerbKind.Root, vowel: VowelSound.Default, count: true, possessive: false, objective: false, perspective: POV.Third }) | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| import { Place, Choice, Direction, World } from '../world' | import { Place, Choice, Direction, World } from '../world' | ||||
| import { ProperNoun, ImproperNoun, MalePronouns, FemalePronouns, TheyPronouns, LiveText } from '../language' | |||||
| import { ProperNoun, ImproperNoun, MalePronouns, FemalePronouns, TheyPronouns } from '../language' | |||||
| import { Encounter, Stat, Damage, DamageType, Vigor, Side } from '../combat' | import { Encounter, Stat, Damage, DamageType, Vigor, Side } from '../combat' | ||||
| import * as Creatures from '../creatures' | import * as Creatures from '../creatures' | ||||
| import * as Items from '../items' | import * as Items from '../items' | ||||
| @@ -128,7 +128,7 @@ export const Town = (): Place => { | |||||
| world.encounter = new Encounter( | world.encounter = new Encounter( | ||||
| { | { | ||||
| name: "You punched a wolf", | name: "You punched a wolf", | ||||
| intro: (world: World) => new LogLine(`You punched a wolf. The wolf is angry.`) | |||||
| intro: () => new LogLine(`You punched a wolf. The wolf is angry.`) | |||||
| }, | }, | ||||
| [executor, new Creatures.Wolf()] | [executor, new Creatures.Wolf()] | ||||
| ) | ) | ||||
| @@ -146,7 +146,7 @@ export const Town = (): Place => { | |||||
| world.encounter = new Encounter( | world.encounter = new Encounter( | ||||
| { | { | ||||
| name: "You punched a dire wolf", | name: "You punched a dire wolf", | ||||
| intro: (world: World) => new LogLine(`You punched a dire wolf. The wolf is angry.`) | |||||
| intro: () => new LogLine(`You punched a dire wolf. The wolf is angry.`) | |||||
| }, | }, | ||||
| [executor, new Creatures.DireWolf()] | [executor, new Creatures.DireWolf()] | ||||
| ) | ) | ||||
| @@ -164,7 +164,7 @@ export const Town = (): Place => { | |||||
| world.encounter = new Encounter( | world.encounter = new Encounter( | ||||
| { | { | ||||
| name: "You punched a werewolf", | name: "You punched a werewolf", | ||||
| intro: (world: World) => new LogLine(`You punched a werewolf. The werewolf is angry.`) | |||||
| intro: () => new LogLine(`You punched a werewolf. The werewolf is angry.`) | |||||
| }, | }, | ||||
| [executor, new Creatures.Werewolf()] | [executor, new Creatures.Werewolf()] | ||||
| ) | ) | ||||
| @@ -182,7 +182,7 @@ export const Town = (): Place => { | |||||
| world.encounter = new Encounter( | world.encounter = new Encounter( | ||||
| { | { | ||||
| name: "You punched a dragon", | name: "You punched a dragon", | ||||
| intro: (world: World) => new LogLine(`You punched a dragon. The dragon is angry.`) | |||||
| intro: () => new LogLine(`You punched a dragon. The dragon is angry.`) | |||||
| }, | }, | ||||
| [executor, new Creatures.Dragon()] | [executor, new Creatures.Dragon()] | ||||
| ) | ) | ||||
| @@ -194,19 +194,19 @@ export const Town = (): Place => { | |||||
| const bossEncounters = [ | const bossEncounters = [ | ||||
| new Encounter( | new Encounter( | ||||
| { name: "Withers & Kenzie", intro: (world: World) => nilLog }, | |||||
| { name: "Withers & Kenzie", intro: () => nilLog }, | |||||
| makeParty().concat([new Creatures.Withers(), new Creatures.Kenzie()]) | makeParty().concat([new Creatures.Withers(), new Creatures.Kenzie()]) | ||||
| ), | ), | ||||
| new Encounter( | new Encounter( | ||||
| { name: "Goldeneye", intro: (world: World) => nilLog }, | |||||
| { name: "Goldeneye", intro: () => nilLog }, | |||||
| makeParty().concat([new Creatures.Goldeneye()]) | makeParty().concat([new Creatures.Goldeneye()]) | ||||
| ), | ), | ||||
| new Encounter( | new Encounter( | ||||
| { name: "Large Wah", intro: (world: World) => nilLog }, | |||||
| { name: "Large Wah", intro: () => nilLog }, | |||||
| makeParty().concat([new Creatures.Shingo()]) | makeParty().concat([new Creatures.Shingo()]) | ||||
| ), | ), | ||||
| new Encounter( | new Encounter( | ||||
| { name: "Cafat", intro: (world: World) => nilLog }, | |||||
| { name: "Cafat", intro: () => nilLog }, | |||||
| makeParty().concat([new Creatures.Cafat()]) | makeParty().concat([new Creatures.Cafat()]) | ||||
| ) | ) | ||||
| ] | ] | ||||
| @@ -215,7 +215,7 @@ export const Town = (): Place => { | |||||
| new Choice( | new Choice( | ||||
| "Nap", | "Nap", | ||||
| "Zzzzzz", | "Zzzzzz", | ||||
| (world, executor) => { | |||||
| (world) => { | |||||
| return new LogLines( | return new LogLines( | ||||
| `You lie down for a nice nap...`, | `You lie down for a nice nap...`, | ||||
| world.advance(moment.duration(1, "hour")) | world.advance(moment.duration(1, "hour")) | ||||
| @@ -275,7 +275,7 @@ export const Town = (): Place => { | |||||
| new Choice( | new Choice( | ||||
| "Fight someone", | "Fight someone", | ||||
| "Ow", | "Ow", | ||||
| (world, executor) => { | |||||
| (world) => { | |||||
| const enemy = new Creatures.Human(new ProperNoun("Nerd"), TheyPronouns) | const enemy = new Creatures.Human(new ProperNoun("Nerd"), TheyPronouns) | ||||
| enemy.side = Side.Monsters | enemy.side = Side.Monsters | ||||
| enemy.ai = new VoreAI() | enemy.ai = new VoreAI() | ||||
| @@ -284,7 +284,7 @@ export const Town = (): Place => { | |||||
| const encounter = new Encounter( | const encounter = new Encounter( | ||||
| { | { | ||||
| name: "Fight some tasty nerd", | name: "Fight some tasty nerd", | ||||
| intro: world => new LogLine(`You find some nerd to fight.`) | |||||
| intro: () => new LogLine(`You find some nerd to fight.`) | |||||
| }, | }, | ||||
| [world.player, enemy] | [world.player, enemy] | ||||
| ) | ) | ||||
| @@ -302,7 +302,7 @@ export const Town = (): Place => { | |||||
| world.encounter = new Encounter( | world.encounter = new Encounter( | ||||
| { | { | ||||
| name: "You punched Geta", | name: "You punched Geta", | ||||
| intro: (world: World) => new LogLine(`You punched Geta. Geta is angry.`) | |||||
| intro: () => new LogLine(`You punched Geta. Geta is angry.`) | |||||
| }, | }, | ||||
| [executor, new Creatures.Geta()] | [executor, new Creatures.Geta()] | ||||
| ) | ) | ||||
| @@ -335,13 +335,13 @@ export const Town = (): Place => { | |||||
| new Choice( | new Choice( | ||||
| "Kuro", | "Kuro", | ||||
| "Get eaten by a Luxray", | "Get eaten by a Luxray", | ||||
| (world, executor) => { | |||||
| (world) => { | |||||
| const enemy = new Creatures.Kuro() | const enemy = new Creatures.Kuro() | ||||
| enemy.ai = new VoreAI() | enemy.ai = new VoreAI() | ||||
| const encounter = new Encounter( | const encounter = new Encounter( | ||||
| { | { | ||||
| name: "Luxray time", | name: "Luxray time", | ||||
| intro: world => new LogLine(`Luxray time!`) | |||||
| intro: () => new LogLine(`Luxray time!`) | |||||
| }, | }, | ||||
| [world.player, enemy] | [world.player, enemy] | ||||
| ) | ) | ||||
| @@ -356,7 +356,7 @@ export const Town = (): Place => { | |||||
| new Choice( | new Choice( | ||||
| encounter.desc.name, | encounter.desc.name, | ||||
| "Boss fight!", | "Boss fight!", | ||||
| (world, executor) => { | |||||
| (world) => { | |||||
| world.encounter = encounter | world.encounter = encounter | ||||
| return nilLog | return nilLog | ||||
| } | } | ||||
| @@ -1,8 +1,7 @@ | |||||
| import { TextLike, Verb, Noun, ProperNoun } from './language' | import { TextLike, Verb, Noun, ProperNoun } from './language' | ||||
| import { Entity } from './entity' | |||||
| import { Creature } from './creature' | import { Creature } from './creature' | ||||
| import moment, { Moment, Duration } from 'moment' | import moment, { Moment, Duration } from 'moment' | ||||
| import { LogEntry, LogLine, LogLines } from './interface' | |||||
| import { LogEntry, LogLines } from './interface' | |||||
| import { Encounter } from './combat' | import { Encounter } from './combat' | ||||
| export enum Direction { | export enum Direction { | ||||
| @@ -34,11 +33,11 @@ export class Choice { | |||||
| } | } | ||||
| visible (world: World): boolean { | |||||
| visible (): boolean { | |||||
| return true | return true | ||||
| } | } | ||||
| accessible (world: World): boolean { | |||||
| accessible (): boolean { | |||||
| return true | return true | ||||
| } | } | ||||
| } | } | ||||
| @@ -48,11 +47,11 @@ export class Connection { | |||||
| } | } | ||||
| visible (world: World, traveler: Creature): boolean { | |||||
| visible (): boolean { | |||||
| return true | return true | ||||
| } | } | ||||
| accessible (world: World, traveler: Creature): boolean { | |||||
| accessible (): boolean { | |||||
| return true | return true | ||||
| } | } | ||||