diff --git a/worlds/khrecom/Client.py b/worlds/khrecom/Client.py index 181bfeeca1aa..c2aba17f67f8 100644 --- a/worlds/khrecom/Client.py +++ b/worlds/khrecom/Client.py @@ -98,6 +98,21 @@ def on_package(self, cmd: str, args: dict): with open(os.path.join(self.game_communication_path, "worldorder.cfg"), 'w') as f: f.write(str(world_order)) f.close() + if "Zeroes" in list(args['slot_data'].keys()): + zeroes_str = args['slot_data']["Zeroes"] + else: + zeroes_str = "Yes" + if zeroes_str == "No": + with open(os.path.join(self.game_communication_path, "nozeroes.cfg"), 'w') as f: + f.write("") + f.close() + if "Attack Power" in list(args['slot_data'].keys()): + attack_power = args['slot_data']["Attack Power"] + else: + attack_power = 10 + with open(os.path.join(self.game_communication_path, "attackpower.cfg"), 'w') as f: + f.write(str(attack_power)) + f.close() if cmd in {"ReceivedItems"}: start_index = args["index"] if start_index != len(self.items_received): diff --git a/worlds/khrecom/Items.py b/worlds/khrecom/Items.py index 54647add2cc8..f8bf6c569e74 100644 --- a/worlds/khrecom/Items.py +++ b/worlds/khrecom/Items.py @@ -29,252 +29,198 @@ def get_items_by_category(category: str, disclude: list) -> Dict[str, KHRECOMIte #Victory "Victory": KHRECOMItemData("Victory", code = 268_0000, classification = ItemClassification.progression, max_quantity = 1, weight = 10), #Battle Cards - "Card Set Kingdom Key 1-3": KHRECOMItemData("Sets", code = 268_1011, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - #"Card Set Kingdom Key 4-6": KHRECOMItemData("Sets", code = 268_1012, classification = ItemClassification.filler, max_quantity = 1, weight = 10), Starting Deck - "Card Set Kingdom Key 7-9": KHRECOMItemData("Sets", code = 268_1013, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Kingdom Key 0": KHRECOMItemData("Sets", code = 268_1014, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Three Wishes 1-3": KHRECOMItemData("Sets", code = 268_1021, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Three Wishes 4-6": KHRECOMItemData("Sets", code = 268_1022, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Three Wishes 7-9": KHRECOMItemData("Sets", code = 268_1023, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Three Wishes 0": KHRECOMItemData("Sets", code = 268_1024, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Crabclaw 1-3": KHRECOMItemData("Sets", code = 268_1031, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Crabclaw 4-6": KHRECOMItemData("Sets", code = 268_1032, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Crabclaw 7-9": KHRECOMItemData("Sets", code = 268_1033, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Crabclaw 0": KHRECOMItemData("Sets", code = 268_1034, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Pumpkinhead 1-3": KHRECOMItemData("Sets", code = 268_1041, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Pumpkinhead 4-6": KHRECOMItemData("Sets", code = 268_1042, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Pumpkinhead 7-9": KHRECOMItemData("Sets", code = 268_1043, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Pumpkinhead 0": KHRECOMItemData("Sets", code = 268_1044, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fairy Harp 1-3": KHRECOMItemData("Sets", code = 268_1051, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fairy Harp 4-6": KHRECOMItemData("Sets", code = 268_1052, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fairy Harp 7-9": KHRECOMItemData("Sets", code = 268_1053, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fairy Harp 0": KHRECOMItemData("Sets", code = 268_1054, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Wishing Star 1-3": KHRECOMItemData("Sets", code = 268_1061, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Wishing Star 4-6": KHRECOMItemData("Sets", code = 268_1062, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Wishing Star 7-9": KHRECOMItemData("Sets", code = 268_1063, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Wishing Star 0": KHRECOMItemData("Sets", code = 268_1064, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Spellbinder 1-3": KHRECOMItemData("Sets", code = 268_1071, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Spellbinder 4-6": KHRECOMItemData("Sets", code = 268_1072, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Spellbinder 7-9": KHRECOMItemData("Sets", code = 268_1073, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Spellbinder 0": KHRECOMItemData("Sets", code = 268_1074, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Metal Chocobo 1-3": KHRECOMItemData("Sets", code = 268_1081, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Metal Chocobo 4-6": KHRECOMItemData("Sets", code = 268_1082, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Metal Chocobo 7-9": KHRECOMItemData("Sets", code = 268_1083, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Metal Chocobo 0": KHRECOMItemData("Sets", code = 268_1084, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Olympia 1-3": KHRECOMItemData("Sets", code = 268_1091, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Olympia 4-6": KHRECOMItemData("Sets", code = 268_1092, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Olympia 7-9": KHRECOMItemData("Sets", code = 268_1093, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Olympia 0": KHRECOMItemData("Sets", code = 268_1094, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lionheart 1-3": KHRECOMItemData("Sets", code = 268_1101, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lionheart 4-6": KHRECOMItemData("Sets", code = 268_1102, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lionheart 7-9": KHRECOMItemData("Sets", code = 268_1103, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lionheart 0": KHRECOMItemData("Sets", code = 268_1104, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lady Luck 1-3": KHRECOMItemData("Sets", code = 268_1111, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lady Luck 4-6": KHRECOMItemData("Sets", code = 268_1112, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lady Luck 7-9": KHRECOMItemData("Sets", code = 268_1113, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Lady Luck 0": KHRECOMItemData("Sets", code = 268_1114, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Divine Rose 1-3": KHRECOMItemData("Sets", code = 268_1121, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Divine Rose 4-6": KHRECOMItemData("Sets", code = 268_1122, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Divine Rose 7-9": KHRECOMItemData("Sets", code = 268_1123, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Divine Rose 0": KHRECOMItemData("Sets", code = 268_1124, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oathkeeper 1-3": KHRECOMItemData("Sets", code = 268_1131, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oathkeeper 4-6": KHRECOMItemData("Sets", code = 268_1132, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oathkeeper 7-9": KHRECOMItemData("Sets", code = 268_1133, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oathkeeper 0": KHRECOMItemData("Sets", code = 268_1134, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oblivion 1-3": KHRECOMItemData("Sets", code = 268_1141, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oblivion 4-6": KHRECOMItemData("Sets", code = 268_1142, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oblivion 7-9": KHRECOMItemData("Sets", code = 268_1143, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Oblivion 0": KHRECOMItemData("Sets", code = 268_1144, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Diamond Dust 1-3": KHRECOMItemData("Sets", code = 268_1151, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Diamond Dust 4-6": KHRECOMItemData("Sets", code = 268_1152, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Diamond Dust 7-9": KHRECOMItemData("Sets", code = 268_1153, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Diamond Dust 0": KHRECOMItemData("Sets", code = 268_1154, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set One Winged Angel 1-3": KHRECOMItemData("Sets", code = 268_1161, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set One Winged Angel 4-6": KHRECOMItemData("Sets", code = 268_1162, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set One Winged Angel 7-9": KHRECOMItemData("Sets", code = 268_1163, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set One Winged Angel 0": KHRECOMItemData("Sets", code = 268_1164, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ultima Weapon 1-3": KHRECOMItemData("Sets", code = 268_1171, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ultima Weapon 4-6": KHRECOMItemData("Sets", code = 268_1172, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ultima Weapon 7-9": KHRECOMItemData("Sets", code = 268_1173, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ultima Weapon 0": KHRECOMItemData("Sets", code = 268_1174, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fire 1-3": KHRECOMItemData("Sets", code = 268_1181, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fire 4-6": KHRECOMItemData("Sets", code = 268_1182, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fire 7-9": KHRECOMItemData("Sets", code = 268_1183, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Fire 0": KHRECOMItemData("Sets", code = 268_1184, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Blizzard 1-3": KHRECOMItemData("Sets", code = 268_1191, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Blizzard 4-6": KHRECOMItemData("Sets", code = 268_1192, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Blizzard 7-9": KHRECOMItemData("Sets", code = 268_1193, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Blizzard 0": KHRECOMItemData("Sets", code = 268_1194, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Thunder 1-3": KHRECOMItemData("Sets", code = 268_1201, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Thunder 4-6": KHRECOMItemData("Sets", code = 268_1202, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Thunder 7-9": KHRECOMItemData("Sets", code = 268_1203, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Thunder 0": KHRECOMItemData("Sets", code = 268_1204, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cure 1-3": KHRECOMItemData("Sets", code = 268_1211, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cure 4-6": KHRECOMItemData("Sets", code = 268_1212, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cure 7-9": KHRECOMItemData("Sets", code = 268_1213, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cure 0": KHRECOMItemData("Sets", code = 268_1214, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Gravity 1-3": KHRECOMItemData("Sets", code = 268_1221, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Gravity 4-6": KHRECOMItemData("Sets", code = 268_1222, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Gravity 7-9": KHRECOMItemData("Sets", code = 268_1223, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Gravity 0": KHRECOMItemData("Sets", code = 268_1224, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Stop 1-3": KHRECOMItemData("Sets", code = 268_1231, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Stop 4-6": KHRECOMItemData("Sets", code = 268_1232, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Stop 7-9": KHRECOMItemData("Sets", code = 268_1233, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Stop 0": KHRECOMItemData("Sets", code = 268_1234, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Aero 1-3": KHRECOMItemData("Sets", code = 268_1241, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Aero 4-6": KHRECOMItemData("Sets", code = 268_1242, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Aero 7-9": KHRECOMItemData("Sets", code = 268_1243, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Aero 0": KHRECOMItemData("Sets", code = 268_1244, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Simba 1-3": KHRECOMItemData("Sets", code = 268_1251, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Simba 4-6": KHRECOMItemData("Sets", code = 268_1252, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Simba 7-9": KHRECOMItemData("Sets", code = 268_1253, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Simba 0": KHRECOMItemData("Sets", code = 268_1254, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Genie 1-3": KHRECOMItemData("Sets", code = 268_1261, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Genie 4-6": KHRECOMItemData("Sets", code = 268_1262, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Genie 7-9": KHRECOMItemData("Sets", code = 268_1263, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Genie 0": KHRECOMItemData("Sets", code = 268_1264, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bambi 1-3": KHRECOMItemData("Sets", code = 268_1271, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bambi 4-6": KHRECOMItemData("Sets", code = 268_1272, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bambi 7-9": KHRECOMItemData("Sets", code = 268_1273, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bambi 0": KHRECOMItemData("Sets", code = 268_1274, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Dumbo 1-3": KHRECOMItemData("Sets", code = 268_1281, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Dumbo 4-6": KHRECOMItemData("Sets", code = 268_1282, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Dumbo 7-9": KHRECOMItemData("Sets", code = 268_1283, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Dumbo 0": KHRECOMItemData("Sets", code = 268_1284, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Tinker Bell 1-3": KHRECOMItemData("Sets", code = 268_1291, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Tinker Bell 4-6": KHRECOMItemData("Sets", code = 268_1292, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Tinker Bell 7-9": KHRECOMItemData("Sets", code = 268_1293, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Tinker Bell 0": KHRECOMItemData("Sets", code = 268_1294, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mushu 1-3": KHRECOMItemData("Sets", code = 268_1301, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mushu 4-6": KHRECOMItemData("Sets", code = 268_1302, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mushu 7-9": KHRECOMItemData("Sets", code = 268_1303, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mushu 0": KHRECOMItemData("Sets", code = 268_1304, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cloud 1-3": KHRECOMItemData("Sets", code = 268_1311, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cloud 4-6": KHRECOMItemData("Sets", code = 268_1312, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cloud 7-9": KHRECOMItemData("Sets", code = 268_1313, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Cloud 0": KHRECOMItemData("Sets", code = 268_1314, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Potion 1-3": KHRECOMItemData("Sets", code = 268_1321, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Potion 4-6": KHRECOMItemData("Sets", code = 268_1322, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Potion 7-9": KHRECOMItemData("Sets", code = 268_1323, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Potion 0": KHRECOMItemData("Sets", code = 268_1324, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Hi-Potion 1-3": KHRECOMItemData("Sets", code = 268_1331, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Hi-Potion 4-6": KHRECOMItemData("Sets", code = 268_1332, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Hi-Potion 7-9": KHRECOMItemData("Sets", code = 268_1333, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Hi-Potion 0": KHRECOMItemData("Sets", code = 268_1334, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Potion 1-3": KHRECOMItemData("Sets", code = 268_1341, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Potion 4-6": KHRECOMItemData("Sets", code = 268_1342, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Potion 7-9": KHRECOMItemData("Sets", code = 268_1343, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Potion 0": KHRECOMItemData("Sets", code = 268_1344, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ether 1-3": KHRECOMItemData("Sets", code = 268_1351, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ether 4-6": KHRECOMItemData("Sets", code = 268_1352, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ether 7-9": KHRECOMItemData("Sets", code = 268_1353, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Ether 0": KHRECOMItemData("Sets", code = 268_1354, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Ether 1-3": KHRECOMItemData("Sets", code = 268_1361, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Ether 4-6": KHRECOMItemData("Sets", code = 268_1362, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Ether 7-9": KHRECOMItemData("Sets", code = 268_1363, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Mega-Ether 0": KHRECOMItemData("Sets", code = 268_1364, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Elixir 1-3": KHRECOMItemData("Sets", code = 268_1371, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Elixir 4-6": KHRECOMItemData("Sets", code = 268_1372, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Elixir 7-9": KHRECOMItemData("Sets", code = 268_1373, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Elixir 0": KHRECOMItemData("Sets", code = 268_1374, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Megalixir 1-3": KHRECOMItemData("Sets", code = 268_1381, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Megalixir 4-6": KHRECOMItemData("Sets", code = 268_1382, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Megalixir 7-9": KHRECOMItemData("Sets", code = 268_1383, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Megalixir 0": KHRECOMItemData("Sets", code = 268_1384, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - #Days Battle Cards - "Card Set Soul Eater 1-3": KHRECOMItemData("Days Sets", code = 268_1391, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Soul Eater 4-6": KHRECOMItemData("Days Sets", code = 268_1392, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Soul Eater 7-9": KHRECOMItemData("Days Sets", code = 268_1393, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Soul Eater 0": KHRECOMItemData("Days Sets", code = 268_1394, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Star Seeker 1-3": KHRECOMItemData("Days Sets", code = 268_1401, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Star Seeker 4-6": KHRECOMItemData("Days Sets", code = 268_1402, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Star Seeker 7-9": KHRECOMItemData("Days Sets", code = 268_1403, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Star Seeker 0": KHRECOMItemData("Days Sets", code = 268_1404, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Total Eclipse 1-3": KHRECOMItemData("Days Sets", code = 268_1411, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Total Eclipse 4-6": KHRECOMItemData("Days Sets", code = 268_1412, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Total Eclipse 7-9": KHRECOMItemData("Days Sets", code = 268_1413, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Total Eclipse 0": KHRECOMItemData("Days Sets", code = 268_1414, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Midnight Roar 1-3": KHRECOMItemData("Days Sets", code = 268_1421, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Midnight Roar 4-6": KHRECOMItemData("Days Sets", code = 268_1422, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Midnight Roar 7-9": KHRECOMItemData("Days Sets", code = 268_1423, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Midnight Roar 0": KHRECOMItemData("Days Sets", code = 268_1424, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Maverick Flare 1-3": KHRECOMItemData("Days Sets", code = 268_1431, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Maverick Flare 4-6": KHRECOMItemData("Days Sets", code = 268_1432, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Maverick Flare 7-9": KHRECOMItemData("Days Sets", code = 268_1433, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Maverick Flare 0": KHRECOMItemData("Days Sets", code = 268_1434, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Two Become One 1-3": KHRECOMItemData("Days Sets", code = 268_1441, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Two Become One 4-6": KHRECOMItemData("Days Sets", code = 268_1442, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Two Become One 7-9": KHRECOMItemData("Days Sets", code = 268_1443, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Two Become One 0": KHRECOMItemData("Days Sets", code = 268_1444, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bond of Flame 1-3": KHRECOMItemData("Days Sets", code = 268_1451, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bond of Flame 4-6": KHRECOMItemData("Days Sets", code = 268_1452, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bond of Flame 7-9": KHRECOMItemData("Days Sets", code = 268_1453, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - "Card Set Bond of Flame 0": KHRECOMItemData("Days Sets", code = 268_1454, classification = ItemClassification.filler, max_quantity = 1, weight = 10), - - - #Enemy Battle Cards - "Enemy Card Shadow": KHRECOMItemData("Enemy Cards", code = 268_2001, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Soldier": KHRECOMItemData("Enemy Cards", code = 268_2002, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Large Body": KHRECOMItemData("Enemy Cards", code = 268_2003, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Red Nocturne": KHRECOMItemData("Enemy Cards", code = 268_2004, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Blue Rhapsody": KHRECOMItemData("Enemy Cards", code = 268_2005, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Yellow Opera": KHRECOMItemData("Enemy Cards", code = 268_2006, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Green Requiem": KHRECOMItemData("Enemy Cards", code = 268_2007, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Powerwild": KHRECOMItemData("Enemy Cards", code = 268_2008, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Bouncywild": KHRECOMItemData("Enemy Cards", code = 268_2009, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Air Soldier": KHRECOMItemData("Enemy Cards", code = 268_2010, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Bandit": KHRECOMItemData("Enemy Cards", code = 268_2011, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Fat Bandit": KHRECOMItemData("Enemy Cards", code = 268_2012, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Barrel Spider": KHRECOMItemData("Enemy Cards", code = 268_2013, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Search Ghost": KHRECOMItemData("Enemy Cards", code = 268_2014, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Sea Neon": KHRECOMItemData("Enemy Cards", code = 268_2015, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Screwdiver": KHRECOMItemData("Enemy Cards", code = 268_2016, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Aquatank": KHRECOMItemData("Enemy Cards", code = 268_2017, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Wight Knight": KHRECOMItemData("Enemy Cards", code = 268_2018, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Gargoyle": KHRECOMItemData("Enemy Cards", code = 268_2019, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Pirate": KHRECOMItemData("Enemy Cards", code = 268_2020, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Air Pirate": KHRECOMItemData("Enemy Cards", code = 268_2021, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Darkball": KHRECOMItemData("Enemy Cards", code = 268_2022, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Defender": KHRECOMItemData("Enemy Cards", code = 268_2023, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Wyvern": KHRECOMItemData("Enemy Cards", code = 268_2024, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Neoshadow": KHRECOMItemData("Enemy Cards", code = 268_2025, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card White Mushroom": KHRECOMItemData("Enemy Cards", code = 268_2026, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Black Fungus": KHRECOMItemData("Enemy Cards", code = 268_2027, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Creeper Plant": KHRECOMItemData("Enemy Cards", code = 268_2028, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Tornado Step": KHRECOMItemData("Enemy Cards", code = 268_2029, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Crescendo": KHRECOMItemData("Enemy Cards", code = 268_2030, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Guard Armor": KHRECOMItemData("Enemy Cards", code = 268_2031, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Parasite Cage": KHRECOMItemData("Enemy Cards", code = 268_2032, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Trickmaster": KHRECOMItemData("Enemy Cards", code = 268_2033, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Darkside": KHRECOMItemData("Enemy Cards", code = 268_2034, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Card Soldier": KHRECOMItemData("Enemy Cards", code = 268_2035, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Hades": KHRECOMItemData("Enemy Cards", code = 268_2037, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Jafar": KHRECOMItemData("Enemy Cards", code = 268_2039, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Oogie Boogie": KHRECOMItemData("Enemy Cards", code = 268_2040, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Ursula": KHRECOMItemData("Enemy Cards", code = 268_2041, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Hook": KHRECOMItemData("Enemy Cards", code = 268_2042, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Dragon Maleficent": KHRECOMItemData("Enemy Cards", code = 268_2043, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Riku": KHRECOMItemData("Enemy Cards", code = 268_2044, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Larxene": KHRECOMItemData("Enemy Cards", code = 268_2045, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Vexen": KHRECOMItemData("Enemy Cards", code = 268_2046, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Marluxia": KHRECOMItemData("Enemy Cards", code = 268_2047, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Lexaeus": KHRECOMItemData("Enemy Cards", code = 268_2048, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Ansem": KHRECOMItemData("Enemy Cards", code = 268_2049, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Axel": KHRECOMItemData("Enemy Cards", code = 268_2050, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - #Days Enemy Cards - "Enemy Card Xemnas": KHRECOMItemData("Days Enemy Cards", code = 268_2051, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Xigbar": KHRECOMItemData("Days Enemy Cards", code = 268_2052, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Xaldin": KHRECOMItemData("Days Enemy Cards", code = 268_2053, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Zexion": KHRECOMItemData("Days Enemy Cards", code = 268_2054, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Saix": KHRECOMItemData("Days Enemy Cards", code = 268_2055, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Demyx": KHRECOMItemData("Days Enemy Cards", code = 268_2056, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Luxord": KHRECOMItemData("Days Enemy Cards", code = 268_2057, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - "Enemy Card Roxas": KHRECOMItemData("Days Enemy Cards", code = 268_2058, classification = ItemClassification.filler, max_quantity = 1, weight = 3), - - "World Card Wonderland": KHRECOMItemData("World Unlocks", code = 268_3002, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + #"Card Set Kingdom Key": KHRECOMItemData("Sets", code = 268_1001, classification = ItemClassification.filler, max_quantity = 1, weight = 10), + "Card Set Three Wishes": KHRECOMItemData("Sets", code = 268_1002, classification = ItemClassification.filler, weight = 10), + "Card Set Crabclaw": KHRECOMItemData("Sets", code = 268_1003, classification = ItemClassification.filler, weight = 10), + "Card Set Pumpkinhead": KHRECOMItemData("Sets", code = 268_1004, classification = ItemClassification.filler, weight = 10), + "Card Set Fairy Harp": KHRECOMItemData("Sets", code = 268_1005, classification = ItemClassification.filler, weight = 10), + "Card Set Wishing Star": KHRECOMItemData("Sets", code = 268_1006, classification = ItemClassification.filler, weight = 10), + "Card Set Spellbinder": KHRECOMItemData("Sets", code = 268_1007, classification = ItemClassification.filler, weight = 10), + "Card Set Metal Chocobo": KHRECOMItemData("Sets", code = 268_1008, classification = ItemClassification.filler, weight = 10), + "Card Set Olympia": KHRECOMItemData("Sets", code = 268_1009, classification = ItemClassification.filler, weight = 10), + "Card Set Lionheart": KHRECOMItemData("Sets", code = 268_1010, classification = ItemClassification.filler, weight = 10), + "Card Set Lady Luck": KHRECOMItemData("Sets", code = 268_1011, classification = ItemClassification.filler, weight = 10), + "Card Set Divine Rose": KHRECOMItemData("Sets", code = 268_1012, classification = ItemClassification.filler, weight = 10), + "Card Set Oathkeeper": KHRECOMItemData("Sets", code = 268_1013, classification = ItemClassification.filler, weight = 10), + "Card Set Oblivion": KHRECOMItemData("Sets", code = 268_1014, classification = ItemClassification.filler, weight = 10), + "Card Set Ultima Weapon": KHRECOMItemData("Sets", code = 268_1015, classification = ItemClassification.filler, weight = 10), + "Card Set Diamond Dust": KHRECOMItemData("Sets", code = 268_1016, classification = ItemClassification.filler, weight = 10), + "Card Set One Winged Angel": KHRECOMItemData("Sets", code = 268_1017, classification = ItemClassification.filler, weight = 10), + "Card Set Soul Eater": KHRECOMItemData("Sets", code = 268_1018, classification = ItemClassification.filler, weight = 10), + "Card Set Star Seeker": KHRECOMItemData("Sets", code = 268_1019, classification = ItemClassification.filler, weight = 10), + "Card Set Total Eclipse": KHRECOMItemData("Sets", code = 268_1020, classification = ItemClassification.filler, weight = 10), + "Card Set Midnight Roar": KHRECOMItemData("Sets", code = 268_1021, classification = ItemClassification.filler, weight = 10), + "Card Set Maverick Flare": KHRECOMItemData("Sets", code = 268_1022, classification = ItemClassification.filler, weight = 10), + "Card Set Two Become One": KHRECOMItemData("Sets", code = 268_1023, classification = ItemClassification.filler, weight = 10), + "Card Set Bond of Flame": KHRECOMItemData("Sets", code = 268_1024, classification = ItemClassification.filler, weight = 10), + "Card Set Fire": KHRECOMItemData("Sets", code = 268_1049, classification = ItemClassification.filler, weight = 10), + "Card Set Blizzard": KHRECOMItemData("Sets", code = 268_1050, classification = ItemClassification.filler, weight = 10), + "Card Set Thunder": KHRECOMItemData("Sets", code = 268_1051, classification = ItemClassification.filler, weight = 10), + "Card Set Cure": KHRECOMItemData("Sets", code = 268_1052, classification = ItemClassification.filler, weight = 10), + "Card Set Gravity": KHRECOMItemData("Sets", code = 268_1053, classification = ItemClassification.filler, weight = 10), + "Card Set Stop": KHRECOMItemData("Sets", code = 268_1054, classification = ItemClassification.filler, weight = 10), + "Card Set Aero": KHRECOMItemData("Sets", code = 268_1055, classification = ItemClassification.filler, weight = 10), + "Card Set Simba": KHRECOMItemData("Sets", code = 268_1058, classification = ItemClassification.filler, weight = 10), + "Card Set Genie": KHRECOMItemData("Sets", code = 268_1059, classification = ItemClassification.filler, weight = 10), + "Card Set Bambi": KHRECOMItemData("Sets", code = 268_1060, classification = ItemClassification.filler, weight = 10), + "Card Set Dumbo": KHRECOMItemData("Sets", code = 268_1061, classification = ItemClassification.filler, weight = 10), + "Card Set Tinker Bell": KHRECOMItemData("Sets", code = 268_1062, classification = ItemClassification.filler, weight = 10), + "Card Set Mushu": KHRECOMItemData("Sets", code = 268_1063, classification = ItemClassification.filler, weight = 10), + "Card Set Cloud": KHRECOMItemData("Sets", code = 268_1064, classification = ItemClassification.filler, weight = 10), + "Card Set Potion": KHRECOMItemData("Sets", code = 268_1081, classification = ItemClassification.filler, weight = 10), + "Card Set Hi-Potion": KHRECOMItemData("Sets", code = 268_1082, classification = ItemClassification.filler, weight = 10), + "Card Set Mega-Potion": KHRECOMItemData("Sets", code = 268_1083, classification = ItemClassification.filler, weight = 10), + "Card Set Ether": KHRECOMItemData("Sets", code = 268_1084, classification = ItemClassification.filler, weight = 10), + "Card Set Mega-Ether": KHRECOMItemData("Sets", code = 268_1085, classification = ItemClassification.filler, weight = 10), + "Card Set Elixir": KHRECOMItemData("Sets", code = 268_1086, classification = ItemClassification.filler, weight = 10), + "Card Set Megalixir": KHRECOMItemData("Sets", code = 268_1087, classification = ItemClassification.filler, weight = 10), + + "Enemy Card Shadow": KHRECOMItemData("Enemy Cards", code = 268_1201, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Soldier": KHRECOMItemData("Enemy Cards", code = 268_1202, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Large Body": KHRECOMItemData("Enemy Cards", code = 268_1203, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Red Nocturne": KHRECOMItemData("Enemy Cards", code = 268_1204, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Blue Rhapsody": KHRECOMItemData("Enemy Cards", code = 268_1205, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Yellow Opera": KHRECOMItemData("Enemy Cards", code = 268_1206, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Green Requiem": KHRECOMItemData("Enemy Cards", code = 268_1207, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Powerwild": KHRECOMItemData("Enemy Cards", code = 268_1208, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Bouncywild": KHRECOMItemData("Enemy Cards", code = 268_1209, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Air Soldier": KHRECOMItemData("Enemy Cards", code = 268_1210, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Bandit": KHRECOMItemData("Enemy Cards", code = 268_1211, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Fat Bandit": KHRECOMItemData("Enemy Cards", code = 268_1212, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Barrel Spider": KHRECOMItemData("Enemy Cards", code = 268_1213, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Search Ghost": KHRECOMItemData("Enemy Cards", code = 268_1214, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Sea Neon": KHRECOMItemData("Enemy Cards", code = 268_1215, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Screwdiver": KHRECOMItemData("Enemy Cards", code = 268_1216, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Aquatank": KHRECOMItemData("Enemy Cards", code = 268_1217, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Wight Knight": KHRECOMItemData("Enemy Cards", code = 268_1218, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Gargoyle": KHRECOMItemData("Enemy Cards", code = 268_1219, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Pirate": KHRECOMItemData("Enemy Cards", code = 268_1220, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Air Pirate": KHRECOMItemData("Enemy Cards", code = 268_1221, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Darkball": KHRECOMItemData("Enemy Cards", code = 268_1222, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Defender": KHRECOMItemData("Enemy Cards", code = 268_1223, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Wyvern": KHRECOMItemData("Enemy Cards", code = 268_1224, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Wizard": KHRECOMItemData("Enemy Cards", code = 268_1225, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Neoshadow": KHRECOMItemData("Enemy Cards", code = 268_1226, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card White Mushroom": KHRECOMItemData("Enemy Cards", code = 268_1227, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Black Fungus": KHRECOMItemData("Enemy Cards", code = 268_1228, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Creeper Plant": KHRECOMItemData("Enemy Cards", code = 268_1229, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Tornado Step": KHRECOMItemData("Enemy Cards", code = 268_1230, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Crescendo": KHRECOMItemData("Enemy Cards", code = 268_1231, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Guard Armor": KHRECOMItemData("Enemy Cards", code = 268_1232, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Parasite Cage": KHRECOMItemData("Enemy Cards", code = 268_1233, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Trickmaster": KHRECOMItemData("Enemy Cards", code = 268_1234, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Darkside": KHRECOMItemData("Enemy Cards", code = 268_1235, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Card Soldier": KHRECOMItemData("Enemy Cards", code = 268_1236, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Hades": KHRECOMItemData("Enemy Cards", code = 268_1237, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Jafar": KHRECOMItemData("Enemy Cards", code = 268_1238, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Oogie Boogie": KHRECOMItemData("Enemy Cards", code = 268_1239, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Ursula": KHRECOMItemData("Enemy Cards", code = 268_1240, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Hook": KHRECOMItemData("Enemy Cards", code = 268_1241, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Dragon Maleficent": KHRECOMItemData("Enemy Cards", code = 268_1242, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Riku": KHRECOMItemData("Enemy Cards", code = 268_1243, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Axel": KHRECOMItemData("Enemy Cards", code = 268_1244, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Larxene": KHRECOMItemData("Enemy Cards", code = 268_1245, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Vexen": KHRECOMItemData("Enemy Cards", code = 268_1246, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Marluxia": KHRECOMItemData("Enemy Cards", code = 268_1247, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Lexaeus": KHRECOMItemData("Enemy Cards", code = 268_1248, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Ansem": KHRECOMItemData("Enemy Cards", code = 268_1249, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Zexion": KHRECOMItemData("Enemy Cards", code = 268_1250, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Xemnas": KHRECOMItemData("Enemy Cards", code = 268_1251, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Xigbar": KHRECOMItemData("Enemy Cards", code = 268_1252, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Xaldin": KHRECOMItemData("Enemy Cards", code = 268_1253, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Saix": KHRECOMItemData("Enemy Cards", code = 268_1254, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Demyx": KHRECOMItemData("Enemy Cards", code = 268_1255, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Luxord": KHRECOMItemData("Enemy Cards", code = 268_1256, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + "Enemy Card Roxas": KHRECOMItemData("Enemy Cards", code = 268_1257, classification = ItemClassification.useful, max_quantity = 1, weight = 3), + + "Sleight Sliding Dash": KHRECOMItemData("Sleights", code = 268_2001, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Blitz": KHRECOMItemData("Sleights", code = 268_2002, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Stun Impact": KHRECOMItemData("Sleights", code = 268_2003, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Zantetsuken": KHRECOMItemData("Sleights", code = 268_2004, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Strike Raid": KHRECOMItemData("Sleights", code = 268_2005, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Sonic Blade": KHRECOMItemData("Sleights", code = 268_2006, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Ars Arcanum": KHRECOMItemData("Sleights", code = 268_2007, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Ragnarok": KHRECOMItemData("Sleights", code = 268_2008, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Trinity Limit": KHRECOMItemData("Sleights", code = 268_2009, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Fira": KHRECOMItemData("Sleights", code = 268_2010, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Blizzara": KHRECOMItemData("Sleights", code = 268_2011, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Thundara": KHRECOMItemData("Sleights", code = 268_2012, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Cura": KHRECOMItemData("Sleights", code = 268_2013, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Gravira": KHRECOMItemData("Sleights", code = 268_2014, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Stopra": KHRECOMItemData("Sleights", code = 268_2015, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Aerora": KHRECOMItemData("Sleights", code = 268_2016, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Firaga": KHRECOMItemData("Sleights", code = 268_2017, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Blizzaga": KHRECOMItemData("Sleights", code = 268_2018, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Thundaga": KHRECOMItemData("Sleights", code = 268_2019, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Curaga": KHRECOMItemData("Sleights", code = 268_2020, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Graviga": KHRECOMItemData("Sleights", code = 268_2021, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Stopga": KHRECOMItemData("Sleights", code = 268_2022, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Aeroga": KHRECOMItemData("Sleights", code = 268_2023, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Fire Raid": KHRECOMItemData("Sleights", code = 268_2024, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Blizzard Raid": KHRECOMItemData("Sleights", code = 268_2025, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Thunder Raid": KHRECOMItemData("Sleights", code = 268_2026, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Reflect Raid": KHRECOMItemData("Sleights", code = 268_2027, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Judgement": KHRECOMItemData("Sleights", code = 268_2028, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Firaga Burst": KHRECOMItemData("Sleights", code = 268_2029, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Raging Storm": KHRECOMItemData("Sleights", code = 268_2030, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Mega Flare": KHRECOMItemData("Sleights", code = 268_2031, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Freeze": KHRECOMItemData("Sleights", code = 268_2032, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Homing Blizzara": KHRECOMItemData("Sleights", code = 268_2033, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Aqua Splash": KHRECOMItemData("Sleights", code = 268_2034, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Magnet Spiral": KHRECOMItemData("Sleights", code = 268_2035, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Lethal Frame": KHRECOMItemData("Sleights", code = 268_2036, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Shock Impact": KHRECOMItemData("Sleights", code = 268_2037, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Tornado": KHRECOMItemData("Sleights", code = 268_2038, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Quake": KHRECOMItemData("Sleights", code = 268_2039, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Warpinator": KHRECOMItemData("Sleights", code = 268_2040, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Warp": KHRECOMItemData("Sleights", code = 268_2041, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Bind": KHRECOMItemData("Sleights", code = 268_2042, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Confuse": KHRECOMItemData("Sleights", code = 268_2043, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Terror": KHRECOMItemData("Sleights", code = 268_2044, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Synchro": KHRECOMItemData("Sleights", code = 268_2045, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Gifted Miracle": KHRECOMItemData("Sleights", code = 268_2046, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Teleport": KHRECOMItemData("Sleights", code = 268_2047, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Holy": KHRECOMItemData("Sleights", code = 268_2048, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Proud Roar LV2": KHRECOMItemData("Sleights", code = 268_2049, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Proud Roar LV3": KHRECOMItemData("Sleights", code = 268_2050, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Splash LV2": KHRECOMItemData("Sleights", code = 268_2051, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Splash LV3": KHRECOMItemData("Sleights", code = 268_2052, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Paradise LV2": KHRECOMItemData("Sleights", code = 268_2053, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Paradise LV3": KHRECOMItemData("Sleights", code = 268_2054, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Idyll Romp": KHRECOMItemData("Sleights", code = 268_2055, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Flare Breath LV2": KHRECOMItemData("Sleights", code = 268_2056, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Flare Breath LV3": KHRECOMItemData("Sleights", code = 268_2057, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Showtime LV2": KHRECOMItemData("Sleights", code = 268_2058, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Showtime LV3": KHRECOMItemData("Sleights", code = 268_2059, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Twinkle LV2": KHRECOMItemData("Sleights", code = 268_2060, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Twinkle LV3": KHRECOMItemData("Sleights", code = 268_2061, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Cross-slash": KHRECOMItemData("Sleights", code = 268_2062, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Omnislash": KHRECOMItemData("Sleights", code = 268_2063, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Cross-slash+": KHRECOMItemData("Sleights", code = 268_2064, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Magic LV2": KHRECOMItemData("Sleights", code = 268_2065, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Magic LV3": KHRECOMItemData("Sleights", code = 268_2066, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Stardust Blitz": KHRECOMItemData("Sleights", code = 268_2067, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Goofy Tornado LV2": KHRECOMItemData("Sleights", code = 268_2068, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Goofy Torando LV3": KHRECOMItemData("Sleights", code = 268_2069, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Goofy Smash": KHRECOMItemData("Sleights", code = 268_2070, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Wild Crush": KHRECOMItemData("Sleights", code = 268_2071, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Sandstorm LV2": KHRECOMItemData("Sleights", code = 268_2072, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Sandstorm LV3": KHRECOMItemData("Sleights", code = 268_2073, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Surprise! LV2": KHRECOMItemData("Sleights", code = 268_2074, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Surprise! LV3": KHRECOMItemData("Sleights", code = 268_2075, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Spiral Wave LV2": KHRECOMItemData("Sleights", code = 268_2076, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Spiral Wave LV3": KHRECOMItemData("Sleights", code = 268_2077, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Hummingbird LV2": KHRECOMItemData("Sleights", code = 268_2078, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Hummingbird LV3": KHRECOMItemData("Sleights", code = 268_2079, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Furious Volley LV2": KHRECOMItemData("Sleights", code = 268_2080, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Furious Volley LV3": KHRECOMItemData("Sleights", code = 268_2081, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Lucky Bounty LV2": KHRECOMItemData("Sleights", code = 268_2082, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + "Sleight Lucky Bounty LV3": KHRECOMItemData("Sleights", code = 268_2083, classification = ItemClassification.useful, max_quantity = 1, weight = 5), + + "World Card Agrabah": KHRECOMItemData("World Unlocks", code = 268_3002, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "World Card Olympus Coliseum": KHRECOMItemData("World Unlocks", code = 268_3003, classification = ItemClassification.progression, max_quantity = 1, weight = 1), - "World Card Monstro": KHRECOMItemData("World Unlocks", code = 268_3004, classification = ItemClassification.progression, max_quantity = 1, weight = 1), - "World Card Agrabah": KHRECOMItemData("World Unlocks", code = 268_3005, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + "World Card Wonderland": KHRECOMItemData("World Unlocks", code = 268_3004, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + "World Card Monstro": KHRECOMItemData("World Unlocks", code = 268_3005, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "World Card Halloween Town": KHRECOMItemData("World Unlocks", code = 268_3006, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "World Card Atlantica": KHRECOMItemData("World Unlocks", code = 268_3007, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "World Card Neverland": KHRECOMItemData("World Unlocks", code = 268_3008, classification = ItemClassification.progression, max_quantity = 1, weight = 1), @@ -284,10 +230,10 @@ def get_items_by_category(category: str, disclude: list) -> Dict[str, KHRECOMIte "World Card Destiny Islands": KHRECOMItemData("World Unlocks", code = 268_3012, classification = ItemClassification.progression, max_quantity = 1, weight = 1), #"World Card Castle Oblivion": KHRECOMItemData("World Unlocks", code = 268_3013, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "Key to Rewards Traverse Town": KHRECOMItemData("Gold Map Cards", code = 268_3301, classification = ItemClassification.progression, max_quantity = 1, weight = 1), - "Key to Rewards Wonderland": KHRECOMItemData("Gold Map Cards", code = 268_3302, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + "Key to Rewards Agrabah": KHRECOMItemData("Gold Map Cards", code = 268_3302, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "Key to Rewards Olympus Coliseum": KHRECOMItemData("Gold Map Cards", code = 268_3303, classification = ItemClassification.progression, max_quantity = 1, weight = 1), - "Key to Rewards Monstro": KHRECOMItemData("Gold Map Cards", code = 268_3304, classification = ItemClassification.progression, max_quantity = 1, weight = 1), - "Key to Rewards Agrabah": KHRECOMItemData("Gold Map Cards", code = 268_3305, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + "Key to Rewards Wonderland": KHRECOMItemData("Gold Map Cards", code = 268_3304, classification = ItemClassification.progression, max_quantity = 1, weight = 1), + "Key to Rewards Monstro": KHRECOMItemData("Gold Map Cards", code = 268_3305, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "Key to Rewards Halloween Town": KHRECOMItemData("Gold Map Cards", code = 268_3306, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "Key to Rewards Atlantica": KHRECOMItemData("Gold Map Cards", code = 268_3307, classification = ItemClassification.progression, max_quantity = 1, weight = 1), "Key to Rewards Neverland": KHRECOMItemData("Gold Map Cards", code = 268_3308, classification = ItemClassification.progression, max_quantity = 1, weight = 1), diff --git a/worlds/khrecom/Locations.py b/worlds/khrecom/Locations.py index 3fe425819dad..d28e6a1abe78 100644 --- a/worlds/khrecom/Locations.py +++ b/worlds/khrecom/Locations.py @@ -25,234 +25,285 @@ def get_locations_by_category(category: str) -> Dict[str, KHRECOMLocationData]: location_table: Dict[str, KHRECOMLocationData] = { "Starting Checks (Attack Cards Kingdom Key)": KHRECOMLocationData("Starting", 269_0001), - "Starting Checks (Item Cards Potion)": KHRECOMLocationData("Starting", 269_0002), - "Starting Checks (Magic Cards Blizzard)": KHRECOMLocationData("Starting", 269_0003), - "Starting Checks (Magic Cards Cure)": KHRECOMLocationData("Starting", 269_0004), + "Agrabah Field (Attack Cards Three Wishes)": KHRECOMLocationData("Progression", 269_0002), + "Atlantica Field (Attack Cards Crabclaw)": KHRECOMLocationData("Progression", 269_0003), + "Halloween Town Field (Attack Cards Pumpkinhead)": KHRECOMLocationData("Progression", 269_0004), + "Neverland Field (Attack Cards Fairy Harp)": KHRECOMLocationData("Progression", 269_0005), + "Monstro Field (Attack Cards Wishing Star)": KHRECOMLocationData("Progression", 269_0006), + "100 Acre Wood Tigger's Playground (Attack Cards Spellbinder)": KHRECOMLocationData("Progression", 269_0007), + "Olympus Coliseum Room of Rewards (Attack Cards Metal Chocobo)": KHRECOMLocationData("Progression", 269_0008), + "Olympus Coliseum Field (Attack Card Olympia)": KHRECOMLocationData("Progression", 269_0009), + "Traverse Town Room of Rewards (Attack Cards Lionheart)": KHRECOMLocationData("Progression", 269_0010), + "Wonderland Field (Attack Cards Lady Luck)": KHRECOMLocationData("Progression", 269_0011), + "Hollow Bastion Field (Attack Cards Divine Rose)": KHRECOMLocationData("Progression", 269_0012), + "Destiny Islands Room of Guidance (Attack Cards Oathkeeper)": KHRECOMLocationData("Progression", 269_0013), + "12F Exit Hall Larxene II (Attack Cards Oblivion)": KHRECOMLocationData("Progression", 269_0014), + "Castle Oblivion Room of Rewards (Attack Cards Star Seeker)": KHRECOMLocationData("Days" , 269_0018), #Days Location + "Olympus Coliseum Room of Rewards (Attack Cards Total Eclipse)": KHRECOMLocationData("Days" , 269_0019), #Days Location + "Neverland Room of Rewards (Attack Cards Midnight Roar)": KHRECOMLocationData("Days" , 269_0020), #Days Location + "Traverse Town Bounty (Attack Cards Maverick Flare)": KHRECOMLocationData("Days" , 269_0021), #Days Location + "Destiny Islands Room of Rewards (Attack Cards Two Become One)": KHRECOMLocationData("Days" , 269_0022), #Days Location + "Halloween Town Room of Rewards (Attack Cards Bond of Flame)": KHRECOMLocationData("Days" , 269_0023), #Days Location + "01F Exit Hall Axel I (Magic Cards Fire)": KHRECOMLocationData("Progression", 269_0024), + "Starting Checks (Magic Cards Blizzard)": KHRECOMLocationData("Starting", 269_0025), + "06F Exit Hall Larxene I (Magic Cards Thunder)": KHRECOMLocationData("Progression", 269_0026), + "Starting Checks (Magic Cards Cure)": KHRECOMLocationData("Starting", 269_0027), + "Agrabah Bounty (Magic Cards Gravity)": KHRECOMLocationData("Progression", 269_0028), + "Wonderland Bounty (Magic Cards Stop)": KHRECOMLocationData("Progression", 269_0029), + "07F Exit Hall Riku I (Magic Cards Aero)": KHRECOMLocationData("Progression", 269_0030), + "Traverse Town Room of Beginnings (Summon Cards Simba)": KHRECOMLocationData("Progression", 269_0031), + "Agrabah Room of Truth (Summon Cards Genie)": KHRECOMLocationData("Progression", 269_0032), + "100 Acre Wood Clear (Summon Cards Bambi)": KHRECOMLocationData("Progression", 269_0033), + "Monstro Room of Truth (Summon Cards Dumbo)": KHRECOMLocationData("Progression", 269_0034), + "Neverland Room of Truth (Summon Cards Tinker Bell)": KHRECOMLocationData("Progression", 269_0035), + "Hollow Bastion Room of Rewards (Summon Cards Mushu)": KHRECOMLocationData("Progression", 269_0036), + "Olympus Coliseum Room of Truth (Summon Cards Cloud)": KHRECOMLocationData("Progression", 269_0037), + "Starting Checks (Item Cards Potion)": KHRECOMLocationData("Starting", 269_0038), + "Olympus Coliseum Room of Guidance (Item Cards Hi-Potion)": KHRECOMLocationData("Progression", 269_0039), + #"11F Exit Hall Riku III (Item Cards Mega-Potion)": KHRECOMLocationData("Progression", 269_0040), + "Agrabah Room of Guidance (Item Cards Ether)": KHRECOMLocationData("Progression", 269_0041), + "100 Acre Wood Whirlwind Plunge (Item Cards Mega-Ether)": KHRECOMLocationData("Progression", 269_0042), + "100 Acre Wood Bumble Rumble (Item Cards Elixir)": KHRECOMLocationData("Progression", 269_0043), + "Destiny Islands Room of Rewards (Item Cards Megalixir)": KHRECOMLocationData("Progression", 269_0044), + "Traverse Town Room of Truth (Enemy Cards Guard Armor)": KHRECOMLocationData("Progression", 269_0083), + "Olympus Coliseum Room of Truth (Enemy Cards Hades)": KHRECOMLocationData("Progression", 269_0084), + "Wonderland Room of Truth (Enemy Cards Trickmaster)": KHRECOMLocationData("Progression", 269_0085), + "Agrabah Room of Truth (Enemy Cards Jafar)": KHRECOMLocationData("Progression", 269_0086), + "Atlantica Room of Truth (Enemy Cards Ursula)": KHRECOMLocationData("Progression", 269_0087), + "Halloween Town Room of Truth (Enemy Cards Oogie Boogie)": KHRECOMLocationData("Progression", 269_0088), + "Monstro Room of Guidance (Enemy Cards Parasite Cage)": KHRECOMLocationData("Progression", 269_0089), + "Neverland Room of Truth (Enemy Cards Hook)": KHRECOMLocationData("Progression", 269_0090), + "Hollow Bastion Room of Truth (Enemy Cards Dragon Maleficent)": KHRECOMLocationData("Progression", 269_0091), + "Destiny Islands Room of Guidance (Enemy Cards Darkside)": KHRECOMLocationData("Progression", 269_0092), + "12F Exit Hall Riku IV (Enemy Cards Riku)": KHRECOMLocationData("Progression", 269_0093), + "Wonderland Room of Beginnings (Enemy Cards Card Soldier)": KHRECOMLocationData("Progression", 269_0094), + #"Twilight Town Bounty (Enemy Cards Ansem)": KHRECOMLocationData("Days" , 269_0095), #RR + "Wonderland Room of Rewards (Enemy Cards Xemnas)": KHRECOMLocationData("Days" , 269_0096), #Days Location + "Hollow Bastion Room of Rewards (Enemy Cards Xigbar)": KHRECOMLocationData("Days" , 269_0097), #Days Location + "Monstro Room of Rewards (Enemy Cards Xaldin)": KHRECOMLocationData("Days" , 269_0098), #Days Location + "Twilight Town Room of Beginnings (Enemy Cards Vexen)": KHRECOMLocationData("Progression", 269_0099), + #"Castle Oblivion Bounty (Enemy Cards Lexaeus)": KHRECOMLocationData("Days" , 269_0100), #RR + #"Destiny Islands Bounty (Enemy Cards Zexion)": KHRECOMLocationData("Days" , 269_0101), #RR + "Traverse Town Room of Rewards (Enemy Cards Saix)": KHRECOMLocationData("Days" , 269_0102), #Days Location + "Castle Oblivion Room of Beginnings (Enemy Cards Axel)": KHRECOMLocationData("Progression", 269_0103), + "Atlantica Room of Rewards (Enemy Cards Demyx)": KHRECOMLocationData("Days" , 269_0104), #Days Location + "Agrabah Room of Rewards (Enemy Cards Luxord)": KHRECOMLocationData("Days" , 269_0105), #Days Location + "Castle Oblivion Field Marluxia": KHRECOMLocationData("Progression", 269_0106), + "12F Exit Hall Larxene II (Enemy Cards Larxene)": KHRECOMLocationData("Progression", 269_0107), + "Twilight Town Room of Rewards (Enemy Cards Roxas)": KHRECOMLocationData("Days" , 269_0108), #Days Location - "01F Exit Hall Axel I (Magic Cards Fire)": KHRECOMLocationData("Progression", 269_0101), - "Traverse Town Room of Beginnings": KHRECOMLocationData("Progression", 269_0102), - "Traverse Town Room of Beginnings (Summon Cards Simba)": KHRECOMLocationData("Progression", 269_0103), - "Traverse Town Room of Guidance": KHRECOMLocationData("Progression", 269_0104), - "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 + "Traverse Town Room of Beginnings": KHRECOMLocationData("Progression", 269_1011), + "Traverse Town Room of Guidance": KHRECOMLocationData("Progression", 269_1012), + "Traverse Town Room of Truth": KHRECOMLocationData("Progression", 269_1013), + "Agrabah Room of Beginnings": KHRECOMLocationData("Progression", 269_1021), + "Agrabah Room of Guidance": KHRECOMLocationData("Progression", 269_1022), + "Agrabah Room of Truth": KHRECOMLocationData("Progression", 269_1023), + "Olympus Coliseum Room of Beginnings": KHRECOMLocationData("Progression", 269_1031), + "Olympus Coliseum Room of Guidance": KHRECOMLocationData("Progression", 269_1032), + "Olympus Coliseum Room of Truth": KHRECOMLocationData("Progression", 269_1033), + "Wonderland Room of Beginnings": KHRECOMLocationData("Progression", 269_1041), + "Wonderland Room of Guidance": KHRECOMLocationData("Progression", 269_1042), + "Wonderland Room of Truth": KHRECOMLocationData("Progression", 269_1043), + "Monstro Room of Beginnings": KHRECOMLocationData("Progression", 269_1051), + "Monstro Room of Guidance": KHRECOMLocationData("Progression", 269_1052), + "Monstro Room of Truth": KHRECOMLocationData("Progression", 269_1053), + "Halloween Town Room of Beginnings": KHRECOMLocationData("Progression", 269_1061), + "Halloween Town Room of Guidance": KHRECOMLocationData("Progression", 269_1062), + "Halloween Town Room of Truth": KHRECOMLocationData("Progression", 269_1063), + "Atlantica Room of Beginnings": KHRECOMLocationData("Progression", 269_1071), + "Atlantica Room of Guidance": KHRECOMLocationData("Progression", 269_1072), + "Atlantica Room of Truth": KHRECOMLocationData("Progression", 269_1073), + "Neverland Room of Beginnings": KHRECOMLocationData("Progression", 269_1081), + "Neverland Room of Guidance": KHRECOMLocationData("Progression", 269_1082), + "Neverland Room of Truth": KHRECOMLocationData("Progression", 269_1083), + "Hollow Bastion Room of Beginnings": KHRECOMLocationData("Progression", 269_1091), + "Hollow Bastion Room of Guidance": KHRECOMLocationData("Progression", 269_1092), + "Hollow Bastion Room of Truth": KHRECOMLocationData("Progression", 269_1093), + "Twilight Town Room of Beginnings": KHRECOMLocationData("Progression", 269_1111), + "Destiny Islands Room of Beginnings": KHRECOMLocationData("Progression", 269_1121), + "Destiny Islands Room of Guidance": KHRECOMLocationData("Progression", 269_1122), + "Castle Oblivion Room of Beginnings": KHRECOMLocationData("Progression", 269_1131), - "Wonderland Bounty (Magic Cards Stop)": KHRECOMLocationData("Progression", 269_0201), - "Wonderland Field (Attack Cards Lady Luck)": KHRECOMLocationData("Progression", 269_0202), - "Wonderland Room of Beginnings": KHRECOMLocationData("Progression", 269_0203), - "Wonderland Room of Beginnings (Enemy Cards Card Soldier)": KHRECOMLocationData("Progression", 269_0204), - "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 + "Defeat 1 Heartless Shadow": KHRECOMLocationData("Progression", 269_1201), + "Defeat 1 Heartless Soldier": KHRECOMLocationData("Progression", 269_1202), + "Defeat 1 Heartless Large Body": KHRECOMLocationData("Progression", 269_1203), + "Defeat 1 Heartless Red Nocturne": KHRECOMLocationData("Progression", 269_1204), + "Defeat 1 Heartless Blue Rhapsody": KHRECOMLocationData("Progression", 269_1205), + "Defeat 1 Heartless Yellow Opera": KHRECOMLocationData("Progression", 269_1206), + "Defeat 1 Heartless Green Requiem": KHRECOMLocationData("Progression", 269_1207), + "Defeat 1 Heartless Powerwild": KHRECOMLocationData("Progression", 269_1208), + "Defeat 1 Heartless Bouncywild": KHRECOMLocationData("Progression", 269_1209), + "Defeat 1 Heartless Air Soldier": KHRECOMLocationData("Progression", 269_1210), + "Defeat 1 Heartless Bandit": KHRECOMLocationData("Progression", 269_1211), + "Defeat 1 Heartless Fat Bandit": KHRECOMLocationData("Progression", 269_1212), + "Defeat 1 Heartless Barrel Spider": KHRECOMLocationData("Progression", 269_1213), + "Defeat 1 Heartless Search Ghost": KHRECOMLocationData("Progression", 269_1214), + "Defeat 1 Heartless Sea Neon": KHRECOMLocationData("Progression", 269_1215), + "Defeat 1 Heartless Screwdiver": KHRECOMLocationData("Progression", 269_1216), + "Defeat 1 Heartless Aquatank": KHRECOMLocationData("Progression", 269_1217), + "Defeat 1 Heartless Wight Knight": KHRECOMLocationData("Progression", 269_1218), + "Defeat 1 Heartless Gargoyle": KHRECOMLocationData("Progression", 269_1219), + "Defeat 1 Heartless Pirate": KHRECOMLocationData("Progression", 269_1220), + "Defeat 1 Heartless Air Pirate": KHRECOMLocationData("Progression", 269_1221), + "Defeat 1 Heartless Darkball": KHRECOMLocationData("Progression", 269_1222), + "Defeat 1 Heartless Defender": KHRECOMLocationData("Progression", 269_1223), + "Defeat 1 Heartless Wyvern": KHRECOMLocationData("Progression", 269_1224), + "Defeat 1 Heartless Wizard": KHRECOMLocationData("Progression", 269_1225), + "Defeat 1 Heartless Neoshadow": KHRECOMLocationData("Progression", 269_1226), + "Defeat 1 Heartless White Mushroom": KHRECOMLocationData("Progression", 269_1227), + "Defeat 1 Heartless Black Fungus": KHRECOMLocationData("Progression", 269_1228), + "Defeat 1 Heartless Creeper Plant": KHRECOMLocationData("Progression", 269_1229), + "Defeat 1 Heartless Tornado Step": KHRECOMLocationData("Progression", 269_1230), + "Defeat 1 Heartless Crescendo": KHRECOMLocationData("Progression", 269_1231), - "Olympus Coliseum Field (Attack Card Olympia)": KHRECOMLocationData("Progression", 269_0301), - "Olympus Coliseum Room of Beginnings": KHRECOMLocationData("Progression", 269_0302), - "Olympus Coliseum Room of Guidance": KHRECOMLocationData("Progression", 269_0303), - "Olympus Coliseum Room of Guidance (Item Cards Hi-Potion)": KHRECOMLocationData("Progression", 269_0304), - "Olympus Coliseum Room of Truth": KHRECOMLocationData("Progression", 269_0305), - "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 + "Defeat 2 Heartless Shadow": KHRECOMLocationData("Progression", 269_1301), + "Defeat 2 Heartless Soldier": KHRECOMLocationData("Progression", 269_1302), + "Defeat 2 Heartless Large Body": KHRECOMLocationData("Progression", 269_1303), + "Defeat 2 Heartless Red Nocturne": KHRECOMLocationData("Progression", 269_1304), + "Defeat 2 Heartless Blue Rhapsody": KHRECOMLocationData("Progression", 269_1305), + "Defeat 2 Heartless Yellow Opera": KHRECOMLocationData("Progression", 269_1306), + "Defeat 2 Heartless Green Requiem": KHRECOMLocationData("Progression", 269_1307), + "Defeat 2 Heartless Powerwild": KHRECOMLocationData("Progression", 269_1308), + "Defeat 2 Heartless Bouncywild": KHRECOMLocationData("Progression", 269_1309), + "Defeat 2 Heartless Air Soldier": KHRECOMLocationData("Progression", 269_1310), + "Defeat 2 Heartless Bandit": KHRECOMLocationData("Progression", 269_1311), + "Defeat 2 Heartless Fat Bandit": KHRECOMLocationData("Progression", 269_1312), + "Defeat 2 Heartless Barrel Spider": KHRECOMLocationData("Progression", 269_1313), + "Defeat 2 Heartless Search Ghost": KHRECOMLocationData("Progression", 269_1314), + "Defeat 2 Heartless Sea Neon": KHRECOMLocationData("Progression", 269_1315), + "Defeat 2 Heartless Screwdiver": KHRECOMLocationData("Progression", 269_1316), + "Defeat 2 Heartless Aquatank": KHRECOMLocationData("Progression", 269_1317), + "Defeat 2 Heartless Wight Knight": KHRECOMLocationData("Progression", 269_1318), + "Defeat 2 Heartless Gargoyle": KHRECOMLocationData("Progression", 269_1319), + "Defeat 2 Heartless Pirate": KHRECOMLocationData("Progression", 269_1320), + "Defeat 2 Heartless Air Pirate": KHRECOMLocationData("Progression", 269_1321), + "Defeat 2 Heartless Darkball": KHRECOMLocationData("Progression", 269_1322), + "Defeat 2 Heartless Defender": KHRECOMLocationData("Progression", 269_1323), + "Defeat 2 Heartless Wyvern": KHRECOMLocationData("Progression", 269_1324), + "Defeat 2 Heartless Wizard": KHRECOMLocationData("Progression", 269_1325), + "Defeat 2 Heartless Neoshadow": KHRECOMLocationData("Progression", 269_1326), + "Defeat 2 Heartless White Mushroom": KHRECOMLocationData("Progression", 269_1327), + "Defeat 2 Heartless Black Fungus": KHRECOMLocationData("Progression", 269_1328), + "Defeat 2 Heartless Creeper Plant": KHRECOMLocationData("Progression", 269_1329), + "Defeat 2 Heartless Tornado Step": KHRECOMLocationData("Progression", 269_1330), + "Defeat 2 Heartless Crescendo": KHRECOMLocationData("Progression", 269_1331), - "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 + "Defeat 3 Heartless Shadow": KHRECOMLocationData("Progression", 269_1401), + "Defeat 3 Heartless Soldier": KHRECOMLocationData("Progression", 269_1402), + "Defeat 3 Heartless Large Body": KHRECOMLocationData("Progression", 269_1403), + "Defeat 3 Heartless Red Nocturne": KHRECOMLocationData("Progression", 269_1404), + "Defeat 3 Heartless Blue Rhapsody": KHRECOMLocationData("Progression", 269_1405), + "Defeat 3 Heartless Yellow Opera": KHRECOMLocationData("Progression", 269_1406), + "Defeat 3 Heartless Green Requiem": KHRECOMLocationData("Progression", 269_1407), + "Defeat 3 Heartless Powerwild": KHRECOMLocationData("Progression", 269_1408), + "Defeat 3 Heartless Bouncywild": KHRECOMLocationData("Progression", 269_1409), + "Defeat 3 Heartless Air Soldier": KHRECOMLocationData("Progression", 269_1410), + "Defeat 3 Heartless Bandit": KHRECOMLocationData("Progression", 269_1411), + "Defeat 3 Heartless Fat Bandit": KHRECOMLocationData("Progression", 269_1412), + "Defeat 3 Heartless Barrel Spider": KHRECOMLocationData("Progression", 269_1413), + "Defeat 3 Heartless Search Ghost": KHRECOMLocationData("Progression", 269_1414), + "Defeat 3 Heartless Sea Neon": KHRECOMLocationData("Progression", 269_1415), + "Defeat 3 Heartless Screwdiver": KHRECOMLocationData("Progression", 269_1416), + "Defeat 3 Heartless Aquatank": KHRECOMLocationData("Progression", 269_1417), + "Defeat 3 Heartless Wight Knight": KHRECOMLocationData("Progression", 269_1418), + "Defeat 3 Heartless Gargoyle": KHRECOMLocationData("Progression", 269_1419), + "Defeat 3 Heartless Pirate": KHRECOMLocationData("Progression", 269_1420), + "Defeat 3 Heartless Air Pirate": KHRECOMLocationData("Progression", 269_1421), + "Defeat 3 Heartless Darkball": KHRECOMLocationData("Progression", 269_1422), + "Defeat 3 Heartless Defender": KHRECOMLocationData("Progression", 269_1423), + "Defeat 3 Heartless Wyvern": KHRECOMLocationData("Progression", 269_1424), + "Defeat 3 Heartless Wizard": KHRECOMLocationData("Progression", 269_1425), + "Defeat 3 Heartless Neoshadow": KHRECOMLocationData("Progression", 269_1426), + "Defeat 3 Heartless White Mushroom": KHRECOMLocationData("Progression", 269_1427), + "Defeat 3 Heartless Black Fungus": KHRECOMLocationData("Progression", 269_1428), + "Defeat 3 Heartless Creeper Plant": KHRECOMLocationData("Progression", 269_1429), + "Defeat 3 Heartless Tornado Step": KHRECOMLocationData("Progression", 269_1430), + "Defeat 3 Heartless Crescendo": KHRECOMLocationData("Progression", 269_1431), - "Agrabah Bounty (Magic Cards Gravity)": KHRECOMLocationData("Progression", 269_0501), - "Agrabah Field (Attack Cards Three Wishes)": KHRECOMLocationData("Progression", 269_0502), - "Agrabah Room of Beginnings": KHRECOMLocationData("Progression", 269_0503), - "Agrabah Room of Guidance": KHRECOMLocationData("Progression", 269_0504), - "Agrabah Room of Guidance (Item Cards Ether)": KHRECOMLocationData("Progression", 269_0505), - "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), - "06F Exit Hall Larxene I (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), - "07F Exit Hall Riku I (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 Bumble Rumble (Item Cards Elixir)": KHRECOMLocationData("Progression", 269_1002), - "100 Acre Wood Whirlwind Plunge (Item Cards Mega-Ether)": KHRECOMLocationData("Progression", 269_1003), - "100 Acre Wood Tigger's Playground (Attack Cards Spellbinder)": KHRECOMLocationData("Progression", 269_1004), - - #"11F Exit Hall Riku III (Item Cards Mega-Potion)": KHRECOMLocationData("Progression", 269_1101), - "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 Room of Guidance (Attack Cards Oathkeeper)": KHRECOMLocationData("Progression", 269_1201), - "12F Exit Hall Larxene II (Attack Cards Oblivion)": KHRECOMLocationData("Progression", 269_1202), - "12F Exit Hall Larxene II (Enemy Cards Larxene)": KHRECOMLocationData("Progression", 269_1203), - "12F Exit Hall Riku IV (Enemy Cards Riku)": KHRECOMLocationData("Progression", 269_1204), - "Destiny Islands Room of Beginnings": KHRECOMLocationData("Progression", 269_1205), - "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), - "Heartless Aquatank": KHRECOMLocationData("Progression", 269_1403), - "Heartless Bandit": KHRECOMLocationData("Progression", 269_1404), - "Heartless Barrel Spider": KHRECOMLocationData("Progression", 269_1405), - "Heartless Black Fungus": KHRECOMLocationData("Progression", 269_1406), - "Heartless Blue Rhapsody": KHRECOMLocationData("Progression", 269_1407), - "Heartless Bouncywild": KHRECOMLocationData("Progression", 269_1408), - "Heartless Creeper Plant": KHRECOMLocationData("Progression", 269_1409), - "Heartless Crescendo": KHRECOMLocationData("Progression", 269_1410), - "Heartless Darkball": KHRECOMLocationData("Progression", 269_1411), - "Heartless Defender": KHRECOMLocationData("Progression", 269_1412), - "Heartless Fat Bandit": KHRECOMLocationData("Progression", 269_1413), - "Heartless Gargoyle": KHRECOMLocationData("Progression", 269_1414), - "Heartless Green Requiem": KHRECOMLocationData("Progression", 269_1415), - "Heartless Large Body": KHRECOMLocationData("Progression", 269_1416), - "Heartless Neoshadow": KHRECOMLocationData("Progression", 269_1417), - "Heartless Pirate": KHRECOMLocationData("Progression", 269_1418), - "Heartless Powerwild": KHRECOMLocationData("Progression", 269_1419), - "Heartless Red Nocturne": KHRECOMLocationData("Progression", 269_1420), - "Heartless Screwdiver": KHRECOMLocationData("Progression", 269_1421), - "Heartless Sea Neon": KHRECOMLocationData("Progression", 269_1422), - "Heartless Search Ghost": KHRECOMLocationData("Progression", 269_1423), - "Heartless Shadow": KHRECOMLocationData("Progression", 269_1424), - "Heartless Soldier": KHRECOMLocationData("Progression", 269_1425), - "Heartless Tornado Step": KHRECOMLocationData("Progression", 269_1426), - "Heartless White Mushroom": KHRECOMLocationData("Progression", 269_1427), - "Heartless Wight Knight": KHRECOMLocationData("Progression", 269_1428), - "Heartless Wizard": KHRECOMLocationData("Progression", 269_1429), - "Heartless Wyvern": KHRECOMLocationData("Progression", 269_1430), - "Heartless Yellow Opera": KHRECOMLocationData("Progression", 269_1431), - - "Level 02 (Sleight Sliding Dash)": KHRECOMLocationData("Progression", 269_1501), - "Level 17 (Sleight Blitz)": KHRECOMLocationData("Progression", 269_1502), - "Level 07 (Sleight Stun Impact)": KHRECOMLocationData("Progression", 269_1503), - "Level 22 (Sleight Zantetsuken)": KHRECOMLocationData("Progression", 269_1504), - "Level 12 (Sleight Strike Raid)": KHRECOMLocationData("Progression", 269_1505), - "Level 27 (Sleight Sonic Blade)": KHRECOMLocationData("Progression", 269_1506), - "Level 42 (Sleight Ars Arcanum)": KHRECOMLocationData("Progression", 269_1507), - "Level 52 (Sleight Ragnarok)": KHRECOMLocationData("Progression", 269_1508), - "Castle Oblivion Entrance (Sleight Trinity Limit)": KHRECOMLocationData("Progression", 269_1509), - "01F Exit Hall Axel I (Sleight Fira)": KHRECOMLocationData("Progression", 269_1510), - "Starting Checks (Sleight Blizzara)": KHRECOMLocationData("Progression", 269_1511), - "06F Exit Hall Larxene I (Sleight Thundara)": KHRECOMLocationData("Progression", 269_1512), - "Starting Checks (Sleight Cura)": KHRECOMLocationData("Progression", 269_1513), - "Agrabah Bounty (Sleight Gravira)": KHRECOMLocationData("Progression", 269_1514), - "Wonderland Bounty (Sleight Stopra)": KHRECOMLocationData("Progression", 269_1515), - "07F Exit Hall Riku I (Sleight Aerora)": KHRECOMLocationData("Progression", 269_1516), - "01F Exit Hall Axel I (Sleight Firaga)": KHRECOMLocationData("Progression", 269_1517), - "Starting Checks (Sleight Blizzaga)": KHRECOMLocationData("Progression", 269_1518), - "06F Exit Hall Larxene I (Sleight Thundaga)": KHRECOMLocationData("Progression", 269_1519), - "Starting Checks (Sleight Curaga)": KHRECOMLocationData("Progression", 269_1520), - "Agrabah Bounty (Sleight Graviga)": KHRECOMLocationData("Progression", 269_1521), - "Wonderland Bounty (Sleight Stopga)": KHRECOMLocationData("Progression", 269_1522), - "07F Exit Hall Riku I (Sleight Aeroga)": KHRECOMLocationData("Progression", 269_1523), - "Monstro Bounty (Sleight Fire Raid)": KHRECOMLocationData("Progression", 269_1524), - "Olympus Coliseum Bounty (Sleight Blizzard Raid)": KHRECOMLocationData("Progression", 269_1525), - "Neverland Room of Rewards (Sleight Thunder Raid)": KHRECOMLocationData("Progression", 269_1526), - "Hollow Bastion Bounty (Sleight Reflect Raid)": KHRECOMLocationData("Progression", 269_1527), - "Destiny Islands Bounty (Sleight Judgment)": KHRECOMLocationData("Progression", 269_1528), - "100 Acre Wood Balloon Glider (Sleight Firaga Burst)": KHRECOMLocationData("Progression", 269_1529), - "Castle Oblivion Bounty (Sleight Raging Storm)": KHRECOMLocationData("Progression", 269_1530), - "Level 57 (Sleight Mega Flare)": KHRECOMLocationData("Progression", 269_1531), - "10F Exit Hall Vexen I (Sleight Freeze)": KHRECOMLocationData("Progression", 269_1532), - "Atlantica Bounty (Sleight Homing Blizzara)": KHRECOMLocationData("Progression", 269_1533), - "Monstro Room of Rewards (Sleight Aqua Splash)": KHRECOMLocationData("Progression", 269_1534), - "08F Exit Hall Riku II (Sleight Magnet Spiral)": KHRECOMLocationData("Progression", 269_1535), - "Level 32 (Sleight Lethal Frame)": KHRECOMLocationData("Progression", 269_1536), - "Atlantica Bounty (Sleight Shock Impact)": KHRECOMLocationData("Progression", 269_1537), - "Level 37 (Sleight Tornado)": KHRECOMLocationData("Progression", 269_1538), - "Atlantica Room of Rewards (Sleight Quake)": KHRECOMLocationData("Progression", 269_1539), - "Twilight Town Bounty (Sleight Warpinator)": KHRECOMLocationData("Progression", 269_1540), - "Agrabah Room of Rewards (Sleight Warp)": KHRECOMLocationData("Progression", 269_1541), - "Halloween Town Room of Rewards (Sleight Bind)": KHRECOMLocationData("Progression", 269_1542), - "100 Acre Wood Piglet (Sleight Confuse)": KHRECOMLocationData("Progression", 269_1543), - "Halloween Town Entrance (Sleight Terror)": KHRECOMLocationData("Progression", 269_1544), - "Wonderland Room of Rewards (Sleight Synchro)": KHRECOMLocationData("Progression", 269_1545), - "Halloween Town Bounty (Sleight Gifted Miracle)": KHRECOMLocationData("Progression", 269_1546), - "Neverland Bounty (Sleight Teleport)": KHRECOMLocationData("Progression", 269_1547), - "Level 47 (Sleight Holy)": KHRECOMLocationData("Progression", 269_1548), - "Traverse Town Room of Beginnings (Sleight Proud Roar LV2)": KHRECOMLocationData("Progression", 269_1549), - "Traverse Town Room of Beginnings (Sleight Proud Roar LV3)": KHRECOMLocationData("Progression", 269_1550), - "Monstro Room of Truth (Sleight Splash LV2)": KHRECOMLocationData("Progression", 269_1551), - "Monstro Room of Truth (Sleight Splash LV3)": KHRECOMLocationData("Progression", 269_1552), - "100 Acre Wood Clear (Sleight Paradise LV2)": KHRECOMLocationData("Progression", 269_1553), - "100 Acre Wood Clear (Sleight Paradise LV3)": KHRECOMLocationData("Progression", 269_1554), - "100 Acre Wood Jump-a-Thon (Sleight Idyll Romp)": KHRECOMLocationData("Progression", 269_1555), - "Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)": KHRECOMLocationData("Progression", 269_1556), - "Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)": KHRECOMLocationData("Progression", 269_1557), - "Agrabah Room of Truth (Sleight Showtime LV2)": KHRECOMLocationData("Progression", 269_1558), - "Agrabah Room of Truth (Sleight Showtime LV3)": KHRECOMLocationData("Progression", 269_1559), - "Neverland Room of Truth (Sleight Twinkle LV2)": KHRECOMLocationData("Progression", 269_1560), - "Neverland Room of Truth (Sleight Twinkle LV3)": KHRECOMLocationData("Progression", 269_1561), - "Olympus Coliseum Room of Truth (Sleight Cross-slash)": KHRECOMLocationData("Progression", 269_1562), - "Olympus Coliseum Room of Truth (Sleight Omnislash)": KHRECOMLocationData("Progression", 269_1563), - "100 Acre Wood Veggie Panic (Sleight Cross-slash+)": KHRECOMLocationData("Progression", 269_1564), - "Starting Checks (Sleight Magic LV2)": KHRECOMLocationData("Progression", 269_1565), - "Starting Checks (Sleight Magic LV3)": KHRECOMLocationData("Progression", 269_1566), - "Twilight Town Room of Rewards (Sleight Stardust Blitz)": KHRECOMLocationData("Progression", 269_1567), - "Starting Checks (Sleight Goofy Tornado LV2)": KHRECOMLocationData("Progression", 269_1568), - "Starting Checks (Sleight Goofy Tornado LV3)": KHRECOMLocationData("Progression", 269_1569), - "Starting Checks (Sleight Goofy Smash)": KHRECOMLocationData("Progression", 269_1570), - "Starting Checks (Sleight Wild Crush)": KHRECOMLocationData("Progression", 269_1571), - "Agrabah Ally (Sleight Sandstorm LV2)": KHRECOMLocationData("Progression", 269_1572), - "Agrabah Ally (Sleight Sandstorm LV3)": KHRECOMLocationData("Progression", 269_1573), - "Halloween Town Ally (Sleight Surprise! LV2)": KHRECOMLocationData("Progression", 269_1574), - "Halloween Town Ally (Sleight Surprise! LV3)": KHRECOMLocationData("Progression", 269_1575), - "Atlantica Ally (Sleight Spiral Wave LV2)": KHRECOMLocationData("Progression", 269_1576), - "Atlantica Ally (Sleight Spiral Wave LV3)": KHRECOMLocationData("Progression", 269_1577), - "Neverland Ally (Sleight Hummingbird LV2)": KHRECOMLocationData("Progression", 269_1578), - "Neverland Ally (Sleight Hummingbird LV3)": KHRECOMLocationData("Progression", 269_1579), - "Hollow Bastion Ally (Sleight Furious Volley LV2)": KHRECOMLocationData("Progression", 269_1580), - "Hollow Bastion Ally (Sleight Furious Volley LV3)": KHRECOMLocationData("Progression", 269_1581), - "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV2)": KHRECOMLocationData("Progression", 269_1582), - "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV3)": KHRECOMLocationData("Progression", 269_1583), + "Level 02 (Sleight Sliding Dash)": KHRECOMLocationData("Progression", 269_2001), + "Level 17 (Sleight Blitz)": KHRECOMLocationData("Progression", 269_2002), + "Level 07 (Sleight Stun Impact)": KHRECOMLocationData("Progression", 269_2003), + "Level 22 (Sleight Zantetsuken)": KHRECOMLocationData("Progression", 269_2004), + "Level 12 (Sleight Strike Raid)": KHRECOMLocationData("Progression", 269_2005), + "Level 27 (Sleight Sonic Blade)": KHRECOMLocationData("Progression", 269_2006), + "Level 42 (Sleight Ars Arcanum)": KHRECOMLocationData("Progression", 269_2007), + "Level 52 (Sleight Ragnarok)": KHRECOMLocationData("Progression", 269_2008), + "Castle Oblivion Entrance (Sleight Trinity Limit)": KHRECOMLocationData("Progression", 269_2009), + "01F Exit Hall Axel I (Sleight Fira)": KHRECOMLocationData("Progression", 269_2010), + "Starting Checks (Sleight Blizzara)": KHRECOMLocationData("Progression", 269_2011), + "06F Exit Hall Larxene I (Sleight Thundara)": KHRECOMLocationData("Progression", 269_2012), + "Starting Checks (Sleight Cura)": KHRECOMLocationData("Progression", 269_2013), + "Agrabah Bounty (Sleight Gravira)": KHRECOMLocationData("Progression", 269_2014), + "Wonderland Bounty (Sleight Stopra)": KHRECOMLocationData("Progression", 269_2015), + "07F Exit Hall Riku I (Sleight Aerora)": KHRECOMLocationData("Progression", 269_2016), + "01F Exit Hall Axel I (Sleight Firaga)": KHRECOMLocationData("Progression", 269_2017), + "Starting Checks (Sleight Blizzaga)": KHRECOMLocationData("Progression", 269_2018), + "06F Exit Hall Larxene I (Sleight Thundaga)": KHRECOMLocationData("Progression", 269_2019), + "Starting Checks (Sleight Curaga)": KHRECOMLocationData("Progression", 269_2020), + "Agrabah Bounty (Sleight Graviga)": KHRECOMLocationData("Progression", 269_2021), + "Wonderland Bounty (Sleight Stopga)": KHRECOMLocationData("Progression", 269_2022), + "07F Exit Hall Riku I (Sleight Aeroga)": KHRECOMLocationData("Progression", 269_2023), + "Monstro Bounty (Sleight Fire Raid)": KHRECOMLocationData("Progression", 269_2024), + "Olympus Coliseum Bounty (Sleight Blizzard Raid)": KHRECOMLocationData("Progression", 269_2025), + "Neverland Room of Rewards (Sleight Thunder Raid)": KHRECOMLocationData("Progression", 269_2026), + "Hollow Bastion Bounty (Sleight Reflect Raid)": KHRECOMLocationData("Progression", 269_2027), + "Destiny Islands Bounty (Sleight Judgment)": KHRECOMLocationData("Progression", 269_2028), + "100 Acre Wood Balloon Glider (Sleight Firaga Burst)": KHRECOMLocationData("Progression", 269_2029), + "Castle Oblivion Bounty (Sleight Raging Storm)": KHRECOMLocationData("Progression", 269_2030), + "Level 57 (Sleight Mega Flare)": KHRECOMLocationData("Progression", 269_2031), + "10F Exit Hall Vexen I (Sleight Freeze)": KHRECOMLocationData("Progression", 269_2032), + "Atlantica Bounty (Sleight Homing Blizzara)": KHRECOMLocationData("Progression", 269_2033), + "Monstro Room of Rewards (Sleight Aqua Splash)": KHRECOMLocationData("Progression", 269_2034), + #"08F Exit Hall Riku II (Sleight Magnet Spiral)": KHRECOMLocationData("Progression", 269_2035), + "Level 32 (Sleight Lethal Frame)": KHRECOMLocationData("Progression", 269_2036), + "Atlantica Bounty (Sleight Shock Impact)": KHRECOMLocationData("Progression", 269_2037), + "Level 37 (Sleight Tornado)": KHRECOMLocationData("Progression", 269_2038), + "Atlantica Room of Rewards (Sleight Quake)": KHRECOMLocationData("Progression", 269_2039), + "Twilight Town Bounty (Sleight Warpinator)": KHRECOMLocationData("Progression", 269_2040), + "Agrabah Room of Rewards (Sleight Warp)": KHRECOMLocationData("Progression", 269_2041), + "Halloween Town Room of Rewards (Sleight Bind)": KHRECOMLocationData("Progression", 269_2042), + "100 Acre Wood Piglet (Sleight Confuse)": KHRECOMLocationData("Progression", 269_2043), + "Halloween Town Entrance (Sleight Terror)": KHRECOMLocationData("Progression", 269_2044), + "Wonderland Room of Rewards (Sleight Synchro)": KHRECOMLocationData("Progression", 269_2045), + "Halloween Town Bounty (Sleight Gifted Miracle)": KHRECOMLocationData("Progression", 269_2046), + "Neverland Bounty (Sleight Teleport)": KHRECOMLocationData("Progression", 269_2047), + "Level 47 (Sleight Holy)": KHRECOMLocationData("Progression", 269_2048), + "Traverse Town Room of Beginnings (Sleight Proud Roar LV2)": KHRECOMLocationData("Progression", 269_2049), + "Traverse Town Room of Beginnings (Sleight Proud Roar LV3)": KHRECOMLocationData("Progression", 269_2050), + "Monstro Room of Truth (Sleight Splash LV2)": KHRECOMLocationData("Progression", 269_2051), + "Monstro Room of Truth (Sleight Splash LV3)": KHRECOMLocationData("Progression", 269_2052), + "100 Acre Wood Clear (Sleight Paradise LV2)": KHRECOMLocationData("Progression", 269_2053), + "100 Acre Wood Clear (Sleight Paradise LV3)": KHRECOMLocationData("Progression", 269_2054), + "100 Acre Wood Jump-a-Thon (Sleight Idyll Romp)": KHRECOMLocationData("Progression", 269_2055), + "Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)": KHRECOMLocationData("Progression", 269_2056), + "Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)": KHRECOMLocationData("Progression", 269_2057), + "Agrabah Room of Truth (Sleight Showtime LV2)": KHRECOMLocationData("Progression", 269_2058), + "Agrabah Room of Truth (Sleight Showtime LV3)": KHRECOMLocationData("Progression", 269_2059), + "Neverland Room of Truth (Sleight Twinkle LV2)": KHRECOMLocationData("Progression", 269_2060), + "Neverland Room of Truth (Sleight Twinkle LV3)": KHRECOMLocationData("Progression", 269_2061), + "Olympus Coliseum Room of Truth (Sleight Cross-slash)": KHRECOMLocationData("Progression", 269_2062), + "Olympus Coliseum Room of Truth (Sleight Omnislash)": KHRECOMLocationData("Progression", 269_2063), + "100 Acre Wood Veggie Panic (Sleight Cross-slash+)": KHRECOMLocationData("Progression", 269_2064), + "Starting Checks (Sleight Magic LV2)": KHRECOMLocationData("Progression", 269_2065), + "Starting Checks (Sleight Magic LV3)": KHRECOMLocationData("Progression", 269_2066), + "Twilight Town Room of Rewards (Sleight Stardust Blitz)": KHRECOMLocationData("Progression", 269_2067), + "Starting Checks (Sleight Goofy Tornado LV2)": KHRECOMLocationData("Progression", 269_2068), + "Starting Checks (Sleight Goofy Tornado LV3)": KHRECOMLocationData("Progression", 269_2069), + "Starting Checks (Sleight Goofy Smash)": KHRECOMLocationData("Progression", 269_2070), + "Starting Checks (Sleight Wild Crush)": KHRECOMLocationData("Progression", 269_2071), + "Agrabah Ally (Sleight Sandstorm LV2)": KHRECOMLocationData("Progression", 269_2072), + "Agrabah Ally (Sleight Sandstorm LV3)": KHRECOMLocationData("Progression", 269_2073), + "Halloween Town Ally (Sleight Surprise! LV2)": KHRECOMLocationData("Progression", 269_2074), + "Halloween Town Ally (Sleight Surprise! LV3)": KHRECOMLocationData("Progression", 269_2075), + "Atlantica Ally (Sleight Spiral Wave LV2)": KHRECOMLocationData("Progression", 269_2076), + "Atlantica Ally (Sleight Spiral Wave LV3)": KHRECOMLocationData("Progression", 269_2077), + "Neverland Ally (Sleight Hummingbird LV2)": KHRECOMLocationData("Progression", 269_2078), + "Neverland Ally (Sleight Hummingbird LV3)": KHRECOMLocationData("Progression", 269_2079), + "Hollow Bastion Ally (Sleight Furious Volley LV2)": KHRECOMLocationData("Progression", 269_2080), + "Hollow Bastion Ally (Sleight Furious Volley LV3)": KHRECOMLocationData("Progression", 269_2081), + "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV2)": KHRECOMLocationData("Progression", 269_2082), + "Traverse Town Room of Beginnings (Sleight Lucky Bounty LV3)": KHRECOMLocationData("Progression", 269_2083), - "Final Marluxia": KHRECOMLocationData("Progression", 269_9999), } diff --git a/worlds/khrecom/Options.py b/worlds/khrecom/Options.py index 6e108185327a..1d2d9b85efe1 100644 --- a/worlds/khrecom/Options.py +++ b/worlds/khrecom/Options.py @@ -2,12 +2,6 @@ from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle, OptionSet, PerGameCommonOptions -class Zeroes(DefaultOnToggle): - """ - Toggle whether 0 value cards should be included in the item pool. - """ - display_name = "Zeroes" - class Cure(DefaultOnToggle): """ Toggle whether Cure cards should be included in the item pool. @@ -20,17 +14,20 @@ class EarlyCure(DefaultOnToggle): """ display_name = "Early Cure" -class EnemyCards(DefaultOnToggle): +class Zeroes(DefaultOnToggle): """ - Toggle whether Enemy Cards should be included in the item pool. + Toggle whether 0 value cards are included in card sets """ - display_name = "Enemy Cards" + display_name = "Zeroes" -class DaysItems(Toggle): +class AttackPower(Range): """ - Toggle whether items not available to the player until they watch 358/2 Days are included in the item pool. + Modifier for Sora's strike power. Default is 10 """ - display_name = "Days Items" + display_name = "Attack Power" + range_start = 1 + range_end = 100 + default = 10 class DaysLocations(Toggle): """ @@ -49,12 +46,6 @@ class ChecksBehindMinigames(Toggle): Toggle whether to include checks behind 100 Acre Woods Minigames. """ display_name = "Checks Behind Minigames" - -class ChecksBehindSleights(Toggle): - """ - Toggle whether to include checks behind Sleights. - """ - display_name = "Checks Behind Sleights" class ChecksBehindSleightsLevels(Toggle): """ @@ -73,14 +64,12 @@ class EXPMultiplier(Range): @dataclass class KHRECOMOptions(PerGameCommonOptions): - zeroes: Zeroes cure: Cure early_cure: EarlyCure - enemy_cards: EnemyCards - days_items: DaysItems days_locations: DaysLocations checks_behind_leon: ChecksBehindLeon exp_multiplier: EXPMultiplier minigames: ChecksBehindMinigames - sleights: ChecksBehindSleights levels: ChecksBehindSleightsLevels + zeroes: Zeroes + attack_power: AttackPower diff --git a/worlds/khrecom/Regions.py b/worlds/khrecom/Regions.py index a607cefe5646..ac2d695bc590 100644 --- a/worlds/khrecom/Regions.py +++ b/worlds/khrecom/Regions.py @@ -163,125 +163,186 @@ def create_regions(multiworld: MultiWorld, player: int, options): regions["Castle Oblivion Halls"].locations.append("12F Exit Hall Larxene II (Enemy Cards Larxene)") regions["Castle Oblivion Halls"].locations.append("12F Exit Hall Riku IV (Enemy Cards Riku)") - regions["Heartless"].locations.append("Heartless Air Pirate") - regions["Heartless"].locations.append("Heartless Air Soldier") - regions["Heartless"].locations.append("Heartless Aquatank") - regions["Heartless"].locations.append("Heartless Bandit") - regions["Heartless"].locations.append("Heartless Barrel Spider") - regions["Heartless"].locations.append("Heartless Black Fungus") - regions["Heartless"].locations.append("Heartless Blue Rhapsody") - regions["Heartless"].locations.append("Heartless Bouncywild") - regions["Heartless"].locations.append("Heartless Creeper Plant") - regions["Heartless"].locations.append("Heartless Crescendo") - regions["Heartless"].locations.append("Heartless Darkball") - regions["Heartless"].locations.append("Heartless Defender") - regions["Heartless"].locations.append("Heartless Fat Bandit") - regions["Heartless"].locations.append("Heartless Gargoyle") - regions["Heartless"].locations.append("Heartless Green Requiem") - regions["Heartless"].locations.append("Heartless Large Body") - regions["Heartless"].locations.append("Heartless Neoshadow") - regions["Heartless"].locations.append("Heartless Pirate") - regions["Heartless"].locations.append("Heartless Powerwild") - regions["Heartless"].locations.append("Heartless Red Nocturne") - regions["Heartless"].locations.append("Heartless Screwdiver") - regions["Heartless"].locations.append("Heartless Sea Neon") - regions["Heartless"].locations.append("Heartless Search Ghost") - regions["Heartless"].locations.append("Heartless Shadow") - regions["Heartless"].locations.append("Heartless Soldier") - regions["Heartless"].locations.append("Heartless Tornado Step") - regions["Heartless"].locations.append("Heartless White Mushroom") - regions["Heartless"].locations.append("Heartless Wight Knight") - regions["Heartless"].locations.append("Heartless Wizard") - regions["Heartless"].locations.append("Heartless Wyvern") - regions["Heartless"].locations.append("Heartless Yellow Opera") + regions["Heartless"].locations.append("Defeat 1 Heartless Air Pirate") + regions["Heartless"].locations.append("Defeat 2 Heartless Air Pirate") + regions["Heartless"].locations.append("Defeat 3 Heartless Air Pirate") + regions["Heartless"].locations.append("Defeat 1 Heartless Air Soldier") + regions["Heartless"].locations.append("Defeat 2 Heartless Air Soldier") + regions["Heartless"].locations.append("Defeat 3 Heartless Air Soldier") + regions["Heartless"].locations.append("Defeat 1 Heartless Aquatank") + regions["Heartless"].locations.append("Defeat 2 Heartless Aquatank") + regions["Heartless"].locations.append("Defeat 3 Heartless Aquatank") + regions["Heartless"].locations.append("Defeat 1 Heartless Bandit") + regions["Heartless"].locations.append("Defeat 2 Heartless Bandit") + regions["Heartless"].locations.append("Defeat 3 Heartless Bandit") + regions["Heartless"].locations.append("Defeat 1 Heartless Barrel Spider") + regions["Heartless"].locations.append("Defeat 2 Heartless Barrel Spider") + regions["Heartless"].locations.append("Defeat 3 Heartless Barrel Spider") + regions["Heartless"].locations.append("Defeat 1 Heartless Black Fungus") + regions["Heartless"].locations.append("Defeat 2 Heartless Black Fungus") + regions["Heartless"].locations.append("Defeat 3 Heartless Black Fungus") + regions["Heartless"].locations.append("Defeat 1 Heartless Blue Rhapsody") + regions["Heartless"].locations.append("Defeat 2 Heartless Blue Rhapsody") + regions["Heartless"].locations.append("Defeat 3 Heartless Blue Rhapsody") + regions["Heartless"].locations.append("Defeat 1 Heartless Bouncywild") + regions["Heartless"].locations.append("Defeat 2 Heartless Bouncywild") + regions["Heartless"].locations.append("Defeat 3 Heartless Bouncywild") + regions["Heartless"].locations.append("Defeat 1 Heartless Creeper Plant") + regions["Heartless"].locations.append("Defeat 2 Heartless Creeper Plant") + regions["Heartless"].locations.append("Defeat 3 Heartless Creeper Plant") + regions["Heartless"].locations.append("Defeat 1 Heartless Crescendo") + regions["Heartless"].locations.append("Defeat 2 Heartless Crescendo") + regions["Heartless"].locations.append("Defeat 3 Heartless Crescendo") + regions["Heartless"].locations.append("Defeat 1 Heartless Darkball") + regions["Heartless"].locations.append("Defeat 2 Heartless Darkball") + regions["Heartless"].locations.append("Defeat 3 Heartless Darkball") + regions["Heartless"].locations.append("Defeat 1 Heartless Defender") + regions["Heartless"].locations.append("Defeat 2 Heartless Defender") + regions["Heartless"].locations.append("Defeat 3 Heartless Defender") + regions["Heartless"].locations.append("Defeat 1 Heartless Fat Bandit") + regions["Heartless"].locations.append("Defeat 2 Heartless Fat Bandit") + regions["Heartless"].locations.append("Defeat 3 Heartless Fat Bandit") + regions["Heartless"].locations.append("Defeat 1 Heartless Gargoyle") + regions["Heartless"].locations.append("Defeat 2 Heartless Gargoyle") + regions["Heartless"].locations.append("Defeat 3 Heartless Gargoyle") + regions["Heartless"].locations.append("Defeat 1 Heartless Green Requiem") + regions["Heartless"].locations.append("Defeat 2 Heartless Green Requiem") + regions["Heartless"].locations.append("Defeat 3 Heartless Green Requiem") + regions["Heartless"].locations.append("Defeat 1 Heartless Large Body") + regions["Heartless"].locations.append("Defeat 2 Heartless Large Body") + regions["Heartless"].locations.append("Defeat 3 Heartless Large Body") + regions["Heartless"].locations.append("Defeat 1 Heartless Neoshadow") + regions["Heartless"].locations.append("Defeat 2 Heartless Neoshadow") + regions["Heartless"].locations.append("Defeat 3 Heartless Neoshadow") + regions["Heartless"].locations.append("Defeat 1 Heartless Pirate") + regions["Heartless"].locations.append("Defeat 2 Heartless Pirate") + regions["Heartless"].locations.append("Defeat 3 Heartless Pirate") + regions["Heartless"].locations.append("Defeat 1 Heartless Powerwild") + regions["Heartless"].locations.append("Defeat 2 Heartless Powerwild") + regions["Heartless"].locations.append("Defeat 3 Heartless Powerwild") + regions["Heartless"].locations.append("Defeat 1 Heartless Red Nocturne") + regions["Heartless"].locations.append("Defeat 2 Heartless Red Nocturne") + regions["Heartless"].locations.append("Defeat 3 Heartless Red Nocturne") + regions["Heartless"].locations.append("Defeat 1 Heartless Screwdiver") + regions["Heartless"].locations.append("Defeat 2 Heartless Screwdiver") + regions["Heartless"].locations.append("Defeat 3 Heartless Screwdiver") + regions["Heartless"].locations.append("Defeat 1 Heartless Sea Neon") + regions["Heartless"].locations.append("Defeat 2 Heartless Sea Neon") + regions["Heartless"].locations.append("Defeat 3 Heartless Sea Neon") + regions["Heartless"].locations.append("Defeat 1 Heartless Search Ghost") + regions["Heartless"].locations.append("Defeat 2 Heartless Search Ghost") + regions["Heartless"].locations.append("Defeat 3 Heartless Search Ghost") + regions["Heartless"].locations.append("Defeat 1 Heartless Shadow") + regions["Heartless"].locations.append("Defeat 2 Heartless Shadow") + regions["Heartless"].locations.append("Defeat 3 Heartless Shadow") + regions["Heartless"].locations.append("Defeat 1 Heartless Soldier") + regions["Heartless"].locations.append("Defeat 2 Heartless Soldier") + regions["Heartless"].locations.append("Defeat 3 Heartless Soldier") + regions["Heartless"].locations.append("Defeat 1 Heartless Tornado Step") + regions["Heartless"].locations.append("Defeat 2 Heartless Tornado Step") + regions["Heartless"].locations.append("Defeat 3 Heartless Tornado Step") + regions["Heartless"].locations.append("Defeat 1 Heartless White Mushroom") + regions["Heartless"].locations.append("Defeat 2 Heartless White Mushroom") + regions["Heartless"].locations.append("Defeat 3 Heartless White Mushroom") + regions["Heartless"].locations.append("Defeat 1 Heartless Wight Knight") + regions["Heartless"].locations.append("Defeat 2 Heartless Wight Knight") + regions["Heartless"].locations.append("Defeat 3 Heartless Wight Knight") + regions["Heartless"].locations.append("Defeat 1 Heartless Wizard") + regions["Heartless"].locations.append("Defeat 2 Heartless Wizard") + regions["Heartless"].locations.append("Defeat 3 Heartless Wizard") + regions["Heartless"].locations.append("Defeat 1 Heartless Wyvern") + regions["Heartless"].locations.append("Defeat 2 Heartless Wyvern") + regions["Heartless"].locations.append("Defeat 3 Heartless Wyvern") + regions["Heartless"].locations.append("Defeat 1 Heartless Yellow Opera") + regions["Heartless"].locations.append("Defeat 2 Heartless Yellow Opera") + regions["Heartless"].locations.append("Defeat 3 Heartless Yellow Opera") - if options.sleights: - if options.levels: - regions["Levels"].locations.append("Level 02 (Sleight Sliding Dash)") - regions["Levels"].locations.append("Level 07 (Sleight Stun Impact)") - regions["Levels"].locations.append("Level 12 (Sleight Strike Raid)") - regions["Levels"].locations.append("Level 17 (Sleight Blitz)") - regions["Levels"].locations.append("Level 22 (Sleight Zantetsuken)") - regions["Levels"].locations.append("Level 27 (Sleight Sonic Blade)") - regions["Levels"].locations.append("Level 32 (Sleight Lethal Frame)") - regions["Levels"].locations.append("Level 37 (Sleight Tornado)") - regions["Levels"].locations.append("Level 42 (Sleight Ars Arcanum)") - regions["Levels"].locations.append("Level 47 (Sleight Holy)") - regions["Levels"].locations.append("Level 52 (Sleight Ragnarok)") - regions["Levels"].locations.append("Level 57 (Sleight Mega Flare)") - if options.minigames: - regions["100 Acre Wood"].locations.append("100 Acre Wood Balloon Glider (Sleight Firaga Burst)") - regions["100 Acre Wood"].locations.append("100 Acre Wood Veggie Panic (Sleight Cross-slash+)") - regions["100 Acre Wood"].locations.append("100 Acre Wood Jump-a-Thon (Sleight Idyll Romp)") - regions["100 Acre Wood"].locations.append("100 Acre Wood Clear (Sleight Paradise LV2)") - regions["100 Acre Wood"].locations.append("100 Acre Wood Clear (Sleight Paradise LV3)") - regions["100 Acre Wood"].locations.append("100 Acre Wood Piglet (Sleight Confuse)") - regions["Agrabah"].locations.append("Agrabah Bounty (Sleight Graviga)") - regions["Agrabah"].locations.append("Agrabah Bounty (Sleight Gravira)") - regions["Agrabah"].locations.append("Agrabah Ally (Sleight Sandstorm LV2)") - regions["Agrabah"].locations.append("Agrabah Ally (Sleight Sandstorm LV3)") - regions["Agrabah"].locations.append("Agrabah Room of Rewards (Sleight Warp)") - regions["Agrabah"].locations.append("Agrabah Room of Truth (Sleight Showtime LV2)") - regions["Agrabah"].locations.append("Agrabah Room of Truth (Sleight Showtime LV3)") - regions["Atlantica"].locations.append("Atlantica Bounty (Sleight Homing Blizzara)") - regions["Atlantica"].locations.append("Atlantica Bounty (Sleight Shock Impact)") - regions["Atlantica"].locations.append("Atlantica Ally (Sleight Spiral Wave LV2)") - regions["Atlantica"].locations.append("Atlantica Ally (Sleight Spiral Wave LV3)") - regions["Atlantica"].locations.append("Atlantica Room of Rewards (Sleight Quake)") - regions["Castle Oblivion Halls"].locations.append("01F Exit Hall Axel I (Sleight Fira)") - regions["Castle Oblivion Halls"].locations.append("01F Exit Hall Axel I (Sleight Firaga)") - regions["Castle Oblivion Halls"].locations.append("06F Exit Hall Larxene I (Sleight Thundara)") - regions["Castle Oblivion Halls"].locations.append("06F Exit Hall Larxene I (Sleight Thundaga)") - regions["Castle Oblivion Halls"].locations.append("07F Exit Hall Riku I (Sleight Aeroga)") - regions["Castle Oblivion Halls"].locations.append("07F Exit Hall Riku I (Sleight Aerora)") - regions["Castle Oblivion Halls"].locations.append("08F Exit Hall Riku II (Sleight Magnet Spiral)") - regions["Castle Oblivion Halls"].locations.append("10F Exit Hall Vexen I (Sleight Freeze)") - regions["Castle Oblivion"].locations.append("Castle Oblivion Bounty (Sleight Raging Storm)") - regions["Castle Oblivion"].locations.append("Castle Oblivion Entrance (Sleight Trinity Limit)") - regions["Destiny Islands"].locations.append("Destiny Islands Bounty (Sleight Judgment)") - regions["Halloween Town"].locations.append("Halloween Town Bounty (Sleight Gifted Miracle)") - regions["Halloween Town"].locations.append("Halloween Town Ally (Sleight Surprise! LV2)") - regions["Halloween Town"].locations.append("Halloween Town Ally (Sleight Surprise! LV3)") - regions["Halloween Town"].locations.append("Halloween Town Entrance (Sleight Terror)") - regions["Halloween Town"].locations.append("Halloween Town Room of Rewards (Sleight Bind)") - regions["Hollow Bastion"].locations.append("Hollow Bastion Bounty (Sleight Reflect Raid)") - regions["Hollow Bastion"].locations.append("Hollow Bastion Ally (Sleight Furious Volley LV2)") - regions["Hollow Bastion"].locations.append("Hollow Bastion Ally (Sleight Furious Volley LV3)") - regions["Hollow Bastion"].locations.append("Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)") - regions["Hollow Bastion"].locations.append("Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)") - regions["Monstro"].locations.append("Monstro Bounty (Sleight Fire Raid)") - regions["Monstro"].locations.append("Monstro Room of Rewards (Sleight Aqua Splash)") - regions["Monstro"].locations.append("Monstro Room of Truth (Sleight Splash LV2)") - regions["Monstro"].locations.append("Monstro Room of Truth (Sleight Splash LV3)") - regions["Neverland"].locations.append("Neverland Ally (Sleight Hummingbird LV2)") - regions["Neverland"].locations.append("Neverland Ally (Sleight Hummingbird LV3)") - regions["Neverland"].locations.append("Neverland Bounty (Sleight Teleport)") - regions["Neverland"].locations.append("Neverland Room of Rewards (Sleight Thunder Raid)") - regions["Neverland"].locations.append("Neverland Room of Truth (Sleight Twinkle LV2)") - regions["Neverland"].locations.append("Neverland Room of Truth (Sleight Twinkle LV3)") - regions["Olympus Coliseum"].locations.append("Olympus Coliseum Bounty (Sleight Blizzard Raid)") - regions["Olympus Coliseum"].locations.append("Olympus Coliseum Room of Truth (Sleight Cross-slash)") - regions["Olympus Coliseum"].locations.append("Olympus Coliseum Room of Truth (Sleight Omnislash)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Blizzaga)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Blizzara)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Cura)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Curaga)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Smash)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Tornado LV2)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Tornado LV3)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Magic LV2)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Magic LV3)") - regions["Traverse Town"].locations.append("Starting Checks (Sleight Wild Crush)") - if options.checks_behind_leon: - regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Lucky Bounty LV2)") - regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Lucky Bounty LV3)") - regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Proud Roar LV2)") - regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Proud Roar LV3)") - regions["Twilight Town"].locations.append("Twilight Town Bounty (Sleight Warpinator)") - regions["Twilight Town"].locations.append("Twilight Town Room of Rewards (Sleight Stardust Blitz)") - regions["Wonderland"].locations.append("Wonderland Bounty (Sleight Stopga)") - regions["Wonderland"].locations.append("Wonderland Bounty (Sleight Stopra)") - regions["Wonderland"].locations.append("Wonderland Room of Rewards (Sleight Synchro)") + if options.levels: + regions["Levels"].locations.append("Level 02 (Sleight Sliding Dash)") + regions["Levels"].locations.append("Level 07 (Sleight Stun Impact)") + regions["Levels"].locations.append("Level 12 (Sleight Strike Raid)") + regions["Levels"].locations.append("Level 17 (Sleight Blitz)") + regions["Levels"].locations.append("Level 22 (Sleight Zantetsuken)") + regions["Levels"].locations.append("Level 27 (Sleight Sonic Blade)") + regions["Levels"].locations.append("Level 32 (Sleight Lethal Frame)") + regions["Levels"].locations.append("Level 37 (Sleight Tornado)") + regions["Levels"].locations.append("Level 42 (Sleight Ars Arcanum)") + regions["Levels"].locations.append("Level 47 (Sleight Holy)") + regions["Levels"].locations.append("Level 52 (Sleight Ragnarok)") + regions["Levels"].locations.append("Level 57 (Sleight Mega Flare)") + if options.minigames: + regions["100 Acre Wood"].locations.append("100 Acre Wood Balloon Glider (Sleight Firaga Burst)") + regions["100 Acre Wood"].locations.append("100 Acre Wood Veggie Panic (Sleight Cross-slash+)") + regions["100 Acre Wood"].locations.append("100 Acre Wood Jump-a-Thon (Sleight Idyll Romp)") + regions["100 Acre Wood"].locations.append("100 Acre Wood Clear (Sleight Paradise LV2)") + regions["100 Acre Wood"].locations.append("100 Acre Wood Clear (Sleight Paradise LV3)") + regions["100 Acre Wood"].locations.append("100 Acre Wood Piglet (Sleight Confuse)") + regions["Agrabah"].locations.append("Agrabah Bounty (Sleight Graviga)") + regions["Agrabah"].locations.append("Agrabah Bounty (Sleight Gravira)") + regions["Agrabah"].locations.append("Agrabah Ally (Sleight Sandstorm LV2)") + regions["Agrabah"].locations.append("Agrabah Ally (Sleight Sandstorm LV3)") + regions["Agrabah"].locations.append("Agrabah Room of Rewards (Sleight Warp)") + regions["Agrabah"].locations.append("Agrabah Room of Truth (Sleight Showtime LV2)") + regions["Agrabah"].locations.append("Agrabah Room of Truth (Sleight Showtime LV3)") + regions["Atlantica"].locations.append("Atlantica Bounty (Sleight Homing Blizzara)") + regions["Atlantica"].locations.append("Atlantica Bounty (Sleight Shock Impact)") + regions["Atlantica"].locations.append("Atlantica Ally (Sleight Spiral Wave LV2)") + regions["Atlantica"].locations.append("Atlantica Ally (Sleight Spiral Wave LV3)") + regions["Atlantica"].locations.append("Atlantica Room of Rewards (Sleight Quake)") + regions["Castle Oblivion Halls"].locations.append("01F Exit Hall Axel I (Sleight Fira)") + regions["Castle Oblivion Halls"].locations.append("01F Exit Hall Axel I (Sleight Firaga)") + regions["Castle Oblivion Halls"].locations.append("06F Exit Hall Larxene I (Sleight Thundara)") + regions["Castle Oblivion Halls"].locations.append("06F Exit Hall Larxene I (Sleight Thundaga)") + regions["Castle Oblivion Halls"].locations.append("07F Exit Hall Riku I (Sleight Aeroga)") + regions["Castle Oblivion Halls"].locations.append("07F Exit Hall Riku I (Sleight Aerora)") + #regions["Castle Oblivion Halls"].locations.append("08F Exit Hall Riku II (Sleight Magnet Spiral)") + regions["Castle Oblivion Halls"].locations.append("10F Exit Hall Vexen I (Sleight Freeze)") + regions["Castle Oblivion"].locations.append("Castle Oblivion Bounty (Sleight Raging Storm)") + regions["Castle Oblivion"].locations.append("Castle Oblivion Entrance (Sleight Trinity Limit)") + regions["Destiny Islands"].locations.append("Destiny Islands Bounty (Sleight Judgment)") + regions["Halloween Town"].locations.append("Halloween Town Bounty (Sleight Gifted Miracle)") + regions["Halloween Town"].locations.append("Halloween Town Ally (Sleight Surprise! LV2)") + regions["Halloween Town"].locations.append("Halloween Town Ally (Sleight Surprise! LV3)") + regions["Halloween Town"].locations.append("Halloween Town Entrance (Sleight Terror)") + regions["Halloween Town"].locations.append("Halloween Town Room of Rewards (Sleight Bind)") + regions["Hollow Bastion"].locations.append("Hollow Bastion Bounty (Sleight Reflect Raid)") + regions["Hollow Bastion"].locations.append("Hollow Bastion Ally (Sleight Furious Volley LV2)") + regions["Hollow Bastion"].locations.append("Hollow Bastion Ally (Sleight Furious Volley LV3)") + regions["Hollow Bastion"].locations.append("Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)") + regions["Hollow Bastion"].locations.append("Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)") + regions["Monstro"].locations.append("Monstro Bounty (Sleight Fire Raid)") + regions["Monstro"].locations.append("Monstro Room of Rewards (Sleight Aqua Splash)") + regions["Monstro"].locations.append("Monstro Room of Truth (Sleight Splash LV2)") + regions["Monstro"].locations.append("Monstro Room of Truth (Sleight Splash LV3)") + regions["Neverland"].locations.append("Neverland Ally (Sleight Hummingbird LV2)") + regions["Neverland"].locations.append("Neverland Ally (Sleight Hummingbird LV3)") + regions["Neverland"].locations.append("Neverland Bounty (Sleight Teleport)") + regions["Neverland"].locations.append("Neverland Room of Rewards (Sleight Thunder Raid)") + regions["Neverland"].locations.append("Neverland Room of Truth (Sleight Twinkle LV2)") + regions["Neverland"].locations.append("Neverland Room of Truth (Sleight Twinkle LV3)") + regions["Olympus Coliseum"].locations.append("Olympus Coliseum Bounty (Sleight Blizzard Raid)") + regions["Olympus Coliseum"].locations.append("Olympus Coliseum Room of Truth (Sleight Cross-slash)") + regions["Olympus Coliseum"].locations.append("Olympus Coliseum Room of Truth (Sleight Omnislash)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Blizzaga)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Blizzara)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Cura)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Curaga)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Smash)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Tornado LV2)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Goofy Tornado LV3)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Magic LV2)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Magic LV3)") + regions["Traverse Town"].locations.append("Starting Checks (Sleight Wild Crush)") + if options.checks_behind_leon: + regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Lucky Bounty LV2)") + regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Lucky Bounty LV3)") + regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Proud Roar LV2)") + regions["Traverse Town"].locations.append("Traverse Town Room of Beginnings (Sleight Proud Roar LV3)") + regions["Twilight Town"].locations.append("Twilight Town Bounty (Sleight Warpinator)") + regions["Twilight Town"].locations.append("Twilight Town Room of Rewards (Sleight Stardust Blitz)") + regions["Wonderland"].locations.append("Wonderland Bounty (Sleight Stopga)") + regions["Wonderland"].locations.append("Wonderland Bounty (Sleight Stopra)") + regions["Wonderland"].locations.append("Wonderland Room of Rewards (Sleight Synchro)") # Set up the regions correctly. for name, data in regions.items(): diff --git a/worlds/khrecom/Rules.py b/worlds/khrecom/Rules.py index 9e3470259d00..14ccc503c828 100644 --- a/worlds/khrecom/Rules.py +++ b/worlds/khrecom/Rules.py @@ -77,59 +77,108 @@ def set_rules(multiworld: MultiWorld, player: int, options): multiworld.get_location("Castle Oblivion Room of Rewards (Attack Cards Star Seeker)" , player).access_rule = lambda state: has_item(state, player,"Key to Rewards Castle Oblivion") - multiworld.get_location("Heartless Air Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") - multiworld.get_location("Heartless Air Soldier" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") - multiworld.get_location("Heartless Aquatank" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") - multiworld.get_location("Heartless Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") - multiworld.get_location("Heartless Barrel Spider" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") - multiworld.get_location("Heartless Bouncywild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") - multiworld.get_location("Heartless Creeper Plant" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") - multiworld.get_location("Heartless Crescendo" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") - multiworld.get_location("Heartless Darkball" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") or has_castle_oblivion(state, player) - multiworld.get_location("Heartless Defender" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) - multiworld.get_location("Heartless Fat Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") - multiworld.get_location("Heartless Gargoyle" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") - multiworld.get_location("Heartless Green Requiem" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_castle_oblivion(state, player) - multiworld.get_location("Heartless Large Body" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Olympus Coliseum") - multiworld.get_location("Heartless Neoshadow" , player).access_rule = lambda state: has_castle_oblivion(state, player) - multiworld.get_location("Heartless Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") - multiworld.get_location("Heartless Powerwild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") - multiworld.get_location("Heartless Screwdiver" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") - multiworld.get_location("Heartless Sea Neon" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") - multiworld.get_location("Heartless Search Ghost" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Atlantica") - multiworld.get_location("Heartless Tornado Step" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Hollow Bastion") or has_item(state, player,"World Card Destiny Islands") - multiworld.get_location("Heartless Wight Knight" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") - multiworld.get_location("Heartless Wizard" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) - multiworld.get_location("Heartless Wyvern" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) - multiworld.get_location("Heartless Yellow Opera" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Air Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 2 Heartless Air Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 3 Heartless Air Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 1 Heartless Air Soldier" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 2 Heartless Air Soldier" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 3 Heartless Air Soldier" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 1 Heartless Aquatank" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 2 Heartless Aquatank" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 3 Heartless Aquatank" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 1 Heartless Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 2 Heartless Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 3 Heartless Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 1 Heartless Barrel Spider" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 2 Heartless Barrel Spider" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 3 Heartless Barrel Spider" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 1 Heartless Bouncywild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 2 Heartless Bouncywild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 3 Heartless Bouncywild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 1 Heartless Creeper Plant" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 2 Heartless Creeper Plant" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 3 Heartless Creeper Plant" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Halloween Town") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 1 Heartless Crescendo" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 2 Heartless Crescendo" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 3 Heartless Crescendo" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 1 Heartless Darkball" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Darkball" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Darkball" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") or has_item(state, player,"World Card Neverland") or has_item(state, player,"World Card Destiny Islands") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Defender" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Defender" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Defender" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Fat Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 2 Heartless Fat Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 3 Heartless Fat Bandit" , player).access_rule = lambda state: has_item(state, player,"World Card Agrabah") + multiworld.get_location("Defeat 1 Heartless Gargoyle" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 2 Heartless Gargoyle" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 3 Heartless Gargoyle" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 1 Heartless Green Requiem" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Green Requiem" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Green Requiem" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Large Body" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 2 Heartless Large Body" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 3 Heartless Large Body" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") or has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 1 Heartless Neoshadow" , player).access_rule = lambda state: has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Neoshadow" , player).access_rule = lambda state: has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Neoshadow" , player).access_rule = lambda state: has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 2 Heartless Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 3 Heartless Pirate" , player).access_rule = lambda state: has_item(state, player,"World Card Neverland") + multiworld.get_location("Defeat 1 Heartless Powerwild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 2 Heartless Powerwild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 3 Heartless Powerwild" , player).access_rule = lambda state: has_item(state, player,"World Card Olympus Coliseum") + multiworld.get_location("Defeat 1 Heartless Screwdiver" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 2 Heartless Screwdiver" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 3 Heartless Screwdiver" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 1 Heartless Sea Neon" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 2 Heartless Sea Neon" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 3 Heartless Sea Neon" , player).access_rule = lambda state: has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 1 Heartless Search Ghost" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 2 Heartless Search Ghost" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 3 Heartless Search Ghost" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Atlantica") + multiworld.get_location("Defeat 1 Heartless Tornado Step" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Hollow Bastion") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 2 Heartless Tornado Step" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Hollow Bastion") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 3 Heartless Tornado Step" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Hollow Bastion") or has_item(state, player,"World Card Destiny Islands") + multiworld.get_location("Defeat 1 Heartless Wight Knight" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 2 Heartless Wight Knight" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 3 Heartless Wight Knight" , player).access_rule = lambda state: has_item(state, player,"World Card Halloween Town") + multiworld.get_location("Defeat 1 Heartless Wizard" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Wizard" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Wizard" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Wyvern" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Wyvern" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Wyvern" , player).access_rule = lambda state: has_item(state, player,"World Card Hollow Bastion") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 1 Heartless Yellow Opera" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 2 Heartless Yellow Opera" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_castle_oblivion(state, player) + multiworld.get_location("Defeat 3 Heartless Yellow Opera" , player).access_rule = lambda state: has_item(state, player,"World Card Monstro") or has_item(state, player,"World Card Agrabah") or has_item(state, player,"World Card Neverland") or has_castle_oblivion(state, player) - if options.sleights: - if options.levels: - multiworld.get_location("Level 12 (Sleight Strike Raid)" , player).access_rule = lambda state: has_x_worlds(state, player, 2) - multiworld.get_location("Level 17 (Sleight Blitz)" , player).access_rule = lambda state: has_x_worlds(state, player, 2) - multiworld.get_location("Level 22 (Sleight Zantetsuken)" , player).access_rule = lambda state: has_x_worlds(state, player, 3) - multiworld.get_location("Level 27 (Sleight Sonic Blade)" , player).access_rule = lambda state: has_x_worlds(state, player, 3) - multiworld.get_location("Level 32 (Sleight Lethal Frame)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) - multiworld.get_location("Level 37 (Sleight Tornado)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) - multiworld.get_location("Level 42 (Sleight Ars Arcanum)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) - multiworld.get_location("Level 47 (Sleight Holy)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) - multiworld.get_location("Level 52 (Sleight Ragnarok)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) - multiworld.get_location("Level 57 (Sleight Mega Flare)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) - multiworld.get_location("Agrabah Room of Rewards (Sleight Warp)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Agrabah") - multiworld.get_location("Atlantica Room of Rewards (Sleight Quake)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Atlantica") - multiworld.get_location("Halloween Town Room of Rewards (Sleight Bind)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Halloween Town") - multiworld.get_location("Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Hollow Bastion") - multiworld.get_location("Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Hollow Bastion") - multiworld.get_location("Monstro Room of Rewards (Sleight Aqua Splash)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Monstro") - multiworld.get_location("Neverland Room of Rewards (Sleight Thunder Raid)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Neverland") - multiworld.get_location("Twilight Town Room of Rewards (Sleight Stardust Blitz)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Twilight Town") - multiworld.get_location("Wonderland Room of Rewards (Sleight Synchro)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Wonderland") - multiworld.get_location("08F Exit Hall Riku II (Sleight Magnet Spiral)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) - multiworld.get_location("10F Exit Hall Vexen I (Sleight Freeze)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) - multiworld.get_location("06F Exit Hall Larxene I (Sleight Thundara)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) - multiworld.get_location("06F Exit Hall Larxene I (Sleight Thundaga)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) - multiworld.get_location("07F Exit Hall Riku I (Sleight Aerora)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) - multiworld.get_location("07F Exit Hall Riku I (Sleight Aeroga)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) + if options.levels: + multiworld.get_location("Level 12 (Sleight Strike Raid)" , player).access_rule = lambda state: has_x_worlds(state, player, 2) + multiworld.get_location("Level 17 (Sleight Blitz)" , player).access_rule = lambda state: has_x_worlds(state, player, 2) + multiworld.get_location("Level 22 (Sleight Zantetsuken)" , player).access_rule = lambda state: has_x_worlds(state, player, 3) + multiworld.get_location("Level 27 (Sleight Sonic Blade)" , player).access_rule = lambda state: has_x_worlds(state, player, 3) + multiworld.get_location("Level 32 (Sleight Lethal Frame)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) + multiworld.get_location("Level 37 (Sleight Tornado)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) + multiworld.get_location("Level 42 (Sleight Ars Arcanum)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) + multiworld.get_location("Level 47 (Sleight Holy)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) + multiworld.get_location("Level 52 (Sleight Ragnarok)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) + multiworld.get_location("Level 57 (Sleight Mega Flare)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) + multiworld.get_location("Agrabah Room of Rewards (Sleight Warp)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Agrabah") + multiworld.get_location("Atlantica Room of Rewards (Sleight Quake)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Atlantica") + multiworld.get_location("Halloween Town Room of Rewards (Sleight Bind)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Halloween Town") + multiworld.get_location("Hollow Bastion Room of Rewards (Sleight Flare Breath LV2)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Hollow Bastion") + multiworld.get_location("Hollow Bastion Room of Rewards (Sleight Flare Breath LV3)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Hollow Bastion") + multiworld.get_location("Monstro Room of Rewards (Sleight Aqua Splash)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Monstro") + multiworld.get_location("Neverland Room of Rewards (Sleight Thunder Raid)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Neverland") + multiworld.get_location("Twilight Town Room of Rewards (Sleight Stardust Blitz)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Twilight Town") + multiworld.get_location("Wonderland Room of Rewards (Sleight Synchro)" , player).access_rule = lambda state: has_item(state, player, "Key to Rewards Wonderland") + #multiworld.get_location("08F Exit Hall Riku II (Sleight Magnet Spiral)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) + multiworld.get_location("10F Exit Hall Vexen I (Sleight Freeze)" , player).access_rule = lambda state: has_x_worlds(state, player, 6) + multiworld.get_location("06F Exit Hall Larxene I (Sleight Thundara)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) + multiworld.get_location("06F Exit Hall Larxene I (Sleight Thundaga)" , player).access_rule = lambda state: has_x_worlds(state, player, 4) + multiworld.get_location("07F Exit Hall Riku I (Sleight Aerora)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) + multiworld.get_location("07F Exit Hall Riku I (Sleight Aeroga)" , player).access_rule = lambda state: has_x_worlds(state, player, 5) # Region rules. multiworld.get_entrance("Wonderland" , player).access_rule = lambda state: has_item(state, player,"World Card Wonderland") diff --git a/worlds/khrecom/__init__.py b/worlds/khrecom/__init__.py index 4456474170fb..d2d21fee5a14 100644 --- a/worlds/khrecom/__init__.py +++ b/worlds/khrecom/__init__.py @@ -63,14 +63,14 @@ def create_items(self): if i < 3: self.multiworld.get_location(starting_locations[i], self.player).place_locked_item(self.create_item(starting_worlds[i])) elif i == 3 and self.options.early_cure: - self.multiworld.get_location(starting_locations[i], self.player).place_locked_item(self.create_item("Card Set Cure 4-6")) + self.multiworld.get_location(starting_locations[i], self.player).place_locked_item(self.create_item("Card Set Cure")) i = i + 1 total_locations = len(self.multiworld.get_unfilled_locations(self.player)) for name, data in item_table.items(): quantity = data.max_quantity # Ignore filler, it will be added in a later stage. - if data.category not in ["World Unlocks", "Gold Map Cards", "Friend Cards"]: + if data.category not in ["World Unlocks", "Gold Map Cards", "Friend Cards", "Enemy Cards", "Sleights"]: continue if name not in starting_worlds: item_pool += [self.create_item(name) for _ in range(0, quantity)] @@ -91,21 +91,17 @@ def create_items(self): attempts = attempts + 1 self.multiworld.itempool += item_pool + + print("Total Locations: " + str(total_locations)) + print("Item Pool Length: " + str(len(item_pool))) def get_filler_item_name(self) -> str: fillers = {} disclude = [] - if not self.options.zeroes: - disclude.append("0") if not self.options.cure: disclude.append("Cure") if self.options.early_cure: - disclude.append("Cure 4-6") - if self.options.enemy_cards: - fillers.update(get_items_by_category("Enemy Cards", disclude)) - if self.options.days_items: - fillers.update(get_items_by_category("Days Sets", disclude)) - fillers.update(get_items_by_category("Days Enemy Cards", disclude)) + disclude.append("Cure") fillers.update(get_items_by_category("Sets", disclude)) weights = [data.weight for data in fillers.values()] return self.random.choices([filler for filler in fillers.keys()], weights, k=1)[0] @@ -126,12 +122,17 @@ def create_regions(self): def fill_slot_data(self) -> dict: self.decide_world_order() + zeroes_string = "Yes" world_order_string = "" for world_id in self.world_order: world_order_string = world_order_string + str(world_id) + "," world_order_string = world_order_string[:-1] - slot_data = {"EXP Multiplier": int(self.options.exp_multiplier) - ,"World Order": world_order_string} + if not self.options.zeroes: + zeroes_string = "No" + slot_data = {"EXP Multiplier": int(self.options.exp_multiplier) + ,"World Order": world_order_string + ,"Zeroes": zeroes_string + ,"Attack Power": int(self.options.attack_power)} return slot_data def decide_world_order(self):