|
|
|
@@ -98,9 +98,28 @@ stories.push({ |
|
|
|
}, |
|
|
|
enter: (room, state) => { |
|
|
|
playLoop("loop/fen-stomach.ogg"); |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "stomach-churns", |
|
|
|
func: state => { |
|
|
|
if (Math.random() > 0.8) { |
|
|
|
state.player.stats.stamina.value -= 25; |
|
|
|
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."]); |
|
|
|
} |
|
|
|
return true; |
|
|
|
}, |
|
|
|
delay: 10000, |
|
|
|
loop: true, |
|
|
|
room: "stomach", |
|
|
|
classes: [ |
|
|
|
"alive" |
|
|
|
] |
|
|
|
}, state); |
|
|
|
}, |
|
|
|
exit: (room, state) => { |
|
|
|
stopLoop("loop/fen-stomach.ogg"); |
|
|
|
stopRoomTimers("stomach", state); |
|
|
|
}, |
|
|
|
hooks: [ |
|
|
|
|
|
|
|
@@ -171,9 +190,33 @@ stories.push({ |
|
|
|
}, |
|
|
|
enter: (room, state) => { |
|
|
|
playLoop("loop/fen-intestines.ogg"); |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "intestines-churns", |
|
|
|
func: state => { |
|
|
|
if (Math.random() > 0.8) { |
|
|
|
if (state.player.stats.stamina.value > 50) { |
|
|
|
state.player.stats.stamina.value -= 25; |
|
|
|
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."]); |
|
|
|
} else { |
|
|
|
print(["Too exhausted to resist, your slimy body is crammed into the crux's churning stomach by a powerful wave of peristalsis."]); |
|
|
|
goToRoom("stomach", state); |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
}, |
|
|
|
delay: 10000, |
|
|
|
loop: true, |
|
|
|
room: "intestines", |
|
|
|
classes: [ |
|
|
|
"alive" |
|
|
|
] |
|
|
|
}, state); |
|
|
|
}, |
|
|
|
exit: (room, state) => { |
|
|
|
stopLoop("loop/fen-intestines.ogg"); |
|
|
|
stopRoomTimers("intestines", state); |
|
|
|
}, |
|
|
|
exits: { |
|
|
|
"up": { |
|
|
|
@@ -233,9 +276,33 @@ stories.push({ |
|
|
|
}, |
|
|
|
enter: (room, state) => { |
|
|
|
playLoop("loop/fen-bowels.ogg"); |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "bowels-churns", |
|
|
|
func: state => { |
|
|
|
if (Math.random() > 0.8) { |
|
|
|
if (state.player.stats.stamina.value > 50) { |
|
|
|
state.player.stats.stamina.value -= 25; |
|
|
|
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."]); |
|
|
|
} else { |
|
|
|
state.player.stats.health.value /= 4; |
|
|
|
print(["Drained of stamina, you can do little to resist as Fen's bowels grind you away."]); |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
}, |
|
|
|
delay: 10000, |
|
|
|
loop: true, |
|
|
|
room: "bowels", |
|
|
|
classes: [ |
|
|
|
"alive" |
|
|
|
] |
|
|
|
}, state); |
|
|
|
}, |
|
|
|
exit: (room, state) => { |
|
|
|
stopLoop("loop/fen-bowels.ogg"); |
|
|
|
stopRoomTimers("bowels", state); |
|
|
|
}, |
|
|
|
exits: { |
|
|
|
"up": { |
|
|
|
|