diff --git a/src/game/combat.ts b/src/game/combat.ts index 682c2ba..6c8aa91 100644 --- a/src/game/combat.ts +++ b/src/game/combat.ts @@ -1,7 +1,6 @@ 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 { Resistances } from './entity' import { World } from './world' import { TestCategory } from './combat/tests' import { VoreContainer } from './vore' diff --git a/src/game/combat/conditions.ts b/src/game/combat/conditions.ts index f168389..4f14aa2 100644 --- a/src/game/combat/conditions.ts +++ b/src/game/combat/conditions.ts @@ -1,7 +1,7 @@ import { Condition, Stat, Vigor, VoreStat } from "../combat" import { Creature } from "../creature" import { Container } from '../vore' -import { FAElem, LogEntry, LogLine, PropElem } from '../interface' +import { LogEntry, LogLine, PropElem } from '../interface' import { ToBe, Verb } from '../language' import * as Words from '../words' diff --git a/src/game/creature.ts b/src/game/creature.ts index 8b120bd..ff0088d 100644 --- a/src/game/creature.ts +++ b/src/game/creature.ts @@ -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 { LogEntry, LogLines, LogLine } from './interface' import { VoreContainer, VoreType, Container } from './vore' diff --git a/src/game/creatures/cafat.ts b/src/game/creatures/cafat.ts index 7612bc2..c190cc2 100644 --- a/src/game/creatures/cafat.ts +++ b/src/game/creatures/cafat.ts @@ -6,7 +6,7 @@ import { LogLine, LogLines, LogEntry, FAElem, ImgElem } from '../interface' import { AttackAction, TransferAction, FeedAction } from '../combat/actions' import { InstantKillEffect } from '../combat/effects' import * as Words from '../words' -import { ContainedByCondition, ContainsCondition } from '../combat/conditions' +import { ContainsCondition } from '../combat/conditions' class BellyCrushAction extends AttackAction { constructor (_damage: Damage) { diff --git a/src/game/creatures/dragon.ts b/src/game/creatures/dragon.ts index bfbe54d..21c7b84 100644 --- a/src/game/creatures/dragon.ts +++ b/src/game/creatures/dragon.ts @@ -1,6 +1,6 @@ import { Creature } from "../creature" 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 { AttackAction, TransferAction, FeedAction } from '../combat/actions' diff --git a/src/game/creatures/geta.ts b/src/game/creatures/geta.ts index 6d2187c..c89db8a 100644 --- a/src/game/creatures/geta.ts +++ b/src/game/creatures/geta.ts @@ -1,10 +1,10 @@ import { Creature } from "../creature" 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 { TogetherCondition, MassRatioCondition, ContainsCondition } from '../combat/conditions' import { ChanceTest } from '../combat/tests' @@ -78,8 +78,8 @@ export class Geta extends Creature { () => new InstantKillEffect() ), 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) - cock.onDigest = (prey) => nilLog + cock.onDigest = () => nilLog const shrinkAction = new CompositionAction( "Shrink", @@ -108,7 +108,7 @@ export class Geta extends Creature { ], consequences: [ new LogConsequence( - (user, target) => new LogLine(`ZAP!`) + () => new LogLine(`ZAP!`) ), new StatusConsequence( () => new SizeEffect(0.1) @@ -170,7 +170,7 @@ export class Geta extends Creature { consequences: [ new ArbitraryConsequence( (user, target) => stomach.consume(target), - (user, target) => new LogLine(`Devours the target.`) + () => new LogLine(`Devours the target.`) ) ] } diff --git a/src/game/creatures/goldeneye.ts b/src/game/creatures/goldeneye.ts index 67d2e8a..16669b1 100644 --- a/src/game/creatures/goldeneye.ts +++ b/src/game/creatures/goldeneye.ts @@ -1,11 +1,11 @@ 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 { VoreType, NormalContainer, InnerVoreContainer, Container } from '../vore' import { TransferAction } from '../combat/actions' import { LogEntry, LogLine, LogLines } from '../interface' 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' class GoldeneyeCrop extends NormalContainer { diff --git a/src/game/creatures/human.ts b/src/game/creatures/human.ts index 7536f99..005ed9e 100644 --- a/src/game/creatures/human.ts +++ b/src/game/creatures/human.ts @@ -1,7 +1,7 @@ import { Creature } from "../creature" import { Vigor, Stats, Vigors, CompositionAction } from '../combat' import { Noun, Pronoun, ImproperNoun } from '../language' -import { anyVore, VoreType } from '../vore' +import { anyVore } from '../vore' import { StatusConsequence } from '../combat/consequences' import { SurrenderEffect } from '../combat/effects' import { SoloCondition } from '../combat/conditions' diff --git a/src/game/creatures/kuro.ts b/src/game/creatures/kuro.ts index 3ceb98b..2c85df3 100644 --- a/src/game/creatures/kuro.ts +++ b/src/game/creatures/kuro.ts @@ -1,8 +1,8 @@ import { Creature } from "../creature" 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 { constructor () { diff --git a/src/game/creatures/werewolf.ts b/src/game/creatures/werewolf.ts index 9a37561..d3b9c31 100644 --- a/src/game/creatures/werewolf.ts +++ b/src/game/creatures/werewolf.ts @@ -1,5 +1,5 @@ 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 { Stomach, Bowels, Cock, Balls, anyVore, biconnectContainers } from '../vore' import { AttackAction, TransferAction, FeedAction } from '../combat/actions' diff --git a/src/game/creatures/wolves.ts b/src/game/creatures/wolves.ts index f51adeb..049b46b 100644 --- a/src/game/creatures/wolves.ts +++ b/src/game/creatures/wolves.ts @@ -1,8 +1,8 @@ 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 { 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 { RavenousPerk } from '../combat/perks' diff --git a/src/game/entity.ts b/src/game/entity.ts index 42f480a..d4aafa8 100644 --- a/src/game/entity.ts +++ b/src/game/entity.ts @@ -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 { LogEntry, LogLine } from './interface' import { Place, Nowhere } from './world' export abstract class Entity { diff --git a/src/game/items.ts b/src/game/items.ts index e09ec64..9ee4917 100644 --- a/src/game/items.ts +++ b/src/game/items.ts @@ -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 { Resistances } from './entity' 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 { LogLine, LogEntry } from './interface' import { Creature } from './creature' @@ -206,7 +206,7 @@ export abstract class Potion extends Consumable { ], consequences: ([ 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) } @@ -249,7 +249,7 @@ export class StrengthPotion extends Potion { "Power up!", [ 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", [ new StatusConsequence( - (user, target) => new DigestionPowerEffect(2) + () => new DigestionPowerEffect(2) ) ] ) @@ -277,7 +277,7 @@ export class ShrinkPotion extends Potion { "Drink me!", [ new StatusConsequence( - (user, target) => new SizeEffect(0.5) + () => new SizeEffect(0.5) ) ] ) diff --git a/src/game/language.ts b/src/game/language.ts index a56ac90..28444e0 100644 --- a/src/game/language.ts +++ b/src/game/language.ts @@ -1,5 +1,4 @@ -import { Entity } from './entity' -import { LogEntry, LogLine } from './interface' +import { LogEntry } from './interface' export enum POV {First, Second, Third} @@ -303,7 +302,7 @@ export class Noun extends Word { } 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 }) } } diff --git a/src/game/maps/town.ts b/src/game/maps/town.ts index 7bc74d9..4089774 100644 --- a/src/game/maps/town.ts +++ b/src/game/maps/town.ts @@ -1,5 +1,5 @@ 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 * as Creatures from '../creatures' import * as Items from '../items' @@ -128,7 +128,7 @@ export const Town = (): Place => { world.encounter = new Encounter( { 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()] ) @@ -146,7 +146,7 @@ export const Town = (): Place => { world.encounter = new Encounter( { 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()] ) @@ -164,7 +164,7 @@ export const Town = (): Place => { world.encounter = new Encounter( { 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()] ) @@ -182,7 +182,7 @@ export const Town = (): Place => { world.encounter = new Encounter( { 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()] ) @@ -194,19 +194,19 @@ export const Town = (): Place => { const bossEncounters = [ new Encounter( - { name: "Withers & Kenzie", intro: (world: World) => nilLog }, + { name: "Withers & Kenzie", intro: () => nilLog }, makeParty().concat([new Creatures.Withers(), new Creatures.Kenzie()]) ), new Encounter( - { name: "Goldeneye", intro: (world: World) => nilLog }, + { name: "Goldeneye", intro: () => nilLog }, makeParty().concat([new Creatures.Goldeneye()]) ), new Encounter( - { name: "Large Wah", intro: (world: World) => nilLog }, + { name: "Large Wah", intro: () => nilLog }, makeParty().concat([new Creatures.Shingo()]) ), new Encounter( - { name: "Cafat", intro: (world: World) => nilLog }, + { name: "Cafat", intro: () => nilLog }, makeParty().concat([new Creatures.Cafat()]) ) ] @@ -215,7 +215,7 @@ export const Town = (): Place => { new Choice( "Nap", "Zzzzzz", - (world, executor) => { + (world) => { return new LogLines( `You lie down for a nice nap...`, world.advance(moment.duration(1, "hour")) @@ -275,7 +275,7 @@ export const Town = (): Place => { new Choice( "Fight someone", "Ow", - (world, executor) => { + (world) => { const enemy = new Creatures.Human(new ProperNoun("Nerd"), TheyPronouns) enemy.side = Side.Monsters enemy.ai = new VoreAI() @@ -284,7 +284,7 @@ export const Town = (): Place => { const encounter = new Encounter( { 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] ) @@ -302,7 +302,7 @@ export const Town = (): Place => { world.encounter = new Encounter( { 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()] ) @@ -335,13 +335,13 @@ export const Town = (): Place => { new Choice( "Kuro", "Get eaten by a Luxray", - (world, executor) => { + (world) => { const enemy = new Creatures.Kuro() enemy.ai = new VoreAI() const encounter = new Encounter( { name: "Luxray time", - intro: world => new LogLine(`Luxray time!`) + intro: () => new LogLine(`Luxray time!`) }, [world.player, enemy] ) @@ -356,7 +356,7 @@ export const Town = (): Place => { new Choice( encounter.desc.name, "Boss fight!", - (world, executor) => { + (world) => { world.encounter = encounter return nilLog } diff --git a/src/game/world.ts b/src/game/world.ts index 22222e8..3134b42 100644 --- a/src/game/world.ts +++ b/src/game/world.ts @@ -1,8 +1,7 @@ import { TextLike, Verb, Noun, ProperNoun } from './language' -import { Entity } from './entity' import { Creature } from './creature' import moment, { Moment, Duration } from 'moment' -import { LogEntry, LogLine, LogLines } from './interface' +import { LogEntry, LogLines } from './interface' import { Encounter } from './combat' export enum Direction { @@ -34,11 +33,11 @@ export class Choice { } - visible (world: World): boolean { + visible (): boolean { return true } - accessible (world: World): boolean { + accessible (): boolean { return true } } @@ -48,11 +47,11 @@ export class Connection { } - visible (world: World, traveler: Creature): boolean { + visible (): boolean { return true } - accessible (world: World, traveler: Creature): boolean { + accessible (): boolean { return true }