1010 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			1010 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import typing
 | |
| 
 | |
| from BaseClasses import Item
 | |
| from .Names import ItemName
 | |
| 
 | |
| 
 | |
| class KH2Item(Item):
 | |
|     game: str = "Kingdom Hearts 2"
 | |
| 
 | |
| 
 | |
| class ItemData(typing.NamedTuple):
 | |
|     code: typing.Optional[int]
 | |
|     quantity: int = 0
 | |
|     kh2id: int = 0
 | |
|     # Save+ mem addr
 | |
|     memaddr: int = 0
 | |
|     # some items have bitmasks. if bitmask>0 bitor to give item else
 | |
|     bitmask: int = 0
 | |
|     # if ability then
 | |
|     ability: bool = False
 | |
| 
 | |
| 
 | |
| Reports_Table = {
 | |
|     ItemName.SecretAnsemsReport1:  ItemData(0x130000, 1, 226, 0x36C4, 6),
 | |
|     ItemName.SecretAnsemsReport2:  ItemData(0x130001, 1, 227, 0x36C4, 7),
 | |
|     ItemName.SecretAnsemsReport3:  ItemData(0x130002, 1, 228, 0x36C5, 0),
 | |
|     ItemName.SecretAnsemsReport4:  ItemData(0x130003, 1, 229, 0x36C5, 1),
 | |
|     ItemName.SecretAnsemsReport5:  ItemData(0x130004, 1, 230, 0x36C5, 2),
 | |
|     ItemName.SecretAnsemsReport6:  ItemData(0x130005, 1, 231, 0x36C5, 3),
 | |
|     ItemName.SecretAnsemsReport7:  ItemData(0x130006, 1, 232, 0x36C5, 4),
 | |
|     ItemName.SecretAnsemsReport8:  ItemData(0x130007, 1, 233, 0x36C5, 5),
 | |
|     ItemName.SecretAnsemsReport9:  ItemData(0x130008, 1, 234, 0x36C5, 6),
 | |
|     ItemName.SecretAnsemsReport10: ItemData(0x130009, 1, 235, 0x36C5, 7),
 | |
|     ItemName.SecretAnsemsReport11: ItemData(0x13000A, 1, 236, 0x36C6, 0),
 | |
|     ItemName.SecretAnsemsReport12: ItemData(0x13000B, 1, 237, 0x36C6, 1),
 | |
|     ItemName.SecretAnsemsReport13: ItemData(0x13000C, 1, 238, 0x36C6, 2),
 | |
| }
 | |
| 
 | |
| Progression_Table = {
 | |
|     ItemName.ProofofConnection:   ItemData(0x13000D, 1, 593, 0x36B2),
 | |
|     ItemName.ProofofNonexistence: ItemData(0x13000E, 1, 594, 0x36B3),
 | |
|     ItemName.ProofofPeace:        ItemData(0x13000F, 1, 595, 0x36B4),
 | |
|     ItemName.PromiseCharm:        ItemData(0x130010, 1, 524, 0x3694),
 | |
|     ItemName.NamineSketches:      ItemData(0x130011, 1, 368, 0x3642),
 | |
|     ItemName.CastleKey:           ItemData(0x130012, 2, 460, 0x365D),  # dummy 13
 | |
|     ItemName.BattlefieldsofWar:   ItemData(0x130013, 2, 54, 0x35AE),
 | |
|     ItemName.SwordoftheAncestor:  ItemData(0x130014, 2, 55, 0x35AF),
 | |
|     ItemName.BeastsClaw:          ItemData(0x130015, 2, 59, 0x35B3),
 | |
|     ItemName.BoneFist:            ItemData(0x130016, 2, 60, 0x35B4),
 | |
|     ItemName.ProudFang:           ItemData(0x130017, 2, 61, 0x35B5),
 | |
|     ItemName.SkillandCrossbones:  ItemData(0x130018, 2, 62, 0x35B6),
 | |
|     ItemName.Scimitar:            ItemData(0x130019, 2, 72, 0x35C0),
 | |
|     ItemName.MembershipCard:      ItemData(0x13001A, 2, 369, 0x3643),
 | |
|     ItemName.IceCream:            ItemData(0x13001B, 3, 375, 0x3649),
 | |
|     # Changed to 3 instead of one poster, picture and ice cream respectively
 | |
|     ItemName.WaytotheDawn:        ItemData(0x13001C, 1, 73, 0x35C1),
 | |
|     # currently first visit locking doesn't work for twtnw.When goa is updated should be 2
 | |
|     ItemName.IdentityDisk:        ItemData(0x13001D, 2, 74, 0x35C2),
 | |
|     ItemName.TornPages:           ItemData(0x13001E, 5, 32, 0x3598),
 | |
| 
 | |
| }
 | |
| Forms_Table = {
 | |
|     ItemName.ValorForm:  ItemData(0x13001F, 1, 26, 0x36C0, 1),
 | |
|     ItemName.WisdomForm: ItemData(0x130020, 1, 27, 0x36C0, 2),
 | |
|     ItemName.LimitForm:  ItemData(0x130021, 1, 563, 0x36CA, 3),
 | |
|     ItemName.MasterForm: ItemData(0x130022, 1, 31, 0x36C0, 6),
 | |
|     ItemName.FinalForm:  ItemData(0x130023, 1, 29, 0x36C0, 4),
 | |
| }
 | |
| Magic_Table = {
 | |
|     ItemName.FireElement:     ItemData(0x130024, 3, 21, 0x3594),
 | |
|     ItemName.BlizzardElement: ItemData(0x130025, 3, 22, 0x3595),
 | |
|     ItemName.ThunderElement:  ItemData(0x130026, 3, 23, 0x3596),
 | |
|     ItemName.CureElement:     ItemData(0x130027, 3, 24, 0x3597),
 | |
|     ItemName.MagnetElement:   ItemData(0x130028, 3, 87, 0x35CF),
 | |
|     ItemName.ReflectElement:  ItemData(0x130029, 3, 88, 0x35D0),
 | |
|     ItemName.Genie:           ItemData(0x13002A, 1, 159, 0x36C4, 4),
 | |
|     ItemName.PeterPan:        ItemData(0x13002B, 1, 160, 0x36C4, 5),
 | |
|     ItemName.Stitch:          ItemData(0x13002C, 1, 25, 0x36C0, 0),
 | |
|     ItemName.ChickenLittle:   ItemData(0x13002D, 1, 383, 0x36C0, 3),
 | |
| }
 | |
| 
 | |
| Movement_Table = {
 | |
|     ItemName.HighJump:    ItemData(0x13002E, 4, 94, 0x05E, 0, True),
 | |
|     ItemName.QuickRun:    ItemData(0x13002F, 4, 98, 0x062, 0, True),
 | |
|     ItemName.DodgeRoll:   ItemData(0x130030, 4, 564, 0x234, 0, True),
 | |
|     ItemName.AerialDodge: ItemData(0x130031, 4, 102, 0x066, 0, True),
 | |
|     ItemName.Glide:       ItemData(0x130032, 4, 106, 0x06A, 0, True),
 | |
| }
 | |
| 
 | |
