mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-30 06:53:22 -07:00
Merge branch 'ArchipelagoMW:main' into tunc-combat-logic
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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}")
|
||||
|
||||
|
||||
@@ -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"]),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user