|
|
@@ -0,0 +1,350 @@ |
|
|
|
|
|
stories.push({ |
|
|
|
|
|
"id": "unaware-geta", |
|
|
|
|
|
"name": "Geta's Breakfast", |
|
|
|
|
|
"tags": [ |
|
|
|
|
|
"Player Prey", |
|
|
|
|
|
"Digestion", |
|
|
|
|
|
"Macro/Micro" |
|
|
|
|
|
], |
|
|
|
|
|
"intro": { |
|
|
|
|
|
"start": "pepper-grinder", |
|
|
|
|
|
"setup": state => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"intro": state => { |
|
|
|
|
|
print(["Game started"]); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"sounds": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"preload": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"world": { |
|
|
|
|
|
"pepper-grinder": { |
|
|
|
|
|
"id": "pepper-grinder", |
|
|
|
|
|
"name": "Pepper Grinder", |
|
|
|
|
|
"desc": "You're hiding behind a pepper grinder", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
print(["You dart over to the pepper grinder, which looms over you like a greatwood."]); |
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
"up": { |
|
|
|
|
|
"target": "bowl", |
|
|
|
|
|
"desc": "Walk up to the cereal bowl", |
|
|
|
|
|
"show": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"conditions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"bowl": { |
|
|
|
|
|
"id": "bowl", |
|
|
|
|
|
"name": "Behind the Bowl", |
|
|
|
|
|
"desc": "You're crouched behind Geta's bowl of cereal", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
print(["You scurry up to the looming bowl, staying low and out of Geta's sight."]); |
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
"ascend": { |
|
|
|
|
|
"target": "in-bowl", |
|
|
|
|
|
"desc": "Climb into Geta's cereal", |
|
|
|
|
|
"show": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"conditions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
"down": { |
|
|
|
|
|
"target": "pepper-grinder", |
|
|
|
|
|
"desc": "Run back behind the pepper grinder", |
|
|
|
|
|
"show": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"conditions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"in-bowl": { |
|
|
|
|
|
"id": "in-bowl", |
|
|
|
|
|
"name": "Bowl", |
|
|
|
|
|
"desc": "You're in the cereal bowl...", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
print(["Why did you do that?"]); |
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
startTimer({ |
|
|
|
|
|
id: "geta-eat", |
|
|
|
|
|
func: state => { |
|
|
|
|
|
if (Math.random() < 0.6) { |
|
|
|
|
|
print(["Geta scoops up a spoonful of cereal; you narrowly avoid being caught."]); |
|
|
|
|
|
return true; |
|
|
|
|
|
} else { |
|
|
|
|
|
print(["Geta scoops you up and slurps you into his maw."]); |
|
|
|
|
|
goToRoom("maw", state); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
delay: 3000, |
|
|
|
|
|
loop: true, |
|
|
|
|
|
classes: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, state); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"maw": { |
|
|
|
|
|
"id": "maw", |
|
|
|
|
|
"name": "Geta's Maw", |
|
|
|
|
|
"desc": "You've been slurped up into the fox's jaws", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
startTimer({ |
|
|
|
|
|
id: "swallow", |
|
|
|
|
|
func: state => { |
|
|
|
|
|
print(["It's too late to escape. You're swallowed down."]); |
|
|
|
|
|
goToRoom("throat", state); |
|
|
|
|
|
return true; |
|
|
|
|
|
}, |
|
|
|
|
|
delay: 5000, |
|
|
|
|
|
loop: false, |
|
|
|
|
|
classes: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, state); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"throat": { |
|
|
|
|
|
"id": "throat", |
|
|
|
|
|
"name": "Geta's Gullet", |
|
|
|
|
|
"desc": "GULP!", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
startTimer({ |
|
|
|
|
|
id: "gut", |
|
|
|
|
|
func: state => { |
|
|
|
|
|
print(["You slush down into Geta's stomach"]); |
|
|
|
|
|
goToRoom("stomach", state); |
|
|
|
|
|
return true; |
|
|
|
|
|
}, |
|
|
|
|
|
delay: 7000, |
|
|
|
|
|
loop: false, |
|
|
|
|
|
classes: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, state); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"stomach": { |
|
|
|
|
|
"id": "stomach", |
|
|
|
|
|
"name": "Geta's Stomach", |
|
|
|
|
|
"desc": "Glorp", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
startTimer({ |
|
|
|
|
|
id: "digest", |
|
|
|
|
|
func: state => { |
|
|
|
|
|
print(["You're digested before too long."]); |
|
|
|
|
|
goToRoom("digested", state); |
|
|
|
|
|
return true; |
|
|
|
|
|
}, |
|
|
|
|
|
delay: 10000, |
|
|
|
|
|
loop: false, |
|
|
|
|
|
classes: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, state); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
{ |
|
|
|
|
|
name: "Squirm", |
|
|
|
|
|
desc: "Rub at the walls of the fox's churning stomach", |
|
|
|
|
|
execute: (room, state) => { |
|
|
|
|
|
printRandom([ |
|
|
|
|
|
["You punch and kick at the walls"], |
|
|
|
|
|
["A powerful churn grabs hold of you, stifling any attempts at struggling"], |
|
|
|
|
|
["Your little thumps and kicks do little to faze your captor"] |
|
|
|
|
|
]); |
|
|
|
|
|
}, |
|
|
|
|
|
show: [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
conditions: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
"digested": { |
|
|
|
|
|
"id": "digested", |
|
|
|
|
|
"name": "Fat", |
|
|
|
|
|
"desc": "You're just fat now", |
|
|
|
|
|
"move": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"enter": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"exit": (room, state) => { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"actions": [ |
|
|
|
|
|
{ |
|
|
|
|
|
name: "Gurgle", |
|
|
|
|
|
desc: "Glorp", |
|
|
|
|
|
execute: (room, state) => { |
|
|
|
|
|
printRandom([ |
|
|
|
|
|
["Grrrrgle"], |
|
|
|
|
|
["Glorp"], |
|
|
|
|
|
["Glrrrrrrnnnnnn..."], |
|
|
|
|
|
["Gwoooooorgle"] |
|
|
|
|
|
]); |
|
|
|
|
|
}, |
|
|
|
|
|
show: [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
conditions: [ |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
"exits": { |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
"hooks": [ |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
|
|
"data": { |
|
|
|
|
|
"stats": { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
|
|
|
|
}); |