Lingo: Add item/location groups (#2789)

This commit is contained in:
Star Rauchenberger
2024-03-21 10:46:53 -05:00
committed by GitHub
parent f4b7c28a33
commit 30a0aa2c85
9 changed files with 157 additions and 89 deletions

View File

@@ -255,10 +255,15 @@ def process_door(room_name, door_name, door_data):
else:
junk_item = False
if "group" in door_data:
group = door_data["group"]
if "door_group" in door_data:
door_group = door_data["door_group"]
else:
group = None
door_group = None
if "item_group" in door_data:
item_group = door_data["item_group"]
else:
item_group = None
# panels is a list of panels. Each panel can either be a simple string (the name of a panel in the current room) or
# a dictionary specifying a panel in a different room.
@@ -308,7 +313,7 @@ def process_door(room_name, door_name, door_data):
painting_ids = []
door_obj = Door(door_name, item_name, location_name, panels, skip_location, skip_item, has_doors,
painting_ids, event, group, include_reduce, junk_item)
painting_ids, event, door_group, include_reduce, junk_item, item_group)
DOORS_BY_ROOM[room_name][door_name] = door_obj

View File

@@ -42,7 +42,7 @@ door_groups = {}
directives = Set["entrances", "panels", "doors", "paintings", "progression"]
panel_directives = Set["id", "required_room", "required_door", "required_panel", "colors", "check", "exclude_reduce", "tag", "link", "subtag", "achievement", "copy_to_sign", "non_counting", "hunt"]
door_directives = Set["id", "painting_id", "panels", "item_name", "location_name", "skip_location", "skip_item", "group", "include_reduce", "junk_item", "event"]
door_directives = Set["id", "painting_id", "panels", "item_name", "item_group", "location_name", "skip_location", "skip_item", "door_group", "include_reduce", "junk_item", "event"]
painting_directives = Set["id", "enter_only", "exit_only", "orientation", "required_door", "required", "required_when_no_doors", "move", "req_blocked", "req_blocked_when_no_doors"]
non_counting = 0