| Keyblade_Table = {
 | |
|     ItemName.Oathkeeper:      ItemData(0x130033, 1, 42, 0x35A2),
 | |
|     ItemName.Oblivion:        ItemData(0x130034, 1, 43, 0x35A3),
 | |
|     ItemName.StarSeeker:      ItemData(0x130035, 1, 480, 0x367B),
 | |
|     ItemName.HiddenDragon:    ItemData(0x130036, 1, 481, 0x367C),
 | |
|     ItemName.HerosCrest:      ItemData(0x130037, 1, 484, 0x367F),
 | |
|     ItemName.Monochrome:      ItemData(0x130038, 1, 485, 0x3680),
 | |
|     ItemName.FollowtheWind:   ItemData(0x130039, 1, 486, 0x3681),
 | |
|     ItemName.CircleofLife:    ItemData(0x13003A, 1, 487, 0x3682),
 | |
|     ItemName.PhotonDebugger:  ItemData(0x13003B, 1, 488, 0x3683),
 | |
|     ItemName.GullWing:        ItemData(0x13003C, 1, 489, 0x3684),
 | |
|     ItemName.RumblingRose:    ItemData(0x13003D, 1, 490, 0x3685),
 | |
|     ItemName.GuardianSoul:    ItemData(0x13003E, 1, 491, 0x3686),
 | |
|     ItemName.WishingLamp:     ItemData(0x13003F, 1, 492, 0x3687),
 | |
|     ItemName.DecisivePumpkin: ItemData(0x130040, 1, 493, 0x3688),
 | |
|     ItemName.SleepingLion:    ItemData(0x130041, 1, 494, 0x3689),
 | |
|     ItemName.SweetMemories:   ItemData(0x130042, 1, 495, 0x368A),
 | |
|     ItemName.MysteriousAbyss: ItemData(0x130043, 1, 496, 0x368B),
 | |
|     ItemName.TwoBecomeOne:    ItemData(0x130044, 1, 543, 0x3698),
 | |
|     ItemName.FatalCrest:      ItemData(0x130045, 1, 497, 0x368C),
 | |
|     ItemName.BondofFlame:     ItemData(0x130046, 1, 498, 0x368D),
 | |
|     ItemName.Fenrir:          ItemData(0x130047, 1, 499, 0x368E),
 | |
|     ItemName.UltimaWeapon:    ItemData(0x130048, 1, 500, 0x368F),
 | |
|     ItemName.WinnersProof:    ItemData(0x130049, 1, 544, 0x3699),
 | |
|     ItemName.Pureblood:       ItemData(0x13004A, 1, 71, 0x35BF),
 | |
| }
 | |
| Staffs_Table = {
 | |
|     ItemName.Centurion2:        ItemData(0x13004B, 1, 546, 0x369B),
 | |
|     ItemName.MeteorStaff:       ItemData(0x13004C, 1, 150, 0x35F1),
 | |
|     ItemName.NobodyLance:       ItemData(0x13004D, 1, 155, 0x35F6),
 | |
|     ItemName.PreciousMushroom:  ItemData(0x13004E, 1, 549, 0x369E),
 | |
|     ItemName.PreciousMushroom2: ItemData(0x13004F, 1, 550, 0x369F),
 | |
|     ItemName.PremiumMushroom:   ItemData(0x130050, 1, 551, 0x36A0),
 | |
|     ItemName.RisingDragon:      ItemData(0x130051, 1, 154, 0x35F5),
 | |
|     ItemName.SaveTheQueen2:     ItemData(0x130052, 1, 503, 0x3692),
 | |
|     ItemName.ShamansRelic:      ItemData(0x130053, 1, 156, 0x35F7),
 | |
| }
 | |
| Shields_Table = {
 | |
|     ItemName.AkashicRecord:     ItemData(0x130054, 1, 146, 0x35ED),
 | |
|     ItemName.FrozenPride2:      ItemData(0x130055, 1, 553, 0x36A2),
 | |
|     ItemName.GenjiShield:       ItemData(0x130056, 1, 145, 0x35EC),
 | |
|     ItemName.MajesticMushroom:  ItemData(0x130057, 1, 556, 0x36A5),
 | |
|     ItemName.MajesticMushroom2: ItemData(0x130058, 1, 557, 0x36A6),
 | |
|     ItemName.NobodyGuard:       ItemData(0x130059, 1, 147, 0x35EE),
 | |
|     ItemName.OgreShield:        ItemData(0x13005A, 1, 141, 0x35E8),
 | |
|     ItemName.SaveTheKing2:      ItemData(0x13005B, 1, 504, 0x3693),
 | |
|     ItemName.UltimateMushroom:  ItemData(0x13005C, 1, 558, 0x36A7),
 | |
| }
 | |
| Accessory_Table = {
 | |
|     ItemName.AbilityRing:     ItemData(0x13005D, 1, 8, 0x3587),
 | |
|     ItemName.EngineersRing:   ItemData(0x13005E, 1, 9, 0x3588),
 | |
|     ItemName.TechniciansRing: ItemData(0x13005F, 1, 10, 0x3589),
 | |
|     ItemName.SkillRing:       ItemData(0x130060, 1, 38, 0x359F),
 | |
|     ItemName.SkillfulRing:    ItemData(0x130061, 1, 39, 0x35A0),
 | |
|     ItemName.ExpertsRing:     ItemData(0x130062, 1, 11, 0x358A),
 | |
|     ItemName.MastersRing:     ItemData(0x130063, 1, 34, 0x359B),
 | |
|     ItemName.CosmicRing:      ItemData(0x130064, 1, 52, 0x35AD),
 | |
|     ItemName.ExecutivesRing:  ItemData(0x130065, 1, 599, 0x36B5),
 | |
|     ItemName.SardonyxRing:    ItemData(0x130066, 1, 12, 0x358B),
 | |
|     ItemName.TourmalineRing:  ItemData(0x130067, 1, 13, 0x358C),
 | |
|     ItemName.AquamarineRing:  ItemData(0x130068, 1, 14, 0x358D),
 | |
|     ItemName.GarnetRing:      ItemData(0x130069, 1, 15, 0x358E),
 | |
|     ItemName.DiamondRing:     ItemData(0x13006A, 1, 16, 0x358F),
 | |
|     ItemName.SilverRing:      ItemData(0x13006B, 1, 17, 0x3590),
 | |
|     ItemName.GoldRing:        ItemData(0x13006C, 1, 18, 0x3591),
 | |
|     ItemName.PlatinumRing:    ItemData(0x13006D, 1, 19, 0x3592),
 | |
|     ItemName.MythrilRing:     ItemData(0x13006E, 1, 20, 0x3593),
 | |
|     ItemName.OrichalcumRing:  ItemData(0x13006F, 1, 28, 0x359A),
 | |
|     ItemName.SoldierEarring:  ItemData(0x130070, 1, 40, 0x35A6),
 | |
|     ItemName.FencerEarring:   ItemData(0x130071, 1, 46, 0x35A7),
 | |
|     ItemName.MageEarring:     ItemData(0x130072, 1, 47, 0x35A8),
 | |
|     ItemName.SlayerEarring:   ItemData(0x130073, 1, 48, 0x35AC),
 | |
|     ItemName.Medal:           ItemData(0x130074, 1, 53, 0x35B0),
 | |
|     ItemName.MoonAmulet:      ItemData(0x130075, 1, 35, 0x359C),
 | |
|     ItemName.StarCharm:       ItemData(0x130076, 1, 36, 0x359E),
 | |
|     ItemName.CosmicArts:      ItemData(0x130077, 1, 56, 0x35B1),
 | |
|     ItemName.ShadowArchive:   ItemData(0x130078, 1, 57, 0x35B2),
 | |
|     ItemName.ShadowArchive2:  ItemData(0x130079, 1, 58, 0x35B7),
 | |
|     ItemName.FullBloom:       ItemData(0x13007A, 1, 64, 0x35B9),
 | |
|     ItemName.FullBloom2:      ItemData(0x13007B, 1, 66, 0x35BB),
 | |
|     ItemName.DrawRing:        ItemData(0x13007C, 1, 65, 0x35BA),
 | |
|     ItemName.LuckyRing:       ItemData(0x13007D, 1, 63, 0x35B8),
 | |
| }
 | |
