| @@ -2373,7 +2373,7 @@ function update(lines = []) | |||||
| function pick_move() | function pick_move() | ||||
| { | { | ||||
| if (!strolling) { | if (!strolling) { | ||||
| setTimeout(pick_move, 1500 * Math.sqrt(macro.scale)); | |||||
| setTimeout(pick_move, 1500 * Math.log10(macro.scale)); | |||||
| return; | return; | ||||
| } | } | ||||
| let choice = Math.random(); | let choice = Math.random(); | ||||
| @@ -2556,11 +2556,9 @@ function loadPreset() { | |||||
| loadSettings(presets[select.selectedIndex]); | loadSettings(presets[select.selectedIndex]); | ||||
| } | } | ||||
| function saveSettings() { | |||||
| let storage = window.localStorage; | |||||
| let settings = {}; | |||||
| function generateSettings() { | |||||
| let form = document.forms.namedItem("custom-species-form"); | let form = document.forms.namedItem("custom-species-form"); | ||||
| let settings = {}; | |||||
| for (let i=0; i<form.length; i++) { | for (let i=0; i<form.length; i++) { | ||||
| let value = form[i].value == "" ? form[i].placeholder : form[i].value; | let value = form[i].value == "" ? form[i].placeholder : form[i].value; | ||||
| if (form[i].type == "text") | if (form[i].type == "text") | ||||
| @@ -2578,6 +2576,30 @@ function saveSettings() { | |||||
| } | } | ||||
| } | } | ||||
| return settings; | |||||
| } | |||||
| function clearExport() { | |||||
| document.getElementById("export-area").value = ""; | |||||
| } | |||||
| function exportSettings() { | |||||
| let settings = generateSettings(); | |||||
| document.getElementById("export-area").value = JSON.stringify(settings); | |||||
| } | |||||
| function importSettings() { | |||||
| let settings = JSON.parse(document.getElementById("export-area").value); | |||||
| loadSettings(settings); | |||||
| } | |||||
| function saveSettings() { | |||||
| let storage = window.localStorage; | |||||
| let settings = generateSettings(); | |||||
| storage.setItem('settings',JSON.stringify(settings)); | storage.setItem('settings',JSON.stringify(settings)); | ||||
| } | } | ||||
| @@ -2958,8 +2980,12 @@ window.addEventListener('load', function(event) { | |||||
| document.getElementById("button-load-preset").addEventListener("click",loadPreset); | document.getElementById("button-load-preset").addEventListener("click",loadPreset); | ||||
| document.getElementById("button-export-clear").addEventListener("click",clearExport); | |||||
| document.getElementById("button-export-preset").addEventListener("click",exportSettings); | |||||
| document.getElementById("button-import-preset").addEventListener("click",importSettings); | |||||
| document.getElementById("button-reset-custom").addEventListener("click",resetSettings); | document.getElementById("button-reset-custom").addEventListener("click",resetSettings); | ||||
| document.getElementById("button-load-custom").addEventListener("click",function() { loadSettings() }); | |||||
| document.getElementById("button-load-custom").addEventListener("click",function() { loadSettings(); }); | |||||
| document.getElementById("button-save-custom").addEventListener("click",saveSettings); | document.getElementById("button-save-custom").addEventListener("click",saveSettings); | ||||
| document.getElementById("button-start").addEventListener("click",startGame); | document.getElementById("button-start").addEventListener("click",startGame); | ||||
| setTimeout(pick_move, 2000); | setTimeout(pick_move, 2000); | ||||
| @@ -72,7 +72,7 @@ | |||||
| </div> | </div> | ||||
| <div id="log-area"> | <div id="log-area"> | ||||
| <div id="log"> | <div id="log"> | ||||
| <div>Welcome to Stroll 0.5.9</div> | |||||
| <div>Welcome to Stroll 0.5.10</div> | |||||
| <div><b>This game features 18+ content</b></div> | <div><b>This game features 18+ content</b></div> | ||||
| <div><a href="https://chemicalcrux.org/stroll">Changelog</a></div> | <div><a href="https://chemicalcrux.org/stroll">Changelog</a></div> | ||||
| <div><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></div> | <div><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></div> | ||||
| @@ -135,7 +135,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="character-build"> | <div class="character-build"> | ||||
| <p>Welcome to Stroll 0.5.9</p> | |||||
| <p>Welcome to Stroll 0.5.10</p> | |||||
| <p><b>This game features 18+ content</b></p> | <p><b>This game features 18+ content</b></p> | ||||
| <p><a href="https://chemicalcrux.org/stroll">Changelog</a></p> | <p><a href="https://chemicalcrux.org/stroll">Changelog</a></p> | ||||
| <p><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></p> | <p><a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram discussion group</a></p> | ||||
| @@ -151,13 +151,25 @@ | |||||
| <button class="option-button" id="button-load-preset">Load Preset Character</button> | <button class="option-button" id="button-load-preset">Load Preset Character</button> | ||||
| </div> | </div> | ||||
| <p>Or, load/save your own character here!</p> | |||||
| <p>Or export/import your character to text here. Copy and paste to share!</p> | |||||
| <button class="option-button" id="button-export-clear">Clear Space</button> | |||||
| <button class="option-button" id="button-export-preset">Export Your Character</button> | |||||
| <button class="option-button" id="button-import-preset">Import Your Character</button> | |||||
| <p><input type="text" id="export-area"></p> | |||||
| <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> | |||||
| <div> | <div> | ||||
| <button class="option-button" id="button-reset-custom">Reset Custom Character</button> | <button class="option-button" id="button-reset-custom">Reset Custom Character</button> | ||||
| <button class="option-button" id="button-load-custom">Load Custom Character</button> | <button class="option-button" id="button-load-custom">Load Custom Character</button> | ||||
| <button class="option-button" id="button-save-custom">Save Custom Character</button> | <button class="option-button" id="button-save-custom">Save Custom Character</button> | ||||
| <button class="option-button" id="button-start">Start Stroll Game</button> | |||||
| </div> | </div> | ||||
| <div> | |||||
| <button class="option-button" id="button-start">Start Game</button> | |||||
| </div> | |||||
| <form id="custom-species-form" name="custom-species-form"> | <form id="custom-species-form" name="custom-species-form"> | ||||
| <ul class="flex-outer"> | <ul class="flex-outer"> | ||||
| <div class="custom-category"> | <div class="custom-category"> | ||||
| @@ -15,6 +15,11 @@ | |||||
| font-size: 24px; | font-size: 24px; | ||||
| } | } | ||||
| #export-area { | |||||
| max-width: 80%; | |||||
| width: 80%; | |||||
| } | |||||
| body.dark input { | body.dark input { | ||||
| color: #eee; | color: #eee; | ||||
| background: #444; | background: #444; | ||||