From 5847b4585b02a4b93ba10979f628789d50bd3f01 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sat, 18 Apr 2020 15:44:36 -0400 Subject: [PATCH] Add throat sounds; add some more interesting swallows --- media/geta-unaware/audio/loop/heartbeat.ogg | 3 + media/geta-unaware/audio/sfx/big-gulp.ogg | 3 + media/geta-unaware/audio/sfx/gulp-1.ogg | 3 + media/geta-unaware/audio/sfx/gulp-2.ogg | 3 + media/geta-unaware/audio/sfx/gulp-3.ogg | 3 + stories/geta-unaware.js | 72 +++++++++++++++++++-- 6 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 media/geta-unaware/audio/loop/heartbeat.ogg create mode 100644 media/geta-unaware/audio/sfx/big-gulp.ogg create mode 100644 media/geta-unaware/audio/sfx/gulp-1.ogg create mode 100644 media/geta-unaware/audio/sfx/gulp-2.ogg create mode 100644 media/geta-unaware/audio/sfx/gulp-3.ogg diff --git a/media/geta-unaware/audio/loop/heartbeat.ogg b/media/geta-unaware/audio/loop/heartbeat.ogg new file mode 100644 index 0000000..148fe08 --- /dev/null +++ b/media/geta-unaware/audio/loop/heartbeat.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0716e772202b4c752bfe4f46e89b980de8a871a9da3df7293db91c0760cfe1c +size 49362 diff --git a/media/geta-unaware/audio/sfx/big-gulp.ogg b/media/geta-unaware/audio/sfx/big-gulp.ogg new file mode 100644 index 0000000..0cd3273 --- /dev/null +++ b/media/geta-unaware/audio/sfx/big-gulp.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07542d0b8461c1f27d469d9a474bb32bd6891b5e1c6108783d6ec9072534eee8 +size 91554 diff --git a/media/geta-unaware/audio/sfx/gulp-1.ogg b/media/geta-unaware/audio/sfx/gulp-1.ogg new file mode 100644 index 0000000..074ce59 --- /dev/null +++ b/media/geta-unaware/audio/sfx/gulp-1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:664d682cc66846c4710fcba0b3a52cd4c5331c71a09f0a7f6b74723be0df72c1 +size 29783 diff --git a/media/geta-unaware/audio/sfx/gulp-2.ogg b/media/geta-unaware/audio/sfx/gulp-2.ogg new file mode 100644 index 0000000..5879606 --- /dev/null +++ b/media/geta-unaware/audio/sfx/gulp-2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53da7d89c94c412e775a3c6a976bf95140f58d503b3e9395a11b90e247103531 +size 27335 diff --git a/media/geta-unaware/audio/sfx/gulp-3.ogg b/media/geta-unaware/audio/sfx/gulp-3.ogg new file mode 100644 index 0000000..68bec36 --- /dev/null +++ b/media/geta-unaware/audio/sfx/gulp-3.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78230ef744db6d4de3ffdcd6ec01659bd9f8b8e00a5e461ae4ace6f6a1c47e58 +size 29659 diff --git a/stories/geta-unaware.js b/stories/geta-unaware.js index 2a47c50..19751e8 100644 --- a/stories/geta-unaware.js +++ b/stories/geta-unaware.js @@ -248,9 +248,14 @@ } }, "sounds": [ + "loop/heartbeat.ogg", "loop/stomach.ogg", "sfx/absorb.ogg", + "sfx/big-gulp.ogg", "sfx/digest.ogg", + "sfx/gulp-1.ogg", + "sfx/gulp-2.ogg", + "sfx/gulp-3.ogg", "sfx/swallow.ogg" ], "preload": [ @@ -724,7 +729,7 @@ delay: 4000, loop: false, classes: [ - + "maw-struggle" ] }); @@ -849,6 +854,7 @@ "enter": (room) => { playSfx("sfx/swallow.ogg"); + playLoop("loop/stomach.ogg", 0.3); state.player.stats.stamina.hidden = false; state.player.stats.throatPos.hidden = false; @@ -865,7 +871,38 @@ "throat-struggle" ] }); + + state.geta.throatStage = 1; + startTimer({ + id: "throat-stages", + func: () => { + if (state.geta.throatStage / 5 < getStat("throatPos")) { + state.geta.throatStage = Math.ceil(getStat("throatPos") * 5); + switch (state.geta.throatStage) { + case 3: + print(["You're sinking into the fox's chest..."]); + break; + case 4: + print(["Deeper, deeper still..."]); + break; + case 5: + print(["Your grave is just a swallow or two away."]); + break; + default: + break; + } + } + + return true; + }, + delay: 1000, + loop: true, + classes: [ + "throat-struggle" + ] + }); + startTimer({ id: "throat-descent", func: () => { @@ -879,6 +916,7 @@ return false; } changeStat("throatPos", state.player.flags.throatSurrender ? 0.0005 : 0.0001); + playLoop("loop/heartbeat.ogg", 0.3 + getStat("throatPos") * 0.7); return true; }, delay: 1000 / 60, @@ -891,9 +929,34 @@ startTimer({ id: "throat-swallows", func: () => { - print(["Geta's throat pumps you deeper"]); - statLerp("throatPos", 0.1, 1250); - return Math.random() * 2000 + 2000; + + const choice = Math.random(); + + if (choice < 0.7 ) { + print(["Geta's throat pumps you deeper"]); + playSfx(pickRandom([ + "sfx/gulp-1.ogg", + "sfx/gulp-2.ogg", + "sfx/gulp-3.ogg" + ])); + statLerp("throatPos", 0.1, 1250); + return Math.random() * 2000 + 2000; + } else if (choice < 0.85) { + if (getStat("throatPos") < 0.4) { + print(["A finger presses in on you from the outside. Your captor is enjoying himself...but at least it slows your descent a little."]); + statLerp("throatPos", 0.05, 2000); + return Math.random() * 4000 + 2000; + } else { + return Math.random() * 200 + 200; + } + + } else { + print(["A crushing swallow grips your body and crams you down deep."]); + playSfx("sfx/big-gulp.ogg"); + statLerp("throatPos", 0.3, 1500); + return Math.random() * 2000 + 2000; + } + }, delay: 2000, loop: true, @@ -970,6 +1033,7 @@ }, "enter": (room) => { playLoop("loop/stomach.ogg"); + stopLoop("loop/heartbeat.ogg"); state.geta.digestionStage = 0; state.geta.acidStrength = 1;