| Armor_Table = {
 | |
|     ItemName.ElvenBandana:     ItemData(0x13007E, 1, 67, 0x35BC),
 | |
|     ItemName.DivineBandana:    ItemData(0x13007F, 1, 68, 0x35BD),
 | |
|     ItemName.ProtectBelt:      ItemData(0x130080, 1, 78, 0x35C7),
 | |
|     ItemName.GaiaBelt:         ItemData(0x130081, 1, 79, 0x35CA),
 | |
|     ItemName.PowerBand:        ItemData(0x130082, 1, 69, 0x35BE),
 | |
|     ItemName.BusterBand:       ItemData(0x130083, 1, 70, 0x35C6),
 | |
|     ItemName.CosmicBelt:       ItemData(0x130084, 1, 111, 0x35D1),
 | |
|     ItemName.FireBangle:       ItemData(0x130085, 1, 173, 0x35D7),
 | |
|     ItemName.FiraBangle:       ItemData(0x130086, 1, 174, 0x35D8),
 | |
|     ItemName.FiragaBangle:     ItemData(0x130087, 1, 197, 0x35D9),
 | |
|     ItemName.FiragunBangle:    ItemData(0x130088, 1, 284, 0x35DA),
 | |
|     ItemName.BlizzardArmlet:   ItemData(0x130089, 1, 286, 0x35DC),
 | |
|     ItemName.BlizzaraArmlet:   ItemData(0x13008A, 1, 287, 0x35DD),
 | |
|     ItemName.BlizzagaArmlet:   ItemData(0x13008B, 1, 288, 0x35DE),
 | |
|     ItemName.BlizzagunArmlet:  ItemData(0x13008C, 1, 289, 0x35DF),
 | |
|     ItemName.ThunderTrinket:   ItemData(0x13008D, 1, 291, 0x35E2),
 | |
|     ItemName.ThundaraTrinket:  ItemData(0x13008E, 1, 292, 0x35E3),
 | |
|     ItemName.ThundagaTrinket:  ItemData(0x13008F, 1, 293, 0x35E4),
 | |
|     ItemName.ThundagunTrinket: ItemData(0x130090, 1, 294, 0x35E5),
 | |
|     ItemName.ShockCharm:       ItemData(0x130091, 1, 132, 0x35D2),
 | |
|     ItemName.ShockCharm2:      ItemData(0x130092, 1, 133, 0x35D3),
 | |
|     ItemName.ShadowAnklet:     ItemData(0x130093, 1, 296, 0x35F9),
 | |
|     ItemName.DarkAnklet:       ItemData(0x130094, 1, 297, 0x35FB),
 | |
|     ItemName.MidnightAnklet:   ItemData(0x130095, 1, 298, 0x35FC),
 | |
|     ItemName.ChaosAnklet:      ItemData(0x130096, 1, 299, 0x35FD),
 | |
|     ItemName.ChampionBelt:     ItemData(0x130097, 1, 305, 0x3603),
 | |
|     ItemName.AbasChain:        ItemData(0x130098, 1, 301, 0x35FF),
 | |
|     ItemName.AegisChain:       ItemData(0x130099, 1, 302, 0x3600),
 | |
|     ItemName.Acrisius:         ItemData(0x13009A, 1, 303, 0x3601),
 | |
|     ItemName.Acrisius2:        ItemData(0x13009B, 1, 307, 0x3605),
 | |
|     ItemName.CosmicChain:      ItemData(0x13009C, 1, 308, 0x3606),
 | |
|     ItemName.PetiteRibbon:     ItemData(0x13009D, 1, 306, 0x3604),
 | |
|     ItemName.Ribbon:           ItemData(0x13009E, 1, 304, 0x3602),
 | |
|     ItemName.GrandRibbon:      ItemData(0x13009F, 1, 157, 0x35D4),
 | |
| }
 | |
| Usefull_Table = {
 | |
|     ItemName.MickyMunnyPouch:  ItemData(0x1300A0, 3, 535, 0x3695),  # 5000 munny per
 | |
|     ItemName.OletteMunnyPouch: ItemData(0x1300A1, 6, 362, 0x363C),  # 2500 munny per
 | |
|     ItemName.HadesCupTrophy:   ItemData(0x1300A2, 1, 537, 0x3696),
 | |
|     ItemName.UnknownDisk:      ItemData(0x1300A3, 1, 462, 0x365F),
 | |
|     ItemName.OlympusStone:     ItemData(0x1300A4, 1, 370, 0x3644),
 | |
|     ItemName.MaxHPUp:          ItemData(0x1300A5, 20, 470, 0x3671),
 | |
|     ItemName.MaxMPUp:          ItemData(0x1300A6, 4, 471, 0x3672),
 | |
|     ItemName.DriveGaugeUp:     ItemData(0x1300A7, 6, 472, 0x3673),
 | |
|     ItemName.ArmorSlotUp:      ItemData(0x1300A8, 3, 473, 0x3674),
 | |
|     ItemName.AccessorySlotUp:  ItemData(0x1300A9, 3, 474, 0x3675),
 | |
|     ItemName.ItemSlotUp:       ItemData(0x1300AA, 5, 463, 0x3660),
 | |
| }
 | |
| SupportAbility_Table = {
 | |
|     ItemName.Scan:             ItemData(0x1300AB, 2, 138, 0x08A, 0, True),
 | |
|     ItemName.AerialRecovery:   ItemData(0x1300AC, 1, 158, 0x09E, 0, True),
 | |
|     ItemName.ComboMaster:      ItemData(0x1300AD, 1, 539, 0x21B, 0, True),
 | |
|     ItemName.ComboPlus:        ItemData(0x1300AE, 3, 162, 0x0A2, 0, True),
 | |
|     ItemName.AirComboPlus:     ItemData(0x1300AF, 3, 163, 0x0A3, 0, True),
 | |
|     ItemName.ComboBoost:       ItemData(0x1300B0, 2, 390, 0x186, 0, True),
 | |
|     ItemName.AirComboBoost:    ItemData(0x1300B1, 2, 391, 0x187, 0, True),
 | |
|     ItemName.ReactionBoost:    ItemData(0x1300B2, 3, 392, 0x188, 0, True),
 | |
|     ItemName.FinishingPlus:    ItemData(0x1300B3, 3, 393, 0x189, 0, True),
 | |
|     ItemName.NegativeCombo:    ItemData(0x1300B4, 2, 394, 0x18A, 0, True),
 | |
|     ItemName.BerserkCharge:    ItemData(0x1300B5, 2, 395, 0x18B, 0, True),
 | |
|     ItemName.DamageDrive:      ItemData(0x1300B6, 2, 396, 0x18C, 0, True),
 | |
|     ItemName.DriveBoost:       ItemData(0x1300B7, 2, 397, 0x18D, 0, True),
 | |
|     ItemName.FormBoost:        ItemData(0x1300B8, 3, 398, 0x18E, 0, True),
 | |
|     ItemName.SummonBoost:      ItemData(0x1300B9, 1, 399, 0x18F, 0, True),
 | |
|     ItemName.ExperienceBoost:  ItemData(0x1300BA, 2, 401, 0x191, 0, True),
 | |
|     ItemName.Draw:             ItemData(0x1300BB, 4, 405, 0x195, 0, True),
 | |
|     ItemName.Jackpot:          ItemData(0x1300BC, 2, 406, 0x196, 0, True),
 | |
|     ItemName.LuckyLucky:       ItemData(0x1300BD, 3, 407, 0x197, 0, True),
 | |
|     ItemName.DriveConverter:   ItemData(0x1300BE, 2, 540, 0x21C, 0, True),
 | |
|     ItemName.FireBoost:        ItemData(0x1300BF, 2, 408, 0x198, 0, True),
 | |
|     ItemName.BlizzardBoost:    ItemData(0x1300C0, 2, 409, 0x199, 0, True),
 | |
|     ItemName.ThunderBoost:     ItemData(0x1300C1, 2, 410, 0x19A, 0, True),
 | |
|     ItemName.ItemBoost:        ItemData(0x1300C2, 2, 411, 0x19B, 0, True),
 | |
|     ItemName.MPRage:           ItemData(0x1300C3, 2, 412, 0x19C, 0, True),
 | |
|     ItemName.MPHaste:          ItemData(0x1300C4, 2, 413, 0x19D, 0, True),
 | |
|     ItemName.MPHastera:        ItemData(0x1300C5, 2, 421, 0x1A5, 0, True),
 | |
|     ItemName.MPHastega:        ItemData(0x1300C6, 1, 422, 0x1A6, 0, True),
 | |
|     ItemName.Defender:         ItemData(0x1300C7, 2, 414, 0x19E, 0, True),
 | |
|     ItemName.DamageControl:    ItemData(0x1300C8, 2, 542, 0x21E, 0, True),
 | |
|     ItemName.NoExperience:     ItemData(0x1300C9, 1, 404, 0x194, 0, True),
 | |
|     ItemName.LightDarkness:    ItemData(0x1300CA, 1, 541, 0x21D, 0, True),
 | |
|     ItemName.MagicLock:        ItemData(0x1300CB, 1, 403, 0x193, 0, True),
 | |
|     ItemName.LeafBracer:       ItemData(0x1300CC, 1, 402, 0x192, 0, True),
 | |
|     ItemName.CombinationBoost: ItemData(0x1300CD, 1, 400, 0x190, 0, True),
 | |
|     ItemName.OnceMore:         ItemData(0x1300CE, 1, 416, 0x1A0, 0, True),
 | |
|     ItemName.SecondChance:     ItemData(0x1300CF, 1, 415, 0x19F, 0, True),
 | |
| }
 | |
