introduction of items

This commit is contained in:
2025-07-31 11:28:09 -07:00
parent 68ef7c1591
commit eb9e9476ef
10 changed files with 133 additions and 12 deletions

View File

@@ -1,3 +1,5 @@
function structuredClone(val) {
return JSON.parse(JSON.stringify(val));
var output = JSON.parse(JSON.stringify(val));
if (window.pywebview.api.debug_mode) { console.log(("structuredClone:" + val) + " => " + outval); }
return output;
}

View File

@@ -1,4 +1,5 @@
var desktop_mode = true;
var tick_meter_running = false;
async function prepare_gamestate() {
var gamestate_loaded = null;
@@ -18,6 +19,8 @@ async function prepare_gamestate() {
gamestate = JSON.parse(gamestate_loaded);
record_log("Welcome back! Game loaded.")
}
tick_meter_running = true;
}
function save_game() {
@@ -25,8 +28,6 @@ function save_game() {
record_log("Game saved.");
}
var tick_meter_running = true;
function reset_game() {
tick_meter_running = false;
window.pywebview.api.delete_data("gamestate");

View File

@@ -12,6 +12,7 @@ const gamestate_default = {
"statever": "1",
"tick": 1,
"name": "Nameless",
"class": "Seaglet",
"level": 1,
"shinies": 0,
"colony": 1,
@@ -19,7 +20,9 @@ const gamestate_default = {
"autosave": 35,
"story_beat": 0,
"xp": 0,
"xp_next": 50
"xp_next": 50,
"enc_human": "pause",
"enc_seagull": "pause"
};
var bool_log_alt = false
@@ -48,6 +51,8 @@ function update_ui() {
page_elements["lbl_colony"].innerHTML = gamestate["colony"];
page_elements["lbl_shinies"].innerHTML = gamestate["shinies"];
page_elements["lbl_food"].innerHTML = gamestate["food"];
page_elements["lbl_xp"].innerHTML = gamestate["xp"];
page_elements["lbl_xp_next"].innerHTML = gamestate["xp_next"];
}
var dev_toolbox_open = false;
@@ -96,9 +101,8 @@ async function game_tick() {
} else if (tickdata["event_type"] == 1) {
// Flavor event - no gameplay effect, but occasionally says something fun.
record_log(tickdata["log"]);
} else if (tickdata["event_type"] == 10) {
// Human encounter. This is a stub.
record_log("You have encountered a human.");
} else if (tickdata["event_type"] == 10) { // ENCHUMAN
}
// sanity check
@@ -134,6 +138,7 @@ target.addEventListener(start_event, function (ev) {
page_elements["div_name"] = document.querySelector("#side-seagull-name");
page_elements["div_name_editor"] = document.querySelector("#side-seagull-name-editor");
page_elements["lbl_name"] = document.querySelector("#lbl-seagull-name");
page_elements["lbl_class"] = document.querySelector("#lbl-seagull-class");
page_elements["lbl_colony"] = document.querySelector("#lbl-seagull-colony");
page_elements["lbl_shinies"] = document.querySelector("#lbl-seagull-shinies");
page_elements["lbl_food"] = document.querySelector("#lbl-seagull-food");
@@ -141,6 +146,8 @@ target.addEventListener(start_event, function (ev) {
page_elements["lbl_tick"] = document.querySelector("#main-day-counter");
page_elements["lbl_xp"] = document.querySelector("#lbl-seagull-xp-current");
page_elements["lbl_xp_next"] = document.querySelector("#lbl-seagull-xp-next");
page_elements["menu_enc_human"] = document.querySelector("#menu-enc-human");
page_elements["menu_enc_seagull"] = document.querySelector("#menu-enc-seagull");
prepare_gamestate().then(update_ui());