瀏覽代碼

Add stamina during the maw struggle

Low stamina prevents you from moving forwards, and also makes it possible to slide
back far further than you wanted to.
geta
Fen Dweller 5 年之前
父節點
當前提交
1f0fdb3f55
共有 1 個文件被更改,包括 30 次插入5 次删除
  1. +30
    -5
      stories/geta-unaware.js

+ 30
- 5
stories/geta-unaware.js 查看文件

@@ -119,6 +119,7 @@
state.geta = {};

state.player.stats.health = { name: "Health", type: "meter", value: 100, min: 0, max: 100, color: "rgb(255,55,55)" };
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.info.time.value = 60 * 60 * 7 + 60 * 17;
@@ -546,6 +547,7 @@
state.player.stats.suspicion.hidden = true;
stopClassTimers("free");

state.player.stats.stamina.hidden = false;
state.player.stats.mawPos.hidden = false;

state.geta.slurps = 0;
@@ -555,6 +557,19 @@

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-stamina",
func: () => {
changeStat("stamina", 0.1);
return true;
},
delay: 1000 / 60,
loop: true,
classes: [
"maw-struggle"
]
});

startTimer({
id: "maw-random-movement",
func: () => {
@@ -742,15 +757,21 @@

},
"exit": (room) => {
state.player.stats.stamina.hidden = true;
},
"actions": [
{
name: "Struggle",
desc: "Pull yourself away from the fox's throat! Just don't go too far forward...",
execute: (room) => {
print(["You drag yourself forward"]);
statLerp("mawPos", 0.15 + Math.random() * 0.05, 250);
if (getStat("stamina") < 25) {
print(["You're too tired..."]);
} else {
print(["You drag yourself forward"]);
changeStat("stamina", -25);
statLerp("mawPos", 0.15 + Math.random() * 0.05, 250);
}
},
show: [

@@ -763,7 +784,11 @@
name: "Slip Back",
desc: "Slide back towards Geta's gullet",
execute: (room) => {
if (Math.random() < 0.9) {
if (Math.random() * 25 > getStat("stamina")) {
print(["You try to shimmy back an inch or two, but your sore muscles give way; you slide back perilously far!"]);
statLerp("mawPos", -0.3 - Math.random() * 0.25, 250);
}
else if (Math.random() < 0.9) {
print(["You let yourself slip back."]);
statLerp("mawPos", -0.2 - Math.random() * 0.1, 250);
} else {
@@ -898,7 +923,7 @@
startTimer({
id: "digest-stages",
func: () => {
if (100 - state.geta.digestionStage * 25 - 25> getStat("health")) {
if (100 - state.geta.digestionStage * 25 - 25 > getStat("health")) {
state.geta.digestionStage = Math.floor((100 - getStat("health")) / 25);
console.log(state.geta.digestionStage);
switch (state.geta.digestionStage) {


Loading…
取消
儲存