| ActionAbility_Table = {
 | |
|     ItemName.Guard:            ItemData(0x1300D0, 1, 82, 0x052, 0, True),
 | |
|     ItemName.UpperSlash:       ItemData(0x1300D1, 1, 137, 0x089, 0, True),
 | |
|     ItemName.HorizontalSlash:  ItemData(0x1300D2, 1, 271, 0x10F, 0, True),
 | |
|     ItemName.FinishingLeap:    ItemData(0x1300D3, 1, 267, 0x10B, 0, True),
 | |
|     ItemName.RetaliatingSlash: ItemData(0x1300D4, 1, 273, 0x111, 0, True),
 | |
|     ItemName.Slapshot:         ItemData(0x1300D5, 1, 262, 0x106, 0, True),
 | |
|     ItemName.DodgeSlash:       ItemData(0x1300D6, 1, 263, 0x107, 0, True),
 | |
|     ItemName.FlashStep:        ItemData(0x1300D7, 1, 559, 0x22F, 0, True),
 | |
|     ItemName.SlideDash:        ItemData(0x1300D8, 1, 264, 0x108, 0, True),
 | |
|     ItemName.VicinityBreak:    ItemData(0x1300D9, 1, 562, 0x232, 0, True),
 | |
|     ItemName.GuardBreak:       ItemData(0x1300DA, 1, 265, 0x109, 0, True),
 | |
|     ItemName.Explosion:        ItemData(0x1300DB, 1, 266, 0x10A, 0, True),
 | |
|     ItemName.AerialSweep:      ItemData(0x1300DC, 1, 269, 0x10D, 0, True),
 | |
|     ItemName.AerialDive:       ItemData(0x1300DD, 1, 560, 0x230, 0, True),
 | |
|     ItemName.AerialSpiral:     ItemData(0x1300DE, 1, 270, 0x10E, 0, True),
 | |
|     ItemName.AerialFinish:     ItemData(0x1300DF, 1, 272, 0x110, 0, True),
 | |
|     ItemName.MagnetBurst:      ItemData(0x1300E0, 1, 561, 0x231, 0, True),
 | |
|     ItemName.Counterguard:     ItemData(0x1300E1, 1, 268, 0x10C, 0, True),
 | |
|     ItemName.AutoValor:        ItemData(0x1300E2, 1, 385, 0x181, 0, True),
 | |
|     ItemName.AutoWisdom:       ItemData(0x1300E3, 1, 386, 0x182, 0, True),
 | |
|     ItemName.AutoLimit:        ItemData(0x1300E4, 1, 568, 0x238, 0, True),
 | |
|     ItemName.AutoMaster:       ItemData(0x1300E5, 1, 387, 0x183, 0, True),
 | |
|     ItemName.AutoFinal:        ItemData(0x1300E6, 1, 388, 0x184, 0, True),
 | |
|     ItemName.AutoSummon:       ItemData(0x1300E7, 1, 389, 0x185, 0, True),
 | |
|     ItemName.TrinityLimit:     ItemData(0x1300E8, 1, 198, 0x0C6, 0, True),
 | |
| }
 | |
| Items_Table = {
 | |
|     ItemName.PowerBoost:   ItemData(0x1300E9, 1, 276, 0x3666),
 | |
|     ItemName.MagicBoost:   ItemData(0x1300EA, 1, 277, 0x3667),
 | |
|     ItemName.DefenseBoost: ItemData(0x1300EB, 1, 278, 0x3668),
 | |
|     ItemName.APBoost:      ItemData(0x1300EC, 1, 279, 0x3669),
 | |
| }
 | |
| 
 | |
| # These items cannot be in other games so these are done locally in kh2
 | |
| DonaldAbility_Table = {
 | |
|     ItemName.DonaldFire:          ItemData(0x1300ED, 1, 165, 0xA5, 0, True),
 | |
|     ItemName.DonaldBlizzard:      ItemData(0x1300EE, 1, 166, 0xA6, 0, True),
 | |
|     ItemName.DonaldThunder:       ItemData(0x1300EF, 1, 167, 0xA7, 0, True),
 | |
|     ItemName.DonaldCure:          ItemData(0x1300F0, 1, 168, 0xA8, 0, True),
 | |
|     ItemName.Fantasia:            ItemData(0x1300F1, 1, 199, 0xC7, 0, True),
 | |
|     ItemName.FlareForce:          ItemData(0x1300F2, 1, 200, 0xC8, 0, True),
 | |
|     ItemName.DonaldMPRage:        ItemData(0x1300F3, 3, 412, 0x19C, 0, True),
 | |
|     ItemName.DonaldJackpot:       ItemData(0x1300F4, 1, 406, 0x196, 0, True),
 | |
|     ItemName.DonaldLuckyLucky:    ItemData(0x1300F5, 3, 407, 0x197, 0, True),
 | |
|     ItemName.DonaldFireBoost:     ItemData(0x1300F6, 2, 408, 0x198, 0, True),
 | |
|     ItemName.DonaldBlizzardBoost: ItemData(0x1300F7, 2, 409, 0x199, 0, True),
 | |
|     ItemName.DonaldThunderBoost:  ItemData(0x1300F8, 2, 410, 0x19A, 0, True),
 | |
|     ItemName.DonaldMPHaste:       ItemData(0x1300F9, 1, 413, 0x19D, 0, True),
 | |
|     ItemName.DonaldMPHastera:     ItemData(0x1300FA, 2, 421, 0x1A5, 0, True),
 | |
|     ItemName.DonaldMPHastega:     ItemData(0x1300FB, 2, 422, 0x1A6, 0, True),
 | |
|     ItemName.DonaldAutoLimit:     ItemData(0x1300FC, 1, 417, 0x1A1, 0, True),
 | |
|     ItemName.DonaldHyperHealing:  ItemData(0x1300FD, 2, 419, 0x1A3, 0, True),
 | |
|     ItemName.DonaldAutoHealing:   ItemData(0x1300FE, 1, 420, 0x1A4, 0, True),
 | |
|     ItemName.DonaldItemBoost:     ItemData(0x1300FF, 1, 411, 0x19B, 0, True),
 | |
|     ItemName.DonaldDamageControl: ItemData(0x130100, 2, 542, 0x21E, 0, True),
 | |
|     ItemName.DonaldDraw:          ItemData(0x130101, 1, 405, 0x195, 0, True),
 | |
| }
 | |
| GoofyAbility_Table = {
 | |
|     ItemName.GoofyTornado:       ItemData(0x130102, 1, 423, 0x1A7, 0, True),
 | |
|     ItemName.GoofyTurbo:         ItemData(0x130103, 1, 425, 0x1A9, 0, True),
 | |
|     ItemName.GoofyBash:          ItemData(0x130104, 1, 429, 0x1AD, 0, True),
 | |
|     ItemName.TornadoFusion:      ItemData(0x130105, 1, 201, 0xC9, 0, True),
 | |
|     ItemName.Teamwork:           ItemData(0x130106, 1, 202, 0xCA, 0, True),
 | |
|     ItemName.GoofyDraw:          ItemData(0x130107, 1, 405, 0x195, 0, True),
 | |
|     ItemName.GoofyJackpot:       ItemData(0x130108, 1, 406, 0x196, 0, True),
 | |
|     ItemName.GoofyLuckyLucky:    ItemData(0x130109, 1, 407, 0x197, 0, True),
 | |
|     ItemName.GoofyItemBoost:     ItemData(0x13010A, 2, 411, 0x19B, 0, True),
 | |
|     ItemName.GoofyMPRage:        ItemData(0x13010B, 2, 412, 0x19C, 0, True),
 | |
|     ItemName.GoofyDefender:      ItemData(0x13010C, 2, 414, 0x19E, 0, True),
 | |
|     ItemName.GoofyDamageControl: ItemData(0x13010D, 3, 542, 0x21E, 0, True),
 | |
|     ItemName.GoofyAutoLimit:     ItemData(0x13010E, 1, 417, 0x1A1, 0, True),
 | |
|     ItemName.GoofySecondChance:  ItemData(0x13010F, 1, 415, 0x19F, 0, True),
 | |
|     ItemName.GoofyOnceMore:      ItemData(0x130110, 1, 416, 0x1A0, 0, True),
 | |
|     ItemName.GoofyAutoChange:    ItemData(0x130111, 1, 418, 0x1A2, 0, True),
 | |
|     ItemName.GoofyHyperHealing:  ItemData(0x130112, 2, 419, 0x1A3, 0, True),
 | |
|     ItemName.GoofyAutoHealing:   ItemData(0x130113, 1, 420, 0x1A4, 0, True),
 | |
|     ItemName.GoofyMPHaste:       ItemData(0x130114, 1, 413, 0x19D, 0, True),
 | |
|     ItemName.GoofyMPHastera:     ItemData(0x130115, 1, 421, 0x1A5, 0, True),
 | |
|     ItemName.GoofyMPHastega:     ItemData(0x130116, 1, 422, 0x1A6, 0, True),
 | |
|     ItemName.GoofyProtect:       ItemData(0x130117, 2, 596, 0x254, 0, True),
 | |
|     ItemName.GoofyProtera:       ItemData(0x130118, 2, 597, 0x255, 0, True),
 | |
|     ItemName.GoofyProtega:       ItemData(0x130119, 2, 598, 0x256, 0, True),
 | |
| 
 | |
| }
 | |
