Bläddra i källkod

Add some extra flavor text to digestion, including digestion type

vintage
Fen Dweller 5 år sedan
förälder
incheckning
35348cdc33
4 ändrade filer med 43 tillägg och 13 borttagningar
  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 Visa fil

@@ -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 Visa fil

@@ -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 Visa fil

@@ -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 Visa fil

@@ -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")
])

Laddar…
Avbryt
Spara