346 lines
26 KiB
Python
346 lines
26 KiB
Python
import typing
|
|
|
|
from enum import IntEnum, Enum
|
|
from BaseClasses import Item, ItemClassification
|
|
from .Names.ItemName import ItemName
|
|
|
|
|
|
class ItemType(str, Enum):
|
|
Undernet = "undernet"
|
|
Chip = "chip"
|
|
KeyItem = "key"
|
|
SubChip = "subchip"
|
|
Zenny = "zenny"
|
|
Program = "program"
|
|
BugFrag = "bugfrag"
|
|
External = "External"
|
|
|
|
__str__ = str.__str__
|
|
|
|
class ProgramColor(IntEnum):
|
|
White = 1
|
|
Pink = 2
|
|
Yellow = 3
|
|
Red = 4
|
|
Blue = 5
|
|
Green = 6
|
|
Orange = 7
|
|
Purple = 8
|
|
Dark = 9
|
|
|
|
|
|
def chip_code(c):
|
|
if c == '*':
|
|
return 26
|
|
return ord(c) - ord('A')
|
|
|
|
|
|
class ItemData(typing.NamedTuple):
|
|
code: int
|
|
itemName: str
|
|
progression: ItemClassification
|
|
type: ItemType
|
|
itemID: int = 0x00
|
|
subItemID: int = 0x00
|
|
count: int = 1
|
|
recipient: str = "Myself"
|
|
|
|
|
|
class MMBN3Item(Item):
|
|
game: str = "MegaMan Battle Network 3"
|
|
|
|
|
|
keyItemList: typing.List[ItemData] = [
|
|
ItemData(0xB31000, ItemName.Progressive_Undernet_Rank, ItemClassification.progression_skip_balancing, ItemType.Undernet, 27),
|
|
ItemData(0xB31001, ItemName.CACDCPas, ItemClassification.progression, ItemType.KeyItem, 92),
|
|
ItemData(0xB31002, ItemName.CSciPas, ItemClassification.progression, ItemType.KeyItem, 93),
|
|
ItemData(0xB31003, ItemName.CYokaPas, ItemClassification.progression, ItemType.KeyItem, 94),
|
|
ItemData(0xB31004, ItemName.CBeacPas, ItemClassification.progression, ItemType.KeyItem, 95),
|
|
ItemData(0xB31005, ItemName.WWW_ID, ItemClassification.progression, ItemType.KeyItem, 47),
|
|
ItemData(0xB31006, ItemName.OrderSys, ItemClassification.useful, ItemType.KeyItem, 12),
|
|
ItemData(0xB31007, ItemName.ModTools, ItemClassification.useful, ItemType.KeyItem, 55),
|
|
ItemData(0xB31008, ItemName.ExpMem, ItemClassification.useful, ItemType.KeyItem, 97),
|
|
ItemData(0xB31009, ItemName.SpinWht, ItemClassification.useful, ItemType.KeyItem, 71),
|
|
ItemData(0xB3100A, ItemName.SpinPink, ItemClassification.useful, ItemType.KeyItem, 72),
|
|
ItemData(0xB3100B, ItemName.SpinYllw, ItemClassification.useful, ItemType.KeyItem, 73),
|
|
ItemData(0xB3100C, ItemName.SpinRed, ItemClassification.useful, ItemType.KeyItem, 74),
|
|
ItemData(0xB3100D, ItemName.SpinBlue, ItemClassification.useful, ItemType.KeyItem, 75),
|
|
ItemData(0xB3100E, ItemName.SpinGrn, ItemClassification.useful, ItemType.KeyItem, 76),
|
|
ItemData(0xB3100F, ItemName.SpinOrange, ItemClassification.useful, ItemType.KeyItem, 77),
|
|
|
|
ItemData(0xB31010, ItemName.SpinPurple, ItemClassification.useful, ItemType.KeyItem, 78),
|
|
ItemData(0xB31011, ItemName.SpinDark, ItemClassification.useful, ItemType.KeyItem, 79),
|
|
ItemData(0xB31012, ItemName.HPMemory, ItemClassification.useful, ItemType.KeyItem, 96),
|
|
ItemData(0xB31013, ItemName.RegUP1, ItemClassification.filler, ItemType.KeyItem, 98),
|
|
ItemData(0xB31014, ItemName.RegUP2, ItemClassification.useful, ItemType.KeyItem, 99),
|
|
ItemData(0xB31015, ItemName.RegUP3, ItemClassification.useful, ItemType.KeyItem, 100),
|
|
ItemData(0xB31016, ItemName.Mr_Famous_Wristband, ItemClassification.filler, ItemType.KeyItem, 57),
|
|
ItemData(0xB31017, ItemName.SubMem, ItemClassification.filler, ItemType.KeyItem, 101),
|
|
|
|
ItemData(0xB310B1, ItemName.SubPET, ItemClassification.progression, ItemType.KeyItem, 10),
|
|
ItemData(0xB310B2, ItemName.Needle, ItemClassification.progression, ItemType.KeyItem, 14),
|
|
ItemData(0xB310B3, ItemName.PETCase, ItemClassification.progression, ItemType.KeyItem, 16),
|
|
# ItemData(0xB310B4, ItemName.Parasol, ItemClassification.progression, ItemType.KeyItem, 3),
|
|
ItemData(0xB310DF, ItemName.Hammer, ItemClassification.progression, ItemType.KeyItem, 56)
|
|
]
|
|
|
|
subChipList: typing.List[ItemData] = [
|
|
ItemData(0xB31018, ItemName.Unlocker, ItemClassification.useful, ItemType.SubChip, 117),
|
|
ItemData(0xB31019, ItemName.Untrap, ItemClassification.filler, ItemType.SubChip, 115),
|
|
ItemData(0xB3101A, ItemName.LockEnmy, ItemClassification.filler, ItemType.SubChip, 116),
|
|
ItemData(0xB3101B, ItemName.MiniEnrg, ItemClassification.filler, ItemType.SubChip, 112),
|
|
ItemData(0xB3101C, ItemName.FullEnrg, ItemClassification.filler, ItemType.SubChip, 113),
|
|
ItemData(0xB3101D, ItemName.SneakRun, ItemClassification.filler, ItemType.SubChip, 114)
|
|
]
|
|
|
|
chipList: typing.List[ItemData] = [
|
|
ItemData(0xB3101E, ItemName.AirShoes_star, ItemClassification.useful, ItemType.Chip, 168, chip_code('*')),
|
|
ItemData(0xB3101F, ItemName.AirShot3_star, ItemClassification.useful, ItemType.Chip, 6, chip_code('*')),
|
|
|
|
ItemData(0xB31020, ItemName.AntiNavi_M, ItemClassification.useful, ItemType.Chip, 190, chip_code('M')),
|
|
ItemData(0xB31021, ItemName.AntiRecv_B, ItemClassification.filler, ItemType.Chip, 193, chip_code('B')),
|
|
ItemData(0xB31022, ItemName.AntiSword_Y, ItemClassification.useful, ItemType.Chip, 192, chip_code('Y')),
|
|
ItemData(0xB31023, ItemName.Aqua_plus_30_star, ItemClassification.useful, ItemType.Chip, 197, chip_code('*')),
|
|
ItemData(0xB31024, ItemName.Aura_F, ItemClassification.useful, ItemType.Chip, 176, chip_code('F')),
|
|
ItemData(0xB31025, ItemName.BambooSword_N, ItemClassification.useful, ItemType.Chip, 36, chip_code('N')),
|
|
ItemData(0xB31026, ItemName.Barr100_E, ItemClassification.useful, ItemType.Chip, 174, chip_code('E')),
|
|
ItemData(0xB31027, ItemName.Barr200_E, ItemClassification.useful, ItemType.Chip, 175, chip_code('E')),
|
|
ItemData(0xB31028, ItemName.Barrier_E, ItemClassification.useful, ItemType.Chip, 173, chip_code('E')),
|
|
ItemData(0xB31029, ItemName.Barrier_L, ItemClassification.filler, ItemType.Chip, 173, chip_code('L')),
|
|
ItemData(0xB3102A, ItemName.BlkBomb1_P, ItemClassification.useful, ItemType.Chip, 27, chip_code('P')),
|
|
ItemData(0xB3102B, ItemName.BlkBomb2_S, ItemClassification.useful, ItemType.Chip, 28, chip_code('S')),
|
|
ItemData(0xB3102C, ItemName.Cannon_C, ItemClassification.filler, ItemType.Chip, 1, chip_code('C')),
|
|
ItemData(0xB3102D, ItemName.CopyDmg_star, ItemClassification.filler, ItemType.Chip, 194, chip_code('*')),
|
|
ItemData(0xB3102E, ItemName.CustSwrd_Z, ItemClassification.filler, ItemType.Chip, 37, chip_code('Z')),
|
|
ItemData(0xB3102F, ItemName.DynaWave_V, ItemClassification.progression, ItemType.Chip, 46, chip_code('V')),
|
|
|
|
ItemData(0xB31030, ItemName.ElecSwrd_P, ItemClassification.useful, ItemType.Chip, 35, chip_code('P')),
|
|
ItemData(0xB31031, ItemName.Fire_plus_30_star, ItemClassification.filler, ItemType.Chip, 196, chip_code('*')),
|
|
ItemData(0xB31032, ItemName.FireRat_H, ItemClassification.useful, ItemType.Chip, 117, chip_code('H')),
|
|
ItemData(0xB31033, ItemName.FireSwrd_P, ItemClassification.progression, ItemType.Chip, 33, chip_code('P')),
|
|
ItemData(0xB31034, ItemName.FstGauge_star, ItemClassification.useful, ItemType.Chip, 158, chip_code('*')),
|
|
ItemData(0xB31035, ItemName.GaiaBlde_star, ItemClassification.useful, ItemType.Chip, 276, chip_code('*')),
|
|
ItemData(0xB31036, ItemName.Geddon1_star, ItemClassification.filler, ItemType.Chip, 138, chip_code('*')),
|
|
ItemData(0xB31037, ItemName.Geddon1_D, ItemClassification.filler, ItemType.Chip, 138, chip_code('D')),
|
|
ItemData(0xB31038, ItemName.Geddon3_U, ItemClassification.useful, ItemType.Chip, 140, chip_code('U')),
|
|
ItemData(0xB31039, ItemName.Geyser_B, ItemClassification.useful, ItemType.Chip, 107, chip_code('B')),
|
|
ItemData(0xB3103A, ItemName.GrabBack_K, ItemClassification.progression, ItemType.Chip, 136, chip_code('K')),
|
|
ItemData(0xB3103B, ItemName.GrabRvng_A, ItemClassification.filler, ItemType.Chip, 137, chip_code('A')),
|
|
ItemData(0xB3103C, ItemName.GrabRvng_Y, ItemClassification.filler, ItemType.Chip, 137, chip_code('Y')),
|
|
ItemData(0xB3103D, ItemName.GutStrght_S, ItemClassification.useful, ItemType.Chip, 48, chip_code('S')),
|
|
ItemData(0xB3103E, ItemName.Guardian_O, ItemClassification.useful, ItemType.Chip, 203, chip_code('O')),
|
|
ItemData(0xB3103F, ItemName.GutImpact_H, ItemClassification.useful, ItemType.Chip, 49, chip_code('H')),
|
|
|
|
ItemData(0xB31040, ItemName.GutImpct_J, ItemClassification.useful, ItemType.Chip, 49, chip_code('J')),
|
|
ItemData(0xB31041, ItemName.GutPunch_E, ItemClassification.filler, ItemType.Chip, 47, chip_code('E')),
|
|
ItemData(0xB31042, ItemName.GutPunch_B, ItemClassification.filler, ItemType.Chip, 47, chip_code('B')),
|
|
ItemData(0xB31043, ItemName.GutStrgt_Q, ItemClassification.useful, ItemType.Chip, 48, chip_code('Q')),
|
|
ItemData(0xB31044, ItemName.Hammer_T, ItemClassification.useful, ItemType.Chip, 64, chip_code('T')),
|
|
ItemData(0xB31045, ItemName.HeatSide_T, ItemClassification.filler, ItemType.Chip, 19, chip_code('T')),
|
|
ItemData(0xB31046, ItemName.HeroSwrd_P, ItemClassification.useful, ItemType.Chip, 207, chip_code('P')),
|
|
ItemData(0xB31047, ItemName.HiCannon_star, ItemClassification.filler, ItemType.Chip, 2, chip_code('*')),
|
|
ItemData(0xB31048, ItemName.Hole_star, ItemClassification.useful, ItemType.Chip, 161, chip_code('*')),
|
|
ItemData(0xB31049, ItemName.IceStage_star, ItemClassification.filler, ItemType.Chip, 180, chip_code('*')),
|
|
ItemData(0xB3104A, ItemName.Invis_star, ItemClassification.useful, ItemType.Chip, 160, chip_code('*')),
|
|
ItemData(0xB3104B, ItemName.Jealousy_J, ItemClassification.filler, ItemType.Chip, 214, chip_code('J')),
|
|
ItemData(0xB3104C, ItemName.Lance_S, ItemClassification.useful, ItemType.Chip, 75, chip_code('S')),
|
|
ItemData(0xB3104D, ItemName.LongSwrd_E, ItemClassification.filler, ItemType.Chip, 32, chip_code('E')),
|
|
ItemData(0xB3104E, ItemName.Magnum1_A, ItemClassification.progression, ItemType.Chip, 81, chip_code('A')),
|
|
ItemData(0xB3104F, ItemName.Muramasa_M, ItemClassification.useful, ItemType.Chip, 202, chip_code('M')),
|
|
|
|
ItemData(0xB31050, ItemName.Navi_plus_40_star, ItemClassification.filler, ItemType.Chip, 206, chip_code('*')),
|
|
ItemData(0xB31051, ItemName.Panic_C, ItemClassification.filler, ItemType.Chip, 41, chip_code('C')),
|
|
ItemData(0xB31052, ItemName.PanlOut3_star, ItemClassification.filler, ItemType.Chip, 120, chip_code('*')),
|
|
ItemData(0xB31053, ItemName.Poltergeist_G, ItemClassification.filler, ItemType.Chip, 213, chip_code('G')),
|
|
ItemData(0xB31054, ItemName.Prism_Q, ItemClassification.useful, ItemType.Chip, 142, chip_code('Q')),
|
|
ItemData(0xB31055, ItemName.Recov10_star, ItemClassification.filler, ItemType.Chip, 121, chip_code('*')),
|
|
ItemData(0xB31056, ItemName.Recov120_star, ItemClassification.useful, ItemType.Chip, 125, chip_code('*')),
|
|
ItemData(0xB31057, ItemName.Recov120_O, ItemClassification.filler, ItemType.Chip, 125, chip_code('O')),
|
|
ItemData(0xB31058, ItemName.Recov120_S, ItemClassification.progression, ItemType.Chip, 125, chip_code('S')),
|
|
ItemData(0xB31059, ItemName.Recov150_P, ItemClassification.filler, ItemType.Chip, 126, chip_code('P')),
|
|
ItemData(0xB3105A, ItemName.Recov200_N, ItemClassification.filler, ItemType.Chip, 127, chip_code('N')),
|
|
ItemData(0xB3105B, ItemName.Recov30_star, ItemClassification.progression, ItemType.Chip, 122, chip_code('*')),
|
|
ItemData(0xB3105C, ItemName.Recov300_R, ItemClassification.useful, ItemType.Chip, 128, chip_code('R')),
|
|
ItemData(0xB3105D, ItemName.Recov50_G, ItemClassification.filler, ItemType.Chip, 123, chip_code('G')),
|
|
ItemData(0xB3105E, ItemName.Repair_star, ItemClassification.filler, ItemType.Chip, 159, chip_code('*')),
|
|
ItemData(0xB3105F, ItemName.Repair_A, ItemClassification.filler, ItemType.Chip, 159, chip_code('A')),
|
|
|
|
ItemData(0xB31060, ItemName.Rockcube_star, ItemClassification.filler, ItemType.Chip, 141, chip_code('*')),
|
|
ItemData(0xB31061, ItemName.Rook_F, ItemClassification.filler, ItemType.Chip, 153, chip_code('F')),
|
|
ItemData(0xB31062, ItemName.Salamndr_star, ItemClassification.useful, ItemType.Chip, 273, chip_code('*')),
|
|
ItemData(0xB31063, ItemName.SandStage_C, ItemClassification.filler, ItemType.Chip, 182, chip_code('C')),
|
|
ItemData(0xB31064, ItemName.SideGun_S, ItemClassification.filler, ItemType.Chip, 12, chip_code('S')),
|
|
ItemData(0xB31065, ItemName.Slasher_B, ItemClassification.useful, ItemType.Chip, 43, chip_code('B')),
|
|
ItemData(0xB31066, ItemName.SloGauge_star, ItemClassification.filler, ItemType.Chip, 157, chip_code('*')),
|
|
ItemData(0xB31067, ItemName.Snake_D, ItemClassification.useful, ItemType.Chip, 131, chip_code('D')),
|
|
ItemData(0xB31068, ItemName.Snctuary_C, ItemClassification.useful, ItemType.Chip, 184, chip_code('C')),
|
|
ItemData(0xB31069, ItemName.Spreader_star, ItemClassification.useful, ItemType.Chip, 13, chip_code('*')),
|
|
ItemData(0xB3106A, ItemName.Spreader_N, ItemClassification.useful, ItemType.Chip, 13, chip_code('N')),
|
|
ItemData(0xB3106B, ItemName.Spreader_P, ItemClassification.useful, ItemType.Chip, 13, chip_code('P')),
|
|
ItemData(0xB3106C, ItemName.StepCross_Q, ItemClassification.useful, ItemType.Chip, 40, chip_code('Q')),
|
|
ItemData(0xB3106D, ItemName.StepCross_R, ItemClassification.useful, ItemType.Chip, 40, chip_code('R')),
|
|
ItemData(0xB3106E, ItemName.StepSwrd_M, ItemClassification.useful, ItemType.Chip, 39, chip_code('M')),
|
|
ItemData(0xB3106F, ItemName.StepSwrd_N, ItemClassification.useful, ItemType.Chip, 39, chip_code('N')),
|
|
|
|
ItemData(0xB31070, ItemName.StepSwrd_O, ItemClassification.useful, ItemType.Chip, 39, chip_code('O')),
|
|
ItemData(0xB31071, ItemName.StepCross_S, ItemClassification.useful, ItemType.Chip, 40, chip_code('S')),
|
|
ItemData(0xB31072, ItemName.Sword_E, ItemClassification.filler, ItemType.Chip, 30, chip_code('E')),
|
|
ItemData(0xB31073, ItemName.Team1_star, ItemClassification.useful, ItemType.Chip, 132, chip_code('*')),
|
|
ItemData(0xB31074, ItemName.Team2_star, ItemClassification.useful, ItemType.Chip, 169, chip_code('*')),
|
|
ItemData(0xB31075, ItemName.Thndrblt_star, ItemClassification.useful, ItemType.Chip, 275, chip_code('*')),
|
|
ItemData(0xB31076, ItemName.Tornado_L, ItemClassification.filler, ItemType.Chip, 65, chip_code('L')),
|
|
ItemData(0xB31077, ItemName.Fountain_star, ItemClassification.useful, ItemType.Chip, 274, chip_code('*')),
|
|
ItemData(0xB31078, ItemName.VarSword_B, ItemClassification.useful, ItemType.Chip, 38, chip_code('B')),
|
|
ItemData(0xB31079, ItemName.VarSword_F, ItemClassification.useful, ItemType.Chip, 38, chip_code('F')),
|
|
ItemData(0xB3107A, ItemName.WideSwrd_C, ItemClassification.progression, ItemType.Chip, 31, chip_code('C')),
|
|
ItemData(0xB3107B, ItemName.WideSwrd_E, ItemClassification.filler, ItemType.Chip, 31, chip_code('E')),
|
|
ItemData(0xB3107C, ItemName.WideSwrd_L, ItemClassification.filler, ItemType.Chip, 31, chip_code('L')),
|
|
ItemData(0xB3107D, ItemName.Yo_Yo1_D, ItemClassification.filler, ItemType.Chip, 69, chip_code('D')),
|
|
ItemData(0xB3107E, ItemName.ZeusHammer_Z, ItemClassification.useful, ItemType.Chip, 208, chip_code('Z')),
|
|
# ItemData(0xB3107F, ItemName.BassGS_X, ItemClassification.useful, ItemType.Chip, 312, ChipCode('X')),
|
|
ItemData(0xB3107F, ItemName.Bass_X, ItemClassification.useful, ItemType.Chip, 311, chip_code('X')),
|
|
|
|
ItemData(0xB31080, ItemName.DeltaRay_Z, ItemClassification.useful, ItemType.Chip, 302, chip_code('Z')),
|
|
ItemData(0xB31081, ItemName.Punk_P, ItemClassification.useful, ItemType.Chip, 272, chip_code('P')),
|
|
ItemData(0xB31082, ItemName.DarkAura_A, ItemClassification.useful, ItemType.Chip, 309, chip_code('A')),
|
|
ItemData(0xB31083, ItemName.AlphaArm_Omega_V, ItemClassification.useful, ItemType.Chip, 310, chip_code('V')),
|
|
|
|
ItemData(0xB310AC, ItemName.SonicWav_W, ItemClassification.progression, ItemType.Chip, 45, chip_code('W')),
|
|
ItemData(0xB310AD, ItemName.Bubbler_C, ItemClassification.progression, ItemType.Chip, 14, chip_code('C')),
|
|
ItemData(0xB310AE, ItemName.Shake1_S, ItemClassification.progression, ItemType.Chip, 110, chip_code('S')),
|
|
ItemData(0xB310AF, ItemName.HoleMetr_H, ItemClassification.progression, ItemType.Chip, 88, chip_code('H')),
|
|
ItemData(0xB310B0, ItemName.Shadow_J, ItemClassification.progression, ItemType.Chip, 165, chip_code('J')),
|
|
|
|
ItemData(0xB310B8, ItemName.Roll_R, ItemClassification.filler, ItemType.Chip, 219, chip_code('R')),
|
|
ItemData(0xB310B9, ItemName.RollV2_R, ItemClassification.filler, ItemType.Chip, 220, chip_code('R')),
|
|
ItemData(0xB310BA, ItemName.RollV3_R, ItemClassification.useful, ItemType.Chip, 221, chip_code('R')),
|
|
|
|
ItemData(0xB310BB, ItemName.GutsMan_G, ItemClassification.filler, ItemType.Chip, 222, chip_code('G')),
|
|
ItemData(0xB310BC, ItemName.GutsManV2_G, ItemClassification.filler, ItemType.Chip, 223, chip_code('G')),
|
|
ItemData(0xB310BD, ItemName.GutsManV3_G, ItemClassification.useful, ItemType.Chip, 224, chip_code('G')),
|
|
|
|
ItemData(0xB310BE, ItemName.ProtoMan_B, ItemClassification.filler, ItemType.Chip, 227, chip_code('B')),
|
|
ItemData(0xB310BF, ItemName.ProtoManV2_B, ItemClassification.filler, ItemType.Chip, 228, chip_code('B')),
|
|
ItemData(0xB310C0, ItemName.ProtoManV3_B, ItemClassification.useful, ItemType.Chip, 229, chip_code('B')),
|
|
|
|
ItemData(0xB310C1, ItemName.FlashMan_F, ItemClassification.filler, ItemType.Chip, 232, chip_code('F')),
|
|
ItemData(0xB310C2, ItemName.FlashManV2_F, ItemClassification.filler, ItemType.Chip, 233, chip_code('F')),
|
|
ItemData(0xB310C3, ItemName.FlashManV3_F, ItemClassification.useful, ItemType.Chip, 234, chip_code('F')),
|
|
|
|
ItemData(0xB310C4, ItemName.BeastMan_B, ItemClassification.filler, ItemType.Chip, 237, chip_code('B')),
|
|
ItemData(0xB310C5, ItemName.BeastManV2_B, ItemClassification.filler, ItemType.Chip, 238, chip_code('B')),
|
|
ItemData(0xB310C6, ItemName.BeastManV3_B, ItemClassification.useful, ItemType.Chip, 239, chip_code('B')),
|
|
|
|
ItemData(0xB310C7, ItemName.BubblMan_B, ItemClassification.filler, ItemType.Chip, 242, chip_code('B')),
|
|
ItemData(0xB310C8, ItemName.BubblManV2_B, ItemClassification.filler, ItemType.Chip, 243, chip_code('B')),
|
|
ItemData(0xB310C9, ItemName.BubblManV3_B, ItemClassification.useful, ItemType.Chip, 244, chip_code('B')),
|
|
|
|
ItemData(0xB310CA, ItemName.DesertMan_D, ItemClassification.filler, ItemType.Chip, 247, chip_code('D')),
|
|
ItemData(0xB310CB, ItemName.DesertManV2_D, ItemClassification.filler, ItemType.Chip, 248, chip_code('D')),
|
|
ItemData(0xB310CC, ItemName.DesertManV3_D, ItemClassification.useful, ItemType.Chip, 249, chip_code('D')),
|
|
|
|
ItemData(0xB310CD, ItemName.PlantMan_P, ItemClassification.filler, ItemType.Chip, 252, chip_code('P')),
|
|
ItemData(0xB310CE, ItemName.PlantManV2_P, ItemClassification.filler, ItemType.Chip, 253, chip_code('P')),
|
|
ItemData(0xB310CF, ItemName.PlantManV3_P, ItemClassification.useful, ItemType.Chip, 254, chip_code('P')),
|
|
|
|
ItemData(0xB310D0, ItemName.FlamMan_F, ItemClassification.filler, ItemType.Chip, 257, chip_code('F')),
|
|
ItemData(0xB310D1, ItemName.FlamManV2_F, ItemClassification.filler, ItemType.Chip, 258, chip_code('F')),
|
|
ItemData(0xB310D2, ItemName.FlamManV3_F, ItemClassification.useful, ItemType.Chip, 259, chip_code('F')),
|
|
|
|
ItemData(0xB310D3, ItemName.DrillMan_D, ItemClassification.filler, ItemType.Chip, 262, chip_code('D')),
|
|
ItemData(0xB310D4, ItemName.DrillManV2_D, ItemClassification.filler, ItemType.Chip, 263, chip_code('D')),
|
|
ItemData(0xB310D5, ItemName.DrillManV3_D, ItemClassification.useful, ItemType.Chip, 264, chip_code('D')),
|
|
|
|
ItemData(0xB310D6, ItemName.MetalMan_M, ItemClassification.filler, ItemType.Chip, 267, chip_code('M')),
|
|
ItemData(0xB310D7, ItemName.MetalManV2_M, ItemClassification.filler, ItemType.Chip, 268, chip_code('M')),
|
|
ItemData(0xB310D8, ItemName.MetalManV3_M, ItemClassification.useful, ItemType.Chip, 269, chip_code('M')),
|
|
|
|
ItemData(0xB310D9, ItemName.KingMan_K, ItemClassification.filler, ItemType.Chip, 277, chip_code('K')),
|
|
ItemData(0xB310DA, ItemName.KingManV2_K, ItemClassification.filler, ItemType.Chip, 278, chip_code('K')),
|
|
ItemData(0xB310DB, ItemName.KingManV3_K, ItemClassification.useful, ItemType.Chip, 279, chip_code('K')),
|
|
|
|
ItemData(0xB310DC, ItemName.BowlMan_B, ItemClassification.filler, ItemType.Chip, 287, chip_code('B')),
|
|
ItemData(0xB310DD, ItemName.BowlManV2_B, ItemClassification.filler, ItemType.Chip, 288, chip_code('B')),
|
|
ItemData(0xB310DE, ItemName.BowlManV3_B, ItemClassification.useful, ItemType.Chip, 289, chip_code('B')),
|
|
]
|
|
|
|
programList: typing.List[ItemData] = [
|
|
ItemData(0xB31084, ItemName.Airshoes, ItemClassification.useful, ItemType.Program, 29, ProgramColor.White),
|
|
ItemData(0xB31085, ItemName.Attack_plus_White, ItemClassification.filler, ItemType.Program, 41, ProgramColor.White),
|
|
ItemData(0xB31086, ItemName.Attack_plus_Pink, ItemClassification.filler, ItemType.Program, 41, ProgramColor.Pink),
|
|
ItemData(0xB31087, ItemName.BrkChrg, ItemClassification.useful, ItemType.Program, 3, ProgramColor.Orange),
|
|
ItemData(0xB31088, ItemName.Charge_plus_Pink, ItemClassification.filler, ItemType.Program, 43, ProgramColor.Pink),
|
|
ItemData(0xB31089, ItemName.Charge_plus_White, ItemClassification.filler, ItemType.Program, 43, ProgramColor.White),
|
|
ItemData(0xB3108A, ItemName.Collect, ItemClassification.useful, ItemType.Program, 28, ProgramColor.Pink),
|
|
ItemData(0xB3108B, ItemName.GigFldr1, ItemClassification.useful, ItemType.Program, 48, ProgramColor.Purple),
|
|
ItemData(0xB3108C, ItemName.HP_100_Pink, ItemClassification.filler, ItemType.Program, 36, ProgramColor.Pink),
|
|
ItemData(0xB3108D, ItemName.HP_100_Yellow, ItemClassification.filler, ItemType.Program, 36, ProgramColor.Yellow),
|
|
ItemData(0xB3108E, ItemName.HP_200_Yellow, ItemClassification.useful, ItemType.Program, 37, ProgramColor.Yellow),
|
|
ItemData(0xB3108F, ItemName.HP_500_Yellow, ItemClassification.useful, ItemType.Program, 39, ProgramColor.Yellow),
|
|
|
|
ItemData(0xB31090, ItemName.HubBatc, ItemClassification.useful, ItemType.Program, 49, ProgramColor.Orange),
|
|
ItemData(0xB31091, ItemName.Jungle, ItemClassification.useful, ItemType.Program, 27, ProgramColor.White),
|
|
ItemData(0xB31092, ItemName.OilBody, ItemClassification.useful, ItemType.Program, 24, ProgramColor.Yellow),
|
|
ItemData(0xB31093, ItemName.QuickGge, ItemClassification.useful, ItemType.Program, 31, ProgramColor.Pink),
|
|
ItemData(0xB31094, ItemName.SetSand, ItemClassification.useful, ItemType.Program, 7, ProgramColor.Green),
|
|
ItemData(0xB31095, ItemName.SneakRun, ItemClassification.useful, ItemType.Program, 23, ProgramColor.Yellow),
|
|
ItemData(0xB31096, ItemName.Speed_plus_Yellow, ItemClassification.filler, ItemType.Program, 42, ProgramColor.Yellow),
|
|
ItemData(0xB31097, ItemName.WpnLV_plus_White, ItemClassification.filler, ItemType.Program, 35, ProgramColor.White),
|
|
ItemData(0xB31098, ItemName.WpnLV_plus_Pink, ItemClassification.filler, ItemType.Program, 35, ProgramColor.Pink),
|
|
ItemData(0xB31099, ItemName.WpnLV_plus_Yellow, ItemClassification.filler, ItemType.Program, 35, ProgramColor.Yellow),
|
|
ItemData(0xB3109A, ItemName.Press, ItemClassification.progression, ItemType.Program, 20, ProgramColor.White),
|
|
|
|
ItemData(0xB310B7, ItemName.UnderSht, ItemClassification.useful, ItemType.Program, 30, ProgramColor.White)
|
|
]
|
|
|
|
zennyList: typing.List[ItemData] = [
|
|
ItemData(0xB3109B, ItemName.zenny_200z, ItemClassification.filler, ItemType.Zenny, count=200),
|
|
ItemData(0xB3109C, ItemName.zenny_500z, ItemClassification.filler, ItemType.Zenny, count=500),
|
|
ItemData(0xB3109D, ItemName.zenny_600z, ItemClassification.filler, ItemType.Zenny, count=600),
|
|
ItemData(0xB3109E, ItemName.zenny_800z, ItemClassification.filler, ItemType.Zenny, count=800),
|
|
ItemData(0xB3109F, ItemName.zenny_900z, ItemClassification.filler, ItemType.Zenny, count=900),
|
|
|
|
ItemData(0xB310A0, ItemName.zenny_1000z, ItemClassification.filler, ItemType.Zenny, count=1000),
|
|
ItemData(0xB310A1, ItemName.zenny_1200z, ItemClassification.filler, ItemType.Zenny, count=1200),
|
|
ItemData(0xB310A2, ItemName.zenny_1400z, ItemClassification.filler, ItemType.Zenny, count=1400),
|
|
ItemData(0xB310A3, ItemName.zenny_1600z, ItemClassification.filler, ItemType.Zenny, count=1600),
|
|
ItemData(0xB310A4, ItemName.zenny_1800z, ItemClassification.filler, ItemType.Zenny, count=1800),
|
|
ItemData(0xB310A5, ItemName.zenny_2000z, ItemClassification.filler, ItemType.Zenny, count=2000),
|
|
ItemData(0xB310A6, ItemName.zenny_3000z, ItemClassification.filler, ItemType.Zenny, count=3000),
|
|
ItemData(0xB310A7, ItemName.zenny_9000z, ItemClassification.filler, ItemType.Zenny, count=9000),
|
|
ItemData(0xB310A8, ItemName.zenny_10000z, ItemClassification.useful, ItemType.Zenny, count=10000),
|
|
ItemData(0xB310A9, ItemName.zenny_30000z, ItemClassification.useful, ItemType.Zenny, count=30000),
|
|
ItemData(0xB310AA, ItemName.zenny_50000z, ItemClassification.useful, ItemType.Zenny, count=50000)
|
|
]
|
|
|
|
bugFragList: typing.List[ItemData] = [
|
|
ItemData(0xB310AB, ItemName.bugfrag_30, ItemClassification.filler, ItemType.BugFrag, count=30),
|
|
ItemData(0xB310B5, ItemName.bugfrag_10, ItemClassification.filler, ItemType.BugFrag, count=10),
|
|
ItemData(0xB310B6, ItemName.bugfrag_01, ItemClassification.filler, ItemType.BugFrag, count=1)
|
|
]
|
|
|
|
item_frequencies: typing.Dict[str, int] = {
|
|
ItemName.Progressive_Undernet_Rank: 8,
|
|
ItemName.ExpMem: 2,
|
|
ItemName.Unlocker: 10,
|
|
ItemName.HPMemory: 23,
|
|
ItemName.RegUP1: 4,
|
|
ItemName.RegUP2: 13,
|
|
ItemName.RegUP3: 4,
|
|
ItemName.Untrap: 2,
|
|
ItemName.SubMem: 4,
|
|
ItemName.MiniEnrg: 3,
|
|
ItemName.FullEnrg: 5,
|
|
ItemName.CopyDmg_star: 3,
|
|
ItemName.Charge_plus_White: 2,
|
|
ItemName.Charge_plus_Pink: 2,
|
|
ItemName.zenny_600z: 2,
|
|
ItemName.zenny_800z: 2,
|
|
ItemName.zenny_1000z: 2,
|
|
ItemName.zenny_1200z: 2,
|
|
ItemName.bugfrag_01: 5,
|
|
}
|
|
all_items: typing.List[ItemData] = keyItemList + subChipList + chipList + programList + zennyList + bugFragList
|
|
item_table: typing.Dict[str, ItemData] = {item.itemName: item for item in all_items}
|
|
items_by_id: typing.Dict[int, ItemData] = {item.code: item for item in all_items}
|