| @@ -13,6 +13,10 @@ stories.push({ | |||||
| "sfx/bowels-to-intestines.ogg", | "sfx/bowels-to-intestines.ogg", | ||||
| "sfx/stomach-to-intestines-fail.ogg", | "sfx/stomach-to-intestines-fail.ogg", | ||||
| "sfx/intestines-to-stomach-forced.ogg", | "sfx/intestines-to-stomach-forced.ogg", | ||||
| "sfx/stomach-churn.ogg", | |||||
| "sfx/intestines-churn-stay.ogg", | |||||
| "sfx/bowels-churn-safe.ogg", | |||||
| "sfx/bowels-churn-danger.ogg", | |||||
| "loop/fen-stomach.ogg", | "loop/fen-stomach.ogg", | ||||
| "loop/fen-intestines.ogg", | "loop/fen-intestines.ogg", | ||||
| "loop/fen-bowels.ogg" | "loop/fen-bowels.ogg" | ||||
| @@ -20,6 +24,7 @@ stories.push({ | |||||
| intro: { | intro: { | ||||
| start: "stomach", | start: "stomach", | ||||
| setup: state => { | setup: state => { | ||||
| state.info.time = 86400 - 60 * 25 - 25; | |||||
| state.player.stats.health = {name: "Health", type: "meter", value: 100, max: 100, color: "rgb(255,0,0)"}; | state.player.stats.health = {name: "Health", type: "meter", value: 100, max: 100, color: "rgb(255,0,0)"}; | ||||
| state.player.stats.stamina = {name: "Stamina", type: "meter", value: 100, max: 100, color: "rgb(100,255,0)"}; | state.player.stats.stamina = {name: "Stamina", type: "meter", value: 100, max: 100, color: "rgb(100,255,0)"}; | ||||
| @@ -86,9 +91,25 @@ stories.push({ | |||||
| "alive" | "alive" | ||||
| ] | ] | ||||
| }, state); | }, state); | ||||
| startTimer({ | |||||
| id: "clock", | |||||
| func: state => { | |||||
| state.info.time += 1; | |||||
| state.info.time %= 86400; | |||||
| return true; | |||||
| }, | |||||
| delay: 1000, | |||||
| loop: true, | |||||
| classes: [ | |||||
| ] | |||||
| }, state); | |||||
| }, | }, | ||||
| intro: state => { | intro: state => { | ||||
| print(["Hot, slimy walls ripple and squeeze, the stomach of your captor stewing you in a churning stew of chyme and acid. You've only been trapped under the crux's pelt for a few minutes...and it doesn't seem like you'll last much longer than that, either."]); | |||||
| print(["Hot, slimy walls ripple and squeeze, the stomach of your captor stewing you in a churning stew of chyme and acid. The blue crux made a late-night meal out of you with ease. You've only been trapped under the Fen's pelt for a few minutes...and it doesn't seem like you'll last much longer than that, either."]); | |||||
| playSfx("sfx/stomach-churn.ogg"); | |||||
| } | } | ||||
| }, | }, | ||||
| refresh: state => { | refresh: state => { | ||||
| @@ -108,10 +129,11 @@ stories.push({ | |||||
| startTimer({ | startTimer({ | ||||
| id: "stomach-churns", | id: "stomach-churns", | ||||
| func: state => { | func: state => { | ||||
| if (Math.random() > 0.8) { | |||||
| if (Math.random() > 0.6) { | |||||
| state.player.stats.stamina.value -= 25; | state.player.stats.stamina.value -= 25; | ||||
| state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | ||||
| print(["The crux's stomach clenches around you, smothering you in the beast's slimy embrace."]); | print(["The crux's stomach clenches around you, smothering you in the beast's slimy embrace."]); | ||||
| playSfx("sfx/stomach-churn.ogg"); | |||||
| } | } | ||||
| return true; | return true; | ||||
| }, | }, | ||||
| @@ -202,11 +224,12 @@ stories.push({ | |||||
| startTimer({ | startTimer({ | ||||
| id: "intestines-churns", | id: "intestines-churns", | ||||
| func: state => { | func: state => { | ||||
| if (Math.random() > 0.8) { | |||||
| if (Math.random() > 0.6) { | |||||
| if (state.player.stats.stamina.value > 50) { | if (state.player.stats.stamina.value > 50) { | ||||
| state.player.stats.stamina.value -= 25; | state.player.stats.stamina.value -= 25; | ||||
| state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | ||||
| print(["Your prison's walls ripple and grind, shoving you against the valve leading to the crux's boiling stomach - but you manage to resist the powerful pull."]); | print(["Your prison's walls ripple and grind, shoving you against the valve leading to the crux's boiling stomach - but you manage to resist the powerful pull."]); | ||||
| playSfx("sfx/intestines-churn-stay.ogg"); | |||||
| } else { | } else { | ||||
| print(["Too exhausted to resist, your slimy body is crammed into the crux's churning stomach by a powerful wave of peristalsis."]); | print(["Too exhausted to resist, your slimy body is crammed into the crux's churning stomach by a powerful wave of peristalsis."]); | ||||
| playSfx("sfx/intestines-to-stomach-forced.ogg"); | playSfx("sfx/intestines-to-stomach-forced.ogg"); | ||||
| @@ -297,14 +320,16 @@ stories.push({ | |||||
| startTimer({ | startTimer({ | ||||
| id: "bowels-churns", | id: "bowels-churns", | ||||
| func: state => { | func: state => { | ||||
| if (Math.random() > 0.8) { | |||||
| if (Math.random() > 0.6) { | |||||
| if (state.player.stats.stamina.value > 50) { | if (state.player.stats.stamina.value > 50) { | ||||
| state.player.stats.stamina.value -= 25; | state.player.stats.stamina.value -= 25; | ||||
| state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | state.player.stats.stamina.value = Math.max(0, state.player.stats.stamina.value); | ||||
| print(["Fen's bowels clench and churn, grinding you into their musky walls."]); | print(["Fen's bowels clench and churn, grinding you into their musky walls."]); | ||||
| playSfx("sfx/bowels-churn-safe.ogg"); | |||||
| } else { | } else { | ||||
| state.player.stats.health.value /= 4; | state.player.stats.health.value /= 4; | ||||
| print(["Drained of stamina, you can do little to resist as Fen's bowels grind you away."]); | print(["Drained of stamina, you can do little to resist as Fen's bowels grind you away."]); | ||||
| playSfx("sfx/bowels-churn-danger.ogg"); | |||||
| } | } | ||||
| } | } | ||||
| return true; | return true; | ||||