664 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			664 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # This file is auto generated. More info: https://github.com/Daivuk/apdoom
 | |
| 
 | |
| from typing import List
 | |
| from BaseClasses import TypedDict
 | |
| 
 | |
| class ConnectionDict(TypedDict, total=False):
 | |
|     target: str
 | |
|     pro: bool
 | |
| 
 | |
| class RegionDict(TypedDict, total=False):
 | |
|     name: str
 | |
|     connects_to_hub: bool
 | |
|     episode: int
 | |
|     connections: List[ConnectionDict]
 | |
| 
 | |
| 
 | |
| regions:List[RegionDict] = [
 | |
|     # Hangar (E1M1)
 | |
|     {"name":"Hangar (E1M1) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Nuclear Plant (E1M2)
 | |
|     {"name":"Nuclear Plant (E1M2) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Nuclear Plant (E1M2) Red","pro":False}]},
 | |
|     {"name":"Nuclear Plant (E1M2) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Nuclear Plant (E1M2) Main","pro":False}]},
 | |
| 
 | |
|     # Toxin Refinery (E1M3)
 | |
|     {"name":"Toxin Refinery (E1M3) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Toxin Refinery (E1M3) Blue","pro":False}]},
 | |
|     {"name":"Toxin Refinery (E1M3) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Toxin Refinery (E1M3) Yellow","pro":False},
 | |
|         {"target":"Toxin Refinery (E1M3) Main","pro":False}]},
 | |
|     {"name":"Toxin Refinery (E1M3) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Toxin Refinery (E1M3) Blue","pro":False}]},
 | |
| 
 | |
|     # Command Control (E1M4)
 | |
|     {"name":"Command Control (E1M4) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Command Control (E1M4) Blue","pro":False},
 | |
|         {"target":"Command Control (E1M4) Yellow","pro":False},
 | |
|         {"target":"Command Control (E1M4) Ledge","pro":True}]},
 | |
|     {"name":"Command Control (E1M4) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Command Control (E1M4) Ledge","pro":False},
 | |
|         {"target":"Command Control (E1M4) Main","pro":False}]},
 | |
|     {"name":"Command Control (E1M4) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Command Control (E1M4) Main","pro":False}]},
 | |
|     {"name":"Command Control (E1M4) Ledge",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Command Control (E1M4) Main","pro":False},
 | |
|         {"target":"Command Control (E1M4) Blue","pro":False},
 | |
|         {"target":"Command Control (E1M4) Yellow","pro":False}]},
 | |
| 
 | |
|     # Phobos Lab (E1M5)
 | |
|     {"name":"Phobos Lab (E1M5) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Phobos Lab (E1M5) Yellow","pro":False}]},
 | |
|     {"name":"Phobos Lab (E1M5) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Phobos Lab (E1M5) Main","pro":False},
 | |
|         {"target":"Phobos Lab (E1M5) Blue","pro":False},
 | |
|         {"target":"Phobos Lab (E1M5) Green","pro":False}]},
 | |
|     {"name":"Phobos Lab (E1M5) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Phobos Lab (E1M5) Green","pro":False},
 | |
|         {"target":"Phobos Lab (E1M5) Yellow","pro":False}]},
 | |
|     {"name":"Phobos Lab (E1M5) Green",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Phobos Lab (E1M5) Main","pro":False},
 | |
|         {"target":"Phobos Lab (E1M5) Blue","pro":False}]},
 | |
| 
 | |
|     # Central Processing (E1M6)
 | |
|     {"name":"Central Processing (E1M6) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Central Processing (E1M6) Yellow","pro":False},
 | |
|         {"target":"Central Processing (E1M6) Red","pro":False},
 | |
|         {"target":"Central Processing (E1M6) Blue","pro":False},
 | |
|         {"target":"Central Processing (E1M6) Nukage","pro":False}]},
 | |
|     {"name":"Central Processing (E1M6) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Central Processing (E1M6) Main","pro":False}]},
 | |
|     {"name":"Central Processing (E1M6) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Central Processing (E1M6) Main","pro":False}]},
 | |
|     {"name":"Central Processing (E1M6) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Central Processing (E1M6) Main","pro":False}]},
 | |
|     {"name":"Central Processing (E1M6) Nukage",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Central Processing (E1M6) Yellow","pro":False}]},
 | |
| 
 | |
|     # Computer Station (E1M7)
 | |
|     {"name":"Computer Station (E1M7) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Computer Station (E1M7) Red","pro":False},
 | |
|         {"target":"Computer Station (E1M7) Yellow","pro":False}]},
 | |