| 
 | |
| Misc_Table = {
 | |
|     ItemName.LuckyEmblem: ItemData(0x13011A, 0, 367, 0x3641),  # letter item
 | |
|     ItemName.Victory:     ItemData(0x13011B, 0, 263, 0x111),
 | |
|     ItemName.Bounty:      ItemData(0x13011C, 0, 461, 0, 0),  # Dummy 14
 | |
|     # ItemName.UniversalKey:ItemData(0x130129,0,365,0x363F,0)#Tournament Poster
 | |
| 
 | |
| }
 | |
| # Items that are prone to duping.
 | |
| # anchors for checking form keyblade
 | |
| # Save+32F4 Valor Form Save+339C Master Form Save+33D4 Final Form
 | |
| # Have to use the kh2id for checking stuff that sora has equipped
 | |
| # Equipped abilities have an offset of 0x8000 so check for if whatever || whatever+0x8000
 | |
| CheckDupingItems = {
 | |
|     "Items":          {
 | |
|         ItemName.ProofofConnection,
 | |
|         ItemName.ProofofNonexistence,
 | |
|         ItemName.ProofofPeace,
 | |
|         ItemName.PromiseCharm,
 | |
|         ItemName.NamineSketches,
 | |
|         ItemName.CastleKey,
 | |
|         ItemName.BattlefieldsofWar,
 | |
|         ItemName.SwordoftheAncestor,
 | |
|         ItemName.BeastsClaw,
 | |
|         ItemName.BoneFist,
 | |
|         ItemName.ProudFang,
 | |
|         ItemName.SkillandCrossbones,
 | |
|         ItemName.Scimitar,
 | |
|         ItemName.MembershipCard,
 | |
|         ItemName.IceCream,
 | |
|         ItemName.WaytotheDawn,
 | |
|         ItemName.IdentityDisk,
 | |
|         ItemName.TornPages,
 | |
|         ItemName.LuckyEmblem,
 | |
|         ItemName.MickyMunnyPouch,
 | |
|         ItemName.OletteMunnyPouch,
 | |
|         ItemName.HadesCupTrophy,
 | |
|         ItemName.UnknownDisk,
 | |
|         ItemName.OlympusStone,
 | |
|     },
 | |
|     "Magic":          {
 | |
|         ItemName.FireElement,
 | |
|         ItemName.BlizzardElement,
 | |
|         ItemName.ThunderElement,
 | |
|         ItemName.CureElement,
 | |
|         ItemName.MagnetElement,
 | |
|         ItemName.ReflectElement,
 | |
|     },
 | |
|     "Bitmask":        {
 | |
|         ItemName.ValorForm,
 | |
|         ItemName.WisdomForm,
 | |
|         ItemName.LimitForm,
 | |
|         ItemName.MasterForm,
 | |
|         ItemName.FinalForm,
 | |
|         ItemName.Genie,
 | |
|         ItemName.PeterPan,
 | |
|         ItemName.Stitch,
 | |
|         ItemName.ChickenLittle,
 | |
|         ItemName.SecretAnsemsReport1,
 | |
|         ItemName.SecretAnsemsReport2,
 | |
|         ItemName.SecretAnsemsReport3,
 | |
|         ItemName.SecretAnsemsReport4,
 | |
|         ItemName.SecretAnsemsReport5,
 | |
|         ItemName.SecretAnsemsReport6,
 | |
|         ItemName.SecretAnsemsReport7,
 | |
|         ItemName.SecretAnsemsReport8,
 | |
|         ItemName.SecretAnsemsReport9,
 | |
|         ItemName.SecretAnsemsReport10,
 | |
|         ItemName.SecretAnsemsReport11,
 | |
|         ItemName.SecretAnsemsReport12,
 | |
|         ItemName.SecretAnsemsReport13,
 | |
| 
 | |
|     },
 | |
|     "Weapons":        {
 | |
|         "Keyblades": {
 | |
|             ItemName.Oathkeeper,
 | |
|             ItemName.Oblivion,
 | |
|             ItemName.StarSeeker,
 | |
|             ItemName.HiddenDragon,
 | |
|             ItemName.HerosCrest,
 | |
|             ItemName.Monochrome,
 | |
|             ItemName.FollowtheWind,
 | |
|             ItemName.CircleofLife,
 | |
|             ItemName.PhotonDebugger,
 | |
|             ItemName.GullWing,
 | |
|             ItemName.RumblingRose,
 | |
|             ItemName.GuardianSoul,
 | |
|             ItemName.WishingLamp,
 | |
|             ItemName.DecisivePumpkin,
 | |
|             ItemName.SleepingLion,
 | |
|             ItemName.SweetMemories,
 | |
|             ItemName.MysteriousAbyss,
 | |
|             ItemName.TwoBecomeOne,
 | |
|             ItemName.FatalCrest,
 | |
|             ItemName.BondofFlame,
 | |
|             ItemName.Fenrir,
 | |
|             ItemName.UltimaWeapon,
 | |
|             ItemName.WinnersProof,
 | |
|             ItemName.Pureblood,
 | |
|         },
 | |
|         "Staffs":    {
 | |
|             ItemName.Centurion2,
 | |
|             ItemName.MeteorStaff,
 | |
|             ItemName.NobodyLance,
 | |
|             ItemName.PreciousMushroom,
 | |
|             ItemName.PreciousMushroom2,
 | |
|             ItemName.PremiumMushroom,
 | |
|             ItemName.RisingDragon,
 | |
|             ItemName.SaveTheQueen2,
 | |
|             ItemName.ShamansRelic,
 | |
|         },
 | |
|         "Shields":   {
 | |
|             ItemName.AkashicRecord,
 | |
|             ItemName.FrozenPride2,
 | |
|             ItemName.GenjiShield,
 | |
|             ItemName.MajesticMushroom,
 | |
|             ItemName.MajesticMushroom2,
 | |
|             ItemName.NobodyGuard,
 | |
|             ItemName.OgreShield,
 | |
|             ItemName.SaveTheKing2,
 | |
|             ItemName.UltimateMushroom,
 | |
|         }
 | |
|     },
 | |
|     "Equipment":      {
 | |
|         "Accessories": {
 | |
|             ItemName.AbilityRing,
 | |
|             ItemName.EngineersRing,
 | |
|             ItemName.TechniciansRing,
 | |
|             ItemName.SkillRing,
 | |
|             ItemName.SkillfulRing,
 | |
|             ItemName.ExpertsRing,
 | |
|             ItemName.MastersRing,
 | |
|             ItemName.CosmicRing,
 | |
|             ItemName.ExecutivesRing,
 | |
|             ItemName.SardonyxRing,
 | |
|             ItemName.TourmalineRing,
 | |
|             ItemName.AquamarineRing,
 | |
|             ItemName.GarnetRing,
 | |
|             ItemName.DiamondRing,
 | |
|             ItemName.SilverRing,
 | |
|             ItemName.GoldRing,
 | |
|             ItemName.PlatinumRing,
 | |
|             ItemName.MythrilRing,
 | |
|             ItemName.OrichalcumRing,
 | |
|             ItemName.SoldierEarring,
 | |
|             ItemName.FencerEarring,
 | |
|             ItemName.MageEarring,
 | |
|             ItemName.SlayerEarring,
 | |
|             ItemName.Medal,
 | |
|             ItemName.MoonAmulet,
 | |
|             ItemName.StarCharm,
 | |
|             ItemName.CosmicArts,
 | |
|             ItemName.ShadowArchive,
 | |
|             ItemName.ShadowArchive2,
 | |
|             ItemName.FullBloom,
 | |
|             ItemName.FullBloom2,
 | |
|             ItemName.DrawRing,
 | |
|             ItemName.LuckyRing,
 | |
|         },
 | |
|         "Armor":       {
 | |
|             ItemName.ElvenBandana,
 | |
|             ItemName.DivineBandana,
 | |
|             ItemName.ProtectBelt,
 | |
|             ItemName.GaiaBelt,
 | |
|             ItemName.PowerBand,
 | |
|             ItemName.BusterBand,
 | |
|             ItemName.CosmicBelt,
 | |
|             ItemName.FireBangle,
 | |
|             ItemName.FiraBangle,
 | |
|             ItemName.FiragaBangle,
 | |
|             ItemName.FiragunBangle,
 | |
|             ItemName.BlizzardArmlet,
 | |
|             ItemName.BlizzaraArmlet,
 | |
|             ItemName.BlizzagaArmlet,
 | |
|             ItemName.BlizzagunArmlet,
 | |
|             ItemName.ThunderTrinket,
 | |
|             ItemName.ThundaraTrinket,
 | |
|             ItemName.ThundagaTrinket,
 | |
|             ItemName.ThundagunTrinket,
 | |
|             ItemName.ShockCharm,
 | |
|             ItemName.ShockCharm2,
 | |
|             ItemName.ShadowAnklet,
 | |
|             ItemName.DarkAnklet,
 | |
|             ItemName.MidnightAnklet,
 | |
|             ItemName.ChaosAnklet,
 | |
|             ItemName.ChampionBelt,
 | |
|             ItemName.AbasChain,
 | |
|             ItemName.AegisChain,
 | |
|             ItemName.Acrisius,
 | |
|             ItemName.Acrisius2,
 | |
|             ItemName.CosmicChain,
 | |
|             ItemName.PetiteRibbon,
 | |
|             ItemName.Ribbon,
 | |
|             ItemName.GrandRibbon,
 | |
|         }
 | |
|     },
 | |
|     "Stat Increases": {
 | |
|         ItemName.MaxHPUp,
 | |
|         ItemName.MaxMPUp,
 | |
|         ItemName.DriveGaugeUp,
 | |
|         ItemName.ArmorSlotUp,
 | |
|         ItemName.AccessorySlotUp,
 | |
|         ItemName.ItemSlotUp,
 | |
|     },
 | |
|     "Abilities":      {
 | |
|         "Sora":   {
 | |
|             ItemName.Scan,
 | |
|             ItemName.AerialRecovery,
 | |
|             ItemName.ComboMaster,
 | |
|             ItemName.ComboPlus,
 | |
|             ItemName.AirComboPlus,
 | |
|             ItemName.ComboBoost,
 | |
|             ItemName.AirComboBoost,
 | |
|             ItemName.ReactionBoost,
 | |
|             ItemName.FinishingPlus,
 | |
|             ItemName.NegativeCombo,
 | |
|             ItemName.BerserkCharge,
 | |
|             ItemName.DamageDrive,
 | |
|             ItemName.DriveBoost,
 | |
|             ItemName.FormBoost,
 | |
|             ItemName.SummonBoost,
 | |
|             ItemName.ExperienceBoost,
 | |
|             ItemName.Draw,
 | |
|             ItemName.Jackpot,
 | |
|             ItemName.LuckyLucky,
 | |
|             ItemName.DriveConverter,
 | |
|             ItemName.FireBoost,
 | |
|             ItemName.BlizzardBoost,
 | |
|             ItemName.ThunderBoost,
 | |
|             ItemName.ItemBoost,
 | |
|             ItemName.MPRage,
 | |
|             ItemName.MPHaste,
 | |
|             ItemName.MPHastera,
 | |
|             ItemName.MPHastega,
 | |
|             ItemName.Defender,
 | |
|             ItemName.DamageControl,
 | |
|             ItemName.NoExperience,
 | |
|             ItemName.LightDarkness,
 | |
|             ItemName.MagicLock,
 | |
|             ItemName.LeafBracer,
 | |
|             ItemName.CombinationBoost,
 | |
|             ItemName.OnceMore,
 | |
|             ItemName.SecondChance,
 | |
|             ItemName.Guard,
 | |
|             ItemName.UpperSlash,
 | |
|             ItemName.HorizontalSlash,
 | |
|             ItemName.FinishingLeap,
 | |
|             ItemName.RetaliatingSlash,
 | |
|             ItemName.Slapshot,
 | |
|             ItemName.DodgeSlash,
 | |
|             ItemName.FlashStep,
 | |
|             ItemName.SlideDash,
 | |
|             ItemName.VicinityBreak,
 | |
|             ItemName.GuardBreak,
 | |
|             ItemName.Explosion,
 | |
|             ItemName.AerialSweep,
 | |
|             ItemName.AerialDive,
 | |
|             ItemName.AerialSpiral,
 | |
|             ItemName.AerialFinish,
 | |
|             ItemName.MagnetBurst,
 | |
|             ItemName.Counterguard,
 | |
|             ItemName.AutoValor,
 | |
|             ItemName.AutoWisdom,
 | |
|             ItemName.AutoLimit,
 | |
|             ItemName.AutoMaster,
 | |
|             ItemName.AutoFinal,
 | |
|             ItemName.AutoSummon,
 | |
|             ItemName.TrinityLimit,
 | |
|             ItemName.HighJump,
 | |
|             ItemName.QuickRun,
 | |
|             ItemName.DodgeRoll,
 | |
|             ItemName.AerialDodge,
 | |
|             ItemName.Glide,
 | |
|         },
 | |
|         "Donald": {
 | |
|             ItemName.DonaldFire,
 | |
|             ItemName.DonaldBlizzard,
 | |
|             ItemName.DonaldThunder,
 | |
|             ItemName.DonaldCure,
 | |
|             ItemName.Fantasia,
 | |
|             ItemName.FlareForce,
 | |
|             ItemName.DonaldMPRage,
 | |
|             ItemName.DonaldJackpot,
 | |
|             ItemName.DonaldLuckyLucky,
 | |
|             ItemName.DonaldFireBoost,
 | |
|             ItemName.DonaldBlizzardBoost,
 | |
|             ItemName.DonaldThunderBoost,
 | |
|             ItemName.DonaldMPHaste,
 | |
|             ItemName.DonaldMPHastera,
 | |
|             ItemName.DonaldMPHastega,
 | |
|             ItemName.DonaldAutoLimit,
 | |
|             ItemName.DonaldHyperHealing,
 | |
|             ItemName.DonaldAutoHealing,
 | |
|             ItemName.DonaldItemBoost,
 | |
|             ItemName.DonaldDamageControl,
 | |
|             ItemName.DonaldDraw,
 | |
|         },
 | |
|         "Goofy":  {
 | |
|             ItemName.GoofyTornado,
 | |
|             ItemName.GoofyTurbo,
 | |
|             ItemName.GoofyBash,
 | |
|             ItemName.TornadoFusion,
 | |
|             ItemName.Teamwork,
 | |
|             ItemName.GoofyDraw,
 | |
|             ItemName.GoofyJackpot,
 | |
|             ItemName.GoofyLuckyLucky,
 | |
|             ItemName.GoofyItemBoost,
 | |
|             ItemName.GoofyMPRage,
 | |
|             ItemName.GoofyDefender,
 | |
|             ItemName.GoofyDamageControl,
 | |
|             ItemName.GoofyAutoLimit,
 | |
|             ItemName.GoofySecondChance,
 | |
|             ItemName.GoofyOnceMore,
 | |
|             ItemName.GoofyAutoChange,
 | |
|             ItemName.GoofyHyperHealing,
 | |
|             ItemName.GoofyAutoHealing,
 | |
|             ItemName.GoofyMPHaste,
 | |
|             ItemName.GoofyMPHastera,
 | |
|             ItemName.GoofyMPHastega,
 | |
|             ItemName.GoofyProtect,
 | |
|             ItemName.GoofyProtera,
 | |
|             ItemName.GoofyProtega,
 | |
|         }
 | |
|     },
 | |
|     "Boosts":         {
 | |
|         ItemName.PowerBoost,
 | |
|         ItemName.MagicBoost,
 | |
|         ItemName.DefenseBoost,
 | |
|         ItemName.APBoost,
 | |
|     }
 | |
| }
 | |
