Merge branch 'ArchipelagoMW:main' into tunc-combat-logic

This commit is contained in:
Scipio Wright
2024-07-11 16:59:46 -04:00
committed by GitHub
4 changed files with 14 additions and 2 deletions

View File

@@ -488,7 +488,7 @@ def global_rules(multiworld: MultiWorld, player: int):
set_rule(multiworld.get_location('Turtle Rock - Roller Room - Right', player), lambda state: state.has('Cane of Somaria', player) and state.has('Fire Rod', player))
set_rule(multiworld.get_location('Turtle Rock - Big Chest', player), lambda state: state.has('Big Key (Turtle Rock)', player) and (state.has('Cane of Somaria', player) or state.has('Hookshot', player)))
set_rule(multiworld.get_entrance('Turtle Rock (Big Chest) (North)', player), lambda state: state.has('Cane of Somaria', player) or state.has('Hookshot', player))
set_rule(multiworld.get_entrance('Turtle Rock Big Key Door', player), lambda state: state.has('Big Key (Turtle Rock)', player) and can_kill_most_things(state, player, 10))
set_rule(multiworld.get_entrance('Turtle Rock Big Key Door', player), lambda state: state.has('Big Key (Turtle Rock)', player) and can_kill_most_things(state, player, 10) and can_bomb_or_bonk(state, player))
set_rule(multiworld.get_location('Turtle Rock - Chain Chomps', player), lambda state: can_use_bombs(state, player) or can_shoot_arrows(state, player)
or has_beam_sword(state, player) or state.has_any(["Blue Boomerang", "Red Boomerang", "Hookshot", "Cane of Somaria", "Fire Rod", "Ice Rod"], player))
set_rule(multiworld.get_entrance('Turtle Rock (Dark Room) (North)', player), lambda state: state.has('Cane of Somaria', player))

View File

@@ -347,6 +347,11 @@ class ZillionContext(CommonContext):
"operations": [{"operation": "replace", "value": doors_b64}]
}
async_start(self.send_msgs([payload]))
elif isinstance(event_from_game, events.MapEventFromGame):
row = event_from_game.map_index // 8
col = event_from_game.map_index % 8
room_name = f"({chr(row + 64)}-{col + 1})"
logger.info(f"You are at {room_name}")
else:
logger.warning(f"WARNING: unhandled event from game {event_from_game}")

View File

@@ -28,6 +28,13 @@ class GenData:
def from_json(gen_data_str: str) -> "GenData":
""" the reverse of `to_json` """
from_json = json.loads(gen_data_str)
# backwards compatibility for seeds generated before new map_gen options
room_gen = from_json["zz_game"]["options"].get("room_gen", None)
if room_gen is not None:
from_json["zz_game"]["options"]["map_gen"] = {False: "none", True: "rooms"}.get(room_gen, "none")
del from_json["zz_game"]["options"]["room_gen"]
return GenData(
from_json["multi_items"],
ZzGame.from_jsonable(from_json["zz_game"]),

View File

@@ -1,2 +1,2 @@
zilliandomizer @ git+https://github.com/beauxq/zilliandomizer@4a2fec0aa1c529df866e510cdfcf6dca4d53679b#0.8.0
zilliandomizer @ git+https://github.com/beauxq/zilliandomizer@33045067f626266850f91c8045b9d3a9f52d02b0#0.9.0
typing-extensions>=4.7, <5