|     {"name":"Computer Station (E1M7) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Computer Station (E1M7) Yellow","pro":False}]},
 | |
|     {"name":"Computer Station (E1M7) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Computer Station (E1M7) Main","pro":False}]},
 | |
|     {"name":"Computer Station (E1M7) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Computer Station (E1M7) Blue","pro":False},
 | |
|         {"target":"Computer Station (E1M7) Courtyard","pro":False},
 | |
|         {"target":"Computer Station (E1M7) Main","pro":False}]},
 | |
|     {"name":"Computer Station (E1M7) Courtyard",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Computer Station (E1M7) Yellow","pro":False}]},
 | |
| 
 | |
|     # Phobos Anomaly (E1M8)
 | |
|     {"name":"Phobos Anomaly (E1M8) Main",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[]},
 | |
|     {"name":"Phobos Anomaly (E1M8) Start",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Phobos Anomaly (E1M8) Main","pro":False}]},
 | |
| 
 | |
|     # Military Base (E1M9)
 | |
|     {"name":"Military Base (E1M9) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":1,
 | |
|      "connections":[
 | |
|         {"target":"Military Base (E1M9) Blue","pro":False},
 | |
|         {"target":"Military Base (E1M9) Yellow","pro":False},
 | |
|         {"target":"Military Base (E1M9) Red","pro":False}]},
 | |
|     {"name":"Military Base (E1M9) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Military Base (E1M9) Main","pro":False}]},
 | |
|     {"name":"Military Base (E1M9) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Military Base (E1M9) Main","pro":False}]},
 | |
|     {"name":"Military Base (E1M9) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":1,
 | |
|      "connections":[{"target":"Military Base (E1M9) Main","pro":False}]},
 | |
| 
 | |
|     # Deimos Anomaly (E2M1)
 | |
|     {"name":"Deimos Anomaly (E2M1) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Deimos Anomaly (E2M1) Red","pro":False},
 | |
|         {"target":"Deimos Anomaly (E2M1) Blue","pro":False}]},
 | |
|     {"name":"Deimos Anomaly (E2M1) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Deimos Anomaly (E2M1) Main","pro":False}]},
 | |
|     {"name":"Deimos Anomaly (E2M1) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Deimos Anomaly (E2M1) Main","pro":False}]},
 | |
| 
 | |
|     # Containment Area (E2M2)
 | |
|     {"name":"Containment Area (E2M2) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Containment Area (E2M2) Yellow","pro":False},
 | |
|         {"target":"Containment Area (E2M2) Blue","pro":False},
 | |
|         {"target":"Containment Area (E2M2) Red","pro":False},
 | |
|         {"target":"Containment Area (E2M2) Red Exit","pro":True}]},
 | |
|     {"name":"Containment Area (E2M2) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Containment Area (E2M2) Main","pro":False}]},
 | |
|     {"name":"Containment Area (E2M2) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Containment Area (E2M2) Main","pro":False},
 | |
|         {"target":"Containment Area (E2M2) Red Exit","pro":False}]},
 | |
|     {"name":"Containment Area (E2M2) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Containment Area (E2M2) Main","pro":False}]},
 | |
|     {"name":"Containment Area (E2M2) Red Exit",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Refinery (E2M3)
 | |
|     {"name":"Refinery (E2M3) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Refinery (E2M3) Blue","pro":False}]},
 | |
|     {"name":"Refinery (E2M3) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Refinery (E2M3) Main","pro":False}]},
 | |
| 
 | |
|     # Deimos Lab (E2M4)
 | |
|     {"name":"Deimos Lab (E2M4) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Deimos Lab (E2M4) Blue","pro":False}]},
 | |
|     {"name":"Deimos Lab (E2M4) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Deimos Lab (E2M4) Main","pro":False},
 | |
|         {"target":"Deimos Lab (E2M4) Yellow","pro":False}]},
 | |
|     {"name":"Deimos Lab (E2M4) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Deimos Lab (E2M4) Blue","pro":False}]},
 | |
| 
 | |
|     # Command Center (E2M5)
 | |
|     {"name":"Command Center (E2M5) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Halls of the Damned (E2M6)
 | |
|     {"name":"Halls of the Damned (E2M6) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Halls of the Damned (E2M6) Blue Yellow Red","pro":False},
 | |
|         {"target":"Halls of the Damned (E2M6) Yellow","pro":False},
 | |
|         {"target":"Halls of the Damned (E2M6) One way Yellow","pro":False}]},
 | |
|     {"name":"Halls of the Damned (E2M6) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Halls of the Damned (E2M6) Main","pro":False}]},
 | |
|     {"name":"Halls of the Damned (E2M6) Blue Yellow Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Halls of the Damned (E2M6) Main","pro":False}]},
 | |
|     {"name":"Halls of the Damned (E2M6) One way Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Halls of the Damned (E2M6) Main","pro":False}]},
 | |
| 
 | |
|     # Spawning Vats (E2M7)
 | |
|     {"name":"Spawning Vats (E2M7) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Spawning Vats (E2M7) Blue","pro":False},
 | |
|         {"target":"Spawning Vats (E2M7) Entrance Secret","pro":False},
 | |
|         {"target":"Spawning Vats (E2M7) Red","pro":False},
 | |
|         {"target":"Spawning Vats (E2M7) Yellow","pro":False},
 | |
|         {"target":"Spawning Vats (E2M7) Red Exit","pro":True}]},
 | |
|     {"name":"Spawning Vats (E2M7) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Spawning Vats (E2M7) Main","pro":False}]},
 | |
|     {"name":"Spawning Vats (E2M7) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Spawning Vats (E2M7) Main","pro":False}]},
 | |
|     {"name":"Spawning Vats (E2M7) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Spawning Vats (E2M7) Main","pro":False},
 | |
|         {"target":"Spawning Vats (E2M7) Red Exit","pro":False}]},
 | |
|     {"name":"Spawning Vats (E2M7) Entrance Secret",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Spawning Vats (E2M7) Main","pro":False}]},
 | |
|     {"name":"Spawning Vats (E2M7) Red Exit",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Tower of Babel (E2M8)
 | |
|     {"name":"Tower of Babel (E2M8) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Fortress of Mystery (E2M9)
 | |
|     {"name":"Fortress of Mystery (E2M9) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":2,
 | |
|      "connections":[
 | |
|         {"target":"Fortress of Mystery (E2M9) Blue","pro":False},
 | |
|         {"target":"Fortress of Mystery (E2M9) Red","pro":False},
 | |
|         {"target":"Fortress of Mystery (E2M9) Yellow","pro":False}]},
 | |
|     {"name":"Fortress of Mystery (E2M9) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Fortress of Mystery (E2M9) Main","pro":False}]},
 | |
|     {"name":"Fortress of Mystery (E2M9) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Fortress of Mystery (E2M9) Main","pro":False}]},
 | |
|     {"name":"Fortress of Mystery (E2M9) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":2,
 | |
|      "connections":[{"target":"Fortress of Mystery (E2M9) Main","pro":False}]},
 | |
| 
 | |
|     # Hell Keep (E3M1)
 | |
|     {"name":"Hell Keep (E3M1) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Hell Keep (E3M1) Narrow","pro":False}]},
 | |
|     {"name":"Hell Keep (E3M1) Narrow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Hell Keep (E3M1) Main","pro":False}]},
 | |
| 
 | |
|     # Slough of Despair (E3M2)
 | |
|     {"name":"Slough of Despair (E3M2) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Slough of Despair (E3M2) Blue","pro":False}]},
 | |
|     {"name":"Slough of Despair (E3M2) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Slough of Despair (E3M2) Main","pro":False}]},
 | |
| 
 | |
|     # Pandemonium (E3M3)
 | |
|     {"name":"Pandemonium (E3M3) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Pandemonium (E3M3) Blue","pro":False}]},
 | |
|     {"name":"Pandemonium (E3M3) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Pandemonium (E3M3) Main","pro":False}]},
 | |
| 
 | |
|     # House of Pain (E3M4)
 | |
|     {"name":"House of Pain (E3M4) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"House of Pain (E3M4) Blue","pro":False}]},
 | |
|     {"name":"House of Pain (E3M4) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"House of Pain (E3M4) Main","pro":False},
 | |
|         {"target":"House of Pain (E3M4) Yellow","pro":False},
 | |
|         {"target":"House of Pain (E3M4) Red","pro":False}]},
 | |
|     {"name":"House of Pain (E3M4) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"House of Pain (E3M4) Blue","pro":False}]},
 | |
|     {"name":"House of Pain (E3M4) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"House of Pain (E3M4) Blue","pro":False}]},
 | |
| 
 | |
|     # Unholy Cathedral (E3M5)
 | |
|     {"name":"Unholy Cathedral (E3M5) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Unholy Cathedral (E3M5) Yellow","pro":False},
 | |
|         {"target":"Unholy Cathedral (E3M5) Blue","pro":False}]},
 | |
|     {"name":"Unholy Cathedral (E3M5) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Unholy Cathedral (E3M5) Main","pro":False}]},
 | |
|     {"name":"Unholy Cathedral (E3M5) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Unholy Cathedral (E3M5) Main","pro":False}]},
 | |
| 
 | |
|     # Mt. Erebus (E3M6)
 | |
|     {"name":"Mt. Erebus (E3M6) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Mt. Erebus (E3M6) Blue","pro":False}]},
 | |
|     {"name":"Mt. Erebus (E3M6) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Mt. Erebus (E3M6) Main","pro":False}]},
 | |
| 
 | |
|     # Limbo (E3M7)
 | |
|     {"name":"Limbo (E3M7) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Limbo (E3M7) Red","pro":False},
 | |
|         {"target":"Limbo (E3M7) Blue","pro":False},
 | |
|         {"target":"Limbo (E3M7) Pink","pro":False}]},
 | |
|     {"name":"Limbo (E3M7) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Limbo (E3M7) Main","pro":False}]},
 | |
|     {"name":"Limbo (E3M7) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Limbo (E3M7) Main","pro":False},
 | |
|         {"target":"Limbo (E3M7) Yellow","pro":False},
 | |
|         {"target":"Limbo (E3M7) Green","pro":False}]},
 | |
|     {"name":"Limbo (E3M7) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[{"target":"Limbo (E3M7) Red","pro":False}]},
 | |
|     {"name":"Limbo (E3M7) Pink",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Limbo (E3M7) Green","pro":False},
 | |
|         {"target":"Limbo (E3M7) Main","pro":False}]},
 | |
|     {"name":"Limbo (E3M7) Green",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Limbo (E3M7) Pink","pro":False},
 | |
|         {"target":"Limbo (E3M7) Red","pro":False}]},
 | |
| 
 | |
|     # Dis (E3M8)
 | |
|     {"name":"Dis (E3M8) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Warrens (E3M9)
 | |
|     {"name":"Warrens (E3M9) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Warrens (E3M9) Blue","pro":False},
 | |
|         {"target":"Warrens (E3M9) Blue trigger","pro":False}]},
 | |
|     {"name":"Warrens (E3M9) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[]},
 | |
|     {"name":"Warrens (E3M9) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[
 | |
|         {"target":"Warrens (E3M9) Main","pro":False},
 | |
|         {"target":"Warrens (E3M9) Red","pro":False}]},
 | |
|     {"name":"Warrens (E3M9) Blue trigger",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":3,
 | |
|      "connections":[]},
 | |
| 
 | |
|     # Hell Beneath (E4M1)
 | |
|     {"name":"Hell Beneath (E4M1) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Hell Beneath (E4M1) Red","pro":False},
 | |
|         {"target":"Hell Beneath (E4M1) Blue","pro":False}]},
 | |
|     {"name":"Hell Beneath (E4M1) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Hell Beneath (E4M1) Main","pro":False}]},
 | |
|     {"name":"Hell Beneath (E4M1) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Hell Beneath (E4M1) Main","pro":False}]},
 | |
| 
 | |
|     # Perfect Hatred (E4M2)
 | |
|     {"name":"Perfect Hatred (E4M2) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Perfect Hatred (E4M2) Blue","pro":False},
 | |
|         {"target":"Perfect Hatred (E4M2) Yellow","pro":False},
 | |
|         {"target":"Perfect Hatred (E4M2) Upper","pro":True}]},
 | |
|     {"name":"Perfect Hatred (E4M2) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Perfect Hatred (E4M2) Upper","pro":False}]},
 | |
|     {"name":"Perfect Hatred (E4M2) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Perfect Hatred (E4M2) Main","pro":False},
 | |
|         {"target":"Perfect Hatred (E4M2) Cave","pro":False}]},
 | |
|     {"name":"Perfect Hatred (E4M2) Cave",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Perfect Hatred (E4M2) Main","pro":False}]},
 | |
|     {"name":"Perfect Hatred (E4M2) Upper",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Perfect Hatred (E4M2) Cave","pro":False},
 | |
|         {"target":"Perfect Hatred (E4M2) Main","pro":False}]},
 | |
| 
 | |
|     # Sever the Wicked (E4M3)
 | |
|     {"name":"Sever the Wicked (E4M3) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Sever the Wicked (E4M3) Red","pro":False}]},
 | |
|     {"name":"Sever the Wicked (E4M3) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Sever the Wicked (E4M3) Blue","pro":False},
 | |
|         {"target":"Sever the Wicked (E4M3) Main","pro":False}]},
 | |
|     {"name":"Sever the Wicked (E4M3) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Sever the Wicked (E4M3) Red","pro":False}]},
 | |
| 
 | |
|     # Unruly Evil (E4M4)
 | |
|     {"name":"Unruly Evil (E4M4) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Unruly Evil (E4M4) Red","pro":False}]},
 | |
|     {"name":"Unruly Evil (E4M4) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Unruly Evil (E4M4) Main","pro":False}]},
 | |
| 
 | |
|     # They Will Repent (E4M5)
 | |
|     {"name":"They Will Repent (E4M5) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"They Will Repent (E4M5) Red","pro":False}]},
 | |
|     {"name":"They Will Repent (E4M5) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"They Will Repent (E4M5) Red","pro":False}]},
 | |
|     {"name":"They Will Repent (E4M5) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"They Will Repent (E4M5) Red","pro":False}]},
 | |
|     {"name":"They Will Repent (E4M5) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"They Will Repent (E4M5) Main","pro":False},
 | |
|         {"target":"They Will Repent (E4M5) Yellow","pro":False},
 | |
|         {"target":"They Will Repent (E4M5) Blue","pro":False}]},
 | |
| 
 | |
|     # Against Thee Wickedly (E4M6)
 | |
|     {"name":"Against Thee Wickedly (E4M6) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Against Thee Wickedly (E4M6) Blue","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Pink","pro":True}]},
 | |
|     {"name":"Against Thee Wickedly (E4M6) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Against Thee Wickedly (E4M6) Blue","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Pink","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Main","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Magenta","pro":True}]},
 | |
|     {"name":"Against Thee Wickedly (E4M6) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Against Thee Wickedly (E4M6) Main","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Yellow","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Red","pro":False}]},
 | |
|     {"name":"Against Thee Wickedly (E4M6) Magenta",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Against Thee Wickedly (E4M6) Main","pro":False}]},
 | |
|     {"name":"Against Thee Wickedly (E4M6) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Against Thee Wickedly (E4M6) Blue","pro":False},
 | |
|         {"target":"Against Thee Wickedly (E4M6) Magenta","pro":False}]},
 | |
|     {"name":"Against Thee Wickedly (E4M6) Pink",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Against Thee Wickedly (E4M6) Main","pro":False}]},
 | |
| 
 | |
|     # And Hell Followed (E4M7)
 | |
|     {"name":"And Hell Followed (E4M7) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"And Hell Followed (E4M7) Blue","pro":False},
 | |
|         {"target":"And Hell Followed (E4M7) Red","pro":False},
 | |
|         {"target":"And Hell Followed (E4M7) Yellow","pro":False}]},
 | |
|     {"name":"And Hell Followed (E4M7) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"And Hell Followed (E4M7) Main","pro":False}]},
 | |
|     {"name":"And Hell Followed (E4M7) Blue",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"And Hell Followed (E4M7) Main","pro":False}]},
 | |
|     {"name":"And Hell Followed (E4M7) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"And Hell Followed (E4M7) Main","pro":False}]},
 | |
| 
 | |
|     # Unto the Cruel (E4M8)
 | |
|     {"name":"Unto the Cruel (E4M8) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[
 | |
|         {"target":"Unto the Cruel (E4M8) Red","pro":False},
 | |
|         {"target":"Unto the Cruel (E4M8) Yellow","pro":False},
 | |
|         {"target":"Unto the Cruel (E4M8) Orange","pro":False}]},
 | |
|     {"name":"Unto the Cruel (E4M8) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Unto the Cruel (E4M8) Main","pro":False}]},
 | |
|     {"name":"Unto the Cruel (E4M8) Red",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Unto the Cruel (E4M8) Main","pro":False}]},
 | |
|     {"name":"Unto the Cruel (E4M8) Orange",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Unto the Cruel (E4M8) Main","pro":False}]},
 | |
| 
 | |
|     # Fear (E4M9)
 | |
|     {"name":"Fear (E4M9) Main",
 | |
|      "connects_to_hub":True,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Fear (E4M9) Yellow","pro":False}]},
 | |
|     {"name":"Fear (E4M9) Yellow",
 | |
|      "connects_to_hub":False,
 | |
|      "episode":4,
 | |
|      "connections":[{"target":"Fear (E4M9) Main","pro":False}]},
 | |
| ]
 | 