| 
 | |
| Progression_Dicts = {
 | |
|     # Items that are classified as progression
 | |
|     "Progression":     {
 | |
|         # Wincons
 | |
|         ItemName.Victory,
 | |
|         ItemName.LuckyEmblem,
 | |
|         ItemName.Bounty,
 | |
|         ItemName.ProofofConnection,
 | |
|         ItemName.ProofofNonexistence,
 | |
|         ItemName.ProofofPeace,
 | |
|         ItemName.PromiseCharm,
 | |
|         # visit locking
 | |
|         ItemName.NamineSketches,
 | |
|         # dummy 13
 | |
|         ItemName.CastleKey,
 | |
|         ItemName.BattlefieldsofWar,
 | |
|         ItemName.SwordoftheAncestor,
 | |
|         ItemName.BeastsClaw,
 | |
|         ItemName.BoneFist,
 | |
|         ItemName.ProudFang,
 | |
|         ItemName.SkillandCrossbones,
 | |
|         ItemName.Scimitar,
 | |
|         ItemName.MembershipCard,
 | |
|         ItemName.IceCream,
 | |
|         ItemName.WaytotheDawn,
 | |
|         ItemName.IdentityDisk,
 | |
|         ItemName.TornPages,
 | |
|         # forms
 | |
|         ItemName.ValorForm,
 | |
|         ItemName.WisdomForm,
 | |
|         ItemName.LimitForm,
 | |
|         ItemName.MasterForm,
 | |
|         ItemName.FinalForm,
 | |
|         # magic
 | |
|         ItemName.FireElement,
 | |
|         ItemName.BlizzardElement,
 | |
|         ItemName.ThunderElement,
 | |
|         ItemName.CureElement,
 | |
|         ItemName.MagnetElement,
 | |
|         ItemName.ReflectElement,
 | |
|         ItemName.Genie,
 | |
|         ItemName.PeterPan,
 | |
|         ItemName.Stitch,
 | |
|         ItemName.ChickenLittle,
 | |
|         # movement
 | |
|         ItemName.HighJump,
 | |
|         ItemName.QuickRun,
 | |
|         ItemName.DodgeRoll,
 | |
|         ItemName.AerialDodge,
 | |
|         ItemName.Glide,
 | |
|         # abilities
 | |
|         ItemName.Scan,
 | |
|         ItemName.AerialRecovery,
 | |
|         ItemName.ComboMaster,
 | |
|         ItemName.ComboPlus,
 | |
|         ItemName.AirComboPlus,
 | |
|         ItemName.ComboBoost,
 | |
|         ItemName.AirComboBoost,
 | |
|         ItemName.ReactionBoost,
 | |
|         ItemName.FinishingPlus,
 | |
|         ItemName.NegativeCombo,
 | |
|         ItemName.BerserkCharge,
 | |
|         ItemName.DamageDrive,
 | |
|         ItemName.DriveBoost,
 | |
|         ItemName.FormBoost,
 | |
|         ItemName.SummonBoost,
 | |
|         ItemName.ExperienceBoost,
 | |
|         ItemName.Draw,
 | |
|         ItemName.Jackpot,
 | |
|         ItemName.LuckyLucky,
 | |
|         ItemName.DriveConverter,
 | |
|         ItemName.FireBoost,
 | |
|         ItemName.BlizzardBoost,
 | |
|         ItemName.ThunderBoost,
 | |
|         ItemName.ItemBoost,
 | |
|         ItemName.MPRage,
 | |
|         ItemName.MPHaste,
 | |
|         ItemName.MPHastera,
 | |
|         ItemName.MPHastega,
 | |
|         ItemName.Defender,
 | |
|         ItemName.DamageControl,
 | |
|         ItemName.NoExperience,
 | |
|         ItemName.LightDarkness,
 | |
|         ItemName.MagicLock,
 | |
|         ItemName.LeafBracer,
 | |
|         ItemName.CombinationBoost,
 | |
|         ItemName.OnceMore,
 | |
|         ItemName.SecondChance,
 | |
|         ItemName.Guard,
 | |
|         ItemName.UpperSlash,
 | |
|         ItemName.HorizontalSlash,
 | |
|         ItemName.FinishingLeap,
 | |
|         ItemName.RetaliatingSlash,
 | |
|         ItemName.Slapshot,
 | |
|         ItemName.DodgeSlash,
 | |
|         ItemName.FlashStep,
 | |
|         ItemName.SlideDash,
 | |
|         ItemName.VicinityBreak,
 | |
|         ItemName.GuardBreak,
 | |
|         ItemName.Explosion,
 | |
|         ItemName.AerialSweep,
 | |
|         ItemName.AerialDive,
 | |
|         ItemName.AerialSpiral,
 | |
|         ItemName.AerialFinish,
 | |
|         ItemName.MagnetBurst,
 | |
|         ItemName.Counterguard,
 | |
|         ItemName.AutoValor,
 | |
|         ItemName.AutoWisdom,
 | |
|         ItemName.AutoLimit,
 | |
|         ItemName.AutoMaster,
 | |
|         ItemName.AutoFinal,
 | |
|         ItemName.AutoSummon,
 | |
|         ItemName.TrinityLimit,
 | |
|         # keyblades
 | |
|         ItemName.Oathkeeper,
 | |
|         ItemName.Oblivion,
 | |
|         ItemName.StarSeeker,
 | |
|         ItemName.HiddenDragon,
 | |
|         ItemName.HerosCrest,
 | |
|         ItemName.Monochrome,
 | |
|         ItemName.FollowtheWind,
 | |
|         ItemName.CircleofLife,
 | |
|         ItemName.PhotonDebugger,
 | |
|         ItemName.GullWing,
 | |
|         ItemName.RumblingRose,
 | |
|         ItemName.GuardianSoul,
 | |
|         ItemName.WishingLamp,
 | |
|         ItemName.DecisivePumpkin,
 | |
|         ItemName.SleepingLion,
 | |
|         ItemName.SweetMemories,
 | |
|         ItemName.MysteriousAbyss,
 | |
|         ItemName.TwoBecomeOne,
 | |
|         ItemName.FatalCrest,
 | |
|         ItemName.BondofFlame,
 | |
|         ItemName.Fenrir,
 | |
|         ItemName.UltimaWeapon,
 | |
|         ItemName.WinnersProof,
 | |
|         ItemName.Pureblood,
 | |
|         # Staffs
 | |
|         ItemName.Centurion2,
 | |
|         ItemName.MeteorStaff,
 | |
|         ItemName.NobodyLance,
 | |
|         ItemName.PreciousMushroom,
 | |
|         ItemName.PreciousMushroom2,
 | |
|         ItemName.PremiumMushroom,
 | |
|         ItemName.RisingDragon,
 | |
|         ItemName.SaveTheQueen2,
 | |
|         ItemName.ShamansRelic,
 | |
|         # Shields
 | |
|         ItemName.AkashicRecord,
 | |
|         ItemName.FrozenPride2,
 | |
|         ItemName.GenjiShield,
 | |
|         ItemName.MajesticMushroom,
 | |
|         ItemName.MajesticMushroom2,
 | |
|         ItemName.NobodyGuard,
 | |
|         ItemName.OgreShield,
 | |
|         ItemName.SaveTheKing2,
 | |
|         ItemName.UltimateMushroom,
 | |
|         # Party Limits
 | |
|         ItemName.FlareForce,
 | |
|         ItemName.Fantasia,
 | |
|         ItemName.Teamwork,
 | |
|         ItemName.TornadoFusion
 | |
|     },
 | |
|     "2VisitLocking":   {
 | |
|         ItemName.CastleKey,
 | |
|         ItemName.BattlefieldsofWar,
 | |
|         ItemName.SwordoftheAncestor,
 | |
|         ItemName.BeastsClaw,
 | |
|         ItemName.BoneFist,
 | |
|         ItemName.ProudFang,
 | |
|         ItemName.SkillandCrossbones,
 | |
|         ItemName.Scimitar,
 | |
|         ItemName.MembershipCard,
 | |
|         ItemName.IceCream,
 | |
|         ItemName.WaytotheDawn,
 | |
|         ItemName.IdentityDisk,
 | |
|         ItemName.IceCream,
 | |
|         ItemName.NamineSketches
 | |
|     },
 | |
|     "AllVisitLocking": {
 | |
|         ItemName.CastleKey:          2,
 | |
|         ItemName.BattlefieldsofWar:  2,
 | |
|         ItemName.SwordoftheAncestor: 2,
 | |
|         ItemName.BeastsClaw:         2,
 | |
|         ItemName.BoneFist:           2,
 | |
|         ItemName.ProudFang:          2,
 | |
|         ItemName.SkillandCrossbones: 2,
 | |
|         ItemName.Scimitar:           2,
 | |
|         ItemName.MembershipCard:     2,
 | |
|         ItemName.WaytotheDawn:       1,
 | |
|         ItemName.IdentityDisk:       2,
 | |
|         ItemName.IceCream:           3,
 | |
|         ItemName.NamineSketches:     1,
 | |
|     }
 | |
| }
 | |
| 
 | |
| exclusionItem_table = {
 | |
|     "Ability": {
 | |
|         ItemName.Scan,
 | |
|         ItemName.AerialRecovery,
 | |
|         ItemName.ComboMaster,
 | |
|         ItemName.ComboPlus,
 | |
|         ItemName.AirComboPlus,
 | |
|         ItemName.ComboBoost,
 | |
|         ItemName.AirComboBoost,
 | |
|         ItemName.ReactionBoost,
 | |
|         ItemName.FinishingPlus,
 | |
|         ItemName.NegativeCombo,
 | |
|         ItemName.BerserkCharge,
 | |
|         ItemName.DamageDrive,
 | |
|         ItemName.DriveBoost,
 | |
|         ItemName.FormBoost,
 | |
|         ItemName.SummonBoost,
 | |
|         ItemName.ExperienceBoost,
 | |
|         ItemName.Draw,
 | |
|         ItemName.Jackpot,
 | |
|         ItemName.LuckyLucky,
 | |
|         ItemName.DriveConverter,
 | |
|         ItemName.FireBoost,
 | |
|         ItemName.BlizzardBoost,
 | |
|         ItemName.ThunderBoost,
 | |
|         ItemName.ItemBoost,
 | |
|         ItemName.MPRage,
 | |
|         ItemName.MPHaste,
 | |
|         ItemName.MPHastera,
 | |
|         ItemName.MPHastega,
 | |
|         ItemName.Defender,
 | |
|         ItemName.DamageControl,
 | |
|         ItemName.NoExperience,
 | |
|         ItemName.LightDarkness,
 | |
|         ItemName.MagicLock,
 | |
|         ItemName.LeafBracer,
 | |
|         ItemName.CombinationBoost,
 | |
|         ItemName.DamageDrive,
 | |
|         ItemName.OnceMore,
 | |
|         ItemName.SecondChance,
 | |
|         ItemName.Guard,
 | |
|         ItemName.UpperSlash,
 | |
|         ItemName.HorizontalSlash,
 | |
|         ItemName.FinishingLeap,
 | |
|         ItemName.RetaliatingSlash,
 | |
|         ItemName.Slapshot,
 | |
|         ItemName.DodgeSlash,
 | |
|         ItemName.FlashStep,
 | |
|         ItemName.SlideDash,
 | |
|         ItemName.VicinityBreak,
 | |
|         ItemName.GuardBreak,
 | |
|         ItemName.Explosion,
 | |
|         ItemName.AerialSweep,
 | |
|         ItemName.AerialDive,
 | |
|         ItemName.AerialSpiral,
 | |
|         ItemName.AerialFinish,
 | |
|         ItemName.MagnetBurst,
 | |
|         ItemName.Counterguard,
 | |
|         ItemName.AutoValor,
 | |
|         ItemName.AutoWisdom,
 | |
|         ItemName.AutoLimit,
 | |
|         ItemName.AutoMaster,
 | |
|         ItemName.AutoFinal,
 | |
|         ItemName.AutoSummon,
 | |
|         ItemName.TrinityLimit,
 | |
|         ItemName.HighJump,
 | |
|         ItemName.QuickRun,
 | |
|         ItemName.DodgeRoll,
 | |
|         ItemName.AerialDodge,
 | |
|         ItemName.Glide,
 | |
|     },
 | |
|     "StatUps": {
 | |
|         ItemName.MaxHPUp,
 | |
|         ItemName.MaxMPUp,
 | |
|         ItemName.DriveGaugeUp,
 | |
|         ItemName.ArmorSlotUp,
 | |
|         ItemName.AccessorySlotUp,
 | |
|         ItemName.ItemSlotUp,
 | |
|     },
 | |
| }
 | |
