소스 검색

Add bladder/breast vore; enable all kinds of vore for the player

master
Fen Dweller 5 년 전
부모
커밋
4d7e19e37d
3개의 변경된 파일76개의 추가작업 그리고 8개의 파일을 삭제
  1. +2
    -2
      src/game/creatures/human.ts
  2. +25
    -3
      src/game/creatures/player.ts
  3. +49
    -3
      src/game/vore.ts

+ 2
- 2
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 { VoreType } from '../vore'
import { anyVore, VoreType } from '../vore'
import { StatusConsequence } from '../combat/consequences'
import { SurrenderEffect } from '../combat/effects'
import { SoloCondition } from '../combat/conditions'
@@ -21,7 +21,7 @@ export class Human extends Creature {
} else {
stats = options.stats
}
super(name, new ImproperNoun('human', 'humans'), pronouns, stats, new Set([VoreType.Oral, VoreType.Anal, VoreType.Cock, VoreType.Unbirth]), new Set([VoreType.Oral, VoreType.Anal]), 25)
super(name, new ImproperNoun('human', 'humans'), pronouns, stats, anyVore, anyVore, 25)

this.title = "Snack"
this.desc = "Definitely going on an adventure"


+ 25
- 3
src/game/creatures/player.ts 파일 보기

@@ -1,7 +1,7 @@
import { Creature } from "../creature"
import { ProperNoun, TheyPronouns, ImproperNoun, POV } from '../language'
import { Damage, DamageType, Vigor, ConstantDamageFormula, CompositionAction, UniformRandomDamageFormula, StatDamageFormula, Stat } from '../combat'
import { Stomach, Bowels, VoreType, anyVore } from '../vore'
import { Stomach, Bowels, VoreType, anyVore, Bladder, Cock, Balls, Breasts, InnerBladder, Slit, Womb, biconnectContainers } from '../vore'
import { AttackAction } from '../combat/actions'
import { TogetherCondition } from '../combat/conditions'
import { DamageConsequence } from '../combat/consequences'
@@ -24,11 +24,33 @@ export class Player extends Creature {
this.actions.push(new AttackAction(new ConstantDamageFormula(new Damage({ type: DamageType.Pierce, amount: 20, target: Vigor.Health }, { type: DamageType.Pierce, amount: 20, target: Vigor.Stamina }))))

const stomach = new Stomach(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Acid, target: Vigor.Health }, { amount: 10, type: DamageType.Crush, target: Vigor.Health })))

this.containers.push(stomach)
const bowels = new Bowels(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })))

const bowels = new Bowels(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })))
this.containers.push(bowels)

const cock = new Cock(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })))
this.containers.push(cock)

const balls = new Balls(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })), cock)
this.containers.push(balls)

const slit = new Slit(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })))
this.containers.push(slit)

const womb = new Womb(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })), slit)
this.containers.push(womb)

const bladder = new InnerBladder(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })), cock)
this.containers.push(bladder)

const breasts = new Breasts(this, 2, new ConstantDamageFormula(new Damage({ amount: 20, type: DamageType.Crush, target: Vigor.Health })))
this.containers.push(breasts)

biconnectContainers(cock, balls)
biconnectContainers(cock, bladder)
biconnectContainers(slit, womb)

this.perspective = POV.Second

this.perks.push(new RavenousPerk())


+ 49
- 3
src/game/vore.ts 파일 보기

@@ -9,14 +9,18 @@ export enum VoreType {
Oral = "Oral Vore",
Anal = "Anal Vore",
Cock = "Cock Vore",
Unbirth = "Unbirthing"
Unbirth = "Unbirthing",
Breast = "Breast Vore",
Bladder = "Bladder vore"
}

export const anyVore = new Set([
VoreType.Oral,
VoreType.Anal,
VoreType.Cock,
VoreType.Unbirth
VoreType.Unbirth,
VoreType.Breast,
VoreType.Bladder
])

export interface Container extends Actionable {
@@ -400,7 +404,6 @@ export class Slit extends NormalVoreContainer {
)
}
}

export class Womb extends InnerVoreContainer {
fluidColor = "#ddddddbb";

@@ -416,6 +419,49 @@ export class Womb extends InnerVoreContainer {
}
}

export class Breasts extends NormalVoreContainer {
fluidColor = "#eeeeeecc";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
super(
new ImproperNoun('breast', 'breasts').all.plural,
owner,
new Set([VoreType.Breast]),
capacity,
damage
)
}
}

export class Bladder extends NormalVoreContainer {
fluidColor = "#eeee3399";

constructor (owner: Creature, capacity: number, damage: DamageFormula) {
super(
new ImproperNoun('bladder').all,
owner,
new Set([VoreType.Bladder]),
capacity,
damage
)
}
}

export class InnerBladder extends InnerVoreContainer {
fluidColor = "#eeee3399";

constructor (owner: Creature, capacity: number, damage: DamageFormula, escape: Container) {
super(
new ImproperNoun('bladder').all,
owner,
new Set([VoreType.Bladder]),
capacity,
damage,
escape
)
}
}

export function biconnectContainers (outer: VoreContainer, inner: VoreContainer): void {
outer.onDigest = (prey: Creature) => {
outer.digested = outer.digested.filter(victim => victim !== prey)


불러오는 중...
취소
저장