|
- (() => {
- function checkSuspicion(state, add=0) {
- state.player.stats.suspicion.value += add;
- if (state.player.stats.suspicion.value >= 100) {
- print(["Geta spots you!", "You're snatched up and tossed into the fox's bowl of cereal."]);
- goToRoom("in-bowl", state);
- return false;
- }
-
- return true;
- }
- stories.push({
- "id": "unaware-geta",
- "name": "Geta's Breakfast",
- "tags": [
- "Player Prey",
- "Digestion",
- "Macro/Micro"
- ],
- "intro": {
- "start": "pepper-grinder",
- "setup": state => {
- state.player.stats.suspicion = {name: "Suspicion", type: "meter", value: 0, min: 0, max: 100, color: "rgb(100,100,100)"};
- },
- "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": [
- {
- name: "Tap",
- desc: "Bang on the pepper shaker",
- execute: (room, state) => {
- print(["You thump the pepper shaker, making a dull thud."]);
- checkSuspicion(state, 25);
- },
- show: [
-
- ],
- conditions: [
-
- ]
- },
- ],
- "exits": {
- "up": {
- "target": "bowl",
- "desc": "Walk up to the cereal bowl",
- "show": [
-
- ],
- "conditions": [
-
- ],
- "hooks": [
- (room, exit, state) => {
- return checkSuspicion(state, 10);
- }
-
- ]
- },
- },
- "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": {
-
- }
- }
- },
- }
- });
-
- })();
|