Permalink
Cannot retrieve contributors at this time
800 lines (773 sloc)
19.8 KB
| #pragma once | |
| #include <cstdint> | |
| // Speculated TTYD enums / types that aren't tied to any particular known file. | |
| // Might be moved to somewhere more fitting in a later revision. | |
| namespace ttyd::common { | |
| namespace ButtonId { | |
| enum e { | |
| DPAD_LEFT = 0x0001, | |
| DPAD_RIGHT = 0x0002, | |
| DPAD_DOWN = 0x0004, | |
| DPAD_UP = 0x0008, | |
| Z = 0x0010, | |
| R = 0x0020, | |
| L = 0x0040, | |
| // = 0x0080, | |
| A = 0x0100, | |
| B = 0x0200, | |
| X = 0x0400, | |
| Y = 0x0800, | |
| START = 0x1000, | |
| }; | |
| } | |
| namespace ModuleId { | |
| enum e { | |
| INVALID_MODULE = 0, | |
| AAA, | |
| AJI, // x-naut fortress | |
| BOM, // fahr outpost | |
| DMO, | |
| DOU, // pirate's grotto | |
| EKI, // riverside station | |
| END, // credits? | |
| GON, // hooktail's castle | |
| GOR, // rogueport | |
| GRA, // twilight trail | |
| HEI, // petal meadows | |
| HOM, // riverside station facade / train cutscenes | |
| JIN, // creepy steeple | |
| JON, // pit of 100 trials | |
| KPA, // bowser's castle intermissions | |
| LAS, // palace of shadow | |
| MOO, // moon | |
| MRI, // great tree | |
| MUJ, // keelhaul key | |
| NOK, // petalburg | |
| PIK, // poshley heights / sanctum | |
| RSH, // excess express | |
| SYS, | |
| TIK, // rogueport underground | |
| TOU, // outer glitz pit | |
| TOU2, // glitz pit arena | |
| USU, // twilight town | |
| WIN, // boggly woods | |
| YUU, | |
| MAX_MODULE_ID, | |
| }; | |
| } | |
| namespace ActorTypeId { | |
| enum e { | |
| INVALID_ACTOR = 0, | |
| GOOMBA, | |
| PARAGOOMBA, | |
| SPIKY_GOOMBA, | |
| SPINIA, | |
| SPANIA, | |
| LORD_CRUMP_PROLOGUE, | |
| GUS, | |
| BLOOPER, | |
| LEFT_TENTACLE, | |
| RIGHT_TENTACLE, | |
| KOOPATROL, | |
| MAGIKOOPA, | |
| MAGIKOOPA_CLONE, | |
| KOOPA_TROOPA, | |
| PARATROOPA, | |
| FUZZY, | |
| DULL_BONES, | |
| BALD_CLEFT, | |
| BRISTLE, | |
| GOLD_FUZZY, | |
| FUZZY_HORDE, | |
| RED_BONES, | |
| HOOKTAIL, | |
| DARK_PUFF, | |
| PALE_PIRANHA, | |
| CLEFT, | |
| PIDER, | |
| X_NAUT, | |
| YUX, | |
| MINI_YUX, | |
| BELDAM_CH_2, | |
| MARILYN_CH_2, | |
| VIVIAN_CH_2, | |
| MAGNUS, | |
| X_FIST, | |
| GOOMBA_GLITZVILLE, | |
| KP_KOOPA, | |
| KP_PARATROOPA, | |
| POKEY, | |
| LAKITU, | |
| SPINY, | |
| HYPER_BALD_CLEFT, | |
| BOB_OMB, | |
| BANDIT, | |
| BIG_BANDIT, | |
| RED_SPIKY_BUZZY, | |
| SHADY_KOOPA, | |
| SHADY_PARATROOPA, | |
| RED_MAGIKOOPA, | |
| RED_MAGIKOOPA_CLONE, | |
| WHITE_MAGIKOOPA, | |
| WHITE_MAGIKOOPA_CLONE, | |
| GREEN_MAGIKOOPA, | |
| GREEN_MAGIKOOPA_CLONE, | |
| DARK_CRAW, | |
| HAMMER_BRO, | |
| BOOMERANG_BRO, | |
| FIRE_BRO, | |
| RED_CHOMP, | |
| DARK_KOOPATROL, | |
| IRON_CLEFT_RED, | |
| IRON_CLEFT_GREEN, | |
| BOWSER_CH_3, | |
| RAWK_HAWK, | |
| MACHO_GRUBBA, | |
| HYPER_GOOMBA, | |
| HYPER_PARAGOOMBA, | |
| HYPER_SPIKY_GOOMBA, | |
| CRAZEE_DAYZEE, | |
| AMAZY_DAYZEE, | |
| HYPER_CLEFT, | |
| BUZZY_BEETLE, | |
| SPIKE_TOP, | |
| SWOOPER, | |
| BOO, | |
| ATOMIC_BOO, | |
| DOOPLISS_CH_4_FIGHT_1, | |
| DOOPLISS_CH_4_INVINCIBLE, | |
| DOOPLISS_CH_4_FIGHT_2, | |
| GOOMBELLA_CH_4, | |
| KOOPS_CH_4, | |
| YOSHI_CH_4, | |
| FLURRIE_CH_4, | |
| EMBER, | |
| LAVA_BUBBLE, | |
| GREEN_FUZZY, | |
| FLOWER_FUZZY, | |
| PUTRID_PIRANHA, | |
| PARABUZZY, | |
| BILL_BLASTER, | |
| BULLET_BILL, | |
| BULKY_BOB_OMB, | |
| CORTEZ, | |
| CORTEZ_BONE_PILE, | |
| CORTEZ_SWORD, | |
| CORTEZ_HOOK, | |
| CORTEZ_RAPIER, | |
| CORTEZ_SABER, | |
| LORD_CRUMP_CH_5, | |
| X_NAUTS_CRUMP_FORMATION_1, | |
| X_NAUTS_CRUMP_FORMATION_2, | |
| X_NAUTS_CRUMP_FORMATION_3, | |
| RUFF_PUFF, | |
| POISON_POKEY, | |
| SPIKY_PARABUZZY, | |
| DARK_BOO, | |
| SMORG, | |
| SMORG_MIASMA_TENTACLE_A, | |
| SMORG_MIASMA_TENTACLE_B, | |
| SMORG_MIASMA_TENTACLE_C, | |
| SMORG_MIASMA_CLAW, | |
| ICE_PUFF, | |
| FROST_PIRANHA, | |
| MOON_CLEFT, | |
| Z_YUX, | |
| MINI_Z_YUX, | |
| X_YUX, | |
| MINI_X_YUX, | |
| X_NAUT_PHD, | |
| ELITE_X_NAUT, | |
| MAGNUS_2_0, | |
| X_PUNCH, | |
| SWOOPULA, | |
| PHANTOM_EMBER, | |
| BOMBSHELL_BILL_BLASTER, | |
| BOMBSHELL_BILL, | |
| CHAIN_CHOMP, | |
| DARK_WIZZERD, | |
| DARK_WIZZERD_CLONE, | |
| DRY_BONES, | |
| DARK_BONES, | |
| GLOOMTAIL, | |
| BELDAM_CH_8, | |
| MARILYN_CH_8, | |
| DOOPLISS_CH_8, | |
| DOOPLISS_CH_8_FORM_1, // TODO: Identify forms | |
| DOOPLISS_CH_8_FORM_2, | |
| DOOPLISS_CH_8_FORM_3, | |
| DOOPLISS_CH_8_FORM_4, | |
| DOOPLISS_CH_8_FORM_5, | |
| DOOPLISS_CH_8_FORM_6, | |
| DOOPLISS_CH_8_FORM_7, | |
| DOOPLISS_CH_8_FORM_8, | |
| BOWSER_CH_8, | |
| KAMMY_KOOPA, | |
| GRODUS, | |
| GRODUS_X, | |
| SHADOW_QUEEN_PHASE_1, | |
| SHADOW_QUEEN_INVINCIBLE, | |
| SHADOW_QUEEN_PHASE_2, | |
| LEFT_RIGHT_HAND, | |
| DEAD_HANDS, | |
| GLOOMBA, | |
| PARAGLOOMBA, | |
| SPIKY_GLOOMBA, | |
| DARK_KOOPA, | |
| DARK_PARATROOPA, | |
| BADGE_BANDIT, | |
| DARK_LAKITU, | |
| SKY_BLUE_SPINY, | |
| WIZZERD, | |
| PIRANHA_PLANT, | |
| SPUNIA, // Spunia | |
| ARANTULA, | |
| DARK_BRISTLE, | |
| POISON_PUFF, | |
| SWAMPIRE, | |
| BOB_ULK, | |
| ELITE_WIZZERD, | |
| ELITE_WIZZERD_CLONE, | |
| BONETAIL, | |
| UNUSED_RED_BUZZY, // 0xAC | |
| UNUSED_RED_PARABUZZY, | |
| UNUSED_RED_SPIKY_PARABUZZY, | |
| UNUSED_HYPER_BOB_OMB, | |
| UNUSED_ULTRA_BOB_OMB, | |
| TUTORIAL_GOOMBELLA, // 0xB1 | |
| TUTORIAL_FRANKLY_B2, | |
| TUTORIAL_FRANKLY_B3, | |
| TUTORIAL_FRANKLY_B4, | |
| EPILOGUE_DOOPLISS_MARIO, // 0xB5 | |
| EPILOGUE_FLURRIE, | |
| EPILOGUE_BOO, | |
| EPILOGUE_ATOMIC_BOO, | |
| EPILOGUE_MALE_TOAD, | |
| EPILOGUE_FEMALE_TOAD, | |
| UNUSED_TEST, // 0xBB | |
| UNUSED_KANBU_2, | |
| UNUSED_BELDAM_2, | |
| UNUSED_MARILYN_2, | |
| UNUSED_VIVIAN_2, | |
| UNUSED_BELDAM_3, | |
| UNUSED_MARILYN_3, | |
| UNUSED_MECHA_KURI, // 0xC2 | |
| UNUSED_MECHA_KAME, | |
| UNUSED_OKORL, | |
| UNUSED_YOWARL, | |
| UNUSED_TUYONARL, | |
| UNUSED_WANAWANA, | |
| UNUSED_MINARAI_KAMEC, | |
| UNUSED_SHY_GUY, | |
| UNUSED_GROOVE_GUY, | |
| UNUSED_PYRO_GUY, | |
| UNUSED_SPY_GUY, | |
| UNUSED_ANTI_GUY, | |
| UNUSED_BZZAP, | |
| UNUSED_MINI_BZZAP, | |
| UNUSED_UFO, | |
| UNUSED_PENNINGTON, | |
| UNUSED_FIGHTER, | |
| UNUSED_ZESS_T, | |
| UNUSED_MASTER, | |
| UNUSED_REPORTER, | |
| UNUSED_HOTDOG_MASTER, | |
| UNUSED_FLAVIO, | |
| UNUSED_TREE, | |
| UNUSED_SWITCH, | |
| UNUSED_TESTNPC, | |
| BOMB_SQUAD_BOMB = 0xDB, | |
| SYSTEM = 0xDC, | |
| PROLOGUE_GOOMBELLA = 0xDD, // Unsure when / if this is used. | |
| MARIO = 0xDE, | |
| SHELL_SHIELD = 0xDF, | |
| GOOMBELLA = 0xE0, | |
| KOOPS = 0xE1, | |
| YOSHI = 0xE2, | |
| FLURRIE = 0xE3, | |
| VIVIAN = 0xE4, | |
| BOBBERY = 0xE5, | |
| MS_MOWZ = 0xE6, | |
| }; | |
| } | |
| namespace ItemId { | |
| enum e { | |
| INVALID_ITEM = 0, | |
| STRANGE_SACK, | |
| INVALID_ITEM_PAPER_MODE_ICON, | |
| INVALID_ITEM_TUBE_MODE_ICON, | |
| INVALID_ITEM_PLANE_MODE_ICON, | |
| INVALID_ITEM_BOAT_MODE_ICON, | |
| BOOTS, | |
| SUPER_BOOTS, | |
| ULTRA_BOOTS, | |
| HAMMER, | |
| SUPER_HAMMER, | |
| ULTRA_HAMMER, | |
| CASTLE_KEY_000C, | |
| CASTLE_KEY_000D, | |
| CASTLE_KEY_000E, | |
| CASTLE_KEY_000F, | |
| RED_KEY_0010, | |
| BLUE_KEY_0011, | |
| STORAGE_KEY_0012, | |
| STORAGE_KEY_0013, | |
| GROTTO_KEY_0014, | |
| SHOP_KEY_0015, | |
| STEEPLE_KEY_0016, | |
| STEEPLE_KEY_0017, | |
| STATION_KEY_0018, | |
| STATION_KEY_0019, | |
| ELEVATOR_KEY_001A, | |
| ELEVATOR_KEY_001B, | |
| ELEVATOR_KEY_001C, | |
| CARD_KEY_001D, | |
| CARD_KEY_001E, | |
| CARD_KEY_001F, | |
| CARD_KEY_0020, | |
| BLACK_KEY_0021, | |
| BLACK_KEY_0022, | |
| BLACK_KEY_0023, | |
| BLACK_KEY_0024, | |
| STAR_KEY_0025, | |
| PALACE_KEY_0026, | |
| PALACE_KEY_0027, | |
| PALACE_KEY_0028, | |
| PALACE_KEY_0029, | |
| PALACE_KEY_002A, | |
| PALACE_KEY_002B, | |
| PALACE_KEY_002C, | |
| PALACE_KEY_002D, | |
| PALACE_KEY_002E, | |
| PALACE_KEY_002F, | |
| PALACE_KEY_0030, | |
| HOUSE_KEY_0031, | |
| MAGICAL_MAP, | |
| CONTACT_LENS, | |
| BLIMP_TICKET, | |
| TRAIN_TICKET, | |
| MAILBOX_SP, | |
| SUPER_LUIGI, | |
| SUPER_LUIGI_2, | |
| SUPER_LUIGI_3, | |
| SUPER_LUIGI_4, | |
| SUPER_LUIGI_5, | |
| COOKBOOK, | |
| MOON_STONE, | |
| SUN_STONE, | |
| NECKLACE, | |
| PUNI_ORB, | |
| CHAMPS_BELT, | |
| POISONED_CAKE, | |
| SUPERBOMBOMB, | |
| THE_LETTER_P, | |
| OLD_LETTER, | |
| CHUCKOLA_COLA, | |
| SKULL_GEM, | |
| GATE_HANDLE, | |
| WEDDING_RING, | |
| GALLEY_POT, | |
| GOLD_RING, | |
| SHELL_EARRINGS, | |
| AUTOGRAPH, | |
| RAGGED_DIARY, | |
| BLANKET, | |
| VITAL_PAPER, | |
| BRIEFCASE, | |
| GOLDBOB_GUIDE, | |
| INVALID_ITEM_PAPER_0053, | |
| INVALID_ITEM_PAPER_0054, | |
| COG, | |
| DATA_DISK, | |
| SHINE_SPRITE, // 0x0057 | |
| ULTRA_STONE, | |
| INVALID_ITEM_BOWSER_MEAT_0059, | |
| INVALID_ITEM_MARIO_POSTER_005A, | |
| SPECIAL_CARD, | |
| PLATINUM_CARD, | |
| GOLD_CARD, | |
| SILVER_CARD, | |
| BOX, | |
| MAGICAL_MAP_LARGE, | |
| DUBIOUS_PAPER, | |
| ROUTING_SLIP, | |
| WRESTLING_MAG, | |
| PRESENT, | |
| BLUE_POTION, | |
| RED_POTION, | |
| ORANGE_POTION, | |
| GREEN_POTION, | |
| INVALID_ITEM_STAR_FN0OW_0069, | |
| LOTTERY_PICK, | |
| BATTLE_TRUNKS, | |
| UP_ARROW, | |
| PACKAGE, | |
| ATTACK_FX_B_KEY_ITEM, | |
| INVALID_ITEM_006F, | |
| INVALID_ITEM_0070, | |
| INVALID_ITEM_0071, | |
| DIAMOND_STAR, | |
| EMERALD_STAR, | |
| GOLD_STAR, | |
| RUBY_STAR, | |
| SAPPHIRE_STAR, | |
| GARNET_STAR, | |
| CRYSTAL_STAR, | |
| COIN, // 0x0079 | |
| PIANTA, | |
| HEART_PICKUP, | |
| FLOWER_PICKUP, | |
| STAR_PIECE, // 0x007d | |
| GOLD_BAR, // 0x007e | |
| GOLD_BAR_X3, | |
| THUNDER_BOLT, // 0x0080 | |
| THUNDER_RAGE, | |
| SHOOTING_STAR, | |
| ICE_STORM, | |
| FIRE_FLOWER, | |
| EARTH_QUAKE, | |
| BOOS_SHEET, | |
| VOLT_SHROOM, | |
| REPEL_CAPE, | |
| RUIN_POWDER, | |
| SLEEPY_SHEEP, | |
| POW_BLOCK, | |
| STOPWATCH, | |
| DIZZY_DIAL, | |
| POWER_PUNCH, | |
| COURAGE_SHELL, | |
| HP_DRAIN_ITEM, | |
| TRADE_OFF, // 0x0091 | |
| MINI_MR_MINI, | |
| MR_SOFTENER, | |
| MUSHROOM, | |
| SUPER_SHROOM, | |
| ULTRA_SHROOM, | |
| LIFE_SHROOM, | |
| DRIED_SHROOM, | |
| TASTY_TONIC, | |
| HONEY_SYRUP, | |
| MAPLE_SYRUP, | |
| JAMMIN_JELLY, | |
| SLOW_SHROOM, | |
| GRADUAL_SYRUP, | |
| HOT_DOG, | |
| CAKE, | |
| POINT_SWAP, // 0x00a1 | |
| FRIGHT_MASK, | |
| MYSTERY, | |
| INN_COUPON, | |
| WHACKA_BUMP, // 0x00a5 | |
| COCONUT, | |
| DRIED_BOUQUET, | |
| MYSTIC_EGG, | |
| GOLDEN_LEAF, | |
| KEEL_MANGO, | |
| FRESH_PASTA, | |
| CAKE_MIX, | |
| HOT_SAUCE, | |
| TURTLEY_LEAF, | |
| HORSETAIL, | |
| PEACHY_PEACH, | |
| SPITE_POUCH, // 0x00b1 | |
| KOOPA_CURSE, | |
| SHROOM_FRY, // 0x00b3 | |
| SHROOM_ROAST, | |
| SHROOM_STEAK, | |
| MISTAKE, | |
| HONEY_SHROOM, | |
| MAPLE_SHROOM, | |
| JELLY_SHROOM, | |
| HONEY_SUPER, | |
| MAPLE_SUPER, | |
| JELLY_SUPER, | |
| HONEY_ULTRA, | |
| MAPLE_ULTRA, | |
| JELLY_ULTRA, | |
| SPICY_SOUP, | |
| ZESS_DINNER, | |
| ZESS_SPECIAL, | |
| ZESS_DELUXE, | |
| ZESS_DYNAMITE, | |
| ZESS_TEA, | |
| SPACE_FOOD, | |
| ICICLE_POP, | |
| ZESS_FRAPPE, | |
| SNOW_BUNNY, | |
| COCONUT_BOMB, | |
| COURAGE_MEAL, | |
| SHROOM_CAKE, | |
| SHROOM_CREPE, | |
| MOUSSE_CAKE, | |
| FRIED_EGG, | |
| FRUIT_PARFAIT, | |
| EGG_BOMB, | |
| INK_PASTA, | |
| SPAGHETTI, | |
| SHROOM_BROTH, | |
| POISON_SHROOM, | |
| CHOCO_CAKE, | |
| MANGO_DELIGHT, | |
| LOVE_PUDDING, | |
| METEOR_MEAL, | |
| TRIAL_STEW, | |
| COUPLES_CAKE, | |
| INKY_SAUCE, | |
| OMELETTE_MEAL, | |
| KOOPA_TEA, | |
| KOOPASTA, | |
| SPICY_PASTA, | |
| HEARTFUL_CAKE, | |
| PEACH_TART, | |
| ELECTRO_POP, | |
| FIRE_POP, | |
| HONEY_CANDY, | |
| COCO_CANDY, | |
| JELLY_CANDY, | |
| ZESS_COOKIE, | |
| HEALTHY_SALAD, | |
| KOOPA_BUN, | |
| FRESH_JUICE, | |
| INVALID_ITEM_CAN, // 0x00ec | |
| INVALID_ITEM_ROCK, | |
| INVALID_ITEM_BONE, | |
| INVALID_ITEM_HAMMER, | |
| POWER_JUMP, // 0x00f0 | |
| MULTIBOUNCE, | |
| POWER_BOUNCE, | |
| TORNADO_JUMP, | |
| SHRINK_STOMP, | |
| SLEEPY_STOMP, | |
| SOFT_STOMP, | |
| POWER_SMASH, | |
| QUAKE_HAMMER, | |
| HAMMER_THROW, | |
| PIERCING_BLOW, | |
| HEAD_RATTLE, | |
| FIRE_DRIVE, | |
| ICE_SMASH, | |
| DOUBLE_DIP, | |
| DOUBLE_DIP_P, | |
| CHARGE, | |
| CHARGE_P, | |
| SUPER_APPEAL, | |
| SUPER_APPEAL_P, | |
| POWER_PLUS, | |
| POWER_PLUS_P, | |
| P_UP_D_DOWN, | |
| P_UP_D_DOWN_P, | |
| ALL_OR_NOTHING, | |
| ALL_OR_NOTHING_P, | |
| MEGA_RUSH, | |
| MEGA_RUSH_P, | |
| POWER_RUSH, | |
| POWER_RUSH_P, | |
| P_DOWN_D_UP, | |
| P_DOWN_D_UP_P, | |
| LAST_STAND, | |
| LAST_STAND_P, | |
| DEFEND_PLUS, | |
| DEFEND_PLUS_P, | |
| DAMAGE_DODGE, | |
| DAMAGE_DODGE_P, | |
| HP_PLUS, | |
| HP_PLUS_P, | |
| FP_PLUS, | |
| FLOWER_SAVER, | |
| FLOWER_SAVER_P, | |
| ICE_POWER, | |
| SPIKE_SHIELD, | |
| FEELING_FINE, | |
| FEELING_FINE_P, | |
| ZAP_TAP, | |
| DOUBLE_PAIN, | |
| JUMPMAN, | |
| HAMMERMAN, | |
| RETURN_POSTAGE, | |
| HAPPY_HEART, | |
| HAPPY_HEART_P, | |
| HAPPY_FLOWER, | |
| HP_DRAIN, | |
| HP_DRAIN_P, | |
| FP_DRAIN, | |
| FP_DRAIN_P, | |
| CLOSE_CALL, | |
| CLOSE_CALL_P, | |
| PRETTY_LUCKY, | |
| PRETTY_LUCKY_P, | |
| LUCKY_DAY, | |
| LUCKY_DAY_P, | |
| REFUND, | |
| PITY_FLOWER, | |
| PITY_FLOWER_P, | |
| QUICK_CHANGE, | |
| PEEKABOO, | |
| TIMING_TUTOR, | |
| HEART_FINDER, | |
| FLOWER_FINDER, | |
| MONEY_MONEY, | |
| ITEM_HOG, | |
| ATTACK_FX_R, | |
| ATTACK_FX_B, | |
| ATTACK_FX_G, | |
| ATTACK_FX_Y, | |
| ATTACK_FX_P, | |
| CHILL_OUT, | |
| FIRST_ATTACK, | |
| BUMP_ATTACK, | |
| SLOW_GO, | |
| SIMPLIFIER, | |
| UNSIMPLIFIER, | |
| LUCKY_START, | |
| L_EMBLEM, | |
| W_EMBLEM, | |
| TRIPLE_DIP, // 0x0149 | |
| LUCKY_START_P, | |
| AUTO_COMMAND_BADGE, | |
| MEGA_JUMP, | |
| MEGA_SMASH, | |
| MEGA_QUAKE, | |
| SQUARE_DIAMOND_BADGE, | |
| SQUARE_DIAMOND_BADGE_P, | |
| SUPER_CHARGE, | |
| SUPER_CHARGE_P, | |
| MAX_ITEM_ID, | |
| }; | |
| } | |
| struct AttackParams { | |
| const char* name_msg; | |
| uint16_t icon_id; | |
| uint16_t _unk_0x06; | |
| uint16_t _unk_0x08; | |
| int16_t item_id; | |
| char* _unk_0x0c; | |
| uint8_t _unk_0x10; // Always 0x64? | |
| int8_t base_fp_cost; | |
| int8_t base_sp_cost; | |
| int8_t guard_types_allowed; // 0 = none, 2 = both; ? = guard only | |
| float _unk_0x14; | |
| uint32_t _unk_0x18; // Possibly separate 8-bit values, or flags? | |
| char* base_damage_fn; | |
| // Parameters for damage function. | |
| int32_t base_damage; | |
| int32_t base_damage_2; | |
| int32_t base_damage_3; | |
| int32_t base_damage_4; | |
| int32_t base_damage_5; | |
| int32_t base_damage_6; | |
| uint32_t _unk_0x38; | |
| uint32_t _unk_0x3c; | |
| char* base_fp_damage_fn; | |
| // Parameters for FP damage function. | |
| int32_t base_fp_damage; | |
| uint32_t _unk_0x48; | |
| uint32_t _unk_0x4c; | |
| uint32_t _unk_0x50; | |
| uint32_t _unk_0x54; | |
| uint32_t _unk_0x58; | |
| uint32_t _unk_0x5c; | |
| uint32_t _unk_0x60; | |
| int8_t num_targets; // 1 for single-target, 2 for multi-target | |
| uint8_t _unk_0x65; | |
| uint8_t _unk_0x66; | |
| uint8_t _unk_0x67; | |
| uint8_t allowed_target_types; | |
| uint8_t _unk_0x69; // Used for enemy-knockback attacks (like Gulp)? | |
| uint8_t _unk_0x6a; // Seems to correlate with allowed targets? | |
| uint8_t _unk_0x6b; // Seems to indicate effects like flip, quake... | |
| int8_t element; | |
| uint8_t _unk_0x6d; | |
| uint8_t _unk_0x6e; // Always 0x03? | |
| uint8_t _unk_0x6f; // Always 0x02? | |
| const char* ac_msg; | |
| uint32_t _unk_0x74_flags; | |
| uint32_t _unk_0x78_flags; | |
| uint32_t _unk_0x7c_flags; // May be flags; generally similar values. | |
| int8_t sleep_chance; | |
| int8_t sleep_time; | |
| int8_t stop_chance; | |
| int8_t stop_time; | |
| int8_t dizzy_chance; | |
| int8_t dizzy_time; | |
| int8_t poison_chance; | |
| int8_t poison_time; | |
| int8_t poison_strength; | |
| int8_t confuse_chance; | |
| int8_t confuse_time; | |
| int8_t electric_chance; | |
| int8_t electric_time; | |
| int8_t dodgy_chance; | |
| int8_t dodgy_time; | |
| int8_t burn_chance; | |
| int8_t burn_time; | |
| int8_t freeze_chance; | |
| int8_t freeze_time; | |
| int8_t size_change_chance; | |
| int8_t size_change_time; | |
| int8_t size_change_strength; | |
| int8_t atk_change_chance; | |
| int8_t atk_change_time; | |
| int8_t atk_change_strength; | |
| int8_t def_change_chance; | |
| int8_t def_change_time; | |
| int8_t def_change_strength; | |
| int8_t allergic_chance; | |
| int8_t allergic_time; | |
| int8_t ohko_chance; | |
| int8_t charge_strength; | |
| int8_t fast_chance; | |
| int8_t fast_time; | |
| int8_t slow_chance; | |
| int8_t slow_time; | |
| int8_t fright_chance; | |
| int8_t gale_force_chance; | |
| int8_t payback_time; | |
| int8_t hold_fast_time; | |
| int8_t invisible_chance; | |
| int8_t invisible_time; | |
| int8_t hp_regen_time; | |
| int8_t hp_regen_strength; | |
| int8_t fp_regen_time; | |
| int8_t fp_regen_strength; | |
| uint8_t _unk_0xae; | |
| uint8_t _unk_0xaf; | |
| char* item_script_ptr; | |
| int8_t background_a1_a2_fall_weight; | |
| int8_t background_a1_fall_weight; | |
| int8_t background_a2_fall_weight; | |
| int8_t background_no_fall_weight; | |
| int8_t background_b_fall_chance; | |
| int8_t nozzle_change_direction_chance; | |
| int8_t nozzle_fire_chance; | |
| int8_t iron_frame_fall_chance; | |
| int8_t object_fall_chance; | |
| uint8_t _unk_0xbd; | |
| uint8_t _unk_0xbe; | |
| uint8_t _unk_0xbf; | |
| } __attribute__((__packed__)); | |
| struct ItemData { | |
| const char* item_string_id; // Used for recipe lookups, etc. | |
| const char* item_name_msg; | |
| const char* item_desc_msg; | |
| const char* item_desc_menu_msg; | |
| uint16_t _unk_0x10; | |
| int16_t type_sort_order; // For "By Type" ordering | |
| int16_t buy_price; | |
| int16_t discount_price; | |
| int16_t star_piece_price; | |
| int16_t sell_price; | |
| int8_t bp_cost; | |
| int8_t hp_restored; | |
| int8_t fp_restored; | |
| uint8_t _unk_0x1f; | |
| int16_t icon_id; | |
| uint16_t _unk_0x22; | |
| AttackParams* attack_params; | |
| } __attribute__((__packed__)); | |
| struct ShopItemData { | |
| int32_t item_id; | |
| // Only one of the following is set; sell items follow buy items. | |
| int16_t sell_price; | |
| int16_t buy_price; | |
| } __attribute__((__packed__)); | |
| } |