| 
 | |
| item_dictionary_table = {**Reports_Table,
 | |
|                          **Progression_Table,
 | |
|                          **Forms_Table,
 | |
|                          **Magic_Table,
 | |
|                          **Armor_Table,
 | |
|                          **Movement_Table,
 | |
|                          **Staffs_Table,
 | |
|                          **Shields_Table,
 | |
|                          **Keyblade_Table,
 | |
|                          **Accessory_Table,
 | |
|                          **Usefull_Table,
 | |
|                          **SupportAbility_Table,
 | |
|                          **ActionAbility_Table,
 | |
|                          **Items_Table,
 | |
|                          **Misc_Table,
 | |
|                          **Items_Table,
 | |
|                          **DonaldAbility_Table,
 | |
|                          **GoofyAbility_Table,
 | |
|                          }
 | |
| 
 | |
| lookup_id_to_name: typing.Dict[int, str] = {data.code: item_name for item_name, data in item_dictionary_table.items() if
 | |
|                                             data.code}
 | |
| 
 | |
| item_groups: typing.Dict[str, list] = {"Drive Form":      [item_name for item_name in Forms_Table.keys()],
 | |
|                                        "Growth":          [item_name for item_name in Movement_Table.keys()],
 | |
|                                        "Donald Limit":    [ItemName.FlareForce, ItemName.Fantasia],
 | |
|                                        "Goofy Limit":     [ItemName.Teamwork, ItemName.TornadoFusion],
 | |
|                                        "Magic":           [ItemName.FireElement, ItemName.BlizzardElement,
 | |
|                                                            ItemName.ThunderElement,
 | |
|                                                            ItemName.CureElement, ItemName.MagnetElement,
 | |
|                                                            ItemName.ReflectElement],
 | |
|                                        "Summon":          [ItemName.ChickenLittle, ItemName.Genie, ItemName.Stitch,
 | |
|                                                            ItemName.PeterPan],
 | |
|                                        "Gap Closer":      [ItemName.SlideDash, ItemName.FlashStep],
 | |
|                                        "Ground Finisher": [ItemName.GuardBreak, ItemName.Explosion,
 | |
|                                                            ItemName.FinishingLeap],
 | |
|                                        "Visit Lock":      [item_name for item_name in
 | |
|                                                            Progression_Dicts["2VisitLocking"]],
 | |
|                                        "Keyblade":        [item_name for item_name in Keyblade_Table.keys()],
 | |
|                                        "Fire":            [ItemName.FireElement],
 | |
|                                        "Blizzard":        [ItemName.BlizzardElement],
 | |
|                                        "Thunder":         [ItemName.ThunderElement],
 | |
|                                        "Cure":            [ItemName.CureElement],
 | |
|                                        "Magnet":          [ItemName.MagnetElement],
 | |
|                                        "Reflect":         [ItemName.ReflectElement],
 | |
|                                        "Proof":           [ItemName.ProofofNonexistence, ItemName.ProofofPeace,
 | |
|                                                            ItemName.ProofofConnection],
 | |
|                                        "Filler":          [
 | |
|                                            ItemName.PowerBoost, ItemName.MagicBoost,
 | |
|                                            ItemName.DefenseBoost, ItemName.APBoost]
 | |
|                                        }
 | |
| 
 | |
| # lookup_kh2id_to_name: typing.Dict[int, str] = {data.kh2id: item_name for item_name, data in
 | |
| #                                               item_dictionary_table.items() if data.kh2id}
 | 
