big steppy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

544 lines
27 KiB

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Stroll</title>
  6. <link rel="stylesheet" href="style.css">
  7. <script src="units.js"></script>
  8. <script src="recursive-macro.js"></script>
  9. <script src="recursive-desc.js"></script>
  10. <script src="game.js"></script>
  11. </head>
  12. <body class="light">
  13. <div class="game-area">
  14. <div class="sidebar" id="stat-container">
  15. <div class="stat-header-self" id="stats-self">
  16. <p>Stats</p>
  17. <div class="stat-line" id="height"></div>
  18. <div class="stat-line" id="mass"></div>
  19. <div class="stat-line" id="growth-points"></div>
  20. <div class="stat-line" id="arousal"></div>
  21. <div class="stat-line" id="edge"></div>
  22. <div class="stat-line-hidden" id="cum"></div>
  23. <div class="stat-line-hidden" id="cumPercent"></div>
  24. <div class="stat-line-hidden" id="femcum"></div>
  25. <div class="stat-line-hidden" id="femcumPercent"></div>
  26. <div class="stat-line-hidden" id="milk"></div>
  27. <div class="stat-line-hidden" id="milkPercent"></div>
  28. <div class="stat-line-hidden" id="gas"></div>
  29. <div class="stat-line-hidden" id="gasPercent"></div>
  30. </div>
  31. <div class="stat-header-self">Growth</div>
  32. <table id="grow-panel">
  33. <tr>
  34. <th><input class="growth-option" type="radio" name="part" checked="true" id="part-body">
  35. <label class="growth-label" for="part-body" >Body</label></th>
  36. <th><button class="growth-amount" id="button-amount-1">1x</button></th>
  37. </tr>
  38. <tr>
  39. <th><input class="growth-option" type="radio" name="part" id="part-ass">
  40. <label class="growth-label" for="part-ass">Ass</label></th>
  41. <th><button class="growth-amount" id="button-amount-5">5x</button></th>
  42. </tr>
  43. <tr>
  44. <th><input class="growth-option" type="radio" name="part" id="part-dick">
  45. <label class="growth-label" for="part-dick">Cock</label></th>
  46. <th><button class="growth-amount" id="button-amount-10">10x</button></th>
  47. </tr>
  48. <tr>
  49. <th><input class="growth-option" type="radio" name="part" id="part-balls">
  50. <label class="growth-label" for="part-balls">Balls</label></th>
  51. <th><button class="growth-amount" id="button-amount-20">20x</button></th>
  52. </tr>
  53. <tr>
  54. <th><input class="growth-option" type="radio" name="part" id="part-breasts">
  55. <label class="growth-label" for="part-breasts">Breasts</label></th>
  56. <th><button class="growth-amount" id="button-amount-50">50x</button></th>
  57. </tr>
  58. <tr>
  59. <th><input class="growth-option" type="radio" name="part" id="part-vagina">
  60. <label class="growth-label" for="part-vagina">Slit</label></th>
  61. <th><button class="growth-amount" id="button-amount-100">100x</button></th>
  62. </tr>
  63. </table>
  64. <div class="stat-container">
  65. <button class="stat-button" id="button-look">Look Around</button>
  66. <button class="stat-button" id="button-arousal">Arousal On</button>
  67. <button class="stat-button" id="button-stroll">Status: Standing</button>
  68. <button class="stat-button" id="button-numbers">Numbers: Full</button>
  69. <button class="stat-button" id="button-units">Units: Metric</button>
  70. <button class="stat-button" id="button-verbose">Verbose Text</button>
  71. <button class="stat-button" id="button-grow-lots">SUPER BIG</button>
  72. <button class="stat-button" id="button-dark-mode-game">Toggle Dark Mode</button>
  73. </div>
  74. </div>
  75. <div id="log-area">
  76. <div id="log">
  77. <div>Welcome to Stroll 0.5.14</div>
  78. <div><b>This game features 18+ content</b></div>
  79. <div><a href="https://chemicalcrux.org/stroll">Changelog</a></div>
  80. <div><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></div>
  81. <div>It's a nice day for a walk</div>
  82. <div>&nbsp;</div>
  83. </div>
  84. </div>
  85. <div class="sidebar" id="action-panel">
  86. <div class="action-part-container">
  87. <button class="active action-part-button" id="action-part-body">Body</button>
  88. <button class="action-part-button" id="action-part-dick">Cock</button>
  89. <button class="action-part-button" id="action-part-vagina">Slit</button>
  90. <button class="action-part-button" id="action-part-breasts">Breasts</button>
  91. <button class="action-part-button" id="action-part-tails">Tails</button>
  92. <button class="action-part-button" id="action-part-souls">Souls</button>
  93. <button class="action-part-button" id="action-part-misc">Misc</button>
  94. </div>
  95. <div class="action-tab" id="actions-body">
  96. <button class="action-button" id="button-action-feed">Eat</button>
  97. <button class="action-button" id="button-action-chew">Chew</button>
  98. <button class="action-button" id="button-action-stomp">Stomp</button>
  99. <button class="action-button" id="button-action-sit">Sit</button>
  100. <button class="action-button" id="button-action-anal_vore">Anal Vore</button>
  101. <button class="action-button" id="button-action-grind">Grind</button>
  102. </div>
  103. <div class="action-tab" id="actions-tails">
  104. <button class="action-button" id="button-action-tail_slap">Tail Slap</button>
  105. <button class="action-button" id="button-action-tail_vore_only">Tail Vore</button>
  106. <button class="action-button" id="button-action-tail_vore_one">Tail Vore (1)</button>
  107. <button class="action-button" id="button-action-tail_vore_some">Tail Vore (some)</button>
  108. <button class="action-button" id="button-action-tail_vore_all">Tail Vore (all!)</button>
  109. </div>
  110. <div class="action-tab" id="actions-breasts">
  111. <button class="action-button" id="button-action-cleavage_stuff">Stuff Cleavage</button>
  112. <button class="action-button" id="button-action-cleavage_crush">Crush Cleavage</button>
  113. <button class="action-button" id="button-action-cleavage_drop">Drop Cleavage</button>
  114. <button class="action-button" id="button-action-cleavage_absorb">Absorb Cleavage</button>
  115. <button class="action-button" id="button-action-breast_crush">Breast Crush</button>
  116. <button class="action-button" id="button-action-breast_vore">Breast Vore</button>
  117. <button class="action-button" id="button-action-breast_milk">Milk Breasts</button>
  118. </div>
  119. <div class="action-tab" id="actions-vagina">
  120. <button class="action-button" id="button-action-unbirth">Unbirth</button>
  121. </div>
  122. <div class="action-tab" id="actions-dick">
  123. <button class="action-button" id="button-action-sheath_stuff">Stuff Sheath</button>
  124. <button class="action-button" id="button-action-sheath_squeeze">Squeeze Sheath</button>
  125. <button class="action-button" id="button-action-sheath_absorb">Absorb Sheath</button>
  126. <button class="action-button" id="button-action-cockslap">Cockslap</button>
  127. <button class="action-button" id="button-action-cock_vore">Cock Vore</button>
  128. <button class="action-button" id="button-action-ball_smother">Ball Smother</button>
  129. </div>
  130. <div class="action-tab" id="actions-souls">
  131. <button class="action-button" id="button-action-soul_vore">Soul Vore</button>
  132. <button class="action-button" id="button-action-soul_absorb_paw">Paws</button>
  133. </div>
  134. <div class="action-tab" id="actions-misc">
  135. <button class="action-button" id="button-action-pouch_stuff">Stuff Pouch</button>
  136. <button class="action-button" id="button-action-pouch_rub">Rub Pouch</button>
  137. <button class="action-button" id="button-action-pouch_eat">Eat From Pouch</button>
  138. <button class="action-button" id="button-action-pouch_absorb">Absorb Pouch</button>
  139. </div>
  140. </div>
  141. </div>
  142. <div class="character-build">
  143. <p>Welcome to Stroll 0.5.14</p>
  144. <p><b>This game features 18+ content</b></p>
  145. <p><a href="https://chemicalcrux.org/stroll">Changelog</a></p>
  146. <p><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></p>
  147. <div id="custom-species">
  148. <button class="stat-button" id="button-dark-mode-options">Toggle Dark Mode</button>
  149. <p>Build your Character (leave blank for defaults)</p>
  150. <p>Lengths in meters, areas in square meters, masses in kilograms</p>
  151. <p>You can load a preset character here...</p>
  152. <div>
  153. <select id="character-presets">
  154. </select>
  155. <button class="option-button" id="button-load-preset">Load Preset Character</button>
  156. </div>
  157. <p>Or export/import your character to text here. Copy and paste to share!</p>
  158. <button class="option-button" id="button-export-clear">Clear Space</button>
  159. <button class="option-button" id="button-export-preset">Export Your Character</button>
  160. <button class="option-button" id="button-import-preset">Import Your Character</button>
  161. <p><input type="text" id="export-area"></p>
  162. <p>Or, load/save your own character internally here! It'll be saved in your browser, so you can come back to it later.</p>
  163. <div>
  164. <button class="option-button" id="button-load-custom">Load Custom Character</button>
  165. <button class="option-button" id="button-save-custom">Save Custom Character</button>
  166. </div>
  167. <p>Reset the sheet here (custom character data isn't affected)</p>
  168. <div>
  169. <button class="option-button" id="button-reset-custom">Reset</button>
  170. </div>
  171. <br>
  172. <div>
  173. <button class="option-button" id="button-start">Start Game</button>
  174. </div>
  175. <form id="custom-species-form" name="custom-species-form">
  176. <ul class="flex-outer">
  177. <div class="custom-category">
  178. <div class="custom-header-static">Basics</div>
  179. <div>
  180. <li>
  181. <label for="name">Name</label>
  182. <input type="text" id="name" name="name"/>
  183. </li>
  184. <li>
  185. <label for="species">Species</label>
  186. <input type="text" id="species" name="species" placeholder="crux"/>
  187. </li>
  188. <li>
  189. <label for="scale" class="has-tooltip" title="Multiply your base height by this much">Scale (?)</label>
  190. <input type="text" id="scale" name="scale" placeholder="1"/>
  191. </li>
  192. <li>
  193. <label for="baseHeight">Height</label>
  194. <input type="number" id="baseHeight" name="baseHeight" placeholder="2.26"/>
  195. </li>
  196. <li>
  197. <label for="baseMass">Weight</label>
  198. <input type="number" id="baseMass" name="baseMass" placeholder="135">
  199. </li>
  200. <li>
  201. <label for="basePawArea">Paw area</label>
  202. <input type="number" id="basePawArea" name="basePawArea" placeholder="0.1">
  203. </li>
  204. <li>
  205. <label for="baseHandArea">Hand area</label>
  206. <input type="number" id="baseHandArea" name="baseHandArea" placeholder="0.1">
  207. </li>
  208. <li>
  209. <label for="baseAssArea">Ass area</label>
  210. <input type="number" id="baseAssArea" name="baseAssArea" placeholder="0.4">
  211. </li>
  212. </div>
  213. </div>
  214. <div class="custom-category">
  215. <div class="custom-header-static">Brutality</div>
  216. <div>
  217. <ul>
  218. <li>
  219. <input type="radio" name="brutality" id="brutality-0">
  220. <label for="brutality-0">Non-fatal</label>
  221. </li>
  222. <li>
  223. <input type="radio" name="brutality" checked="true" id="brutality-1">
  224. <label for="brutality-1">Fatal, no gore</label>
  225. </li>
  226. <li>
  227. <input type="radio" name="brutality" id="brutality-2">
  228. <label for="brutality-2">Gory</label>
  229. </li>
  230. <li>
  231. <input type="radio" name="brutality" id="brutality-3" disabled="disableD">
  232. <label for="brutality-3">Sadistic (not implemented)</label>
  233. </li>
  234. </ul>
  235. </div>
  236. </div>
  237. <div class="custom-category">
  238. <div class="custom-header-static">Victims</div>
  239. <div>
  240. <li>
  241. <label for="military">Military</label>
  242. <input type="checkbox" name="victimsMilitary" id="victimsMilitary"/>
  243. </li>
  244. <li>
  245. <label for="macros">Smaller macros</label>
  246. <input type="checkbox" name="victimsMacros" id="victimsMacros"/>
  247. </li>
  248. <li>
  249. <label for="micros">Micros</label>
  250. <input type="checkbox" name="victimsMicros" id="victimsMicros"/>
  251. </li>
  252. </div>
  253. </div>
  254. <div class="custom-category">
  255. <div class="custom-header-static">Misc</div>
  256. <div>
  257. <li>
  258. <label for="humanMode">Human victims</label>
  259. <input type="checkbox" name="humanMode" id="humanMode"/>
  260. </li>
  261. <li>
  262. <label class="has-tooltip" for="sameSizeVore" title="Can you eat people your own size?">Same-size predator</label>
  263. <input type="checkbox" checked="true" name="sameSizeVore"/>
  264. </li>
  265. <li>
  266. <label class="has-tooltip" for="sameSizeStomp" title="Can you stomp and sit on people your own size?">Same-size stomper</label>
  267. <input type="checkbox" checked="true" name="sameSizeStomp"/>
  268. </li>
  269. <li>
  270. <label for="soulVoreEnabled">Soul vore</label>
  271. <input type="checkbox" name="soulVoreEnabled"/>
  272. </li>
  273. <li>
  274. <label for="footType">Foot type</label>
  275. <select name="footType">
  276. <option value="paw">Paws</option>
  277. <option value="hoof">Hooves</option>
  278. <option value="foot">Human</option>
  279. <option value="avian">Avian</option>
  280. </select>
  281. </li>
  282. <li>
  283. <label for="jawType">Mouth type</label>
  284. <select name="jawType">
  285. <option value="jaw">Jaws</option>
  286. <option value="beak">Beak</option>
  287. </select>
  288. </li>
  289. </div>
  290. </div>
  291. <div class="custom-category">
  292. <input class="custom-header-checkbox" type="checkbox" checked="true" id="analVore" name="analVore"/>
  293. <label class="custom-header" for="analVore">Anal Vore</label>
  294. <div class="reveal-if-active">
  295. <li>
  296. <label for="baseAnalVoreArea">Tailhole area</label>
  297. <input type="number" id="baseAnalVoreArea" name="baseAnalVoreArea" placeholder="0.1">
  298. </li>
  299. <li>
  300. <label class="has-tooltip" for="analVoreToStomach" title="Otherwise, bowels absorb/digest">Anal vore goes to stomach</label>
  301. <input type="checkbox" name="analVoreToStomach" id="analVoreToStomach"/>
  302. </li>
  303. </div>
  304. </div>
  305. <div class="custom-category">
  306. <input class="custom-header-checkbox" type="checkbox" checked="true" id="arousalEnabled" name="arousalEnabled"/>
  307. <label class="custom-header" for="arousalEnabled">Arousal</label>
  308. <div class="reveal-if-active">
  309. <li>
  310. <label class="has-tooltip" for="arousalFactor" title="Multiplies arousal gain by this much">Arousal multiplier</label>
  311. <input type="number" name="arousalFactor" placeholder="1"/>
  312. </li>
  313. <li>
  314. <label class="has-tooltip" for="edgeFactor" title="Multiplies edge gain by this much">Edge multiplier</label>
  315. <input type="number" name="arousalFactor" placeholder="1"/>
  316. </li>
  317. </div>
  318. </div>
  319. <div class="custom-category">
  320. <input class="custom-header-checkbox" type="checkbox" checked="true" id="hasTail" name="hasTail"/>
  321. <label class="custom-header" for="hasTail">Tails</label>
  322. <div class="reveal-if-active">
  323. <li>
  324. <label for="tailCount">Tail count</label>
  325. <input type="number" name="tailCount" placeholder="1"/>
  326. </li>
  327. <li>
  328. <label for="tailType">Tail type</label>
  329. <input type="text" name="tailType" placeholder="slinky"/>
  330. </li>
  331. <li>
  332. <label for="baseTailLength">Tail length</label>
  333. <input type="number" name="baseTailLength" placeholder="1"/>
  334. </li>
  335. <li>
  336. <label for="baseTailDiameter">Tail diameter</label>
  337. <input type="number" name="baseTailDiameter" placeholder="0.3"/>
  338. </li>
  339. <li>
  340. <div class="custom-category-sub">
  341. <ul class="flex-outer-sub">
  342. <input class="custom-header-checkbox" type="checkbox" checked="true" id="tailMaw" name="tailMaw"/>
  343. <label class="custom-header" for="tailMaw">Tail Vore</label>
  344. <div class="reveal-if-active">
  345. <li>
  346. <label for="tailStretchiness">Tail stretchiness</label>
  347. <input type="number" name="tailStretchiness" placeholder="1"/>
  348. </li>
  349. </div>
  350. </ul>
  351. </div>
  352. </li>
  353. </div>
  354. </div>
  355. <div class="custom-category">
  356. <input class="custom-header-checkbox" type="checkbox" checked="true" id="hasPouch" name="hasPouch"/>
  357. <label class="custom-header" for="hasPouch">Pouch</label>
  358. <div class="reveal-if-active">
  359. <li>
  360. It's on :D
  361. </li>
  362. </div>
  363. </div>
  364. <div class="custom-category">
  365. <input class="custom-header-checkbox" type="checkbox" checked="true" id="maleParts" name="maleParts"/>
  366. <label class="custom-header" for="maleParts">Male genitals</label>
  367. <div class="reveal-if-active">
  368. <li>
  369. <label for="hasSheath">Sheath</label>
  370. <input type="checkbox" id="hasSheath" name="hasSheath" checked="true" />
  371. </li>
  372. <li>
  373. <label for="dickType">Cock type</label>
  374. <input type="text" id="dickType" name="dickType" placeholder="canine"/>
  375. </li>
  376. <li>
  377. <label for="baseDickLength">Cock length</label>
  378. <input type="number" id="baseDickLength" name="baseDickLength" placeholder="0.3"/>
  379. </li>
  380. <li>
  381. <label for="baseDickDiameter">Cock diameter</label>
  382. <input type="number" id="baseDickDiameter" name="baseDickDiameter" placeholder="0.08"/>
  383. </li>
  384. <li>
  385. <label for="dickStretchiness">Cock stretchiness</label>
  386. <input type="number" name="dickStretchiness" placeholder="1"/>
  387. </li>
  388. <li>
  389. <label for="baseBallDiameter">Ball diameter</label>
  390. <input type="number" id="baseBallDiameter" name="baseBallDiameter" placeholder="0.05"/>
  391. </li>
  392. <li>
  393. <label for="baseCumRatio" class="has-tooltip" title="scales how much cum is released with each shot">Orgasm cum ratio</label>
  394. <input type="number" id="baseCumRatio" name="baseCumRatio" placeholder="1"/>
  395. </li>
  396. <li>
  397. <label for="baseMass">Cum production factor</label>
  398. <input type="number" id="cumScale" name="cumScale" placeholder="1"/>
  399. </li>
  400. </div>
  401. </div>
  402. <div class="custom-category">
  403. <input class="custom-header-checkbox" type="checkbox" checked="true" id="hasBreasts" name="hasBreasts"/>
  404. <label class="custom-header" for="hasBreasts">Breasts</label>
  405. <div class="reveal-if-active">
  406. <li>
  407. <label for="baseBreastDiameter">Breast diameter</label>
  408. <input type="number" id="baseBreastDiameter" name="baseBreastDiameter" placeholder="0.1"/>
  409. </li>
  410. <li>
  411. <div class="custom-category-sub">
  412. <ul class="flex-outer-sub">
  413. <input class="custom-header-checkbox" type="checkbox" checked="true" id="lactationEnabled" name="lactationEnabled"/>
  414. <label class="custom-header" for="lactationEnabled">Lactation</label>
  415. <div class="reveal-if-active">
  416. <li>
  417. <label for="lactationFactor" class="has-tooltip" title="scales how much milk is released with each squeeze">Lactation ratio</label>
  418. <input type="number" id="lactationFactor" name="lactationFactor" placeholder="0.25"/>
  419. </li>
  420. <li>
  421. <label for="lactationScale">Milk production factor</label>
  422. <input type="number" id="lactationScale" name="lactationScale" placeholder="1"/>
  423. </li>
  424. </div>
  425. </ul>
  426. </div>
  427. </li>
  428. <li>
  429. <div class="custom-category-sub">
  430. <ul class="flex-outer-sub">
  431. <input class="custom-header-checkbox" type="checkbox" checked="true" id="breastVore" name="breastVore"/>
  432. <label class="custom-header" for="breastVore">Breast Vore</label>
  433. <div class="reveal-if-active">
  434. <li>
  435. <label for="breastStretchiness">Breast stretchiness</label>
  436. <input type="number" name="breastStretchiness" placeholder="1"/>
  437. </li>
  438. </div>
  439. </ul>
  440. </div>
  441. </li>
  442. </div>
  443. </div>
  444. <div class="custom-category">
  445. <input class="custom-header-checkbox" type="checkbox" checked="true" id="femaleParts" name="femaleParts"/>
  446. <label class="custom-header" for="femaleParts">Female genitals</label>
  447. <div class="reveal-if-active">
  448. <li>
  449. <label for="baseVaginaLength">Slit length</label>
  450. <input type="number" id="baseVaginaLength" name="baseVaginaLength" placeholder="0.1"/>
  451. </li>
  452. <li>
  453. <label for="baseVaginaWidth">Slit width</label>
  454. <input type="number" id="baseVaginaWidth" name="baseVaginaWidth" placeholder="0.05"/>
  455. </li>
  456. <li>
  457. <label for="vaginaStretchiness">Slit stretchiness</label>
  458. <input type="number" name="vaginaStretchiness" placeholder="1"/>
  459. </li>
  460. <li>
  461. <label for="baseFemcumRatio" class="has-tooltip" title="scales how much femcum is released with each shot">Orgasm femcum ratio</label>
  462. <input type="number" id="baseFemcumRatio" name="baseFemcumRatio" placeholder="1"/>
  463. </li>
  464. <li>
  465. <label for="femcumScale">Femcum production factor</label>
  466. <input type="number" id="femcumScale" name="femcumScale" placeholder="1"/>
  467. </li>
  468. </div>
  469. </div>
  470. <div class="custom-category">
  471. <input class="custom-header-checkbox" type="checkbox" id="stenchEnabled" name="stenchEnabled"/>
  472. <label class="custom-header" for="stenchEnabled">Stench</label>
  473. <div class="reveal-if-active">
  474. <li>
  475. <label class="has-tooltip" for="basePawStenchArea" title="How many times your paw area should be covered in stench">Paw stench area</label>
  476. <input type="number" id="basePawStenchArea" name="basePawStenchArea" placeholder="1"/>
  477. </li>
  478. <li>
  479. <label class="has-tooltip" for="baseAssStenchArea" title="How many times your ass' area should be covered in stench">Paw stench area</label>
  480. <input type="number" id="baseAssStenchArea" name="baseAssStenchArea" placeholder="1"/>
  481. </li>
  482. </div>
  483. </div>
  484. <div class="custom-category">
  485. <input class="custom-header-checkbox" type="checkbox" id="gasEnabled" name="gasEnabled"/>
  486. <label class="custom-header" for="gasEnabled">Gas</label>
  487. <div class="reveal-if-active">
  488. <li>
  489. <label for="belchEnabled">Belching</label>
  490. <input type="checkbox" checked="true" name="belchEnabled"/>
  491. </li>
  492. <li>
  493. <label for="fartEnabled">Farting</label>
  494. <input type="checkbox" name="fartEnabled"/>
  495. </li>
  496. <li>
  497. <label for="gasScale">Gas production factor</label>
  498. <input type="number" id="gasScale" name="gasScale" placeholder="1"/>
  499. </li>
  500. <li>
  501. <label for="baseGasDigestFactor">Gas digestion factor</label>
  502. <input type="number" id="baseGasDigestFactor" name="baseGasDigestFactor" placeholder="1"/>
  503. </li>
  504. <li>
  505. <label class="has-tooltip" for="gasScaleWithSize" title="If checked, produces more gas from the same prey as you get larger">Scale gas with size</label>
  506. <input type="checkbox" id="gasScaleWithSize" name="gasScaleWithSize"/>
  507. </li>
  508. </div>
  509. </div>
  510. </ul>
  511. </form>
  512. </div>
  513. </div>
  514. <table id="victim-table">
  515. </table>
  516. </body>
  517. </html>