diff options
Diffstat (limited to 'include/item.h')
-rw-r--r-- | include/item.h | 270 |
1 files changed, 260 insertions, 10 deletions
diff --git a/include/item.h b/include/item.h index ad60657..bb358b5 100644 --- a/include/item.h +++ b/include/item.h @@ -21,14 +21,14 @@ struct Item /* 0x1F */ u8 fill3; }; -struct ItemStruct_203B460 +struct ItemSlot { - u8 unk0; + u8 unk0; // some sort of flags, bit 0 seems to indicate an empty slot u8 numItems; u8 itemIndex; }; -struct ItemStruct_203B460_ALT +struct ItemSlot_ALT { u8 itemIndex; u8 numItems; @@ -69,22 +69,272 @@ enum ItemCategory ITEM_CATEGORY_ORBS }; +// see https://bulbapedia.bulbagarden.net/wiki/List_of_items_by_index_number_(Rescue_Team) +enum ItemID { + ITEM_ID_NOTHING, + ITEM_ID_STICK, + ITEM_ID_IRON_THORN, + ITEM_ID_SILVER_SPIKE, + ITEM_ID_GOLD_FANG, + ITEM_ID_CACNEA_SPIKE, + ITEM_ID_CORSOLA_TWIG, + ITEM_ID_GRAVELEROCK, + ITEM_ID_GEO_PEBBLE, + ITEM_ID_MOBILE_SCARF, + ITEM_ID_HEAL_RIBBON, + ITEM_ID_TWIST_BAND, + ITEM_ID_SCOPE_LENS, + ITEM_ID_PATSY_BAND, + ITEM_ID_NOSTICK_CAP, + ITEM_ID_PIERCE_BAND, + ITEM_ID_JOY_RIBBON, + ITEM_ID_X_RAY_SPECS, + ITEM_ID_PERSIM_BAND, + ITEM_ID_POWER_BAND, + ITEM_ID_PECHA_SCARF, + ITEM_ID_INSOMNISCOPE, + ITEM_ID_WARP_SCARF, + ITEM_ID_TIGHT_BELT, + ITEM_ID_SNEAK_SCARF, + ITEM_ID_GOLD_RIBBON, + ITEM_ID_GOGGLE_SPECS, + ITEM_ID_DIET_RIBBON, + ITEM_ID_TRAP_SCARF, + ITEM_ID_RACKET_BAND, + ITEM_ID_DEF_SCARF, + ITEM_ID_STAMINA_BAND, + ITEM_ID_PLAIN_RIBBON, + ITEM_ID_SPECIAL_BAND, + ITEM_ID_ZINC_BAND, + ITEM_ID_DETECT_BAND, + ITEM_ID_ALERT_SPECS, + ITEM_ID_DODGE_SCARF, + ITEM_ID_BOUNCE_BAND, + ITEM_ID_CURVE_BAND, + ITEM_ID_WHIFF_SPECS, + ITEM_ID_NO_AIM_SCOPE, + ITEM_ID_LOCKON_SPECS, + ITEM_ID_MUNCH_BELT, + ITEM_ID_PASS_SCARF, + ITEM_ID_WEATHER_BAND, + ITEM_ID_FRIEND_BOW, + ITEM_ID_BEAUTY_SCARF, + ITEM_ID_SUN_RIBBON, + ITEM_ID_LUNAR_RIBBON, + ITEM_ID_RING_D, + ITEM_ID_RING_E, + ITEM_ID_RING_F, + ITEM_ID_HEAL_SEED, + ITEM_ID_WISH_STONE, + ITEM_ID_ORAN_BERRY, + ITEM_ID_SITRUS_BERRY, + ITEM_ID_EYEDROP_SEED, + ITEM_ID_REVIVER_SEED, + ITEM_ID_BLINKER_SEED, + ITEM_ID_DOOM_SEED, + ITEM_ID_ALLURE_SEED, + ITEM_ID_LIFE_SEED, + ITEM_ID_RAWST_BERRY, + ITEM_ID_HUNGER_SEED, + ITEM_ID_QUICK_SEED, + ITEM_ID_PECHA_BERRY, + ITEM_ID_CHERI_BERRY, + ITEM_ID_TOTTER_SEED, + ITEM_ID_SLEEP_SEED, + ITEM_ID_PLAIN_SEED, + ITEM_ID_WARP_SEED, + ITEM_ID_BLAST_SEED, + ITEM_ID_GINSENG, + ITEM_ID_JOY_SEED, + ITEM_ID_CHESTO_BERRY, + ITEM_ID_STUN_SEED, + ITEM_ID_MAX_ELIXIR, + ITEM_ID_PROTEIN, + ITEM_ID_CALCIUM, + ITEM_ID_IRON, + ITEM_ID_ZINC, + ITEM_ID_APPLE, + ITEM_ID_BIG_APPLE, + ITEM_ID_GRIMY_FOOD, + ITEM_ID_HUGE_APPLE, + ITEM_ID_WHITE_GUMMI, + ITEM_ID_RED_GUMMI, + ITEM_ID_BLUE_GUMMI, + ITEM_ID_GRASS_GUMMI, + ITEM_ID_YELLOW_GUMMI, + ITEM_ID_CLEAR_GUMMI, + ITEM_ID_ORANGE_GUMMI, + ITEM_ID_PINK_GUMMI, + ITEM_ID_BROWN_GUMMI, + ITEM_ID_SKY_GUMMI, + ITEM_ID_GOLD_GUMMI, + ITEM_ID_GREEN_GUMMI, + ITEM_ID_GRAY_GUMMI, + ITEM_ID_PURPLE_GUMMI, + ITEM_ID_ROYAL_GUMMI, + ITEM_ID_BLACK_GUMMI, + ITEM_ID_SILVER_GUMMI, + ITEM_ID_BANANA, + ITEM_ID_CHESTNUT, + ITEM_ID_POKE, // 105 (0x69) + ITEM_ID_UPGRADE, + ITEM_ID_KINGS_ROCK, + ITEM_ID_THUNDERSTONE, + ITEM_ID_DEEPSEASCALE, + ITEM_ID_DEEPSEATOOTH, + ITEM_ID_SUN_STONE, + ITEM_ID_MOON_STONE, + ITEM_ID_FIRE_STONE, + ITEM_ID_WATER_STONE, + ITEM_ID_METAL_COAT, + ITEM_ID_LEAF_STONE, + ITEM_ID_DRAGON_SCALE, + ITEM_ID_LINK_CABLE, + ITEM_ID_ICE_PART, + ITEM_ID_STEEL_PART, + ITEM_ID_ROCK_PART, + ITEM_ID_MUSIC_BOX, + ITEM_ID_KEY, + ITEM_ID_USED_TM, + ITEM_ID_FOCUS_PUNCH, + ITEM_ID_DRAGON_CLAW, + ITEM_ID_WATER_PULSE, + ITEM_ID_CALM_MIND, + ITEM_ID_ROAR, + ITEM_ID_TOXIC, + ITEM_ID_HAIL_ORB, + ITEM_ID_BULK_UP, + ITEM_ID_BULLET_SEED, + ITEM_ID_HIDDEN_POWER, + ITEM_ID_SUNNY_ORB, + ITEM_ID_TAUNT, + ITEM_ID_ICE_BEAM, + ITEM_ID_BLIZZARD, + ITEM_ID_HYPER_BEAM, + ITEM_ID_LIGHT_SCREEN, + ITEM_ID_PROTECT, + ITEM_ID_RAINY_ORB, + ITEM_ID_GIGA_DRAIN, + ITEM_ID_SAFEGUARD, + ITEM_ID_FRUSTRATION, + ITEM_ID_SOLARBEAM, + ITEM_ID_IRON_TAIL, + ITEM_ID_THUNDERBOLT, + ITEM_ID_THUNDER, + ITEM_ID_EARTHQUAKE, + ITEM_ID_RETURN, + ITEM_ID_DIG, + ITEM_ID_PSYCHIC, + ITEM_ID_SHADOW_BALL, + ITEM_ID_BRICK_BREAK, + ITEM_ID_EVASION_ORB, + ITEM_ID_REFLECT, + ITEM_ID_SHOCK_WAVE, + ITEM_ID_FLAMETHROWER, + ITEM_ID_SLUDGE_BOMB, + ITEM_ID_SANDY_ORB, + ITEM_ID_FIRE_BLAST, + ITEM_ID_ROCKY_ORB, + ITEM_ID_AERIAL_ACE, + ITEM_ID_TORMENT, + ITEM_ID_FACADE, + ITEM_ID_SECRET_POWER, + ITEM_ID_REST, + ITEM_ID_ATTRACT, + ITEM_ID_THIEF, + ITEM_ID_STEEL_WING, + ITEM_ID_SKILL_SWAP, + ITEM_ID_SNATCH_ORB, + ITEM_ID_OVERHEAT, + ITEM_ID_WIDE_SLASH, + ITEM_ID_EXCAVATE, + ITEM_ID_SPIN_SLASH, + ITEM_ID_SEE_TRAP_ORB, + ITEM_ID_MUG_ORB, + ITEM_ID_REBOUND_ORB, + ITEM_ID_LOB_ORB, + ITEM_ID_SWITCHER_ORB, + ITEM_ID_BLOWBACK_ORB, + ITEM_ID_WARP_ORB, + ITEM_ID_TRANSFER_ORB, + ITEM_ID_SLOW_ORB, + ITEM_ID_QUICK_ORB, + ITEM_ID_LUMINOUS_ORB, + ITEM_ID_PETRIFY_ORB, + ITEM_ID_STAYAWAY_ORB, + ITEM_ID_POUNCE_ORB, + ITEM_ID_TRAWL_ORB, + ITEM_ID_CLEANSE_ORB, + ITEM_ID_OBSERVER_ORB, + ITEM_ID_DECOY_ORB, + ITEM_ID_SLUMBER_ORB, + ITEM_ID_TOTTER_ORB, + ITEM_ID_TWO_EDGE_ORB, + ITEM_ID_SILENCE_ORB, + ITEM_ID_ESCAPE_ORB, + ITEM_ID_SCANNER_ORB, + ITEM_ID_RADAR_ORB, + ITEM_ID_DROUGHT_ORB, + ITEM_ID_TRAPBUST_ORB, + ITEM_ID_ROLLCALL_ORB, + ITEM_ID_INVISIFY_ORB, + ITEM_ID_ONE_SHOT_ORB, + ITEM_ID_IDENTIFY_ORB, + ITEM_ID_VACUUM_CUT, + ITEM_ID_REVIVER_ORB, + ITEM_ID_SHOCKER_ORB, + ITEM_ID_SIZEBUST_ORB, + ITEM_ID_ONE_ROOM_ORB, + ITEM_ID_FILL_IN_ORB, + ITEM_ID_TRAPPER_ORB, + ITEM_ID_POSSESS_ORB, + ITEM_ID_ITEMIZER_ORB, + ITEM_ID_HURL_ORB, + ITEM_ID_MOBILE_ORB, + ITEM_ID_TOSS_ORB, + ITEM_ID_STAIRS_ORB, + ITEM_ID_LONGTOSS_ORB, + ITEM_ID_PIERCE_ORB, + ITEM_ID_CUT, + ITEM_ID_FLY, + ITEM_ID_SURF, + ITEM_ID_STRENGTH, + ITEM_ID_FLASH, + ITEM_ID_ROCK_SMASH, + ITEM_ID_WATERFALL, + ITEM_ID_DIVE, + ITEM_ID_LINK_BOX, + ITEM_ID_SWITCH_BOX, + ITEM_ID_WEAVILE_FIG, + ITEM_ID_MIME_JR_FIG, + ITEM_ID_BEATUP_ORB, + ITEM_ID_G_MACHINE_6, + ITEM_ID_G_MACHINE_7, + ITEM_ID_G_MACHINE_8, +}; + void LoadItemParameters(void); -struct unkStruct_203B460 *GetMoneyItemsInfo(void); +struct TeamInventory *GetMoneyItemsInfo(void); void InitializeMoneyItems(void); u8 GetItemType(u8 index); s32 GetItemBuyPrice(u8 itemIndex); s32 GetItemSellPrice(u8 itemIndex); -u8 GetItemOrder(u8 itemIndex); +s32 GetItemOrder(u8 itemIndex); u8 GetItemPalette(u8 itemIndex); u8 GetItemCategory(u8 itemIndex); u32 GetItemUnkThrow(u8 itemIndex, u32 r1); u8 *GetItemDescription(u8 itemIndex); u32 GetItemUnkFood(u8 itemIndex, u32 r1); -s32 sub_8090A34(void); -bool8 sub_8090A60(u8 itemIndex); -void sub_8090A8C(struct ItemStruct_203B460 *param_1,u8 itemIndex,u8 param_3); -void sub_8090B08(struct ItemStruct_203B460_ALT *param_1,u8 itemIndex); -void sub_8090B64(struct ItemStruct_203B460 *param_1, struct ItemStruct_203B460_ALT *param_2); +s32 GetNumberOfFilledInventorySlots(void); +bool8 IsThrowableItem(u8 itemIndex); +void sub_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3); +void sub_8090B08(struct ItemSlot_ALT *param_1,u8 itemIndex); +void sub_8090B64(struct ItemSlot *param_1, struct ItemSlot_ALT *param_2); +void sub_8090DC4(void* param_1,u8 itemIndex,u32 param_3); +bool8 AddItemToInventory(const struct ItemSlot* slot); +void ConvertMoneyItemToMoney(); +void AddToTeamMoney(s32 amount); +u32 GetMoneyValue(struct ItemSlot* slot); +u16 GetItemMove(u8 index); #endif |