from .items import BASE_ID boss_flags = { 0b1: BASE_ID, 0b10: BASE_ID + 1, 0b100: BASE_ID + 2, 0b1000: BASE_ID + 3, 0b10000: BASE_ID + 8, 0b100000: BASE_ID + 15, 0b1000000: BASE_ID + 16, 0b10000000: BASE_ID + 17, 0b100000000: BASE_ID + 18, # Skip all Revenge, use chapter ID for it # Use planet flags for MWW } treasure_base_id = BASE_ID + 19 deluxe_essence_flags = { 0b10: BASE_ID + 92, 0b100: BASE_ID + 89, 0b1000: BASE_ID + 103, 0b10000: BASE_ID + 94, 0b100000: BASE_ID + 107, 0b1000000: BASE_ID + 104, 0b100000000: BASE_ID + 88, 0b1000000000: BASE_ID + 100, 0b10000000000: BASE_ID + 90, 0b100000000000: BASE_ID + 96, 0b1000000000000: BASE_ID + 93, 0b10000000000000: BASE_ID + 110, 0b100000000000000: BASE_ID + 111, 0b1000000000000000: BASE_ID + 97, 0b10000000000000000: BASE_ID + 108, 0b100000000000000000: BASE_ID + 98, 0b1000000000000000000: BASE_ID + 105, 0b10000000000000000000: BASE_ID + 112, 0b100000000000000000000: BASE_ID + 101, } planet_flags = { 0b1: BASE_ID + 87, 0b10: BASE_ID + 99, 0b100: BASE_ID + 95, 0b1000: BASE_ID + 102, 0b10000: BASE_ID + 91, 0b100000: BASE_ID + 106, 0b1000000: BASE_ID + 109 } consumable_table = { 0x100: (0x0010, 0x4), 0x200: (0x0020, 0x10), 0x201: (0x0318, 0x40), 0x400: (0x0320, 0x10), 0x202: (0x0629, 0x40), 0x101: (0x0628, 0x40), 0x203: (0x0638, 0x4), 0x204: (0x0c1c, 0x4), 0x102: (0x0c28, 0x10), 0x800: (0x0c29, 0x1), 0x103: (0x0c19, 0x1), 0x205: (0x0c18, 0x40), 0x401: (0x0c21, 0x10), 0x104: (0x0c23, 0x10), 0x206: (0x0f20, 0x10), 0x801: (0x0f34, 0x4), 0x105: (0x0f33, 0x40), 0x207: (0x0f33, 0x10), 0x208: (0x0f48, 0x4), 0x209: (0x0f48, 0x10), 0x20A: (0x0f48, 0x40), 0x106: (0x1b02, 0x1), 0x107: (0x1b01, 0x40), 0x802: (0x1b00, 0x4), 0x803: (0x1b05, 0x10), 0x804: (0x1b01, 0x4), 0x805: (0x1b00, 0x40), 0x806: (0x1b00, 0x10), 0x807: (0x1b05, 0x1), 0x808: (0x1b04, 0x40), 0x809: (0x1b01, 0x1), 0x80A: (0x1b05, 0x4), 0x80B: (0x1b01, 0x10), 0x108: (0x1238, 0x4), 0x20B: (0x1238, 0x10), 0x20C: (0x1241, 0x1), 0x20D: (0x1514, 0x1), 0x80C: (0x1511, 0x10), 0x20E: (0x1552, 0x10), 0x20F: (0x1553, 0x4), 0x210: (0x1552, 0x40), 0x402: (0x151B, 0x1), 0x109: (0x1540, 0x10), 0x10A: (0x1540, 0x40), 0x211: (0x1540, 0x4), 0x80D: (0x1548, 0x4), 0x212: (0x1522, 0x1), 0x10B: (0x1531, 0x1), 0x80E: (0x1e00, 0x40), 0x80F: (0x1e00, 0x10), 0x810: (0x1e01, 0x10), 0x811: (0x1e04, 0x40), 0x812: (0x1e04, 0x10), 0x813: (0x1e01, 0x1), 0x814: (0x1e04, 0x4), 0x815: (0x1e01, 0x40), 0x816: (0x1e01, 0x4), 0x10C: (0x1e03, 0x40), 0x860: (0x1809, 0x1), 0x861: (0x1808, 0x4), 0x862: (0x1808, 0x10), 0x863: (0x1808, 0x1), 0x817: (0x2702, 0x10), 0x818: (0x2718, 0x1), 0x819: (0x2702, 0x4), 0x81A: (0x2717, 0x40), 0x81B: (0x2702, 0x4), 0x213: (0x2d25, 0x40), 0x10D: (0x2d25, 0x1), # gc st - maxim save - invalid 0x214: (0x2d39, 0x10), 0x10E: (0x2f69, 0x4), 0x81C: (0x2f68, 0x10), 0x81D: (0x2f68, 0x40), 0x81E: (0x2f69, 0x1), 0x10F: (0x2d4b, 0x10), 0x215: (0x2d72, 0x10), # gc cr - maxim save - invalid 0x110: (0x2d78, 0x10), 0x111: (0x2d78, 0x4), 0x112: (0x2d96, 0x40), 0x113: (0x2f80, 0x10), 0x81F: (0x2f81, 0x4), 0x820: (0x2f80, 0x40), 0x821: (0x2f81, 0x1), 0x114: (0x2d52, 0x10), # gc ot - maxim save - invalid 0x115: (0x2d5a, 0x40), 0x116: (0x2da3, 0x40), 0x216: (0x2da4, 0x10), 0x117: (0x2de1, 0x40), 0x118: (0x2f20, 0x4), 0x822: (0x2e90, 0x10), 0x823: (0x2e90, 0x40), 0x824: (0x2e92, 0x4), 0x825: (0x2e92, 0x1), 0x826: (0x2e90, 0x4), 0x827: (0x2e91, 0x10), 0x828: (0x2e91, 0x4), 0x829: (0x2e91, 0x1), 0x119: (0x2f71, 0x4), 0x82A: (0x2f70, 0x10), 0x82B: (0x2f70, 0x40), 0x82C: (0x2f71, 0x1), 0x11A: (0x2ec0, 0x40), 0x82D: (0x2e68, 0x40), 0x11B: (0x2e1a, 0x40), 0x11C: (0x2e78, 0x4), 0x11D: (0x2e23, 0x10), 0x11E: (0x2e80, 0x4), 0x11F: (0x2db0, 0x40), 0x120: (0x2e50, 0x10), 0x217: (0x2e50, 0x40), # gc ga - maxim save - invalid 0x82E: (0x2f31, 0x40), 0x82F: (0x2f32, 0x1), 0x830: (0x2f31, 0x10), 0x121: (0x2f30, 0x40), 0x122: (0x2edb, 0x4), 0x123: (0x2f3a, 0x10), 0x124: (0x2f43, 0x10), 0x159: (0x2F42, 0x4), 0x218: (0x2f43, 0x4), 0x230: (0x2F47, 0x40), 0x831: (0x2ef3, 0x1), 0x832: (0x2ef2, 0x4), 0x125: (0x2f08, 0x4), 0x833: (0x2f18, 0x10), 0x834: (0x2ef2, 0x40), 0x835: (0x2ef2, 0x10), 0x219: (0x2df0, 0x40), 0x126: (0x2df0, 0x4), 0x127: (0x2f28, 0x4), 0x21A: (0x2f29, 0x1), 0x21B: (0x2f29, 0x4), 0x21C: (0x2f49, 0x10), 0x128: (0x2f49, 0x4), 0x129: (0x2f79, 0x4), 0x836: (0x2f78, 0x10), 0x837: (0x2f78, 0x40), 0x838: (0x2f79, 0x1), 0x12A: (0x2d62, 0x10), 0x12B: (0x360b, 0x4), 0x12C: (0x3618, 0x4), 0x839: (0x3618, 0x10), 0x83A: (0x3618, 0x40), 0x83B: (0x3619, 0x1), # mk 3 - maxim 1 - invalid 0x21D: (0x3930, 0x4), 0x83C: (0x3931, 0x1), 0x83D: (0x3930, 0x10), 0x83E: (0x3930, 0x40), 0x83F: (0x390C, 0x1), 0x840: (0x3909, 0x10), 0x12D: (0x390C, 0x10), 0x22F: (0x390B, 0x10), 0x841: (0x390B, 0x4), 0x842: (0x390B, 0x40), 0x843: (0x390B, 0x1), 0x844: (0x390C, 0x4), 0x232: (0x3912, 0x1), 0x864: (0x3C1A, 0x40), 0x403: (0x3C20, 0x40), 0x12E: (0x3C20, 0x4), 0x845: (0x3C28, 0x10), 0x846: (0x3C28, 0x40), 0x847: (0x3C29, 0x1), 0x12F: (0x3C28, 0x4), 0x130: (0x3F08, 0x1), 0x131: (0x4B18, 0x4), 0x848: (0x4B18, 0x40), 0x849: (0x4B18, 0x10), 0x84A: (0x4B12, 0x4), 0x84B: (0x4B12, 0x1), 0x84C: (0x4B10, 0x40), 0x84D: (0x4B11, 0x4), 0x84E: (0x4B11, 0x10), 0x84F: (0x4B11, 0x40), 0x850: (0x4B11, 0x1), 0x132: (0x4B12, 0x10), 0x851: (0x420A, 0x10), 0x852: (0x420A, 0x4), 0x853: (0x420A, 0x1), 0x404: (0x4209, 0x1), 0x133: (0x420A, 0x40), 0x854: (0x421E, 0x40), 0x855: (0x421F, 0x1), 0x856: (0x421F, 0x10), 0x21E: (0x4219, 0x10), 0x21F: (0x4220, 0x4), 0x134: (0x4220, 0x10), 0x857: (0x4228, 0x10), 0x135: (0x4228, 0x4), 0x858: (0x4503, 0x40), 0x859: (0x4504, 0x1), 0x85A: (0x4504, 0x4), 0x85B: (0x4504, 0x10), 0x85C: (0x4506, 0x40), 0x136: (0x4503, 0x10), 0x137: (0x4508, 0x4), 0x138: (0x4508, 0x10), 0x85D: (0x4510, 0x10), 0x85E: (0x4510, 0x4), 0x85F: (0x4510, 0x40), 0x139: (0x4511, 0x1), 0x13A: (0x4E1D, 0x40), 0x220: (0x5A11, 0x1), 0x13B: (0x5A11, 0x4), 0x221: (0x5A28, 0x40), 0x13C: (0x5A15, 0x40), 0x13D: (0x5A39, 0x40), 0x222: (0x5A26, 0x10), 0x13E: (0x5A23, 0x1), 0x223: (0x540F, 0x4), 0x13F: (0x540E, 0x4), 0x405: (0x5449, 0x1), 0x140: (0x5449, 0x10), 0x406: (0x5104, 0x1), 0x141: (0x5110, 0x10), 0x142: (0x510E, 0x1), 0x143: (0x5108, 0x40), 0x224: (0x5109, 0x1), 0x225: (0x5115, 0x40), 0x231: (0x5115, 0x4), 0x144: (0x5116, 0x1), 0x145: (0x5114, 0x40), 0x226: (0x5113, 0x40), 0x146: (0x5113, 0x10), 0x147: (0x5116, 0x10), 0x148: (0x5708, 0x4), 0x149: (0x5711, 0x40), 0x14A: (0x5709, 0x4), 0x227: (0x5709, 0x10), 0x14B: (0x5712, 0x1), 0x14C: (0x5718, 0x4), 0x228: (0x5719, 0x1), 0x407: (0x5718, 0x40), 0x229: (0x5D0C, 0x10), 0x408: (0x5D09, 0x1), 0x22A: (0x5D08, 0x40), 0x14D: (0x5D09, 0x4), 0x14E: (0x5D1B, 0x40), 0x22B: (0x5D1A, 0x40), 0x22C: (0x5D1B, 0x1), 0x22D: (0x5D1B, 0x4), 0x14F: (0x5D1B, 0x10), 0x150: (0x6015, 0x40), 0x151: (0x6019, 0x4), 0x22E: (0x6019, 0x10), 0x152: (0x6023, 0x1), 0x153: (0x6038, 0x40), 0x154: (0x6909, 0x10), 0x155: (0x6908, 0x10), 0x156: (0x6909, 0x1), 0x157: (0x6909, 0x40), 0x158: (0x6908, 0x40), }