|  |  | @@ -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": { | 
		
	
	
		
			
				|  |  | 
 |