533 lines
		
	
	
		
			78 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			533 lines
		
	
	
		
			78 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | 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) |