2023-03-20 16:19:55 +00:00
|
|
|
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),
|
2023-03-25 18:36:48 +00:00
|
|
|
ItemName.Medal: ItemData(0x130074, 1, 53, 0x35B0),
|
2023-03-20 16:19:55 +00:00
|
|
|
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": {
|
2023-03-27 17:17:06 +00:00
|
|
|
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,
|
2023-03-20 16:19:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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}
|