From 98d61b32af6ebe53c6c44e7d7f8365753e5cdf67 Mon Sep 17 00:00:00 2001 From: Daivuk Date: Mon, 25 Sep 2023 18:18:20 -0400 Subject: [PATCH] DOOM 1993: Logic fixes --- worlds/doom_1993/Locations.py | 17 ++++++++------- worlds/doom_1993/Regions.py | 41 +++++++++++++++++++++++++++++------ worlds/doom_1993/Rules.py | 13 +++++------ 3 files changed, 49 insertions(+), 22 deletions(-) diff --git a/worlds/doom_1993/Locations.py b/worlds/doom_1993/Locations.py index 942c7d2a..778efb46 100644 --- a/worlds/doom_1993/Locations.py +++ b/worlds/doom_1993/Locations.py @@ -1794,13 +1794,13 @@ location_table: Dict[int, LocationDict] = { 'map': 7, 'index': 65, 'doom_type': 2004, - 'region': "Limbo (E3M7) Red"}, + 'region': "Limbo (E3M7) Green"}, 351297: {'name': 'Limbo (E3M7) - Armor', 'episode': 3, 'map': 7, 'index': 67, 'doom_type': 2018, - 'region': "Limbo (E3M7) Red"}, + 'region': "Limbo (E3M7) Green"}, 351298: {'name': 'Limbo (E3M7) - Yellow skull key', 'episode': 3, 'map': 7, @@ -2496,19 +2496,19 @@ location_table: Dict[int, LocationDict] = { 'map': 6, 'index': 77, 'doom_type': 38, - 'region': "Against Thee Wickedly (E4M6) Yellow"}, + 'region': "Against Thee Wickedly (E4M6) Magenta"}, 351414: {'name': 'Against Thee Wickedly (E4M6) - Invulnerability', 'episode': 4, 'map': 6, 'index': 78, 'doom_type': 2022, - 'region': "Against Thee Wickedly (E4M6) Red"}, + 'region': "Against Thee Wickedly (E4M6) Pink"}, 351415: {'name': 'Against Thee Wickedly (E4M6) - Invulnerability 2', 'episode': 4, 'map': 6, 'index': 89, 'doom_type': 2022, - 'region': "Against Thee Wickedly (E4M6) Red"}, + 'region': "Against Thee Wickedly (E4M6) Magenta"}, 351416: {'name': 'Against Thee Wickedly (E4M6) - BFG9000', 'episode': 4, 'map': 6, @@ -2520,7 +2520,7 @@ location_table: Dict[int, LocationDict] = { 'map': 6, 'index': 102, 'doom_type': 8, - 'region': "Against Thee Wickedly (E4M6) Red"}, + 'region': "Against Thee Wickedly (E4M6) Pink"}, 351418: {'name': 'Against Thee Wickedly (E4M6) - Berserk', 'episode': 4, 'map': 6, @@ -2550,7 +2550,7 @@ location_table: Dict[int, LocationDict] = { 'map': 6, 'index': -1, 'doom_type': -1, - 'region': "Against Thee Wickedly (E4M6) Red"}, + 'region': "Against Thee Wickedly (E4M6) Magenta"}, 351423: {'name': 'And Hell Followed (E4M7) - Shotgun', 'episode': 4, 'map': 7, @@ -2628,7 +2628,7 @@ location_table: Dict[int, LocationDict] = { 'map': 7, 'index': 182, 'doom_type': 39, - 'region': "And Hell Followed (E4M7) Main"}, + 'region': "And Hell Followed (E4M7) Blue"}, 351436: {'name': 'And Hell Followed (E4M7) - Red skull key', 'episode': 4, 'map': 7, @@ -3414,6 +3414,7 @@ death_logic_locations = [ "Command Control (E1M4) - Supercharge", "Command Control (E1M4) - Mega Armor", "Containment Area (E2M2) - Supercharge", + "Containment Area (E2M2) - Plasma gun", "Pandemonium (E3M3) - Mega Armor", "House of Pain (E3M4) - Chaingun", "House of Pain (E3M4) - Invulnerability", diff --git a/worlds/doom_1993/Regions.py b/worlds/doom_1993/Regions.py index 58626e62..602c29f5 100644 --- a/worlds/doom_1993/Regions.py +++ b/worlds/doom_1993/Regions.py @@ -394,7 +394,8 @@ regions:List[RegionDict] = [ "episode":3, "connections":[ "Limbo (E3M7) Red", - "Limbo (E3M7) Blue"]}, + "Limbo (E3M7) Blue", + "Limbo (E3M7) Pink"]}, {"name":"Limbo (E3M7) Blue", "connects_to_hub":False, "episode":3, @@ -404,11 +405,24 @@ regions:List[RegionDict] = [ "episode":3, "connections":[ "Limbo (E3M7) Main", - "Limbo (E3M7) Yellow"]}, + "Limbo (E3M7) Yellow", + "Limbo (E3M7) Green"]}, {"name":"Limbo (E3M7) Yellow", "connects_to_hub":False, "episode":3, "connections":["Limbo (E3M7) Red"]}, + {"name":"Limbo (E3M7) Pink", + "connects_to_hub":False, + "episode":3, + "connections":[ + "Limbo (E3M7) Green", + "Limbo (E3M7) Main"]}, + {"name":"Limbo (E3M7) Green", + "connects_to_hub":False, + "episode":3, + "connections":[ + "Limbo (E3M7) Pink", + "Limbo (E3M7) Red"]}, # Dis (E3M8) {"name":"Dis (E3M8) Main", @@ -529,19 +543,32 @@ regions:List[RegionDict] = [ {"name":"Against Thee Wickedly (E4M6) Main", "connects_to_hub":True, "episode":4, - "connections":[ - "Against Thee Wickedly (E4M6) Blue", - "Against Thee Wickedly (E4M6) Yellow", - "Against Thee Wickedly (E4M6) Red"]}, + "connections":["Against Thee Wickedly (E4M6) Blue"]}, {"name":"Against Thee Wickedly (E4M6) Red", "connects_to_hub":False, "episode":4, - "connections":["Against Thee Wickedly (E4M6) Main"]}, + "connections":[ + "Against Thee Wickedly (E4M6) Blue", + "Against Thee Wickedly (E4M6) Pink", + "Against Thee Wickedly (E4M6) Main"]}, {"name":"Against Thee Wickedly (E4M6) Blue", + "connects_to_hub":False, + "episode":4, + "connections":[ + "Against Thee Wickedly (E4M6) Main", + "Against Thee Wickedly (E4M6) Yellow", + "Against Thee Wickedly (E4M6) Red"]}, + {"name":"Against Thee Wickedly (E4M6) Magenta", "connects_to_hub":False, "episode":4, "connections":["Against Thee Wickedly (E4M6) Main"]}, {"name":"Against Thee Wickedly (E4M6) Yellow", + "connects_to_hub":False, + "episode":4, + "connections":[ + "Against Thee Wickedly (E4M6) Blue", + "Against Thee Wickedly (E4M6) Magenta"]}, + {"name":"Against Thee Wickedly (E4M6) Pink", "connects_to_hub":False, "episode":4, "connections":["Against Thee Wickedly (E4M6) Main"]}, diff --git a/worlds/doom_1993/Rules.py b/worlds/doom_1993/Rules.py index 6f24112c..6e13a8af 100644 --- a/worlds/doom_1993/Rules.py +++ b/worlds/doom_1993/Rules.py @@ -50,9 +50,6 @@ def set_episode1_rules(player, world): set_rule(world.get_entrance("Command Control (E1M4) Blue -> Command Control (E1M4) Main", player), lambda state: state.has("Command Control (E1M4) - Yellow keycard", player, 1) or state.has("Command Control (E1M4) - Blue keycard", player, 1)) - set_rule(world.get_entrance("Command Control (E1M4) Yellow -> Command Control (E1M4) Main", player), lambda state: - state.has("Command Control (E1M4) - Yellow keycard", player, 1) or - state.has("Command Control (E1M4) - Blue keycard", player, 1)) # Phobos Lab (E1M5) set_rule(world.get_entrance("Hub -> Phobos Lab (E1M5) Main", player), lambda state: @@ -354,8 +351,12 @@ def set_episode3_rules(player, world): state.has("Limbo (E3M7) - Red skull key", player, 1)) set_rule(world.get_entrance("Limbo (E3M7) Main -> Limbo (E3M7) Blue", player), lambda state: state.has("Limbo (E3M7) - Blue skull key", player, 1)) + set_rule(world.get_entrance("Limbo (E3M7) Main -> Limbo (E3M7) Pink", player), lambda state: + state.has("Limbo (E3M7) - Blue skull key", player, 1)) set_rule(world.get_entrance("Limbo (E3M7) Red -> Limbo (E3M7) Yellow", player), lambda state: state.has("Limbo (E3M7) - Yellow skull key", player, 1)) + set_rule(world.get_entrance("Limbo (E3M7) Pink -> Limbo (E3M7) Green", player), lambda state: + state.has("Limbo (E3M7) - Red skull key", player, 1)) # Dis (E3M8) set_rule(world.get_entrance("Hub -> Dis (E3M8) Main", player), lambda state: @@ -466,12 +467,10 @@ def set_episode4_rules(player, world): state.has("BFG9000", player, 1))) set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Main -> Against Thee Wickedly (E4M6) Blue", player), lambda state: state.has("Against Thee Wickedly (E4M6) - Blue skull key", player, 1)) - set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Main -> Against Thee Wickedly (E4M6) Yellow", player), lambda state: + set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Blue -> Against Thee Wickedly (E4M6) Yellow", player), lambda state: state.has("Against Thee Wickedly (E4M6) - Yellow skull key", player, 1)) - set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Main -> Against Thee Wickedly (E4M6) Red", player), lambda state: + set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Blue -> Against Thee Wickedly (E4M6) Red", player), lambda state: state.has("Against Thee Wickedly (E4M6) - Red skull key", player, 1)) - set_rule(world.get_entrance("Against Thee Wickedly (E4M6) Blue -> Against Thee Wickedly (E4M6) Main", player), lambda state: - state.has("Against Thee Wickedly (E4M6) - Blue skull key", player, 1)) # And Hell Followed (E4M7) set_rule(world.get_entrance("Hub -> And Hell Followed (E4M7) Main", player), lambda state: