a munch adventure
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

158 行
4.3 KiB

  1. stories.push({
  2. id: "fen-snack",
  3. name: "Fen's Food",
  4. sounds: [
  5. "sfx/digested-test.ogg",
  6. "loop/fen-stomach.ogg",
  7. "loop/fen-intestines.ogg",
  8. "loop/fen-bowels.ogg"
  9. ],
  10. intro: {
  11. start: "stomach",
  12. setup: state => {
  13. state.player.stats.health = {name: "Health", value: 100};
  14. state.player.stats.stamina = {name: "Stamina", value: 100};
  15. startTimer({
  16. id: "digestion",
  17. func: state => {
  18. state.player.stats.health.value -= 1;
  19. if (state.player.stats.health.value <= 0) {
  20. goToRoom("digested", state);
  21. return false;
  22. }
  23. return true;
  24. },
  25. delay: 1000,
  26. loop: true,
  27. classes: [
  28. "alive"
  29. ]
  30. }, state);
  31. }
  32. },
  33. refresh: state => {
  34. setBackgroundColor(50 - state.player.stats.health.value/2, 0, 0)
  35. },
  36. world: {
  37. stomach: {
  38. id: "stomach",
  39. name: "Stomach",
  40. desc: "A hot, wet, steamy prison.",
  41. move: (room, state) => {
  42. print(["You slide into Fen's humid stomach."]);
  43. },
  44. enter: (room, state) => {
  45. playLoop("loop/fen-stomach.ogg");
  46. },
  47. exit: (room, state) => {
  48. stopLoop("loop/fen-stomach.ogg");
  49. },
  50. hooks: [
  51. ],
  52. actions: [
  53. {
  54. name: "Rub",
  55. desc: "Knead on the muscular folds that surround your tasty little body",
  56. execute: (room, state) => {
  57. print(["You rub all over your prison's walls. Fen's stomach doesn't respond."]);
  58. }
  59. },
  60. {
  61. name: "Submit",
  62. desc: "Let Fen digest you",
  63. execute: (room, state) => {
  64. state.player.stats.health.value = 0;
  65. goToRoom("digested", state);
  66. }
  67. }
  68. ],
  69. exits: {
  70. "down": {
  71. "target": "intestines",
  72. "desc": "Push yourself deeper into the crux",
  73. move: (room, state) => {
  74. print(["You manage to push yourself down through the valve at the base of the crux's fetid stomach."]);
  75. },
  76. hooks: [
  77. (room, exit, state) => {
  78. if (Math.random() < 0.5) {
  79. print(["Fen's stomach clenches and ripples, smothering your face in wet flesh and keeping you nice and trapped."]);
  80. return false;
  81. } else {
  82. return true;
  83. }
  84. }
  85. ]
  86. }
  87. }
  88. },
  89. intestines: {
  90. id: "intestines",
  91. name: "Intestines",
  92. desc: "Labyrinthine guts, winding on and on...",
  93. move: (room, state) => {
  94. print(["Your squirming body glides into the crux's tight, snaking guts."]);
  95. },
  96. enter: (room, state) => {
  97. playLoop("loop/fen-intestines.ogg");
  98. },
  99. exit: (room, state) => {
  100. stopLoop("loop/fen-intestines.ogg");
  101. },
  102. exits: {
  103. "up": {
  104. target: "stomach",
  105. desc: "Writhe back into Fen's roiling stomach"
  106. },
  107. "down": {
  108. target: "bowels",
  109. desc: "Push yourself even deeper into your predator's body"
  110. }
  111. },
  112. hooks: [
  113. ]
  114. },
  115. bowels: {
  116. id: "bowels",
  117. name: "Bowels",
  118. desc: "Cavernous bowels, rippling and squeezing over your bare skin",
  119. move: (room, state) => {
  120. print(["You enter the beast's humid bowels, taking shallow, stifled breaths of the musky air."]);
  121. },
  122. enter: (room, state) => {
  123. playLoop("loop/fen-bowels.ogg");
  124. },
  125. exit: (room, state) => {
  126. stopLoop("loop/fen-bowels.ogg");
  127. },
  128. exits: {
  129. "up": {
  130. target: "intestines",
  131. desc: "Squirm up higher"
  132. }
  133. },
  134. hooks: [
  135. ]
  136. },
  137. digested: {
  138. id: "digested",
  139. name: "Fen's Hips",
  140. desc: "You look good on him, at least~",
  141. enter: (room, state) => {
  142. playLoop("loop/fen-intestines.ogg");
  143. playSfx("sfx/digested-test.ogg");
  144. stopClassTimers("alive", state);
  145. print(["You slump down in the acidic pit, curling up as it begins to churn you down to chyme. Fen's stomach snarls and bubbles for the next few minutes...and then you're gone~",newline,"Nothing's left but a bit of padding on your predator's hips..."]);
  146. },
  147. exit: (room, state) => {
  148. stopLoop("loop/fen-intestines.ogg");
  149. },
  150. }
  151. }
  152. });