from typing import Dict, NamedTuple, Optional, Set from BaseClasses import Item, ItemClassification class KH1Item(Item): game: str = "Kingdom Hearts" class KH1ItemData(NamedTuple): category: str code: int classification: ItemClassification = ItemClassification.filler max_quantity: int = 1 weight: int = 1 def get_items_by_category(category: str) -> Dict[str, KH1ItemData]: item_dict: Dict[str, KH1ItemData] = {} for name, data in item_table.items(): if data.category == category: item_dict.setdefault(name, data) return item_dict item_table: Dict[str, KH1ItemData] = { "Victory": KH1ItemData("VIC", code = 264_0000, classification = ItemClassification.progression, ), "Potion": KH1ItemData("Item", code = 264_1001, classification = ItemClassification.filler, ), "Hi-Potion": KH1ItemData("Item", code = 264_1002, classification = ItemClassification.filler, ), "Ether": KH1ItemData("Item", code = 264_1003, classification = ItemClassification.filler, ), "Elixir": KH1ItemData("Item", code = 264_1004, classification = ItemClassification.filler, ), #"B05": KH1ItemData("Item", code = 264_1005, classification = ItemClassification.filler, ), "Mega-Potion": KH1ItemData("Item", code = 264_1006, classification = ItemClassification.filler, ), "Mega-Ether": KH1ItemData("Item", code = 264_1007, classification = ItemClassification.filler, ), "Megalixir": KH1ItemData("Item", code = 264_1008, classification = ItemClassification.filler, ), #"Fury Stone": KH1ItemData("Synthesis", code = 264_1009, classification = ItemClassification.filler, ), #"Power Stone": KH1ItemData("Synthesis", code = 264_1010, classification = ItemClassification.filler, ), #"Energy Stone": KH1ItemData("Synthesis", code = 264_1011, classification = ItemClassification.filler, ), #"Blazing Stone": KH1ItemData("Synthesis", code = 264_1012, classification = ItemClassification.filler, ), #"Frost Stone": KH1ItemData("Synthesis", code = 264_1013, classification = ItemClassification.filler, ), #"Lightning Stone": KH1ItemData("Synthesis", code = 264_1014, classification = ItemClassification.filler, ), #"Dazzling Stone": KH1ItemData("Synthesis", code = 264_1015, classification = ItemClassification.filler, ), #"Stormy Stone": KH1ItemData("Synthesis", code = 264_1016, classification = ItemClassification.filler, ), "Protect Chain": KH1ItemData("Accessory", code = 264_1017, classification = ItemClassification.useful, ), "Protera Chain": KH1ItemData("Accessory", code = 264_1018, classification = ItemClassification.useful, ), "Protega Chain": KH1ItemData("Accessory", code = 264_1019, classification = ItemClassification.useful, ), "Fire Ring": KH1ItemData("Accessory", code = 264_1020, classification = ItemClassification.useful, ), "Fira Ring": KH1ItemData("Accessory", code = 264_1021, classification = ItemClassification.useful, ), "Firaga Ring": KH1ItemData("Accessory", code = 264_1022, classification = ItemClassification.useful, ), "Blizzard Ring": KH1ItemData("Accessory", code = 264_1023, classification = ItemClassification.useful, ), "Blizzara Ring": KH1ItemData("Accessory", code = 264_1024, classification = ItemClassification.useful, ), "Blizzaga Ring": KH1ItemData("Accessory", code = 264_1025, classification = ItemClassification.useful, ), "Thunder Ring": KH1ItemData("Accessory", code = 264_1026, classification = ItemClassification.useful, ), "Thundara Ring": KH1ItemData("Accessory", code = 264_1027, classification = ItemClassification.useful, ), "Thundaga Ring": KH1ItemData("Accessory", code = 264_1028, classification = ItemClassification.useful, ), "Ability Stud": KH1ItemData("Accessory", code = 264_1029, classification = ItemClassification.useful, ), "Guard Earring": KH1ItemData("Accessory", code = 264_1030, classification = ItemClassification.useful, ), "Master Earring": KH1ItemData("Accessory", code = 264_1031, classification = ItemClassification.useful, ), "Chaos Ring": KH1ItemData("Accessory", code = 264_1032, classification = ItemClassification.useful, ), "Dark Ring": KH1ItemData("Accessory", code = 264_1033, classification = ItemClassification.useful, ), "Element Ring": KH1ItemData("Accessory", code = 264_1034, classification = ItemClassification.useful, ), "Three Stars": KH1ItemData("Accessory", code = 264_1035, classification = ItemClassification.useful, ), "Power Chain": KH1ItemData("Accessory", code = 264_1036, classification = ItemClassification.useful, ), "Golem Chain": KH1ItemData("Accessory", code = 264_1037, classification = ItemClassification.useful, ), "Titan Chain": KH1ItemData("Accessory", code = 264_1038, classification = ItemClassification.useful, ), "Energy Bangle": KH1ItemData("Accessory", code = 264_1039, classification = ItemClassification.useful, ), "Angel Bangle": KH1ItemData("Accessory", code = 264_1040, classification = ItemClassification.useful, ), "Gaia Bangle": KH1ItemData("Accessory", code = 264_1041, classification = ItemClassification.useful, ), "Magic Armlet": KH1ItemData("Accessory", code = 264_1042, classification = ItemClassification.useful, ), "Rune Armlet": KH1ItemData("Accessory", code = 264_1043, classification = ItemClassification.useful, ), "Atlas Armlet": KH1ItemData("Accessory", code = 264_1044, classification = ItemClassification.useful, ), "Heartguard": KH1ItemData("Accessory", code = 264_1045, classification = ItemClassification.useful, ), "Ribbon": KH1ItemData("Accessory", code = 264_1046, classification = ItemClassification.useful, ), "Crystal Crown": KH1ItemData("Accessory", code = 264_1047, classification = ItemClassification.useful, ), "Brave Warrior": KH1ItemData("Accessory", code = 264_1048, classification = ItemClassification.useful, ), "Ifrit's Horn": KH1ItemData("Accessory", code = 264_1049, classification = ItemClassification.useful, ), "Inferno Band": KH1ItemData("Accessory", code = 264_1050, classification = ItemClassification.useful, ), "White Fang": KH1ItemData("Accessory", code = 264_1051, classification = ItemClassification.useful, ), "Ray of Light": KH1ItemData("Accessory", code = 264_1052, classification = ItemClassification.useful, ), "Holy Circlet": KH1ItemData("Accessory", code = 264_1053, classification = ItemClassification.useful, ), "Raven's Claw": KH1ItemData("Accessory", code = 264_1054, classification = ItemClassification.useful, ), "Omega Arts": KH1ItemData("Accessory", code = 264_1055, classification = ItemClassification.useful, ), "EXP Earring": KH1ItemData("Accessory", code = 264_1056, classification = ItemClassification.useful, ), #"A41": KH1ItemData("Accessory", code = 264_1057, classification = ItemClassification.useful, ), "EXP Ring": KH1ItemData("Accessory", code = 264_1058, classification = ItemClassification.useful, ), "EXP Bracelet": KH1ItemData("Accessory", code = 264_1059, classification = ItemClassification.useful, ), "EXP Necklace": KH1ItemData("Accessory", code = 264_1060, classification = ItemClassification.useful, ), "Firagun Band": KH1ItemData("Accessory", code = 264_1061, classification = ItemClassification.useful, ), "Blizzagun Band": KH1ItemData("Accessory", code = 264_1062, classification = ItemClassification.useful, ), "Thundagun Band": KH1ItemData("Accessory", code = 264_1063, classification = ItemClassification.useful, ), "Ifrit Belt": KH1ItemData("Accessory", code = 264_1064, classification = ItemClassification.useful, ), "Shiva Belt": KH1ItemData("Accessory", code = 264_1065, classification = ItemClassification.useful, ), "Ramuh Belt": KH1ItemData("Accessory", code = 264_1066, classification = ItemClassification.useful, ), "Moogle Badge": KH1ItemData("Accessory", code = 264_1067, classification = ItemClassification.useful, ), "Cosmic Arts": KH1ItemData("Accessory", code = 264_1068, classification = ItemClassification.useful, ), "Royal Crown": KH1ItemData("Accessory", code = 264_1069, classification = ItemClassification.useful, ), "Prime Cap": KH1ItemData("Accessory", code = 264_1070, classification = ItemClassification.useful, ), "Obsidian Ring": KH1ItemData("Accessory", code = 264_1071, classification = ItemClassification.useful, ), #"A56": KH1ItemData("Accessory", code = 264_1072, classification = ItemClassification.filler, ), #"A57": KH1ItemData("Accessory", code = 264_1073, classification = ItemClassification.filler, ), #"A58": KH1ItemData("Accessory", code = 264_1074, classification = ItemClassification.filler, ), #"A59": KH1ItemData("Accessory", code = 264_1075, classification = ItemClassification.filler, ), #"A60": KH1ItemData("Accessory", code = 264_1076, classification = ItemClassification.filler, ), #"A61": KH1ItemData("Accessory", code = 264_1077, classification = ItemClassification.filler, ), #"A62": KH1ItemData("Accessory", code = 264_1078, classification = ItemClassification.filler, ), #"A63": KH1ItemData("Accessory", code = 264_1079, classification = ItemClassification.filler, ), #"A64": KH1ItemData("Accessory", code = 264_1080, classification = ItemClassification.filler, ), #"Kingdom Key": KH1ItemData("Keyblades", code = 264_1081, classification = ItemClassification.useful, ), #"Dream Sword": KH1ItemData("Keyblades", code = 264_1082, classification = ItemClassification.useful, ), #"Dream Shield": KH1ItemData("Keyblades", code = 264_1083, classification = ItemClassification.useful, ), #"Dream Rod": KH1ItemData("Keyblades", code = 264_1084, classification = ItemClassification.useful, ), "Wooden Sword": KH1ItemData("Keyblades", code = 264_1085, classification = ItemClassification.useful, ), "Jungle King": KH1ItemData("Keyblades", code = 264_1086, classification = ItemClassification.progression, ), "Three Wishes": KH1ItemData("Keyblades", code = 264_1087, classification = ItemClassification.progression, ), "Fairy Harp": KH1ItemData("Keyblades", code = 264_1088, classification = ItemClassification.progression, ), "Pumpkinhead": KH1ItemData("Keyblades", code = 264_1089, classification = ItemClassification.progression, ), "Crabclaw": KH1ItemData("Keyblades", code = 264_1090, classification = ItemClassification.useful, ), "Divine Rose": KH1ItemData("Keyblades", code = 264_1091, classification = ItemClassification.progression, ), "Spellbinder": KH1ItemData("Keyblades", code = 264_1092, classification = ItemClassification.useful, ), "Olympia": KH1ItemData("Keyblades", code = 264_1093, classification = ItemClassification.progression, ), "Lionheart": KH1ItemData("Keyblades", code = 264_1094, classification = ItemClassification.progression, ), "Metal Chocobo": KH1ItemData("Keyblades", code = 264_1095, classification = ItemClassification.useful, ), "Oathkeeper": KH1ItemData("Keyblades", code = 264_1096, classification = ItemClassification.progression, ), "Oblivion": KH1ItemData("Keyblades", code = 264_1097, classification = ItemClassification.progression, ), "Lady Luck": KH1ItemData("Keyblades", code = 264_1098, classification = ItemClassification.progression, ), "Wishing Star": KH1ItemData("Keyblades", code = 264_1099, classification = ItemClassification.progression, ), "Ultima Weapon": KH1ItemData("Keyblades", code = 264_1100, classification = ItemClassification.useful, ), "Diamond Dust": KH1ItemData("Keyblades", code = 264_1101, classification = ItemClassification.useful, ), "One-Winged Angel": KH1ItemData("Keyblades", code = 264_1102, classification = ItemClassification.useful, ), #"Mage's Staff": KH1ItemData("Weapons", code = 264_1103, classification = ItemClassification.filler, ), "Morning Star": KH1ItemData("Weapons", code = 264_1104, classification = ItemClassification.useful, ), "Shooting Star": KH1ItemData("Weapons", code = 264_1105, classification = ItemClassification.useful, ), "Magus Staff": KH1ItemData("Weapons", code = 264_1106, classification = ItemClassification.useful, ), "Wisdom Staff": KH1ItemData("Weapons", code = 264_1107, classification = ItemClassification.useful, ), "Warhammer": KH1ItemData("Weapons", code = 264_1108, classification = ItemClassification.useful, ), "Silver Mallet": KH1ItemData("Weapons", code = 264_1109, classification = ItemClassification.useful, ), "Grand Mallet": KH1ItemData("Weapons", code = 264_1110, classification = ItemClassification.useful, ), "Lord Fortune": KH1ItemData("Weapons", code = 264_1111, classification = ItemClassification.useful, ), "Violetta": KH1ItemData("Weapons", code = 264_1112, classification = ItemClassification.useful, ), "Dream Rod (Donald)": KH1ItemData("Weapons", code = 264_1113, classification = ItemClassification.useful, ), "Save the Queen": KH1ItemData("Weapons", code = 264_1114, classification = ItemClassification.useful, ), "Wizard's Relic": KH1ItemData("Weapons", code = 264_1115, classification = ItemClassification.useful, ), "Meteor Strike": KH1ItemData("Weapons", code = 264_1116, classification = ItemClassification.useful, ), "Fantasista": KH1ItemData("Weapons", code = 264_1117, classification = ItemClassification.useful, ), #"Unused (Donald)": KH1ItemData("Weapons", code = 264_1118, classification = ItemClassification.filler, ), #"Knight's Shield": KH1ItemData("Weapons", code = 264_1119, classification = ItemClassification.filler, ), "Mythril Shield": KH1ItemData("Weapons", code = 264_1120, classification = ItemClassification.useful, ), "Onyx Shield": KH1ItemData("Weapons", code = 264_1121, classification = ItemClassification.useful, ), "Stout Shield": KH1ItemData("Weapons", code = 264_1122, classification = ItemClassification.useful, ), "Golem Shield": KH1ItemData("Weapons", code = 264_1123, classification = ItemClassification.useful, ), "Adamant Shield": KH1ItemData("Weapons", code = 264_1124, classification = ItemClassification.useful, ), "Smasher": KH1ItemData("Weapons", code = 264_1125, classification = ItemClassification.useful, ), "Gigas Fist": KH1ItemData("Weapons", code = 264_1126, classification = ItemClassification.useful, ), "Genji Shield": KH1ItemData("Weapons", code = 264_1127, classification = ItemClassification.useful, ), "Herc's Shield": KH1ItemData("Weapons", code = 264_1128, classification = ItemClassification.useful, ), "Dream Shield (Goofy)": KH1ItemData("Weapons", code = 264_1129, classification = ItemClassification.useful, ), "Save the King": KH1ItemData("Weapons", code = 264_1130, classification = ItemClassification.useful, ), "Defender": KH1ItemData("Weapons", code = 264_1131, classification = ItemClassification.useful, ), "Mighty Shield": KH1ItemData("Weapons", code = 264_1132, classification = ItemClassification.useful, ), "Seven Elements": KH1ItemData("Weapons", code = 264_1133, classification = ItemClassification.useful, ), #"Unused (Goofy)": KH1ItemData("Weapons", code = 264_1134, classification = ItemClassification.filler, ), #"Spear": KH1ItemData("Weapons", code = 264_1135, classification = ItemClassification.filler, ), #"No Weapon": KH1ItemData("Weapons", code = 264_1136, classification = ItemClassification.filler, ), #"Genie": KH1ItemData("Weapons", code = 264_1137, classification = ItemClassification.filler, ), #"No Weapon": KH1ItemData("Weapons", code = 264_1138, classification = ItemClassification.filler, ), #"No Weapon": KH1ItemData("Weapons", code = 264_1139, classification = ItemClassification.filler, ), #"Tinker Bell": KH1ItemData("Weapons", code = 264_1140, classification = ItemClassification.filler, ), #"Claws": KH1ItemData("Weapons", code = 264_1141, classification = ItemClassification.filler, ), "Tent": KH1ItemData("Camping", code = 264_1142, classification = ItemClassification.filler, ), "Camping Set": KH1ItemData("Camping", code = 264_1143, classification = ItemClassification.filler, ), "Cottage": KH1ItemData("Camping", code = 264_1144, classification = ItemClassification.filler, ), #"C04": KH1ItemData("Camping", code = 264_1145, classification = ItemClassification.filler, ), #"C05": KH1ItemData("Camping", code = 264_1146, classification = ItemClassification.filler, ), #"C06": KH1ItemData("Camping", code = 264_1147, classification = ItemClassification.filler, ), #"C07": KH1ItemData("Camping", code = 264_1148, classification = ItemClassification.filler, ), "Ansem's Report 11": KH1ItemData("Reports", code = 264_1149, classification = ItemClassification.progression, ), "Ansem's Report 12": KH1ItemData("Reports", code = 264_1150, classification = ItemClassification.progression, ), "Ansem's Report 13": KH1ItemData("Reports", code = 264_1151, classification = ItemClassification.progression, ), "Power Up": KH1ItemData("Stat Ups", code = 264_1152, classification = ItemClassification.filler, ), "Defense Up": KH1ItemData("Stat Ups", code = 264_1153, classification = ItemClassification.filler, ), "AP Up": KH1ItemData("Stat Ups", code = 264_1154, classification = ItemClassification.filler, ), #"Serenity Power": KH1ItemData("Synthesis", code = 264_1155, classification = ItemClassification.filler, ), #"Dark Matter": KH1ItemData("Synthesis", code = 264_1156, classification = ItemClassification.filler, ), #"Mythril Stone": KH1ItemData("Synthesis", code = 264_1157, classification = ItemClassification.filler, ), "Fire Arts": KH1ItemData("Key", code = 264_1158, classification = ItemClassification.progression, ), "Blizzard Arts": KH1ItemData("Key", code = 264_1159, classification = ItemClassification.progression, ), "Thunder Arts": KH1ItemData("Key", code = 264_1160, classification = ItemClassification.progression, ), "Cure Arts": KH1ItemData("Key", code = 264_1161, classification = ItemClassification.progression, ), "Gravity Arts": KH1ItemData("Key", code = 264_1162, classification = ItemClassification.progression, ), "Stop Arts": KH1ItemData("Key", code = 264_1163, classification = ItemClassification.progression, ), "Aero Arts": KH1ItemData("Key", code = 264_1164, classification = ItemClassification.progression, ), #"Shiitank Rank": KH1ItemData("Synthesis", code = 264_1165, classification = ItemClassification.filler, ), #"Matsutake Rank": KH1ItemData("Synthesis", code = 264_1166, classification = ItemClassification.filler, ), #"Mystery Mold": KH1ItemData("Synthesis", code = 264_1167, classification = ItemClassification.filler, ), "Ansem's Report 1": KH1ItemData("Reports", code = 264_1168, classification = ItemClassification.progression, ), "Ansem's Report 2": KH1ItemData("Reports", code = 264_1169, classification = ItemClassification.progression, ), "Ansem's Report 3": KH1ItemData("Reports", code = 264_1170, classification = ItemClassification.progression, ), "Ansem's Report 4": KH1ItemData("Reports", code = 264_1171, classification = ItemClassification.progression, ), "Ansem's Report 5": KH1ItemData("Reports", code = 264_1172, classification = ItemClassification.progression, ), "Ansem's Report 6": KH1ItemData("Reports", code = 264_1173, classification = ItemClassification.progression, ), "Ansem's Report 7": KH1ItemData("Reports", code = 264_1174, classification = ItemClassification.progression, ), "Ansem's Report 8": KH1ItemData("Reports", code = 264_1175, classification = ItemClassification.progression, ), "Ansem's Report 9": KH1ItemData("Reports", code = 264_1176, classification = ItemClassification.progression, ), "Ansem's Report 10": KH1ItemData("Reports", code = 264_1177, classification = ItemClassification.progression, ), #"Khama Vol. 8": KH1ItemData("Key", code = 264_1178, classification = ItemClassification.progression, ), #"Salegg Vol. 6": KH1ItemData("Key", code = 264_1179, classification = ItemClassification.progression, ), #"Azal Vol. 3": KH1ItemData("Key", code = 264_1180, classification = ItemClassification.progression, ), #"Mava Vol. 3": KH1ItemData("Key", code = 264_1181, classification = ItemClassification.progression, ), #"Mava Vol. 6": KH1ItemData("Key", code = 264_1182, classification = ItemClassification.progression, ), "Theon Vol. 6": KH1ItemData("Key", code = 264_1183, classification = ItemClassification.progression, ), #"Nahara Vol. 5": KH1ItemData("Key", code = 264_1184, classification = ItemClassification.progression, ), #"Hafet Vol. 4": KH1ItemData("Key", code = 264_1185, classification = ItemClassification.progression, ), "Empty Bottle": KH1ItemData("Key", code = 264_1186, classification = ItemClassification.progression, max_quantity = 6 ), #"Old Book": KH1ItemData("Key", code = 264_1187, classification = ItemClassification.progression, ), "Emblem Piece (Flame)": KH1ItemData("Key", code = 264_1188, classification = ItemClassification.progression, ), "Emblem Piece (Chest)": KH1ItemData("Key", code = 264_1189, classification = ItemClassification.progression, ), "Emblem Piece (Statue)": KH1ItemData("Key", code = 264_1190, classification = ItemClassification.progression, ), "Emblem Piece (Fountain)": KH1ItemData("Key", code = 264_1191, classification = ItemClassification.progression, ), #"Log": KH1ItemData("Key", code = 264_1192, classification = ItemClassification.progression, ), #"Cloth": KH1ItemData("Key", code = 264_1193, classification = ItemClassification.progression, ), #"Rope": KH1ItemData("Key", code = 264_1194, classification = ItemClassification.progression, ), #"Seagull Egg": KH1ItemData("Key", code = 264_1195, classification = ItemClassification.progression, ), #"Fish": KH1ItemData("Key", code = 264_1196, classification = ItemClassification.progression, ), #"Mushroom": KH1ItemData("Key", code = 264_1197, classification = ItemClassification.progression, ), #"Coconut": KH1ItemData("Key", code = 264_1198, classification = ItemClassification.progression, ), #"Drinking Water": KH1ItemData("Key", code = 264_1199, classification = ItemClassification.progression, ), #"Navi-G Piece 1": KH1ItemData("Key", code = 264_1200, classification = ItemClassification.progression, ), #"Navi-G Piece 2": KH1ItemData("Key", code = 264_1201, classification = ItemClassification.progression, ), #"Navi-Gummi Unused": KH1ItemData("Key", code = 264_1202, classification = ItemClassification.progression, ), #"Navi-G Piece 3": KH1ItemData("Key", code = 264_1203, classification = ItemClassification.progression, ), #"Navi-G Piece 4": KH1ItemData("Key", code = 264_1204, classification = ItemClassification.progression, ), #"Navi-Gummi": KH1ItemData("Key", code = 264_1205, classification = ItemClassification.progression, ), #"Watergleam": KH1ItemData("Key", code = 264_1206, classification = ItemClassification.progression, ), #"Naturespark": KH1ItemData("Key", code = 264_1207, classification = ItemClassification.progression, ), #"Fireglow": KH1ItemData("Key", code = 264_1208, classification = ItemClassification.progression, ), #"Earthshine": KH1ItemData("Key", code = 264_1209, classification = ItemClassification.progression, ), "Crystal Trident": KH1ItemData("Key", code = 264_1210, classification = ItemClassification.progression, ), "Postcard": KH1ItemData("Key", code = 264_1211, classification = ItemClassification.progression, max_quantity = 10), "Torn Page 1": KH1ItemData("Torn Pages", code = 264_1212, classification = ItemClassification.progression, ), "Torn Page 2": KH1ItemData("Torn Pages", code = 264_1213, classification = ItemClassification.progression, ), "Torn Page 3": KH1ItemData("Torn Pages", code = 264_1214, classification = ItemClassification.progression, ), "Torn Page 4": KH1ItemData("Torn Pages", code = 264_1215, classification = ItemClassification.progression, ), "Torn Page 5": KH1ItemData("Torn Pages", code = 264_1216, classification = ItemClassification.progression, ), "Slides": KH1ItemData("Key", code = 264_1217, classification = ItemClassification.progression, ), #"Slide 2": KH1ItemData("Key", code = 264_1218, classification = ItemClassification.progression, ), #"Slide 3": KH1ItemData("Key", code = 264_1219, classification = ItemClassification.progression, ), #"Slide 4": KH1ItemData("Key", code = 264_1220, classification = ItemClassification.progression, ), #"Slide 5": KH1ItemData("Key", code = 264_1221, classification = ItemClassification.progression, ), #"Slide 6": KH1ItemData("Key", code = 264_1222, classification = ItemClassification.progression, ), "Footprints": KH1ItemData("Key", code = 264_1223, classification = ItemClassification.progression, ), #"Claw Marks": KH1ItemData("Key", code = 264_1224, classification = ItemClassification.progression, ), #"Stench": KH1ItemData("Key", code = 264_1225, classification = ItemClassification.progression, ), #"Antenna": KH1ItemData("Key", code = 264_1226, classification = ItemClassification.progression, ), "Forget-Me-Not": KH1ItemData("Key", code = 264_1227, classification = ItemClassification.progression, ), "Jack-In-The-Box": KH1ItemData("Key", code = 264_1228, classification = ItemClassification.progression, ), "Entry Pass": KH1ItemData("Key", code = 264_1229, classification = ItemClassification.progression, ), #"Hero License": KH1ItemData("Key", code = 264_1230, classification = ItemClassification.progression, ), #"Pretty Stone": KH1ItemData("Synthesis", code = 264_1231, classification = ItemClassification.filler, ), #"N41": KH1ItemData("Synthesis", code = 264_1232, classification = ItemClassification.filler, ), #"Lucid Shard": KH1ItemData("Synthesis", code = 264_1233, classification = ItemClassification.filler, ), #"Lucid Gem": KH1ItemData("Synthesis", code = 264_1234, classification = ItemClassification.filler, ), #"Lucid Crystal": KH1ItemData("Synthesis", code = 264_1235, classification = ItemClassification.filler, ), #"Spirit Shard": KH1ItemData("Synthesis", code = 264_1236, classification = ItemClassification.filler, ), #"Spirit Gem": KH1ItemData("Synthesis", code = 264_1237, classification = ItemClassification.filler, ), #"Power Shard": KH1ItemData("Synthesis", code = 264_1238, classification = ItemClassification.filler, ), #"Power Gem": KH1ItemData("Synthesis", code = 264_1239, classification = ItemClassification.filler, ), #"Power Crystal": KH1ItemData("Synthesis", code = 264_1240, classification = ItemClassification.filler, ), #"Blaze Shard": KH1ItemData("Synthesis", code = 264_1241, classification = ItemClassification.filler, ), #"Blaze Gem": KH1ItemData("Synthesis", code = 264_1242, classification = ItemClassification.filler, ), #"Frost Shard": KH1ItemData("Synthesis", code = 264_1243, classification = ItemClassification.filler, ), #"Frost Gem": KH1ItemData("Synthesis", code = 264_1244, classification = ItemClassification.filler, ), #"Thunder Shard": KH1ItemData("Synthesis", code = 264_1245, classification = ItemClassification.filler, ), #"Thunder Gem": KH1ItemData("Synthesis", code = 264_1246, classification = ItemClassification.filler, ), #"Shiny Crystal": KH1ItemData("Synthesis", code = 264_1247, classification = ItemClassification.filler, ), #"Bright Shard": KH1ItemData("Synthesis", code = 264_1248, classification = ItemClassification.filler, ), #"Bright Gem": KH1ItemData("Synthesis", code = 264_1249, classification = ItemClassification.filler, ), #"Bright Crystal": KH1ItemData("Synthesis", code = 264_1250, classification = ItemClassification.filler, ), #"Mystery Goo": KH1ItemData("Synthesis", code = 264_1251, classification = ItemClassification.filler, ), #"Gale": KH1ItemData("Synthesis", code = 264_1252, classification = ItemClassification.filler, ), #"Mythril Shard": KH1ItemData("Synthesis", code = 264_1253, classification = ItemClassification.filler, ), #"Mythril": KH1ItemData("Synthesis", code = 264_1254, classification = ItemClassification.filler, ), #"Orichalcum": KH1ItemData("Synthesis", code = 264_1255, classification = ItemClassification.filler, ), "High Jump": KH1ItemData("Shared Abilities", code = 264_2001, classification = ItemClassification.progression, ), "Mermaid Kick": KH1ItemData("Shared Abilities", code = 264_2002, classification = ItemClassification.progression, ), "Progressive Glide": KH1ItemData("Shared Abilities", code = 264_2003, classification = ItemClassification.progression, max_quantity = 2 ), #"Superglide": KH1ItemData("Shared Abilities", code = 264_2004, classification = ItemClassification.progression, ), "Puppy 01": KH1ItemData("Puppies", code = 264_2101, classification = ItemClassification.progression, ), "Puppy 02": KH1ItemData("Puppies", code = 264_2102, classification = ItemClassification.progression, ), "Puppy 03": KH1ItemData("Puppies", code = 264_2103, classification = ItemClassification.progression, ), "Puppy 04": KH1ItemData("Puppies", code = 264_2104, classification = ItemClassification.progression, ), "Puppy 05": KH1ItemData("Puppies", code = 264_2105, classification = ItemClassification.progression, ), "Puppy 06": KH1ItemData("Puppies", code = 264_2106, classification = ItemClassification.progression, ), "Puppy 07": KH1ItemData("Puppies", code = 264_2107, classification = ItemClassification.progression, ), "Puppy 08": KH1ItemData("Puppies", code = 264_2108, classification = ItemClassification.progression, ), "Puppy 09": KH1ItemData("Puppies", code = 264_2109, classification = ItemClassification.progression, ), "Puppy 10": KH1ItemData("Puppies", code = 264_2110, classification = ItemClassification.progression, ), "Puppy 11": KH1ItemData("Puppies", code = 264_2111, classification = ItemClassification.progression, ), "Puppy 12": KH1ItemData("Puppies", code = 264_2112, classification = ItemClassification.progression, ), "Puppy 13": KH1ItemData("Puppies", code = 264_2113, classification = ItemClassification.progression, ), "Puppy 14": KH1ItemData("Puppies", code = 264_2114, classification = ItemClassification.progression, ), "Puppy 15": KH1ItemData("Puppies", code = 264_2115, classification = ItemClassification.progression, ), "Puppy 16": KH1ItemData("Puppies", code = 264_2116, classification = ItemClassification.progression, ), "Puppy 17": KH1ItemData("Puppies", code = 264_2117, classification = ItemClassification.progression, ), "Puppy 18": KH1ItemData("Puppies", code = 264_2118, classification = ItemClassification.progression, ), "Puppy 19": KH1ItemData("Puppies", code = 264_2119, classification = ItemClassification.progression, ), "Puppy 20": KH1ItemData("Puppies", code = 264_2120, classification = ItemClassification.progression, ), "Puppy 21": KH1ItemData("Puppies", code = 264_2121, classification = ItemClassification.progression, ), "Puppy 22": KH1ItemData("Puppies", code = 264_2122, classification = ItemClassification.progression, ), "Puppy 23": KH1ItemData("Puppies", code = 264_2123, classification = ItemClassification.progression, ), "Puppy 24": KH1ItemData("Puppies", code = 264_2124, classification = ItemClassification.progression, ), "Puppy 25": KH1ItemData("Puppies", code = 264_2125, classification = ItemClassification.progression, ), "Puppy 26": KH1ItemData("Puppies", code = 264_2126, classification = ItemClassification.progression, ), "Puppy 27": KH1ItemData("Puppies", code = 264_2127, classification = ItemClassification.progression, ), "Puppy 28": KH1ItemData("Puppies", code = 264_2128, classification = ItemClassification.progression, ), "Puppy 29": KH1ItemData("Puppies", code = 264_2129, classification = ItemClassification.progression, ), "Puppy 30": KH1ItemData("Puppies", code = 264_2130, classification = ItemClassification.progression, ), "Puppy 31": KH1ItemData("Puppies", code = 264_2131, classification = ItemClassification.progression, ), "Puppy 32": KH1ItemData("Puppies", code = 264_2132, classification = ItemClassification.progression, ), "Puppy 33": KH1ItemData("Puppies", code = 264_2133, classification = ItemClassification.progression, ), "Puppy 34": KH1ItemData("Puppies", code = 264_2134, classification = ItemClassification.progression, ), "Puppy 35": KH1ItemData("Puppies", code = 264_2135, classification = ItemClassification.progression, ), "Puppy 36": KH1ItemData("Puppies", code = 264_2136, classification = ItemClassification.progression, ), "Puppy 37": KH1ItemData("Puppies", code = 264_2137, classification = ItemClassification.progression, ), "Puppy 38": KH1ItemData("Puppies", code = 264_2138, classification = ItemClassification.progression, ), "Puppy 39": KH1ItemData("Puppies", code = 264_2139, classification = ItemClassification.progression, ), "Puppy 40": KH1ItemData("Puppies", code = 264_2140, classification = ItemClassification.progression, ), "Puppy 41": KH1ItemData("Puppies", code = 264_2141, classification = ItemClassification.progression, ), "Puppy 42": KH1ItemData("Puppies", code = 264_2142, classification = ItemClassification.progression, ), "Puppy 43": KH1ItemData("Puppies", code = 264_2143, classification = ItemClassification.progression, ), "Puppy 44": KH1ItemData("Puppies", code = 264_2144, classification = ItemClassification.progression, ), "Puppy 45": KH1ItemData("Puppies", code = 264_2145, classification = ItemClassification.progression, ), "Puppy 46": KH1ItemData("Puppies", code = 264_2146, classification = ItemClassification.progression, ), "Puppy 47": KH1ItemData("Puppies", code = 264_2147, classification = ItemClassification.progression, ), "Puppy 48": KH1ItemData("Puppies", code = 264_2148, classification = ItemClassification.progression, ), "Puppy 49": KH1ItemData("Puppies", code = 264_2149, classification = ItemClassification.progression, ), "Puppy 50": KH1ItemData("Puppies", code = 264_2150, classification = ItemClassification.progression, ), "Puppy 51": KH1ItemData("Puppies", code = 264_2151, classification = ItemClassification.progression, ), "Puppy 52": KH1ItemData("Puppies", code = 264_2152, classification = ItemClassification.progression, ), "Puppy 53": KH1ItemData("Puppies", code = 264_2153, classification = ItemClassification.progression, ), "Puppy 54": KH1ItemData("Puppies", code = 264_2154, classification = ItemClassification.progression, ), "Puppy 55": KH1ItemData("Puppies", code = 264_2155, classification = ItemClassification.progression, ), "Puppy 56": KH1ItemData("Puppies", code = 264_2156, classification = ItemClassification.progression, ), "Puppy 57": KH1ItemData("Puppies", code = 264_2157, classification = ItemClassification.progression, ), "Puppy 58": KH1ItemData("Puppies", code = 264_2158, classification = ItemClassification.progression, ), "Puppy 59": KH1ItemData("Puppies", code = 264_2159, classification = ItemClassification.progression, ), "Puppy 60": KH1ItemData("Puppies", code = 264_2160, classification = ItemClassification.progression, ), "Puppy 61": KH1ItemData("Puppies", code = 264_2161, classification = ItemClassification.progression, ), "Puppy 62": KH1ItemData("Puppies", code = 264_2162, classification = ItemClassification.progression, ), "Puppy 63": KH1ItemData("Puppies", code = 264_2163, classification = ItemClassification.progression, ), "Puppy 64": KH1ItemData("Puppies", code = 264_2164, classification = ItemClassification.progression, ), "Puppy 65": KH1ItemData("Puppies", code = 264_2165, classification = ItemClassification.progression, ), "Puppy 66": KH1ItemData("Puppies", code = 264_2166, classification = ItemClassification.progression, ), "Puppy 67": KH1ItemData("Puppies", code = 264_2167, classification = ItemClassification.progression, ), "Puppy 68": KH1ItemData("Puppies", code = 264_2168, classification = ItemClassification.progression, ), "Puppy 69": KH1ItemData("Puppies", code = 264_2169, classification = ItemClassification.progression, ), "Puppy 70": KH1ItemData("Puppies", code = 264_2170, classification = ItemClassification.progression, ), "Puppy 71": KH1ItemData("Puppies", code = 264_2171, classification = ItemClassification.progression, ), "Puppy 72": KH1ItemData("Puppies", code = 264_2172, classification = ItemClassification.progression, ), "Puppy 73": KH1ItemData("Puppies", code = 264_2173, classification = ItemClassification.progression, ), "Puppy 74": KH1ItemData("Puppies", code = 264_2174, classification = ItemClassification.progression, ), "Puppy 75": KH1ItemData("Puppies", code = 264_2175, classification = ItemClassification.progression, ), "Puppy 76": KH1ItemData("Puppies", code = 264_2176, classification = ItemClassification.progression, ), "Puppy 77": KH1ItemData("Puppies", code = 264_2177, classification = ItemClassification.progression, ), "Puppy 78": KH1ItemData("Puppies", code = 264_2178, classification = ItemClassification.progression, ), "Puppy 79": KH1ItemData("Puppies", code = 264_2179, classification = ItemClassification.progression, ), "Puppy 80": KH1ItemData("Puppies", code = 264_2180, classification = ItemClassification.progression, ), "Puppy 81": KH1ItemData("Puppies", code = 264_2181, classification = ItemClassification.progression, ), "Puppy 82": KH1ItemData("Puppies", code = 264_2182, classification = ItemClassification.progression, ), "Puppy 83": KH1ItemData("Puppies", code = 264_2183, classification = ItemClassification.progression, ), "Puppy 84": KH1ItemData("Puppies", code = 264_2184, classification = ItemClassification.progression, ), "Puppy 85": KH1ItemData("Puppies", code = 264_2185, classification = ItemClassification.progression, ), "Puppy 86": KH1ItemData("Puppies", code = 264_2186, classification = ItemClassification.progression, ), "Puppy 87": KH1ItemData("Puppies", code = 264_2187, classification = ItemClassification.progression, ), "Puppy 88": KH1ItemData("Puppies", code = 264_2188, classification = ItemClassification.progression, ), "Puppy 89": KH1ItemData("Puppies", code = 264_2189, classification = ItemClassification.progression, ), "Puppy 90": KH1ItemData("Puppies", code = 264_2190, classification = ItemClassification.progression, ), "Puppy 91": KH1ItemData("Puppies", code = 264_2191, classification = ItemClassification.progression, ), "Puppy 92": KH1ItemData("Puppies", code = 264_2192, classification = ItemClassification.progression, ), "Puppy 93": KH1ItemData("Puppies", code = 264_2193, classification = ItemClassification.progression, ), "Puppy 94": KH1ItemData("Puppies", code = 264_2194, classification = ItemClassification.progression, ), "Puppy 95": KH1ItemData("Puppies", code = 264_2195, classification = ItemClassification.progression, ), "Puppy 96": KH1ItemData("Puppies", code = 264_2196, classification = ItemClassification.progression, ), "Puppy 97": KH1ItemData("Puppies", code = 264_2197, classification = ItemClassification.progression, ), "Puppy 98": KH1ItemData("Puppies", code = 264_2198, classification = ItemClassification.progression, ), "Puppy 99": KH1ItemData("Puppies", code = 264_2199, classification = ItemClassification.progression, ), "Puppies 01-03": KH1ItemData("Puppies", code = 264_2201, classification = ItemClassification.progression, ), "Puppies 04-06": KH1ItemData("Puppies", code = 264_2202, classification = ItemClassification.progression, ), "Puppies 07-09": KH1ItemData("Puppies", code = 264_2203, classification = ItemClassification.progression, ), "Puppies 10-12": KH1ItemData("Puppies", code = 264_2204, classification = ItemClassification.progression, ), "Puppies 13-15": KH1ItemData("Puppies", code = 264_2205, classification = ItemClassification.progression, ), "Puppies 16-18": KH1ItemData("Puppies", code = 264_2206, classification = ItemClassification.progression, ), "Puppies 19-21": KH1ItemData("Puppies", code = 264_2207, classification = ItemClassification.progression, ), "Puppies 22-24": KH1ItemData("Puppies", code = 264_2208, classification = ItemClassification.progression, ), "Puppies 25-27": KH1ItemData("Puppies", code = 264_2209, classification = ItemClassification.progression, ), "Puppies 28-30": KH1ItemData("Puppies", code = 264_2210, classification = ItemClassification.progression, ), "Puppies 31-33": KH1ItemData("Puppies", code = 264_2211, classification = ItemClassification.progression, ), "Puppies 34-36": KH1ItemData("Puppies", code = 264_2212, classification = ItemClassification.progression, ), "Puppies 37-39": KH1ItemData("Puppies", code = 264_2213, classification = ItemClassification.progression, ), "Puppies 40-42": KH1ItemData("Puppies", code = 264_2214, classification = ItemClassification.progression, ), "Puppies 43-45": KH1ItemData("Puppies", code = 264_2215, classification = ItemClassification.progression, ), "Puppies 46-48": KH1ItemData("Puppies", code = 264_2216, classification = ItemClassification.progression, ), "Puppies 49-51": KH1ItemData("Puppies", code = 264_2217, classification = ItemClassification.progression, ), "Puppies 52-54": KH1ItemData("Puppies", code = 264_2218, classification = ItemClassification.progression, ), "Puppies 55-57": KH1ItemData("Puppies", code = 264_2219, classification = ItemClassification.progression, ), "Puppies 58-60": KH1ItemData("Puppies", code = 264_2220, classification = ItemClassification.progression, ), "Puppies 61-63": KH1ItemData("Puppies", code = 264_2221, classification = ItemClassification.progression, ), "Puppies 64-66": KH1ItemData("Puppies", code = 264_2222, classification = ItemClassification.progression, ), "Puppies 67-69": KH1ItemData("Puppies", code = 264_2223, classification = ItemClassification.progression, ), "Puppies 70-72": KH1ItemData("Puppies", code = 264_2224, classification = ItemClassification.progression, ), "Puppies 73-75": KH1ItemData("Puppies", code = 264_2225, classification = ItemClassification.progression, ), "Puppies 76-78": KH1ItemData("Puppies", code = 264_2226, classification = ItemClassification.progression, ), "Puppies 79-81": KH1ItemData("Puppies", code = 264_2227, classification = ItemClassification.progression, ), "Puppies 82-84": KH1ItemData("Puppies", code = 264_2228, classification = ItemClassification.progression, ), "Puppies 85-87": KH1ItemData("Puppies", code = 264_2229, classification = ItemClassification.progression, ), "Puppies 88-90": KH1ItemData("Puppies", code = 264_2230, classification = ItemClassification.progression, ), "Puppies 91-93": KH1ItemData("Puppies", code = 264_2231, classification = ItemClassification.progression, ), "Puppies 94-96": KH1ItemData("Puppies", code = 264_2232, classification = ItemClassification.progression, ), "Puppies 97-99": KH1ItemData("Puppies", code = 264_2233, classification = ItemClassification.progression, ), "All Puppies": KH1ItemData("Puppies", code = 264_2240, classification = ItemClassification.progression, ), "Treasure Magnet": KH1ItemData("Abilities", code = 264_3005, classification = ItemClassification.useful, max_quantity = 2 ), "Combo Plus": KH1ItemData("Abilities", code = 264_3006, classification = ItemClassification.useful, max_quantity = 4 ), "Air Combo Plus": KH1ItemData("Abilities", code = 264_3007, classification = ItemClassification.useful, max_quantity = 2 ), "Critical Plus": KH1ItemData("Abilities", code = 264_3008, classification = ItemClassification.useful, max_quantity = 3 ), #"Second Wind": KH1ItemData("Abilities", code = 264_3009, classification = ItemClassification.useful, ), "Scan": KH1ItemData("Abilities", code = 264_3010, classification = ItemClassification.useful, ), "Sonic Blade": KH1ItemData("Abilities", code = 264_3011, classification = ItemClassification.useful, ), "Ars Arcanum": KH1ItemData("Abilities", code = 264_3012, classification = ItemClassification.useful, ), "Strike Raid": KH1ItemData("Abilities", code = 264_3013, classification = ItemClassification.useful, ), "Ragnarok": KH1ItemData("Abilities", code = 264_3014, classification = ItemClassification.useful, ), "Trinity Limit": KH1ItemData("Abilities", code = 264_3015, classification = ItemClassification.useful, ), "Cheer": KH1ItemData("Abilities", code = 264_3016, classification = ItemClassification.useful, ), "Vortex": KH1ItemData("Abilities", code = 264_3017, classification = ItemClassification.useful, ), "Aerial Sweep": KH1ItemData("Abilities", code = 264_3018, classification = ItemClassification.useful, ), "Counterattack": KH1ItemData("Abilities", code = 264_3019, classification = ItemClassification.useful, ), "Blitz": KH1ItemData("Abilities", code = 264_3020, classification = ItemClassification.useful, ), "Guard": KH1ItemData("Abilities", code = 264_3021, classification = ItemClassification.progression, ), "Dodge Roll": KH1ItemData("Abilities", code = 264_3022, classification = ItemClassification.progression, ), "MP Haste": KH1ItemData("Abilities", code = 264_3023, classification = ItemClassification.useful, ), "MP Rage": KH1ItemData("Abilities", code = 264_3024, classification = ItemClassification.progression, ), "Second Chance": KH1ItemData("Abilities", code = 264_3025, classification = ItemClassification.progression, ), "Berserk": KH1ItemData("Abilities", code = 264_3026, classification = ItemClassification.useful, ), "Jackpot": KH1ItemData("Abilities", code = 264_3027, classification = ItemClassification.useful, ), "Lucky Strike": KH1ItemData("Abilities", code = 264_3028, classification = ItemClassification.useful, ), #"Charge": KH1ItemData("Abilities", code = 264_3029, classification = ItemClassification.useful, ), #"Rocket": KH1ItemData("Abilities", code = 264_3030, classification = ItemClassification.useful, ), #"Tornado": KH1ItemData("Abilities", code = 264_3031, classification = ItemClassification.useful, ), #"MP Gift": KH1ItemData("Abilities", code = 264_3032, classification = ItemClassification.useful, ), #"Raging Boar": KH1ItemData("Abilities", code = 264_3033, classification = ItemClassification.useful, ), #"Asp's Bite": KH1ItemData("Abilities", code = 264_3034, classification = ItemClassification.useful, ), #"Healing Herb": KH1ItemData("Abilities", code = 264_3035, classification = ItemClassification.useful, ), #"Wind Armor": KH1ItemData("Abilities", code = 264_3036, classification = ItemClassification.useful, ), #"Crescent": KH1ItemData("Abilities", code = 264_3037, classification = ItemClassification.useful, ), #"Sandstorm": KH1ItemData("Abilities", code = 264_3038, classification = ItemClassification.useful, ), #"Applause!": KH1ItemData("Abilities", code = 264_3039, classification = ItemClassification.useful, ), #"Blazing Fury": KH1ItemData("Abilities", code = 264_3040, classification = ItemClassification.useful, ), #"Icy Terror": KH1ItemData("Abilities", code = 264_3041, classification = ItemClassification.useful, ), #"Bolts of Sorrow": KH1ItemData("Abilities", code = 264_3042, classification = ItemClassification.useful, ), #"Ghostly Scream": KH1ItemData("Abilities", code = 264_3043, classification = ItemClassification.useful, ), #"Humming Bird": KH1ItemData("Abilities", code = 264_3044, classification = ItemClassification.useful, ), #"Time-Out": KH1ItemData("Abilities", code = 264_3045, classification = ItemClassification.useful, ), #"Storm's Eye": KH1ItemData("Abilities", code = 264_3046, classification = ItemClassification.useful, ), #"Ferocious Lunge": KH1ItemData("Abilities", code = 264_3047, classification = ItemClassification.useful, ), #"Furious Bellow": KH1ItemData("Abilities", code = 264_3048, classification = ItemClassification.useful, ), #"Spiral Wave": KH1ItemData("Abilities", code = 264_3049, classification = ItemClassification.useful, ), #"Thunder Potion": KH1ItemData("Abilities", code = 264_3050, classification = ItemClassification.useful, ), #"Cure Potion": KH1ItemData("Abilities", code = 264_3051, classification = ItemClassification.useful, ), #"Aero Potion": KH1ItemData("Abilities", code = 264_3052, classification = ItemClassification.useful, ), "Slapshot": KH1ItemData("Abilities", code = 264_3053, classification = ItemClassification.useful, ), "Sliding Dash": KH1ItemData("Abilities", code = 264_3054, classification = ItemClassification.useful, ), "Hurricane Blast": KH1ItemData("Abilities", code = 264_3055, classification = ItemClassification.useful, ), "Ripple Drive": KH1ItemData("Abilities", code = 264_3056, classification = ItemClassification.useful, ), "Stun Impact": KH1ItemData("Abilities", code = 264_3057, classification = ItemClassification.useful, ), "Gravity Break": KH1ItemData("Abilities", code = 264_3058, classification = ItemClassification.useful, ), "Zantetsuken": KH1ItemData("Abilities", code = 264_3059, classification = ItemClassification.useful, ), "Tech Boost": KH1ItemData("Abilities", code = 264_3060, classification = ItemClassification.useful, max_quantity = 4 ), "Encounter Plus": KH1ItemData("Abilities", code = 264_3061, classification = ItemClassification.useful, ), "Leaf Bracer": KH1ItemData("Abilities", code = 264_3062, classification = ItemClassification.progression, ), #"Evolution": KH1ItemData("Abilities", code = 264_3063, classification = ItemClassification.useful, ), "EXP Zero": KH1ItemData("Abilities", code = 264_3064, classification = ItemClassification.useful, ), "Combo Master": KH1ItemData("Abilities", code = 264_3065, classification = ItemClassification.progression, ), "Max HP Increase": KH1ItemData("Level Up", code = 264_4001, classification = ItemClassification.useful, max_quantity = 15), "Max MP Increase": KH1ItemData("Level Up", code = 264_4002, classification = ItemClassification.useful, max_quantity = 15), "Max AP Increase": KH1ItemData("Level Up", code = 264_4003, classification = ItemClassification.useful, max_quantity = 15), "Strength Increase": KH1ItemData("Level Up", code = 264_4004, classification = ItemClassification.useful, max_quantity = 15), "Defense Increase": KH1ItemData("Level Up", code = 264_4005, classification = ItemClassification.useful, max_quantity = 15), "Accessory Slot Increase": KH1ItemData("Limited Level Up", code = 264_4006, classification = ItemClassification.useful, max_quantity = 15), "Item Slot Increase": KH1ItemData("Limited Level Up", code = 264_4007, classification = ItemClassification.useful, max_quantity = 15), "Dumbo": KH1ItemData("Summons", code = 264_5000, classification = ItemClassification.progression, ), "Bambi": KH1ItemData("Summons", code = 264_5001, classification = ItemClassification.progression, ), "Genie": KH1ItemData("Summons", code = 264_5002, classification = ItemClassification.progression, ), "Tinker Bell": KH1ItemData("Summons", code = 264_5003, classification = ItemClassification.progression, ), "Mushu": KH1ItemData("Summons", code = 264_5004, classification = ItemClassification.progression, ), "Simba": KH1ItemData("Summons", code = 264_5005, classification = ItemClassification.progression, ), "Progressive Fire": KH1ItemData("Magic", code = 264_6001, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Blizzard": KH1ItemData("Magic", code = 264_6002, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Thunder": KH1ItemData("Magic", code = 264_6003, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Cure": KH1ItemData("Magic", code = 264_6004, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Gravity": KH1ItemData("Magic", code = 264_6005, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Stop": KH1ItemData("Magic", code = 264_6006, classification = ItemClassification.progression, max_quantity = 3 ), "Progressive Aero": KH1ItemData("Magic", code = 264_6007, classification = ItemClassification.progression, max_quantity = 3 ), #"Traverse Town": KH1ItemData("Worlds", code = 264_7001, classification = ItemClassification.progression, ), "Wonderland": KH1ItemData("Worlds", code = 264_7002, classification = ItemClassification.progression, ), "Olympus Coliseum": KH1ItemData("Worlds", code = 264_7003, classification = ItemClassification.progression, ), "Deep Jungle": KH1ItemData("Worlds", code = 264_7004, classification = ItemClassification.progression, ), "Agrabah": KH1ItemData("Worlds", code = 264_7005, classification = ItemClassification.progression, ), "Halloween Town": KH1ItemData("Worlds", code = 264_7006, classification = ItemClassification.progression, ), "Atlantica": KH1ItemData("Worlds", code = 264_7007, classification = ItemClassification.progression, ), "Neverland": KH1ItemData("Worlds", code = 264_7008, classification = ItemClassification.progression, ), "Hollow Bastion": KH1ItemData("Worlds", code = 264_7009, classification = ItemClassification.progression, ), "End of the World": KH1ItemData("Worlds", code = 264_7010, classification = ItemClassification.progression, ), "Monstro": KH1ItemData("Worlds", code = 264_7011, classification = ItemClassification.progression, ), "Blue Trinity": KH1ItemData("Trinities", code = 264_8001, classification = ItemClassification.progression, ), "Red Trinity": KH1ItemData("Trinities", code = 264_8002, classification = ItemClassification.progression, ), "Green Trinity": KH1ItemData("Trinities", code = 264_8003, classification = ItemClassification.progression, ), "Yellow Trinity": KH1ItemData("Trinities", code = 264_8004, classification = ItemClassification.progression, ), "White Trinity": KH1ItemData("Trinities", code = 264_8005, classification = ItemClassification.progression, ), "Phil Cup": KH1ItemData("Cups", code = 264_9001, classification = ItemClassification.progression, ), "Pegasus Cup": KH1ItemData("Cups", code = 264_9002, classification = ItemClassification.progression, ), "Hercules Cup": KH1ItemData("Cups", code = 264_9003, classification = ItemClassification.progression, ), #"Hades Cup": KH1ItemData("Cups", code = 264_9004, classification = ItemClassification.progression, ), } event_item_table: Dict[str, KH1ItemData] = {} #Make item categories item_name_groups: Dict[str, Set[str]] = {} for item in item_table.keys(): category = item_table[item].category if category not in item_name_groups.keys(): item_name_groups[category] = set() item_name_groups[category].add(item)