ソースを参照

Add some extra flavor text to digestion, including digestion type

master
Fen Dweller 5年前
コミット
35348cdc33
4個のファイルの変更43行の追加13行の削除
  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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

@@ -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 ファイルの表示

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

読み込み中…
キャンセル
保存