|
|
|
@@ -122,6 +122,8 @@ |
|
|
|
state.player.stats.stamina = { name: "Stamina", type: "meter", value: 100, min: 0, max: 100, color: "rgb(55,255,55)", hidden: true }; |
|
|
|
state.player.stats.suspicion = { name: "Suspicion", type: "meter", value: 0, min: 0, max: 100, color: "rgb(100,100,100)" }; |
|
|
|
state.player.stats.mawPos = { "name": "Struggle", "type": "meter", "value": 0.5, "min": 0, "max": 1, "color": "rgb(0,255,0)", hidden: true } |
|
|
|
state.player.stats.throatPos = { "name": "Descent", "type": "meter", "value": 0.25, "min": 0, "max": 1, "color": "rgb(155,0,0)", hidden: true } |
|
|
|
|
|
|
|
state.info.time.value = 60 * 60 * 7 + 60 * 17; |
|
|
|
|
|
|
|
state.player.limbs = {}; |
|
|
|
@@ -758,6 +760,8 @@ |
|
|
|
}, |
|
|
|
"exit": (room) => { |
|
|
|
state.player.stats.stamina.hidden = true; |
|
|
|
state.player.stats.mawPos.hidden = true; |
|
|
|
stopClassTimers("maw-struggle"); |
|
|
|
}, |
|
|
|
"actions": [ |
|
|
|
{ |
|
|
|
@@ -771,7 +775,7 @@ |
|
|
|
changeStat("stamina", -25); |
|
|
|
statLerp("mawPos", 0.15 + Math.random() * 0.05, 250); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
show: [ |
|
|
|
|
|
|
|
@@ -842,34 +846,79 @@ |
|
|
|
|
|
|
|
playSfx("sfx/swallow.ogg"); |
|
|
|
|
|
|
|
state.player.stats.mawPos.hidden = true; |
|
|
|
|
|
|
|
stopClassTimers("maw-struggle"); |
|
|
|
state.player.flags.throatSurrender = false; |
|
|
|
state.player.stats.stamina.hidden = false; |
|
|
|
state.player.stats.throatPos.hidden = false; |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "throat-swallow", |
|
|
|
id: "throat-stamina", |
|
|
|
func: () => { |
|
|
|
changeStat("stamina", 0.03); |
|
|
|
return true; |
|
|
|
}, |
|
|
|
delay: 1000/60, |
|
|
|
loop: true, |
|
|
|
classes: [ |
|
|
|
"throat-struggle" |
|
|
|
] |
|
|
|
}); |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "throat-descent", |
|
|
|
func: () => { |
|
|
|
print(["You slush down into Geta's stomach"]); |
|
|
|
goToRoom("stomach"); |
|
|
|
if (getStat("throatPos") <= 0.01) { |
|
|
|
print(["Geta swallows HARD, cramming you back down like the food you are."]); |
|
|
|
changeStat("throatPos", 0.1); |
|
|
|
statLerp("throatPos", 0.5, 1000); |
|
|
|
} |
|
|
|
if (getStat("throatPos") >= 0.99) { |
|
|
|
goToRoom("stomach"); |
|
|
|
return false; |
|
|
|
} |
|
|
|
changeStat("throatPos", state.player.flags.throatSurrender ? 0.0005 : 0.0001); |
|
|
|
return true; |
|
|
|
}, |
|
|
|
delay: 7000, |
|
|
|
loop: false, |
|
|
|
delay: 1000 / 60, |
|
|
|
loop: true, |
|
|
|
classes: [ |
|
|
|
"throat-struggle" |
|
|
|
] |
|
|
|
}); |
|
|
|
|
|
|
|
startTimer({ |
|
|
|
id: "throat-swallows", |
|
|
|
func: () => { |
|
|
|
print(["Geta's throat pumps you deeper"]); |
|
|
|
statLerp("throatPos", 0.1, 1250); |
|
|
|
return Math.random() * 2000 + 2000; |
|
|
|
}, |
|
|
|
delay: 2000, |
|
|
|
loop: true, |
|
|
|
classes: [ |
|
|
|
"throat-struggle" |
|
|
|
] |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
"exit": (room) => { |
|
|
|
|
|
|
|
state.player.stats.stamina.hidden = true; |
|
|
|
state.player.stats.throatPos.hidden = true; |
|
|
|
print(["You slush down into Geta's stomach"]); |
|
|
|
stopClassTimers("throat-struggle"); |
|
|
|
}, |
|
|
|
"actions": [ |
|
|
|
{ |
|
|
|
name: "Struggle", |
|
|
|
desc: "Try to climb back out!", |
|
|
|
execute: (room) => { |
|
|
|
print(["Nope"]); |
|
|
|
if (Math.random() * 50 > getStat("stamina")) { |
|
|
|
print(["You try your best, but your sore muscles are no match."]); |
|
|
|
} else { |
|
|
|
print(["Your valiant struggles drag you a little closer to freedom."]); |
|
|
|
statLerp("throatPos", -0.15, 1000); |
|
|
|
changeStat("stamina", -20); |
|
|
|
} |
|
|
|
}, |
|
|
|
show: [ |
|
|
|
|
|
|
|
@@ -883,11 +932,12 @@ |
|
|
|
desc: "Dive down into Geta's stomach", |
|
|
|
execute: (room) => { |
|
|
|
print(["You submit to your predator."]); |
|
|
|
goToRoom("stomach"); |
|
|
|
stopTimer("throat-swallow"); |
|
|
|
state.player.flags.throatSurrender = true; |
|
|
|
}, |
|
|
|
show: [ |
|
|
|
|
|
|
|
(room) => { |
|
|
|
return !state.player.flags.throatSurrender; |
|
|
|
} |
|
|
|
], |
|
|
|
conditions: [ |
|
|
|
|
|
|
|
@@ -915,7 +965,6 @@ |
|
|
|
}, |
|
|
|
"enter": (room) => { |
|
|
|
playLoop("loop/stomach.ogg"); |
|
|
|
stopClassTimers("maw-struggle"); |
|
|
|
|
|
|
|
state.geta.digestionStage = 0; |
|
|
|
state.geta.acidStrength = 1; |
|
|
|
|