state sync

This commit is contained in:
2025-11-23 14:59:17 -08:00
parent 537bdf1ad7
commit 39f4a8d3fc
812 changed files with 373062 additions and 84 deletions

View File

@@ -10,6 +10,11 @@ from . import core, gamedata, items, jsonizer
rant_env = os.environ.copy()
rant_env["RANT_MODULES_PATH"] = (core.path_appdir / "basepak/rant").as_posix()
## \brief Generates some flavor text.
# \internal
#
# This calls the built-in copy of [Rant](https://rant-lang.org) to procedurally generate
# some flavor text with provided template files.
def generate_flavor_text():
if core.desktop_mode:
rant_path = core.path_appdir / "opt/rant/bin/rant"
@@ -54,18 +59,33 @@ def tick():
case 1: # FLAVOR
result["log"] = generate_flavor_text()
case 10: # ENCHUMAN
result["items"] = {
# TODO: read ranges from XML rule files
items_generated = {
"food": items.generate_item_list("food", "humans", 0, 2),
"shinies": items.generate_item_list("shinies", "humans", 0, 2)
}
if len(items_generated["food"]) < 1 and len(items_generated["shinies"]) < 1:
# empty item list, force something
coin_flip = bool(random.getrandbits(1)) #zippy!
if coin_flip:
items_generated["food"] = items.generate_item_list("food", "humans", 1, 3)
else:
items_generated["shinies"] = items.generate_item_list("shinies", "humans", 1, 3)
result["items"] = items_generated
case 11: # ENCGULL
result["items"] = {
# TODO: read ranges from XML rule files
"food": items.generate_item_list("food", "seagulls", 0, 2),
"shinies": items.generate_item_list("shinies", "seagulls", 0, 2)
items_generated = {
"food": items.generate_item_list("food", "humans", 0, 2),
"shinies": items.generate_item_list("shinies", "humans", 0, 2)
}
result["recruit_cost"] = round(random.uniform(0, 10), 2)
if len(items_generated["food"]) < 1 and len(items_generated["shinies"]) < 1:
# empty item list, force something
coin_flip = bool(random.getrandbits(1)) #zippy!
if coin_flip:
items_generated["food"] = items.generate_item_list("food", "humans", 1, 3)
else:
items_generated["shinies"] = items.generate_item_list("shinies", "humans", 1, 3)
result["items"] = items_generated
case _:
core.log.warning("undefined tick: {0}".format(result["event_type"]))