Selaa lähdekoodia

Add some extra flavor text to digestion, including digestion type

master
Fen Dweller 5 vuotta sitten
vanhempi
commit
35348cdc33
4 muutettua tiedostoa jossa 43 lisäystä ja 13 poistoa
  1. +3
    -1
      src/game/creatures/goldeneye.ts
  2. +1
    -1
      src/game/creatures/withers.ts
  3. +26
    -3
      src/game/vore.ts
  4. +13
    -8
      src/game/words.ts

+ 3
- 1
src/game/creatures/goldeneye.ts Näytä tiedosto

@@ -1,6 +1,6 @@
import { Creature } from "../creature"
import { Damage, DamageType, ConstantDamageFormula, Vigor, Side, GroupAction, FractionDamageFormula, DamageFormula, UniformRandomDamageFormula, CompositionAction, StatusEffect, CompositeDamageFormula } from '../combat'
import { MalePronouns, ImproperNoun, Verb, ProperNoun, ToBe, SoloLineArgs } from '../language'
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'
@@ -99,6 +99,8 @@ class Flaunt extends GroupAction {
}

class GoldeneyeStomach extends InnerVoreContainer {
fluidName = new Noun("chyme")

consumeVerb: Verb = new Verb('swallow')
releaseVerb: Verb = new Verb('free')
struggleVerb: Verb = new Verb('struggle', 'struggles', 'struggling', 'struggled')


+ 1
- 1
src/game/creatures/withers.ts Näytä tiedosto

@@ -272,7 +272,7 @@ class DevourAllAction extends GroupAction {

line = (user: Creature, target: Creature) => new LogLine(`${user.name.capital} ${user.name.conjugate(new Verb('scoop'))} ${target.name} up!`)

groupLine = (user: Creature, args: { count: number }) => new LogLine(`${Words.SwallowSound.allCaps}! All ${args.count} of ${user.pronouns.possessive} prey pour down ${user.name.possessive} ${Words.Slick} gullet as ${user.pronouns.subjective} ${user.name.conjugate(Words.Swallows)}; they're just ${user.kind.all} chow now`)
groupLine = (user: Creature, args: { count: number }) => new LogLine(`${Words.SwallowSound.allCaps}! All ${args.count} of ${user.pronouns.possessive} prey pour down ${user.name.possessive} ${Words.Slick} gullet as ${user.pronouns.subjective} ${user.name.conjugate(Words.Swallow)}; they're just ${user.kind.all} chow now`)

execute (user: Creature, target: Creature): LogEntry {
this.container.consume(target)


+ 26
- 3
src/game/vore.ts Näytä tiedosto

@@ -1,6 +1,6 @@
import { Damage, DamageType, Actionable, Action, Vigor, DamageInstance, DamageFormula } from './combat'
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 * as Words from './words'
import { Creature } from './creature'
@@ -160,6 +160,7 @@ export interface VoreContainer extends Container {
tick: (dt: number) => LogEntry;
digest: (preys: Creature[]) => LogEntry;
absorb: (preys: Creature[]) => LogEntry;
fluidName: Word;
fluidColor: string;

onDigest: (prey: Creature) => LogEntry;
@@ -175,6 +176,8 @@ export abstract class NormalVoreContainer extends NormalContainer implements Vor
digested: Array<Creature> = []
absorbed: Array<Creature> = []

abstract fluidName: Word

constructor (name: Noun, owner: Creature, voreTypes: Set<VoreType>, capacity: number, private damage: DamageFormula) {
super(name, owner, voreTypes, capacity)

@@ -203,11 +206,11 @@ export abstract class NormalVoreContainer extends NormalContainer implements Vor
}

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 {
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 {
@@ -303,6 +306,8 @@ export abstract class InnerVoreContainer extends NormalVoreContainer {
}

export class Stomach extends NormalVoreContainer {
fluidName = new Noun("chyme")

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
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 {
fluidName = new Noun("chyme")

consumeVerb = new Verb('swallow')
releaseVerb = new Verb('hork')
constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: VoreContainer) {
@@ -336,6 +343,8 @@ export class InnerStomach extends InnerVoreContainer {
}

export class Bowels extends NormalVoreContainer {
fluidName = new Noun("chyme")

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
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 {
fluidName = new Noun("cum")

fluidColor = "#eeeeee66";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
@@ -367,6 +378,8 @@ export class Cock extends NormalVoreContainer {
}

export class Balls extends InnerVoreContainer {
fluidName = new Noun("cum")

fluidColor = "#eeeeeecc";

constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {
@@ -382,6 +395,8 @@ export class Balls extends InnerVoreContainer {
}

export class Slit extends NormalVoreContainer {
fluidName = new Noun("femcum")

fluidColor = "#cccccc99";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
@@ -395,6 +410,8 @@ export class Slit extends NormalVoreContainer {
}
}
export class Womb extends InnerVoreContainer {
fluidName = new Noun("femcum")

fluidColor = "#ddddddbb";

constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {
@@ -410,6 +427,8 @@ export class Womb extends InnerVoreContainer {
}

export class Breasts extends NormalVoreContainer {
fluidName = new Noun("milk")

fluidColor = "#eeeeeecc";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
@@ -424,6 +443,8 @@ export class Breasts extends NormalVoreContainer {
}

export class Bladder extends NormalVoreContainer {
fluidName = new Noun("piss")

fluidColor = "#eeee3399";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
@@ -438,6 +459,8 @@ export class Bladder extends NormalVoreContainer {
}

export class InnerBladder extends InnerVoreContainer {
fluidName = new Noun("piss")

fluidColor = "#eeee3399";

constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {


+ 13
- 8
src/game/words.ts Näytä tiedosto

@@ -18,7 +18,7 @@ export const Slick = new RandomWord([
new Adjective('glistening')
])

export const Swallows = new RandomWord([
export const Swallow = new RandomWord([
new Verb("swallow"),
new Verb("gulp"),
new Verb("consume", "consumes", "consuming", "consumed")
@@ -37,18 +37,18 @@ export const Dark = new RandomWord([
new Adjective("pitch-black")
])

export const Digests = new RandomWord([
new Verb("digest")
export const Digest = new RandomWord([
new Verb("digest"),
new Verb("melt down", "melts down", "melting down", "melted down"),
new Verb("dissolve", "dissolves", "dissolving", "dissolved")
])

export const Absorbs = new RandomWord([
export const Absorb = new RandomWord([
new Verb("absorb"),
new Verb("soak up", "soaks up", "soaking up", "soaked up"),
new Verb("melt down", "melts down", "melting down", "melted down"),
new Verb("dissolve", "dissolves", "dissolving", "dissolved")
new Verb("soak up", "soaks up", "soaking up", "soaked up")
])

export const Struggles = new RandomWord([
export const Struggle = new RandomWord([
new Verb("squirm"),
new Verb("struggle", "struggles", "struggling", "struggled"),
new Verb("thrash", "thrashes")
@@ -81,3 +81,8 @@ export const Clench = new RandomWord([
new Verb("squeeze", "squeezes", "squeezing", "squeezed"),
new Verb("bear down on", "bears down on", "bearing down on", "bore down on")
])

export const Succumb = new RandomWord([
new Verb("succumb"),
new Verb("surrender")
])

Loading…
Peruuta
Tallenna