DOOM 1993: Include only regions/rules for selected episodes
This commit is contained in:
parent
40c9287eba
commit
de1ec4a18f
|
@ -80,7 +80,7 @@ class Episode3(DefaultOnToggle):
|
||||||
display_name = "Episode 3"
|
display_name = "Episode 3"
|
||||||
|
|
||||||
|
|
||||||
class Episode4(DefaultOnToggle):
|
class Episode4(Toggle):
|
||||||
"""Thy Flesh Consumed.
|
"""Thy Flesh Consumed.
|
||||||
If none of the episodes are chosen, Episode 1 will be chosen by default."""
|
If none of the episodes are chosen, Episode 1 will be chosen by default."""
|
||||||
display_name = "Episode 4"
|
display_name = "Episode 4"
|
||||||
|
|
|
@ -6,6 +6,7 @@ from BaseClasses import TypedDict
|
||||||
class RegionDict(TypedDict, total=False):
|
class RegionDict(TypedDict, total=False):
|
||||||
name: str
|
name: str
|
||||||
connects_to_hub: bool
|
connects_to_hub: bool
|
||||||
|
episode: int
|
||||||
connections: List[str]
|
connections: List[str]
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,59 +14,72 @@ regions:List[RegionDict] = [
|
||||||
# Hangar (E1M1)
|
# Hangar (E1M1)
|
||||||
{"name":"Hangar (E1M1) Main",
|
{"name":"Hangar (E1M1) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Nuclear Plant (E1M2)
|
# Nuclear Plant (E1M2)
|
||||||
{"name":"Nuclear Plant (E1M2) Main",
|
{"name":"Nuclear Plant (E1M2) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":["Nuclear Plant (E1M2) Red"]},
|
"connections":["Nuclear Plant (E1M2) Red"]},
|
||||||
{"name":"Nuclear Plant (E1M2) Red",
|
{"name":"Nuclear Plant (E1M2) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Nuclear Plant (E1M2) Main"]},
|
"connections":["Nuclear Plant (E1M2) Main"]},
|
||||||
|
|
||||||
# Toxin Refinery (E1M3)
|
# Toxin Refinery (E1M3)
|
||||||
{"name":"Toxin Refinery (E1M3) Main",
|
{"name":"Toxin Refinery (E1M3) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":["Toxin Refinery (E1M3) Blue"]},
|
"connections":["Toxin Refinery (E1M3) Blue"]},
|
||||||
{"name":"Toxin Refinery (E1M3) Blue",
|
{"name":"Toxin Refinery (E1M3) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Toxin Refinery (E1M3) Yellow",
|
"Toxin Refinery (E1M3) Yellow",
|
||||||
"Toxin Refinery (E1M3) Main"]},
|
"Toxin Refinery (E1M3) Main"]},
|
||||||
{"name":"Toxin Refinery (E1M3) Yellow",
|
{"name":"Toxin Refinery (E1M3) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Toxin Refinery (E1M3) Blue"]},
|
"connections":["Toxin Refinery (E1M3) Blue"]},
|
||||||
|
|
||||||
# Command Control (E1M4)
|
# Command Control (E1M4)
|
||||||
{"name":"Command Control (E1M4) Main",
|
{"name":"Command Control (E1M4) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Command Control (E1M4) Blue",
|
"Command Control (E1M4) Blue",
|
||||||
"Command Control (E1M4) Yellow"]},
|
"Command Control (E1M4) Yellow"]},
|
||||||
{"name":"Command Control (E1M4) Blue",
|
{"name":"Command Control (E1M4) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Command Control (E1M4) Main"]},
|
"connections":["Command Control (E1M4) Main"]},
|
||||||
{"name":"Command Control (E1M4) Yellow",
|
{"name":"Command Control (E1M4) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Command Control (E1M4) Main"]},
|
"connections":["Command Control (E1M4) Main"]},
|
||||||
|
|
||||||
# Phobos Lab (E1M5)
|
# Phobos Lab (E1M5)
|
||||||
{"name":"Phobos Lab (E1M5) Main",
|
{"name":"Phobos Lab (E1M5) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":["Phobos Lab (E1M5) Yellow"]},
|
"connections":["Phobos Lab (E1M5) Yellow"]},
|
||||||
{"name":"Phobos Lab (E1M5) Yellow",
|
{"name":"Phobos Lab (E1M5) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Phobos Lab (E1M5) Main",
|
"Phobos Lab (E1M5) Main",
|
||||||
"Phobos Lab (E1M5) Blue",
|
"Phobos Lab (E1M5) Blue",
|
||||||
"Phobos Lab (E1M5) Green"]},
|
"Phobos Lab (E1M5) Green"]},
|
||||||
{"name":"Phobos Lab (E1M5) Blue",
|
{"name":"Phobos Lab (E1M5) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Phobos Lab (E1M5) Green",
|
"Phobos Lab (E1M5) Green",
|
||||||
"Phobos Lab (E1M5) Yellow"]},
|
"Phobos Lab (E1M5) Yellow"]},
|
||||||
{"name":"Phobos Lab (E1M5) Green",
|
{"name":"Phobos Lab (E1M5) Green",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Phobos Lab (E1M5) Main",
|
"Phobos Lab (E1M5) Main",
|
||||||
"Phobos Lab (E1M5) Blue"]},
|
"Phobos Lab (E1M5) Blue"]},
|
||||||
|
@ -73,6 +87,7 @@ regions:List[RegionDict] = [
|
||||||
# Central Processing (E1M6)
|
# Central Processing (E1M6)
|
||||||
{"name":"Central Processing (E1M6) Main",
|
{"name":"Central Processing (E1M6) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Central Processing (E1M6) Yellow",
|
"Central Processing (E1M6) Yellow",
|
||||||
"Central Processing (E1M6) Red",
|
"Central Processing (E1M6) Red",
|
||||||
|
@ -80,140 +95,173 @@ regions:List[RegionDict] = [
|
||||||
"Central Processing (E1M6) Nukage"]},
|
"Central Processing (E1M6) Nukage"]},
|
||||||
{"name":"Central Processing (E1M6) Red",
|
{"name":"Central Processing (E1M6) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Central Processing (E1M6) Main"]},
|
"connections":["Central Processing (E1M6) Main"]},
|
||||||
{"name":"Central Processing (E1M6) Blue",
|
{"name":"Central Processing (E1M6) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Central Processing (E1M6) Main"]},
|
"connections":["Central Processing (E1M6) Main"]},
|
||||||
{"name":"Central Processing (E1M6) Yellow",
|
{"name":"Central Processing (E1M6) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Central Processing (E1M6) Main"]},
|
"connections":["Central Processing (E1M6) Main"]},
|
||||||
{"name":"Central Processing (E1M6) Nukage",
|
{"name":"Central Processing (E1M6) Nukage",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Central Processing (E1M6) Yellow"]},
|
"connections":["Central Processing (E1M6) Yellow"]},
|
||||||
|
|
||||||
# Computer Station (E1M7)
|
# Computer Station (E1M7)
|
||||||
{"name":"Computer Station (E1M7) Main",
|
{"name":"Computer Station (E1M7) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Computer Station (E1M7) Red",
|
"Computer Station (E1M7) Red",
|
||||||
"Computer Station (E1M7) Yellow"]},
|
"Computer Station (E1M7) Yellow"]},
|
||||||
{"name":"Computer Station (E1M7) Blue",
|
{"name":"Computer Station (E1M7) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Computer Station (E1M7) Yellow"]},
|
"connections":["Computer Station (E1M7) Yellow"]},
|
||||||
{"name":"Computer Station (E1M7) Red",
|
{"name":"Computer Station (E1M7) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Computer Station (E1M7) Main"]},
|
"connections":["Computer Station (E1M7) Main"]},
|
||||||
{"name":"Computer Station (E1M7) Yellow",
|
{"name":"Computer Station (E1M7) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Computer Station (E1M7) Blue",
|
"Computer Station (E1M7) Blue",
|
||||||
"Computer Station (E1M7) Courtyard",
|
"Computer Station (E1M7) Courtyard",
|
||||||
"Computer Station (E1M7) Main"]},
|
"Computer Station (E1M7) Main"]},
|
||||||
{"name":"Computer Station (E1M7) Courtyard",
|
{"name":"Computer Station (E1M7) Courtyard",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Computer Station (E1M7) Yellow"]},
|
"connections":["Computer Station (E1M7) Yellow"]},
|
||||||
|
|
||||||
# Phobos Anomaly (E1M8)
|
# Phobos Anomaly (E1M8)
|
||||||
{"name":"Phobos Anomaly (E1M8) Main",
|
{"name":"Phobos Anomaly (E1M8) Main",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
{"name":"Phobos Anomaly (E1M8) Start",
|
{"name":"Phobos Anomaly (E1M8) Start",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":["Phobos Anomaly (E1M8) Main"]},
|
"connections":["Phobos Anomaly (E1M8) Main"]},
|
||||||
|
|
||||||
# Military Base (E1M9)
|
# Military Base (E1M9)
|
||||||
{"name":"Military Base (E1M9) Main",
|
{"name":"Military Base (E1M9) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":1,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Military Base (E1M9) Blue",
|
"Military Base (E1M9) Blue",
|
||||||
"Military Base (E1M9) Yellow",
|
"Military Base (E1M9) Yellow",
|
||||||
"Military Base (E1M9) Red"]},
|
"Military Base (E1M9) Red"]},
|
||||||
{"name":"Military Base (E1M9) Blue",
|
{"name":"Military Base (E1M9) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Military Base (E1M9) Main"]},
|
"connections":["Military Base (E1M9) Main"]},
|
||||||
{"name":"Military Base (E1M9) Red",
|
{"name":"Military Base (E1M9) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Military Base (E1M9) Main"]},
|
"connections":["Military Base (E1M9) Main"]},
|
||||||
{"name":"Military Base (E1M9) Yellow",
|
{"name":"Military Base (E1M9) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":1,
|
||||||
"connections":["Military Base (E1M9) Main"]},
|
"connections":["Military Base (E1M9) Main"]},
|
||||||
|
|
||||||
# Deimos Anomaly (E2M1)
|
# Deimos Anomaly (E2M1)
|
||||||
{"name":"Deimos Anomaly (E2M1) Main",
|
{"name":"Deimos Anomaly (E2M1) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Deimos Anomaly (E2M1) Red",
|
"Deimos Anomaly (E2M1) Red",
|
||||||
"Deimos Anomaly (E2M1) Blue"]},
|
"Deimos Anomaly (E2M1) Blue"]},
|
||||||
{"name":"Deimos Anomaly (E2M1) Blue",
|
{"name":"Deimos Anomaly (E2M1) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Deimos Anomaly (E2M1) Main"]},
|
"connections":["Deimos Anomaly (E2M1) Main"]},
|
||||||
{"name":"Deimos Anomaly (E2M1) Red",
|
{"name":"Deimos Anomaly (E2M1) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Deimos Anomaly (E2M1) Main"]},
|
"connections":["Deimos Anomaly (E2M1) Main"]},
|
||||||
|
|
||||||
# Containment Area (E2M2)
|
# Containment Area (E2M2)
|
||||||
{"name":"Containment Area (E2M2) Main",
|
{"name":"Containment Area (E2M2) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Containment Area (E2M2) Yellow",
|
"Containment Area (E2M2) Yellow",
|
||||||
"Containment Area (E2M2) Blue",
|
"Containment Area (E2M2) Blue",
|
||||||
"Containment Area (E2M2) Red"]},
|
"Containment Area (E2M2) Red"]},
|
||||||
{"name":"Containment Area (E2M2) Blue",
|
{"name":"Containment Area (E2M2) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Containment Area (E2M2) Main"]},
|
"connections":["Containment Area (E2M2) Main"]},
|
||||||
{"name":"Containment Area (E2M2) Red",
|
{"name":"Containment Area (E2M2) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Containment Area (E2M2) Main"]},
|
"connections":["Containment Area (E2M2) Main"]},
|
||||||
{"name":"Containment Area (E2M2) Yellow",
|
{"name":"Containment Area (E2M2) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Containment Area (E2M2) Main"]},
|
"connections":["Containment Area (E2M2) Main"]},
|
||||||
|
|
||||||
# Refinery (E2M3)
|
# Refinery (E2M3)
|
||||||
{"name":"Refinery (E2M3) Main",
|
{"name":"Refinery (E2M3) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":["Refinery (E2M3) Blue"]},
|
"connections":["Refinery (E2M3) Blue"]},
|
||||||
{"name":"Refinery (E2M3) Blue",
|
{"name":"Refinery (E2M3) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Refinery (E2M3) Main"]},
|
"connections":["Refinery (E2M3) Main"]},
|
||||||
|
|
||||||
# Deimos Lab (E2M4)
|
# Deimos Lab (E2M4)
|
||||||
{"name":"Deimos Lab (E2M4) Main",
|
{"name":"Deimos Lab (E2M4) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":["Deimos Lab (E2M4) Blue"]},
|
"connections":["Deimos Lab (E2M4) Blue"]},
|
||||||
{"name":"Deimos Lab (E2M4) Blue",
|
{"name":"Deimos Lab (E2M4) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Deimos Lab (E2M4) Main",
|
"Deimos Lab (E2M4) Main",
|
||||||
"Deimos Lab (E2M4) Yellow"]},
|
"Deimos Lab (E2M4) Yellow"]},
|
||||||
{"name":"Deimos Lab (E2M4) Yellow",
|
{"name":"Deimos Lab (E2M4) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Deimos Lab (E2M4) Blue"]},
|
"connections":["Deimos Lab (E2M4) Blue"]},
|
||||||
|
|
||||||
# Command Center (E2M5)
|
# Command Center (E2M5)
|
||||||
{"name":"Command Center (E2M5) Main",
|
{"name":"Command Center (E2M5) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Halls of the Damned (E2M6)
|
# Halls of the Damned (E2M6)
|
||||||
{"name":"Halls of the Damned (E2M6) Main",
|
{"name":"Halls of the Damned (E2M6) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Halls of the Damned (E2M6) Blue Yellow Red",
|
"Halls of the Damned (E2M6) Blue Yellow Red",
|
||||||
"Halls of the Damned (E2M6) Yellow",
|
"Halls of the Damned (E2M6) Yellow",
|
||||||
"Halls of the Damned (E2M6) One way Yellow"]},
|
"Halls of the Damned (E2M6) One way Yellow"]},
|
||||||
{"name":"Halls of the Damned (E2M6) Yellow",
|
{"name":"Halls of the Damned (E2M6) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Halls of the Damned (E2M6) Main"]},
|
"connections":["Halls of the Damned (E2M6) Main"]},
|
||||||
{"name":"Halls of the Damned (E2M6) Blue Yellow Red",
|
{"name":"Halls of the Damned (E2M6) Blue Yellow Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Halls of the Damned (E2M6) Main"]},
|
"connections":["Halls of the Damned (E2M6) Main"]},
|
||||||
{"name":"Halls of the Damned (E2M6) One way Yellow",
|
{"name":"Halls of the Damned (E2M6) One way Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Halls of the Damned (E2M6) Main"]},
|
"connections":["Halls of the Damned (E2M6) Main"]},
|
||||||
|
|
||||||
# Spawning Vats (E2M7)
|
# Spawning Vats (E2M7)
|
||||||
{"name":"Spawning Vats (E2M7) Main",
|
{"name":"Spawning Vats (E2M7) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Spawning Vats (E2M7) Blue",
|
"Spawning Vats (E2M7) Blue",
|
||||||
"Spawning Vats (E2M7) Entrance Secret",
|
"Spawning Vats (E2M7) Entrance Secret",
|
||||||
|
@ -221,207 +269,256 @@ regions:List[RegionDict] = [
|
||||||
"Spawning Vats (E2M7) Yellow"]},
|
"Spawning Vats (E2M7) Yellow"]},
|
||||||
{"name":"Spawning Vats (E2M7) Blue",
|
{"name":"Spawning Vats (E2M7) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Spawning Vats (E2M7) Main"]},
|
"connections":["Spawning Vats (E2M7) Main"]},
|
||||||
{"name":"Spawning Vats (E2M7) Yellow",
|
{"name":"Spawning Vats (E2M7) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Spawning Vats (E2M7) Main"]},
|
"connections":["Spawning Vats (E2M7) Main"]},
|
||||||
{"name":"Spawning Vats (E2M7) Red",
|
{"name":"Spawning Vats (E2M7) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Spawning Vats (E2M7) Main"]},
|
"connections":["Spawning Vats (E2M7) Main"]},
|
||||||
{"name":"Spawning Vats (E2M7) Entrance Secret",
|
{"name":"Spawning Vats (E2M7) Entrance Secret",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Spawning Vats (E2M7) Main"]},
|
"connections":["Spawning Vats (E2M7) Main"]},
|
||||||
|
|
||||||
# Tower of Babel (E2M8)
|
# Tower of Babel (E2M8)
|
||||||
{"name":"Tower of Babel (E2M8) Main",
|
{"name":"Tower of Babel (E2M8) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Fortress of Mystery (E2M9)
|
# Fortress of Mystery (E2M9)
|
||||||
{"name":"Fortress of Mystery (E2M9) Main",
|
{"name":"Fortress of Mystery (E2M9) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":2,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Fortress of Mystery (E2M9) Blue",
|
"Fortress of Mystery (E2M9) Blue",
|
||||||
"Fortress of Mystery (E2M9) Red",
|
"Fortress of Mystery (E2M9) Red",
|
||||||
"Fortress of Mystery (E2M9) Yellow"]},
|
"Fortress of Mystery (E2M9) Yellow"]},
|
||||||
{"name":"Fortress of Mystery (E2M9) Blue",
|
{"name":"Fortress of Mystery (E2M9) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Fortress of Mystery (E2M9) Main"]},
|
"connections":["Fortress of Mystery (E2M9) Main"]},
|
||||||
{"name":"Fortress of Mystery (E2M9) Red",
|
{"name":"Fortress of Mystery (E2M9) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Fortress of Mystery (E2M9) Main"]},
|
"connections":["Fortress of Mystery (E2M9) Main"]},
|
||||||
{"name":"Fortress of Mystery (E2M9) Yellow",
|
{"name":"Fortress of Mystery (E2M9) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":2,
|
||||||
"connections":["Fortress of Mystery (E2M9) Main"]},
|
"connections":["Fortress of Mystery (E2M9) Main"]},
|
||||||
|
|
||||||
# Hell Keep (E3M1)
|
# Hell Keep (E3M1)
|
||||||
{"name":"Hell Keep (E3M1) Main",
|
{"name":"Hell Keep (E3M1) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":["Hell Keep (E3M1) Narrow"]},
|
"connections":["Hell Keep (E3M1) Narrow"]},
|
||||||
{"name":"Hell Keep (E3M1) Narrow",
|
{"name":"Hell Keep (E3M1) Narrow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Hell Keep (E3M1) Main"]},
|
"connections":["Hell Keep (E3M1) Main"]},
|
||||||
|
|
||||||
# Slough of Despair (E3M2)
|
# Slough of Despair (E3M2)
|
||||||
{"name":"Slough of Despair (E3M2) Main",
|
{"name":"Slough of Despair (E3M2) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":["Slough of Despair (E3M2) Blue"]},
|
"connections":["Slough of Despair (E3M2) Blue"]},
|
||||||
{"name":"Slough of Despair (E3M2) Blue",
|
{"name":"Slough of Despair (E3M2) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Slough of Despair (E3M2) Main"]},
|
"connections":["Slough of Despair (E3M2) Main"]},
|
||||||
|
|
||||||
# Pandemonium (E3M3)
|
# Pandemonium (E3M3)
|
||||||
{"name":"Pandemonium (E3M3) Main",
|
{"name":"Pandemonium (E3M3) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":["Pandemonium (E3M3) Blue"]},
|
"connections":["Pandemonium (E3M3) Blue"]},
|
||||||
{"name":"Pandemonium (E3M3) Blue",
|
{"name":"Pandemonium (E3M3) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Pandemonium (E3M3) Main"]},
|
"connections":["Pandemonium (E3M3) Main"]},
|
||||||
|
|
||||||
# House of Pain (E3M4)
|
# House of Pain (E3M4)
|
||||||
{"name":"House of Pain (E3M4) Main",
|
{"name":"House of Pain (E3M4) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":["House of Pain (E3M4) Blue"]},
|
"connections":["House of Pain (E3M4) Blue"]},
|
||||||
{"name":"House of Pain (E3M4) Blue",
|
{"name":"House of Pain (E3M4) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":[
|
"connections":[
|
||||||
"House of Pain (E3M4) Main",
|
"House of Pain (E3M4) Main",
|
||||||
"House of Pain (E3M4) Yellow",
|
"House of Pain (E3M4) Yellow",
|
||||||
"House of Pain (E3M4) Red"]},
|
"House of Pain (E3M4) Red"]},
|
||||||
{"name":"House of Pain (E3M4) Red",
|
{"name":"House of Pain (E3M4) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["House of Pain (E3M4) Blue"]},
|
"connections":["House of Pain (E3M4) Blue"]},
|
||||||
{"name":"House of Pain (E3M4) Yellow",
|
{"name":"House of Pain (E3M4) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["House of Pain (E3M4) Blue"]},
|
"connections":["House of Pain (E3M4) Blue"]},
|
||||||
|
|
||||||
# Unholy Cathedral (E3M5)
|
# Unholy Cathedral (E3M5)
|
||||||
{"name":"Unholy Cathedral (E3M5) Main",
|
{"name":"Unholy Cathedral (E3M5) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Unholy Cathedral (E3M5) Yellow",
|
"Unholy Cathedral (E3M5) Yellow",
|
||||||
"Unholy Cathedral (E3M5) Blue"]},
|
"Unholy Cathedral (E3M5) Blue"]},
|
||||||
{"name":"Unholy Cathedral (E3M5) Blue",
|
{"name":"Unholy Cathedral (E3M5) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Unholy Cathedral (E3M5) Main"]},
|
"connections":["Unholy Cathedral (E3M5) Main"]},
|
||||||
{"name":"Unholy Cathedral (E3M5) Yellow",
|
{"name":"Unholy Cathedral (E3M5) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Unholy Cathedral (E3M5) Main"]},
|
"connections":["Unholy Cathedral (E3M5) Main"]},
|
||||||
|
|
||||||
# Mt. Erebus (E3M6)
|
# Mt. Erebus (E3M6)
|
||||||
{"name":"Mt. Erebus (E3M6) Main",
|
{"name":"Mt. Erebus (E3M6) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":["Mt. Erebus (E3M6) Blue"]},
|
"connections":["Mt. Erebus (E3M6) Blue"]},
|
||||||
{"name":"Mt. Erebus (E3M6) Blue",
|
{"name":"Mt. Erebus (E3M6) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Mt. Erebus (E3M6) Main"]},
|
"connections":["Mt. Erebus (E3M6) Main"]},
|
||||||
|
|
||||||
# Limbo (E3M7)
|
# Limbo (E3M7)
|
||||||
{"name":"Limbo (E3M7) Main",
|
{"name":"Limbo (E3M7) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Limbo (E3M7) Red",
|
"Limbo (E3M7) Red",
|
||||||
"Limbo (E3M7) Blue"]},
|
"Limbo (E3M7) Blue"]},
|
||||||
{"name":"Limbo (E3M7) Blue",
|
{"name":"Limbo (E3M7) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Limbo (E3M7) Main"]},
|
"connections":["Limbo (E3M7) Main"]},
|
||||||
{"name":"Limbo (E3M7) Red",
|
{"name":"Limbo (E3M7) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Limbo (E3M7) Main",
|
"Limbo (E3M7) Main",
|
||||||
"Limbo (E3M7) Yellow"]},
|
"Limbo (E3M7) Yellow"]},
|
||||||
{"name":"Limbo (E3M7) Yellow",
|
{"name":"Limbo (E3M7) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Limbo (E3M7) Red"]},
|
"connections":["Limbo (E3M7) Red"]},
|
||||||
|
|
||||||
# Dis (E3M8)
|
# Dis (E3M8)
|
||||||
{"name":"Dis (E3M8) Main",
|
{"name":"Dis (E3M8) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Warrens (E3M9)
|
# Warrens (E3M9)
|
||||||
{"name":"Warrens (E3M9) Main",
|
{"name":"Warrens (E3M9) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":3,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Warrens (E3M9) Red",
|
"Warrens (E3M9) Red",
|
||||||
"Warrens (E3M9) Blue",
|
"Warrens (E3M9) Blue",
|
||||||
"Warrens (E3M9) Blue trigger"]},
|
"Warrens (E3M9) Blue trigger"]},
|
||||||
{"name":"Warrens (E3M9) Red",
|
{"name":"Warrens (E3M9) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Warrens (E3M9) Main"]},
|
"connections":["Warrens (E3M9) Main"]},
|
||||||
{"name":"Warrens (E3M9) Blue",
|
{"name":"Warrens (E3M9) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":["Warrens (E3M9) Main"]},
|
"connections":["Warrens (E3M9) Main"]},
|
||||||
{"name":"Warrens (E3M9) Blue trigger",
|
{"name":"Warrens (E3M9) Blue trigger",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":3,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Hell Beneath (E4M1)
|
# Hell Beneath (E4M1)
|
||||||
{"name":"Hell Beneath (E4M1) Main",
|
{"name":"Hell Beneath (E4M1) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Hell Beneath (E4M1) Red",
|
"Hell Beneath (E4M1) Red",
|
||||||
"Hell Beneath (E4M1) Blue"]},
|
"Hell Beneath (E4M1) Blue"]},
|
||||||
{"name":"Hell Beneath (E4M1) Red",
|
{"name":"Hell Beneath (E4M1) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Hell Beneath (E4M1) Main"]},
|
"connections":["Hell Beneath (E4M1) Main"]},
|
||||||
{"name":"Hell Beneath (E4M1) Blue",
|
{"name":"Hell Beneath (E4M1) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Hell Beneath (E4M1) Main"]},
|
"connections":["Hell Beneath (E4M1) Main"]},
|
||||||
|
|
||||||
# Perfect Hatred (E4M2)
|
# Perfect Hatred (E4M2)
|
||||||
{"name":"Perfect Hatred (E4M2) Main",
|
{"name":"Perfect Hatred (E4M2) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Perfect Hatred (E4M2) Blue",
|
"Perfect Hatred (E4M2) Blue",
|
||||||
"Perfect Hatred (E4M2) Yellow"]},
|
"Perfect Hatred (E4M2) Yellow"]},
|
||||||
{"name":"Perfect Hatred (E4M2) Blue",
|
{"name":"Perfect Hatred (E4M2) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Perfect Hatred (E4M2) Main",
|
"Perfect Hatred (E4M2) Main",
|
||||||
"Perfect Hatred (E4M2) Cave"]},
|
"Perfect Hatred (E4M2) Cave"]},
|
||||||
{"name":"Perfect Hatred (E4M2) Yellow",
|
{"name":"Perfect Hatred (E4M2) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Perfect Hatred (E4M2) Main",
|
"Perfect Hatred (E4M2) Main",
|
||||||
"Perfect Hatred (E4M2) Cave"]},
|
"Perfect Hatred (E4M2) Cave"]},
|
||||||
{"name":"Perfect Hatred (E4M2) Cave",
|
{"name":"Perfect Hatred (E4M2) Cave",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":[]},
|
"connections":[]},
|
||||||
|
|
||||||
# Sever the Wicked (E4M3)
|
# Sever the Wicked (E4M3)
|
||||||
{"name":"Sever the Wicked (E4M3) Main",
|
{"name":"Sever the Wicked (E4M3) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":["Sever the Wicked (E4M3) Red"]},
|
"connections":["Sever the Wicked (E4M3) Red"]},
|
||||||
{"name":"Sever the Wicked (E4M3) Red",
|
{"name":"Sever the Wicked (E4M3) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Sever the Wicked (E4M3) Blue",
|
"Sever the Wicked (E4M3) Blue",
|
||||||
"Sever the Wicked (E4M3) Main"]},
|
"Sever the Wicked (E4M3) Main"]},
|
||||||
{"name":"Sever the Wicked (E4M3) Blue",
|
{"name":"Sever the Wicked (E4M3) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Sever the Wicked (E4M3) Red"]},
|
"connections":["Sever the Wicked (E4M3) Red"]},
|
||||||
|
|
||||||
# Unruly Evil (E4M4)
|
# Unruly Evil (E4M4)
|
||||||
{"name":"Unruly Evil (E4M4) Main",
|
{"name":"Unruly Evil (E4M4) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":["Unruly Evil (E4M4) Red"]},
|
"connections":["Unruly Evil (E4M4) Red"]},
|
||||||
{"name":"Unruly Evil (E4M4) Red",
|
{"name":"Unruly Evil (E4M4) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Unruly Evil (E4M4) Main"]},
|
"connections":["Unruly Evil (E4M4) Main"]},
|
||||||
|
|
||||||
# They Will Repent (E4M5)
|
# They Will Repent (E4M5)
|
||||||
{"name":"They Will Repent (E4M5) Main",
|
{"name":"They Will Repent (E4M5) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":["They Will Repent (E4M5) Red"]},
|
"connections":["They Will Repent (E4M5) Red"]},
|
||||||
{"name":"They Will Repent (E4M5) Yellow",
|
{"name":"They Will Repent (E4M5) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["They Will Repent (E4M5) Red"]},
|
"connections":["They Will Repent (E4M5) Red"]},
|
||||||
{"name":"They Will Repent (E4M5) Blue",
|
{"name":"They Will Repent (E4M5) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["They Will Repent (E4M5) Red"]},
|
"connections":["They Will Repent (E4M5) Red"]},
|
||||||
{"name":"They Will Repent (E4M5) Red",
|
{"name":"They Will Repent (E4M5) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"They Will Repent (E4M5) Main",
|
"They Will Repent (E4M5) Main",
|
||||||
"They Will Repent (E4M5) Yellow",
|
"They Will Repent (E4M5) Yellow",
|
||||||
|
@ -430,59 +527,73 @@ regions:List[RegionDict] = [
|
||||||
# Against Thee Wickedly (E4M6)
|
# Against Thee Wickedly (E4M6)
|
||||||
{"name":"Against Thee Wickedly (E4M6) Main",
|
{"name":"Against Thee Wickedly (E4M6) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Against Thee Wickedly (E4M6) Blue",
|
"Against Thee Wickedly (E4M6) Blue",
|
||||||
"Against Thee Wickedly (E4M6) Yellow",
|
"Against Thee Wickedly (E4M6) Yellow",
|
||||||
"Against Thee Wickedly (E4M6) Red"]},
|
"Against Thee Wickedly (E4M6) Red"]},
|
||||||
{"name":"Against Thee Wickedly (E4M6) Red",
|
{"name":"Against Thee Wickedly (E4M6) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
||||||
{"name":"Against Thee Wickedly (E4M6) Blue",
|
{"name":"Against Thee Wickedly (E4M6) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
||||||
{"name":"Against Thee Wickedly (E4M6) Yellow",
|
{"name":"Against Thee Wickedly (E4M6) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
"connections":["Against Thee Wickedly (E4M6) Main"]},
|
||||||
|
|
||||||
# And Hell Followed (E4M7)
|
# And Hell Followed (E4M7)
|
||||||
{"name":"And Hell Followed (E4M7) Main",
|
{"name":"And Hell Followed (E4M7) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"And Hell Followed (E4M7) Blue",
|
"And Hell Followed (E4M7) Blue",
|
||||||
"And Hell Followed (E4M7) Red",
|
"And Hell Followed (E4M7) Red",
|
||||||
"And Hell Followed (E4M7) Yellow"]},
|
"And Hell Followed (E4M7) Yellow"]},
|
||||||
{"name":"And Hell Followed (E4M7) Red",
|
{"name":"And Hell Followed (E4M7) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["And Hell Followed (E4M7) Main"]},
|
"connections":["And Hell Followed (E4M7) Main"]},
|
||||||
{"name":"And Hell Followed (E4M7) Blue",
|
{"name":"And Hell Followed (E4M7) Blue",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["And Hell Followed (E4M7) Main"]},
|
"connections":["And Hell Followed (E4M7) Main"]},
|
||||||
{"name":"And Hell Followed (E4M7) Yellow",
|
{"name":"And Hell Followed (E4M7) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["And Hell Followed (E4M7) Main"]},
|
"connections":["And Hell Followed (E4M7) Main"]},
|
||||||
|
|
||||||
# Unto the Cruel (E4M8)
|
# Unto the Cruel (E4M8)
|
||||||
{"name":"Unto the Cruel (E4M8) Main",
|
{"name":"Unto the Cruel (E4M8) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":[
|
"connections":[
|
||||||
"Unto the Cruel (E4M8) Red",
|
"Unto the Cruel (E4M8) Red",
|
||||||
"Unto the Cruel (E4M8) Yellow",
|
"Unto the Cruel (E4M8) Yellow",
|
||||||
"Unto the Cruel (E4M8) Orange"]},
|
"Unto the Cruel (E4M8) Orange"]},
|
||||||
{"name":"Unto the Cruel (E4M8) Yellow",
|
{"name":"Unto the Cruel (E4M8) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Unto the Cruel (E4M8) Main"]},
|
"connections":["Unto the Cruel (E4M8) Main"]},
|
||||||
{"name":"Unto the Cruel (E4M8) Red",
|
{"name":"Unto the Cruel (E4M8) Red",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Unto the Cruel (E4M8) Main"]},
|
"connections":["Unto the Cruel (E4M8) Main"]},
|
||||||
{"name":"Unto the Cruel (E4M8) Orange",
|
{"name":"Unto the Cruel (E4M8) Orange",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Unto the Cruel (E4M8) Main"]},
|
"connections":["Unto the Cruel (E4M8) Main"]},
|
||||||
|
|
||||||
# Fear (E4M9)
|
# Fear (E4M9)
|
||||||
{"name":"Fear (E4M9) Main",
|
{"name":"Fear (E4M9) Main",
|
||||||
"connects_to_hub":True,
|
"connects_to_hub":True,
|
||||||
|
"episode":4,
|
||||||
"connections":["Fear (E4M9) Yellow"]},
|
"connections":["Fear (E4M9) Yellow"]},
|
||||||
{"name":"Fear (E4M9) Yellow",
|
{"name":"Fear (E4M9) Yellow",
|
||||||
"connects_to_hub":False,
|
"connects_to_hub":False,
|
||||||
|
"episode":4,
|
||||||
"connections":["Fear (E4M9) Main"]},
|
"connections":["Fear (E4M9) Main"]},
|
||||||
]
|
]
|
||||||
|
|
|
@ -7,10 +7,7 @@ if TYPE_CHECKING:
|
||||||
from . import DOOM1993World
|
from . import DOOM1993World
|
||||||
|
|
||||||
|
|
||||||
def set_rules(doom_1993_world: "DOOM1993World"):
|
def set_episode1_rules(player, world):
|
||||||
player = doom_1993_world.player
|
|
||||||
world = doom_1993_world.multiworld
|
|
||||||
|
|
||||||
# Hangar (E1M1)
|
# Hangar (E1M1)
|
||||||
set_rule(world.get_entrance("Hub -> Hangar (E1M1) Main", player), lambda state:
|
set_rule(world.get_entrance("Hub -> Hangar (E1M1) Main", player), lambda state:
|
||||||
state.has("Hangar (E1M1)", player, 1))
|
state.has("Hangar (E1M1)", player, 1))
|
||||||
|
@ -135,6 +132,8 @@ def set_rules(doom_1993_world: "DOOM1993World"):
|
||||||
set_rule(world.get_entrance("Military Base (E1M9) Yellow -> Military Base (E1M9) Main", player), lambda state:
|
set_rule(world.get_entrance("Military Base (E1M9) Yellow -> Military Base (E1M9) Main", player), lambda state:
|
||||||
state.has("Military Base (E1M9) - Yellow keycard", player, 1))
|
state.has("Military Base (E1M9) - Yellow keycard", player, 1))
|
||||||
|
|
||||||
|
|
||||||
|
def set_episode2_rules(player, world):
|
||||||
# Deimos Anomaly (E2M1)
|
# Deimos Anomaly (E2M1)
|
||||||
set_rule(world.get_entrance("Hub -> Deimos Anomaly (E2M1) Main", player), lambda state:
|
set_rule(world.get_entrance("Hub -> Deimos Anomaly (E2M1) Main", player), lambda state:
|
||||||
state.has("Deimos Anomaly (E2M1)", player, 1))
|
state.has("Deimos Anomaly (E2M1)", player, 1))
|
||||||
|
@ -263,6 +262,8 @@ def set_rules(doom_1993_world: "DOOM1993World"):
|
||||||
set_rule(world.get_entrance("Fortress of Mystery (E2M9) Yellow -> Fortress of Mystery (E2M9) Main", player), lambda state:
|
set_rule(world.get_entrance("Fortress of Mystery (E2M9) Yellow -> Fortress of Mystery (E2M9) Main", player), lambda state:
|
||||||
state.has("Fortress of Mystery (E2M9) - Yellow skull key", player, 1))
|
state.has("Fortress of Mystery (E2M9) - Yellow skull key", player, 1))
|
||||||
|
|
||||||
|
|
||||||
|
def set_episode3_rules(player, world):
|
||||||
# Hell Keep (E3M1)
|
# Hell Keep (E3M1)
|
||||||
set_rule(world.get_entrance("Hub -> Hell Keep (E3M1) Main", player), lambda state:
|
set_rule(world.get_entrance("Hub -> Hell Keep (E3M1) Main", player), lambda state:
|
||||||
state.has("Hell Keep (E3M1)", player, 1))
|
state.has("Hell Keep (E3M1)", player, 1))
|
||||||
|
@ -384,6 +385,8 @@ def set_rules(doom_1993_world: "DOOM1993World"):
|
||||||
set_rule(world.get_entrance("Warrens (E3M9) Blue -> Warrens (E3M9) Main", player), lambda state:
|
set_rule(world.get_entrance("Warrens (E3M9) Blue -> Warrens (E3M9) Main", player), lambda state:
|
||||||
state.has("Warrens (E3M9) - Blue skull key", player, 1))
|
state.has("Warrens (E3M9) - Blue skull key", player, 1))
|
||||||
|
|
||||||
|
|
||||||
|
def set_episode4_rules(player, world):
|
||||||
# Hell Beneath (E4M1)
|
# Hell Beneath (E4M1)
|
||||||
set_rule(world.get_entrance("Hub -> Hell Beneath (E4M1) Main", player), lambda state:
|
set_rule(world.get_entrance("Hub -> Hell Beneath (E4M1) Main", player), lambda state:
|
||||||
state.has("Hell Beneath (E4M1)", player, 1))
|
state.has("Hell Beneath (E4M1)", player, 1))
|
||||||
|
@ -519,3 +522,16 @@ def set_rules(doom_1993_world: "DOOM1993World"):
|
||||||
set_rule(world.get_entrance("Fear (E4M9) Yellow -> Fear (E4M9) Main", player), lambda state:
|
set_rule(world.get_entrance("Fear (E4M9) Yellow -> Fear (E4M9) Main", player), lambda state:
|
||||||
state.has("Fear (E4M9) - Yellow skull key", player, 1))
|
state.has("Fear (E4M9) - Yellow skull key", player, 1))
|
||||||
|
|
||||||
|
|
||||||
|
def set_rules(doom_1993_world: "DOOM1993World", included_episodes):
|
||||||
|
player = doom_1993_world.player
|
||||||
|
world = doom_1993_world.multiworld
|
||||||
|
|
||||||
|
if included_episodes[0]:
|
||||||
|
set_episode1_rules(player, world)
|
||||||
|
if included_episodes[1]:
|
||||||
|
set_episode2_rules(player, world)
|
||||||
|
if included_episodes[2]:
|
||||||
|
set_episode3_rules(player, world)
|
||||||
|
if included_episodes[3]:
|
||||||
|
set_episode4_rules(player, world)
|
||||||
|
|
|
@ -100,6 +100,9 @@ class DOOM1993World(World):
|
||||||
main_regions = []
|
main_regions = []
|
||||||
connections = []
|
connections = []
|
||||||
for region_dict in Regions.regions:
|
for region_dict in Regions.regions:
|
||||||
|
if not self.included_episodes[region_dict["episode"] - 1]:
|
||||||
|
continue
|
||||||
|
|
||||||
region_name = region_dict["name"]
|
region_name = region_dict["name"]
|
||||||
if region_dict["connects_to_hub"]:
|
if region_dict["connects_to_hub"]:
|
||||||
main_regions.append(region_name)
|
main_regions.append(region_name)
|
||||||
|
@ -148,7 +151,7 @@ class DOOM1993World(World):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def set_rules(self):
|
def set_rules(self):
|
||||||
Rules.set_rules(self)
|
Rules.set_rules(self, self.included_episodes)
|
||||||
self.multiworld.completion_condition[self.player] = lambda state: self.completion_rule(state)
|
self.multiworld.completion_condition[self.player] = lambda state: self.completion_rule(state)
|
||||||
|
|
||||||
# Forbid progression items to locations that can be missed and can't be picked up. (e.g. One-time timed
|
# Forbid progression items to locations that can be missed and can't be picked up. (e.g. One-time timed
|
||||||
|
|
Loading…
Reference in New Issue