diff --git a/media/geta-unaware/audio/sfx/digest.ogg b/media/geta-unaware/audio/sfx/digest.ogg new file mode 100644 index 0000000..d9e39ff --- /dev/null +++ b/media/geta-unaware/audio/sfx/digest.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b854376a0123b7b5a5f109402c3b06f160958cff32b11275bd0bfa42716f1cf +size 316224 diff --git a/stories/geta-unaware.js b/stories/geta-unaware.js index 9ec58cb..30b95cd 100644 --- a/stories/geta-unaware.js +++ b/stories/geta-unaware.js @@ -239,6 +239,7 @@ "sounds": [ "loop/stomach.ogg", "sfx/absorb.ogg", + "sfx/digest.ogg", "sfx/swallow.ogg" ], "preload": [ @@ -547,6 +548,8 @@ state.geta.swallowsLeft = 3 + Math.floor(Math.random() * 3); state.geta.mawMovement = 1; + print(["You slip into Geta's maw. He'll swallow you like the snack you are if you slip too far back, but crawl too far forward, and you'll meet his fangs..."]) + startTimer({ id: "maw-random-movement", func: () => { @@ -557,11 +560,12 @@ changeStat("mawPos", movementFactor * (fastPart + slowPart)); if (getStat("mawPos") <= 0.02) { - print(["You slip too far back. Geta doesn't even have to try to swallow you like the food you are."]); + print(["You slip too far back. Geta doesn't even have to try to swallow you like the food you are; you're lost from the world, buried in his hot, tight throat."]); goToRoom("throat"); return false; } else if (getStat("mawPos") >= 0.98) { print(["Geta's jaws close like a falling guillotine's blade. You're crushed like an insect. A sharp gulp drags you down to the fox's guts."]); + playSfx("sfx/swallow.ogg"); changeStat("health", -90); goToRoom("stomach"); return false; @@ -1092,15 +1096,38 @@ }, "digested": { "id": "digested", - "name": "Fat", - "desc": "You're just fat now", + "name": "Geta's Stomach", + "desc": "You're just mush now", "move": (room) => { }, "enter": (room) => { stopClassTimers("digestion"); + stopTimer("clock"); - playSfx("sfx/absorb.ogg"); + state.player.flags.digestTime = state.info.time.value; + + startTimer({ + id: "absorb-clock", + func: () => { + state.info.time.value += 1; + state.info.time.value %= 86000; + + if (state.info.time.value - state.player.flags.digestTime > 5 * 60) { + print(["Your molten remains drain into the fox's depths..."]); + goToRoom("absorbed"); + return false; + } + return true; + }, + delay: 1000 / 15, + loop: true, + classes: [ + + ] + }); + + playSfx("sfx/digest.ogg"); }, "exit": (room) => { @@ -1130,6 +1157,34 @@ }, "hooks": [ + ], + "data": { + "stats": { + + } + } + }, + "absorbed": { + "id": "absorbed", + "name": "Geta's Fat", + "desc": "You're gone.", + "move": (room) => { + + }, + "enter": (room) => { + playSfx("sfx/absorb.ogg"); + }, + "exit": (room) => { + + }, + "actions": [ + + ], + "exits": { + + }, + "hooks": [ + ], "data": { "stats": {