Core: add race mode to multidata and datastore (#4017)
* add race mode to multidata and datastore * have commonclient check race mode on connect and add it to the tooltip ui
This commit is contained in:
parent
8193fa12b2
commit
67f6b458d7
|
@ -325,6 +325,7 @@ class CommonContext:
|
||||||
"collect": "disabled",
|
"collect": "disabled",
|
||||||
"remaining": "disabled",
|
"remaining": "disabled",
|
||||||
}
|
}
|
||||||
|
self.race_mode: int = 0
|
||||||
|
|
||||||
# own state
|
# own state
|
||||||
self.finished_game = False
|
self.finished_game = False
|
||||||
|
@ -454,6 +455,7 @@ class CommonContext:
|
||||||
if kwargs:
|
if kwargs:
|
||||||
payload.update(kwargs)
|
payload.update(kwargs)
|
||||||
await self.send_msgs([payload])
|
await self.send_msgs([payload])
|
||||||
|
await self.send_msgs([{"cmd": "Get", "keys": ["race_mode"]}])
|
||||||
|
|
||||||
async def console_input(self) -> str:
|
async def console_input(self) -> str:
|
||||||
if self.ui:
|
if self.ui:
|
||||||
|
|
1
Main.py
1
Main.py
|
@ -338,6 +338,7 @@ def main(args, seed=None, baked_server_options: Optional[Dict[str, object]] = No
|
||||||
"seed_name": multiworld.seed_name,
|
"seed_name": multiworld.seed_name,
|
||||||
"spheres": spheres,
|
"spheres": spheres,
|
||||||
"datapackage": data_package,
|
"datapackage": data_package,
|
||||||
|
"race_mode": int(multiworld.is_race),
|
||||||
}
|
}
|
||||||
AutoWorld.call_all(multiworld, "modify_multidata", multidata)
|
AutoWorld.call_all(multiworld, "modify_multidata", multidata)
|
||||||
|
|
||||||
|
|
|
@ -427,6 +427,8 @@ class Context:
|
||||||
use_embedded_server_options: bool):
|
use_embedded_server_options: bool):
|
||||||
|
|
||||||
self.read_data = {}
|
self.read_data = {}
|
||||||
|
# there might be a better place to put this.
|
||||||
|
self.stored_data["race_mode"] = decoded_obj.get("race_mode", 0)
|
||||||
mdata_ver = decoded_obj["minimum_versions"]["server"]
|
mdata_ver = decoded_obj["minimum_versions"]["server"]
|
||||||
if mdata_ver > version_tuple:
|
if mdata_ver > version_tuple:
|
||||||
raise RuntimeError(f"Supplied Multidata (.archipelago) requires a server of at least version {mdata_ver},"
|
raise RuntimeError(f"Supplied Multidata (.archipelago) requires a server of at least version {mdata_ver},"
|
||||||
|
|
2
kvui.py
2
kvui.py
|
@ -243,6 +243,8 @@ class ServerLabel(HovererableLabel):
|
||||||
f"\nYou currently have {ctx.hint_points} points."
|
f"\nYou currently have {ctx.hint_points} points."
|
||||||
elif ctx.hint_cost == 0:
|
elif ctx.hint_cost == 0:
|
||||||
text += "\n!hint is free to use."
|
text += "\n!hint is free to use."
|
||||||
|
if ctx.stored_data and "race_mode" in ctx.stored_data:
|
||||||
|
text += "\nRace mode is enabled." if ctx.stored_data["race_mode"] else "\nRace mode is disabled."
|
||||||
else:
|
else:
|
||||||
text += f"\nYou are not authenticated yet."
|
text += f"\nYou are not authenticated yet."
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue