Skip to content

Commit

Permalink
Added Days Locations/Items. Fixed Trickmaster Again
Browse files Browse the repository at this point in the history
  • Loading branch information
gaithern committed Dec 13, 2023
1 parent cf75ee9 commit b43df5e
Show file tree
Hide file tree
Showing 6 changed files with 351 additions and 235 deletions.
501 changes: 270 additions & 231 deletions worlds/khrecom/Items.py

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions worlds/khrecom/Locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
"Traverse Town Room of Truth": KHRECOMLocationData("Progression", 269_0105),
"Traverse Town Room of Truth (Enemy Cards Guard Armor)": KHRECOMLocationData("Progression", 269_0106),
"Traverse Town Room of Rewards (Attack Cards Lionheart)": KHRECOMLocationData("Progression", 269_0107),
"Traverse Town Bounty (Attack Cards Maverick Flare)": KHRECOMLocationData("Days" , 269_0108), #Days Location
"Traverse Town Room of Rewards (Enemy Cards Saix)": KHRECOMLocationData("Days" , 269_0109), #Days Location

"Wonderland Bounty (Magic Cards Stop)": KHRECOMLocationData("Progression", 269_0201),
"Wonderland Field (Attack Cards Lady Luck)": KHRECOMLocationData("Progression", 269_0202),
Expand All @@ -44,6 +46,7 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
"Wonderland Room of Guidance": KHRECOMLocationData("Progression", 269_0205),
"Wonderland Room of Truth": KHRECOMLocationData("Progression", 269_0206),
"Wonderland Room of Truth (Enemy Cards Trickmaster)": KHRECOMLocationData("Progression", 269_0207),
"Wonderland Room of Rewards (Enemy Cards Xemnas)": KHRECOMLocationData("Days" , 269_0208), #Days Location

"Olympus Coliseum Field (Attack Card Olympia)": KHRECOMLocationData("Progression", 269_0301),
"Olympus Coliseum Room of Beginnings": KHRECOMLocationData("Progression", 269_0302),
Expand All @@ -53,13 +56,15 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
"Olympus Coliseum Room of Truth (Enemy Cards Hades)": KHRECOMLocationData("Progression", 269_0306),
"Olympus Coliseum Room of Truth (Summon Cards Cloud)": KHRECOMLocationData("Progression", 269_0307),
"Olympus Coliseum Room of Rewards (Attack Cards Metal Chocobo)": KHRECOMLocationData("Progression", 269_0308),
"Olympus Coliseum Room of Rewards (Attack Cards Total Eclipse)": KHRECOMLocationData("Days" , 269_0309), #Days Location

"Monstro Field (Attack Cards Wishing Star)": KHRECOMLocationData("Progression", 269_0401),
"Monstro Room of Beginnings": KHRECOMLocationData("Progression", 269_0402),
"Monstro Room of Guidance": KHRECOMLocationData("Progression", 269_0403),
"Monstro Room of Guidance (Enemy Cards Parasite Cage)": KHRECOMLocationData("Progression", 269_0404),
"Monstro Room of Truth": KHRECOMLocationData("Progression", 269_0405),
"Monstro Room of Truth (Summon Cards Dumbo)": KHRECOMLocationData("Progression", 269_0406),
"Monstro Room of Rewards (Enemy Cards Xaldin)": KHRECOMLocationData("Days" , 269_0407), #Days Location

"Agrabah Bounty (Magic Cards Gravity)": KHRECOMLocationData("Progression", 269_0501),
"Agrabah Field (Attack Cards Three Wishes)": KHRECOMLocationData("Progression", 269_0502),
Expand All @@ -69,34 +74,39 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
"Agrabah Room of Truth": KHRECOMLocationData("Progression", 269_0506),
"Agrabah Room of Truth (Enemy Cards Jafar)": KHRECOMLocationData("Progression", 269_0507),
"Agrabah Room of Truth (Summon Cards Genie)": KHRECOMLocationData("Progression", 269_0508),
"Agrabah Room of Rewards (Enemy Cards Luxord)": KHRECOMLocationData("Days" , 269_0509), #Days Location

"Halloween Town Field (Attack Cards Pumpkinhead)": KHRECOMLocationData("Progression", 269_0601),
"Halloween Town Post Floor (Magic Cards Thunder)": KHRECOMLocationData("Progression", 269_0602),
"Halloween Town Room of Beginnings": KHRECOMLocationData("Progression", 269_0603),
"Halloween Town Room of Guidance": KHRECOMLocationData("Progression", 269_0604),
"Halloween Town Room of Truth": KHRECOMLocationData("Progression", 269_0605),
"Halloween Town Room of Truth (Enemy Cards Oogie Boogie)": KHRECOMLocationData("Progression", 269_0606),
"Halloween Town Room of Rewards (Attack Cards Bond of Flame)": KHRECOMLocationData("Days" , 269_0607), #Days Location

"Atlantica Field (Attack Cards Crabclaw)": KHRECOMLocationData("Progression", 269_0701),
"Atlantica Post Floor (Magic Cards Aero)": KHRECOMLocationData("Progression", 269_0702),
"Atlantica Room of Beginnings": KHRECOMLocationData("Progression", 269_0703),
"Atlantica Room of Guidance": KHRECOMLocationData("Progression", 269_0704),
"Atlantica Room of Truth": KHRECOMLocationData("Progression", 269_0705),
"Atlantica Room of Truth (Enemy Cards Ursula)": KHRECOMLocationData("Progression", 269_0706),
"Atlantica Room of Rewards (Enemy Cards Demyx)": KHRECOMLocationData("Days" , 269_0707), #Days Location

"Neverland Field (Attack Cards Fairy Harp)": KHRECOMLocationData("Progression", 269_0801),
"Neverland Room of Beginnings": KHRECOMLocationData("Progression", 269_0802),
"Neverland Room of Guidance": KHRECOMLocationData("Progression", 269_0803),
"Neverland Room of Truth": KHRECOMLocationData("Progression", 269_0804),
"Neverland Room of Truth (Enemy Cards Hook)": KHRECOMLocationData("Progression", 269_0805),
"Neverland Room of Truth (Summon Cards Tinker Bell)": KHRECOMLocationData("Progression", 269_0806),
"Neverland Room of Rewards (Attack Cards Midnight Roar)": KHRECOMLocationData("Days" , 269_0807), #Days Location

"Hollow Bastion Field (Attack Cards Divine Rose)": KHRECOMLocationData("Progression", 269_0901),
"Hollow Bastion Room of Beginnings": KHRECOMLocationData("Progression", 269_0902),
"Hollow Bastion Room of Guidance": KHRECOMLocationData("Progression", 269_0903),
"Hollow Bastion Room of Truth": KHRECOMLocationData("Progression", 269_0904),
"Hollow Bastion Room of Truth (Enemy Cards Dragon Maleficent)": KHRECOMLocationData("Progression", 269_0905),
"Hollow Bastion Room of Rewards (Summon Cards Mushu)": KHRECOMLocationData("Progression", 269_0906),
"Hollow Bastion Room of Rewards (Enemy Cards Xigbar)": KHRECOMLocationData("Days" , 269_0907), #Days Location

"100 Acre Wood Clear (Summon Cards Bambi)": KHRECOMLocationData("Progression", 269_1001),
"100 Acre Wood Mini Game Bumble Rumble (Item Cards Elixir)": KHRECOMLocationData("Progression", 269_1002),
Expand All @@ -106,6 +116,8 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
#"Twilight Town Post Floor (Item Cards Mega-Potion)": KHRECOMLocationData("Progression", 269_1101), Bugged because of the post floor scene?
"Twilight Town Room of Beginnings": KHRECOMLocationData("Progression", 269_1102),
"Twilight Town Room of Beginnings (Enemy Cards Vexen)": KHRECOMLocationData("Progression", 269_1103),
"Twilight Town Room of Rewards (Enemy Cards Roxas)": KHRECOMLocationData("Days" , 269_1104), #Days Location
"Twilight Town Bounty (Enemy Cards Ansem)": KHRECOMLocationData("Days" , 269_1105), #Days Location

"Destiny Islands Post Floor (Attack Cards Oathkeeper)": KHRECOMLocationData("Progression", 269_1201),
"Destiny Islands Post Floor (Attack Cards Oblivion)": KHRECOMLocationData("Progression", 269_1202),
Expand All @@ -115,10 +127,14 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]:
"Destiny Islands Room of Guidance": KHRECOMLocationData("Progression", 269_1206),
"Destiny Islands Room of Guidance (Enemy Cards Darkside)": KHRECOMLocationData("Progression", 269_1207),
"Destiny Islands Room of Rewards (Item Cards Megalixir)": KHRECOMLocationData("Progression", 269_1208),
"Destiny Islands Bounty (Enemy Cards Zexion)": KHRECOMLocationData("Days" , 269_1209), #Days Location
"Destiny Islands Room of Rewards (Attack Cards Two Become One)": KHRECOMLocationData("Days" , 269_1210), #Days Location

"Castle Oblivion Field Marluxia": KHRECOMLocationData("Progression", 269_1301),
"Castle Oblivion Room of Beginnings": KHRECOMLocationData("Progression", 269_1302),
"Castle Oblivion Room of Beginnings (Enemy Cards Axel)": KHRECOMLocationData("Progression", 269_1303),
"Castle Oblivion Bounty (Enemy Cards Lexaeus)": KHRECOMLocationData("Days" , 269_1304), #Days Location
"Castle Oblivion Room of Rewards (Attack Cards Star Seeker)": KHRECOMLocationData("Days" , 269_1305), #Days Location

"Heartless Air Pirate": KHRECOMLocationData("Progression", 269_1401),
"Heartless Air Soldier": KHRECOMLocationData("Progression", 269_1402),
Expand Down
14 changes: 14 additions & 0 deletions worlds/khrecom/Options.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,23 @@ class EnemyCards(DefaultOnToggle):
"""
display_name = "Enemy Cards"

class DaysItems(Toggle):
"""
Toggle whether items not available to the player until they watch 358/2 Days are included in the item pool.
"""
display_name = "Days Items"

class DaysLocations(Toggle):
"""
Toggle whether locations not available to the player until they watch 358/2 Days are included in the locations list.
"""
display_name = "Days Locations"

khrecom_options: Dict[str, type(Option)] = {
"zeroes": Zeroes,
"cure": Cure,
"early_cure": EarlyCure,
"enemy_cards": EnemyCards,
"days_items": DaysItems,
"days_locations": DaysLocations,
}
30 changes: 29 additions & 1 deletion worlds/khrecom/Regions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class KHRECOMRegionData(NamedTuple):
region_exits: Optional[List[str]]


def create_regions(multiworld: MultiWorld, player: int):
def create_regions(multiworld: MultiWorld, player: int, days: bool):
regions: Dict[str, RLRegionData] = {
"Menu": KHRECOMRegionData(None, ["Floor 1"]),
"Floor 1": KHRECOMRegionData([], ["Warp"]),
Expand Down Expand Up @@ -45,6 +45,9 @@ def create_regions(multiworld: MultiWorld, player: int):
regions["Floor 1"].locations.append("Traverse Town Room of Truth")
regions["Floor 1"].locations.append("Traverse Town Room of Truth (Enemy Cards Guard Armor)")
regions["Floor 1"].locations.append("Traverse Town Room of Rewards (Attack Cards Lionheart)")
if days:
regions["Floor 1"].locations.append("Traverse Town Bounty (Attack Cards Maverick Flare)")
regions["Floor 1"].locations.append("Traverse Town Room of Rewards (Enemy Cards Saix)")

regions["Floor 2"].locations.append("Wonderland Bounty (Magic Cards Stop)")
regions["Floor 2"].locations.append("Wonderland Field (Attack Cards Lady Luck)")
Expand All @@ -53,6 +56,8 @@ def create_regions(multiworld: MultiWorld, player: int):
regions["Floor 2"].locations.append("Wonderland Room of Guidance")
regions["Floor 2"].locations.append("Wonderland Room of Truth")
regions["Floor 2"].locations.append("Wonderland Room of Truth (Enemy Cards Trickmaster)")
if days:
regions["Floor 2"].locations.append("Wonderland Room of Rewards (Enemy Cards Xemnas)")

regions["Floor 3"].locations.append("Olympus Coliseum Field (Attack Card Olympia)")
regions["Floor 3"].locations.append("Olympus Coliseum Room of Beginnings")
Expand All @@ -62,13 +67,17 @@ def create_regions(multiworld: MultiWorld, player: int):
regions["Floor 3"].locations.append("Olympus Coliseum Room of Truth (Enemy Cards Hades)")
regions["Floor 3"].locations.append("Olympus Coliseum Room of Truth (Summon Cards Cloud)")
regions["Floor 3"].locations.append("Olympus Coliseum Room of Rewards (Attack Cards Metal Chocobo)")
if days:
regions["Floor 3"].locations.append("Olympus Coliseum Room of Rewards (Attack Cards Total Eclipse)")

regions["Floor 4"].locations.append("Monstro Field (Attack Cards Wishing Star)")
regions["Floor 4"].locations.append("Monstro Room of Beginnings")
regions["Floor 4"].locations.append("Monstro Room of Guidance")
regions["Floor 4"].locations.append("Monstro Room of Guidance (Enemy Cards Parasite Cage)")
regions["Floor 4"].locations.append("Monstro Room of Truth")
regions["Floor 4"].locations.append("Monstro Room of Truth (Summon Cards Dumbo)")
if days:
regions["Floor 4"].locations.append("Monstro Room of Rewards (Enemy Cards Xaldin)")

regions["Floor 5"].locations.append("Agrabah Bounty (Magic Cards Gravity)")
regions["Floor 5"].locations.append("Agrabah Field (Attack Cards Three Wishes)")
Expand All @@ -78,34 +87,44 @@ def create_regions(multiworld: MultiWorld, player: int):
regions["Floor 5"].locations.append("Agrabah Room of Truth")
regions["Floor 5"].locations.append("Agrabah Room of Truth (Enemy Cards Jafar)")
regions["Floor 5"].locations.append("Agrabah Room of Truth (Summon Cards Genie)")
if days:
regions["Floor 5"].locations.append("Agrabah Room of Rewards (Enemy Cards Luxord)")

regions["Floor 6"].locations.append("Halloween Town Field (Attack Cards Pumpkinhead)")
regions["Floor 6"].locations.append("Halloween Town Post Floor (Magic Cards Thunder)")
regions["Floor 6"].locations.append("Halloween Town Room of Beginnings")
regions["Floor 6"].locations.append("Halloween Town Room of Guidance")
regions["Floor 6"].locations.append("Halloween Town Room of Truth")
regions["Floor 6"].locations.append("Halloween Town Room of Truth (Enemy Cards Oogie Boogie)")
if days:
regions["Floor 6"].locations.append("Halloween Town Room of Rewards (Attack Cards Bond of Flame)")

regions["Floor 7"].locations.append("Atlantica Field (Attack Cards Crabclaw)")
regions["Floor 7"].locations.append("Atlantica Post Floor (Magic Cards Aero)")
regions["Floor 7"].locations.append("Atlantica Room of Beginnings")
regions["Floor 7"].locations.append("Atlantica Room of Guidance")
regions["Floor 7"].locations.append("Atlantica Room of Truth")
regions["Floor 7"].locations.append("Atlantica Room of Truth (Enemy Cards Ursula)")
if days:
regions["Floor 7"].locations.append("Atlantica Room of Rewards (Enemy Cards Demyx)")

regions["Floor 8"].locations.append("Neverland Field (Attack Cards Fairy Harp)")
regions["Floor 8"].locations.append("Neverland Room of Beginnings")
regions["Floor 8"].locations.append("Neverland Room of Guidance")
regions["Floor 8"].locations.append("Neverland Room of Truth")
regions["Floor 8"].locations.append("Neverland Room of Truth (Enemy Cards Hook)")
regions["Floor 8"].locations.append("Neverland Room of Truth (Summon Cards Tinker Bell)")
if days:
regions["Floor 8"].locations.append("Neverland Room of Rewards (Attack Cards Midnight Roar)")

regions["Floor 9"].locations.append("Hollow Bastion Field (Attack Cards Divine Rose)")
regions["Floor 9"].locations.append("Hollow Bastion Room of Beginnings")
regions["Floor 9"].locations.append("Hollow Bastion Room of Guidance")
regions["Floor 9"].locations.append("Hollow Bastion Room of Truth")
regions["Floor 9"].locations.append("Hollow Bastion Room of Truth (Enemy Cards Dragon Maleficent)")
regions["Floor 9"].locations.append("Hollow Bastion Room of Rewards (Summon Cards Mushu)")
if days:
regions["Floor 9"].locations.append("Hollow Bastion Room of Rewards (Enemy Cards Xigbar)")

regions["Floor 10"].locations.append("100 Acre Wood Clear (Summon Cards Bambi)")
regions["Floor 10"].locations.append("100 Acre Wood Mini Game Bumble Rumble (Item Cards Elixir)")
Expand All @@ -115,6 +134,9 @@ def create_regions(multiworld: MultiWorld, player: int):
#regions["Floor 11"].locations.append("Twilight Town Post Floor (Item Cards Mega-Potion)") Bugged because of the post floor scene?
regions["Floor 11"].locations.append("Twilight Town Room of Beginnings")
regions["Floor 11"].locations.append("Twilight Town Room of Beginnings (Enemy Cards Vexen)")
if days:
regions["Floor 11"].locations.append("Twilight Town Room of Rewards (Enemy Cards Roxas)")
regions["Floor 11"].locations.append("Twilight Town Bounty (Enemy Cards Ansem)")

regions["Floor 12"].locations.append("Destiny Islands Post Floor (Attack Cards Oathkeeper)")
regions["Floor 12"].locations.append("Destiny Islands Post Floor (Attack Cards Oblivion)")
Expand All @@ -124,10 +146,16 @@ def create_regions(multiworld: MultiWorld, player: int):
regions["Floor 12"].locations.append("Destiny Islands Room of Guidance")
regions["Floor 12"].locations.append("Destiny Islands Room of Guidance (Enemy Cards Darkside)")
regions["Floor 12"].locations.append("Destiny Islands Room of Rewards (Item Cards Megalixir)")
if days:
regions["Floor 12"].locations.append("Destiny Islands Bounty (Enemy Cards Zexion)")
regions["Floor 12"].locations.append("Destiny Islands Room of Rewards (Attack Cards Two Become One)")

regions["Floor 13"].locations.append("Castle Oblivion Field Marluxia")
regions["Floor 13"].locations.append("Castle Oblivion Room of Beginnings")
regions["Floor 13"].locations.append("Castle Oblivion Room of Beginnings (Enemy Cards Axel)")
if days:
regions["Floor 13"].locations.append("Castle Oblivion Bounty (Enemy Cards Lexaeus)")
regions["Floor 13"].locations.append("Castle Oblivion Room of Rewards (Attack Cards Star Seeker)")

regions["Heartless"].locations.append("Heartless Air Pirate")
regions["Heartless"].locations.append("Heartless Air Soldier")
Expand Down
Loading

0 comments on commit b43df5e

Please sign in to comment.