DOOM 1993: Added various new options (#2067)

This commit is contained in:
David St-Louis
2023-11-25 09:43:14 -05:00
committed by GitHub
parent 59ed2602bd
commit c138918400
7 changed files with 316 additions and 186 deletions

View File

@@ -7,7 +7,7 @@ if TYPE_CHECKING:
from . import DOOM1993World
def set_episode1_rules(player, world):
def set_episode1_rules(player, world, pro):
# Hangar (E1M1)
set_rule(world.get_entrance("Hub -> Hangar (E1M1) Main", player), lambda state:
state.has("Hangar (E1M1)", player, 1))
@@ -130,7 +130,7 @@ def set_episode1_rules(player, world):
state.has("Military Base (E1M9) - Yellow keycard", player, 1))
def set_episode2_rules(player, world):
def set_episode2_rules(player, world, pro):
# Deimos Anomaly (E2M1)
set_rule(world.get_entrance("Hub -> Deimos Anomaly (E2M1) Main", player), lambda state:
state.has("Deimos Anomaly (E2M1)", player, 1))
@@ -226,6 +226,9 @@ def set_episode2_rules(player, world):
state.has("Spawning Vats (E2M7) - Red keycard", player, 1))
set_rule(world.get_entrance("Spawning Vats (E2M7) Main -> Spawning Vats (E2M7) Yellow", player), lambda state:
state.has("Spawning Vats (E2M7) - Yellow keycard", player, 1))
if pro:
set_rule(world.get_entrance("Spawning Vats (E2M7) Main -> Spawning Vats (E2M7) Red Exit", player), lambda state:
state.has("Rocket launcher", player, 1))
set_rule(world.get_entrance("Spawning Vats (E2M7) Yellow -> Spawning Vats (E2M7) Main", player), lambda state:
state.has("Spawning Vats (E2M7) - Yellow keycard", player, 1))
set_rule(world.get_entrance("Spawning Vats (E2M7) Red -> Spawning Vats (E2M7) Main", player), lambda state:
@@ -260,7 +263,7 @@ def set_episode2_rules(player, world):
state.has("Fortress of Mystery (E2M9) - Yellow skull key", player, 1))
def set_episode3_rules(player, world):
def set_episode3_rules(player, world, pro):
# Hell Keep (E3M1)
set_rule(world.get_entrance("Hub -> Hell Keep (E3M1) Main", player), lambda state:
state.has("Hell Keep (E3M1)", player, 1))
@@ -385,7 +388,7 @@ def set_episode3_rules(player, world):
state.has("Warrens (E3M9) - Red skull key", player, 1))
def set_episode4_rules(player, world):
def set_episode4_rules(player, world, pro):
# Hell Beneath (E4M1)
set_rule(world.get_entrance("Hub -> Hell Beneath (E4M1) Main", player), lambda state:
state.has("Hell Beneath (E4M1)", player, 1))
@@ -520,15 +523,15 @@ def set_episode4_rules(player, world):
state.has("Fear (E4M9) - Yellow skull key", player, 1))
def set_rules(doom_1993_world: "DOOM1993World", included_episodes):
def set_rules(doom_1993_world: "DOOM1993World", included_episodes, pro):
player = doom_1993_world.player
world = doom_1993_world.multiworld
if included_episodes[0]:
set_episode1_rules(player, world)
set_episode1_rules(player, world, pro)
if included_episodes[1]:
set_episode2_rules(player, world)
set_episode2_rules(player, world, pro)
if included_episodes[2]:
set_episode3_rules(player, world)
set_episode3_rules(player, world, pro)
if included_episodes[3]:
set_episode4_rules(player, world)
set_episode4_rules(player, world, pro)