#ifndef GUARD_CONSTANTS_ITEM_H
#define GUARD_CONSTANTS_ITEM_H

#define NUMBER_OF_ITEM_IDS 0xF0

#define CATEGORY_THROWN_LINE 0
#define CATEGORY_THROWN_ARC 1
#define CATEGORY_BERRIES_SEEDS_VITAMINS 2
#define CATEGORY_FOOD_GUMMIES 3
#define CATEGORY_HELD_ITEMS 4
#define CATEGORY_TMS_HMS 5
#define CATEGORY_POKE 6
#define CATEGORY_OTHER 8
#define CATEGORY_ORBS 9
#define CATEGORY_LINK_BOX 10
#define CATEGORY_USED_TM 11

#define ITEM_ACTION_TYPE_NOTHING 0
#define ITEM_ACTION_TYPE_THROWABLE 1
#define ITEM_ACTION_TYPE_ROCKS 2
#define ITEM_ACTION_TYPE_RIBBONS 3
#define ITEM_ACTION_TYPE_FOOD 4
#define ITEM_ACTION_TYPE_HEALING 5
#define ITEM_ACTION_TYPE_CHESTNUT 6
#define ITEM_ACTION_TYPE_MONEY_WISH_STONE 7
#define ITEM_ACTION_TYPE_MISC 8
#define ITEM_ACTION_TYPE_TM 9
#define ITEM_ACTION_TYPE_LINK_BOX 10
#define ITEM_ACTION_TYPE_SPECS 11
#define ITEM_ACTION_TYPE_SCARFS 12
#define ITEM_ACTION_TYPE_ORBS 13

// see https://bulbapedia.bulbagarden.net/wiki/List_of_items_by_index_number_(Rescue_Team)
#define ITEM_NOTHING 0x0
#define ITEM_STICK 0x1
#define ITEM_IRON_THORN 0x2
#define ITEM_SILVER_SPIKE 0x3
#define ITEM_GOLD_FANG 0x4
#define ITEM_CACNEA_SPIKE 0x5
#define ITEM_CORSOLA_TWIG 0x6
#define ITEM_GRAVELEROCK 0x7
#define ITEM_GEO_PEBBLE 0x8
#define ITEM_MOBILE_SCARF 0x9
#define ITEM_HEAL_RIBBON 0xA
#define ITEM_TWIST_BAND 0xB
#define ITEM_SCOPE_LENS 0xC
#define ITEM_PATSY_BAND 0xD
#define ITEM_NOSTICK_CAP 0xE
#define ITEM_PIERCE_BAND 0xF
#define ITEM_JOY_RIBBON 0x10
#define ITEM_X_RAY_SPECS 0x11
#define ITEM_PERSIM_BAND 0x12
#define ITEM_POWER_BAND 0x13
#define ITEM_PECHA_SCARF 0x14
#define ITEM_INSOMNISCOPE 0x15
#define ITEM_WARP_SCARF 0x16
#define ITEM_TIGHT_BELT 0x17
#define ITEM_SNEAK_SCARF 0x18
#define ITEM_GOLD_RIBBON 0x19
#define ITEM_GOGGLE_SPECS 0x1A
#define ITEM_DIET_RIBBON 0x1B
#define ITEM_TRAP_SCARF 0x1C
#define ITEM_RACKET_BAND 0x1D
#define ITEM_DEF_SCARF 0x1E
#define ITEM_STAMINA_BAND 0x1F
#define ITEM_PLAIN_RIBBON 0x20
#define ITEM_SPECIAL_BAND 0x21
#define ITEM_ZINC_BAND 0x22
#define ITEM_DETECT_BAND 0x23
#define ITEM_ALERT_SPECS 0x24
#define ITEM_DODGE_SCARF 0x25
#define ITEM_BOUNCE_BAND 0x26
#define ITEM_CURVE_BAND 0x27
#define ITEM_WHIFF_SPECS 0x28
#define ITEM_NO_AIM_SCOPE 0x29
#define ITEM_LOCKON_SPECS 0x2A
#define ITEM_MUNCH_BELT 0x2B
#define ITEM_PASS_SCARF 0x2C
#define ITEM_WEATHER_BAND 0x2D
#define ITEM_FRIEND_BOW 0x2E
#define ITEM_BEAUTY_SCARF 0x2F
#define ITEM_SUN_RIBBON 0x30
#define ITEM_LUNAR_RIBBON 0x31
#define ITEM_RING_D 0x32
#define ITEM_RING_E 0x33
#define ITEM_RING_F 0x34
#define ITEM_HEAL_SEED 0x35
#define ITEM_WISH_STONE 0x36
#define ITEM_ORAN_BERRY 0x37
#define ITEM_SITRUS_BERRY 0x38
#define ITEM_EYEDROP_SEED 0x39
#define ITEM_REVIVER_SEED 0x3A
#define ITEM_BLINKER_SEED 0x3B
#define ITEM_DOOM_SEED 0x3C
#define ITEM_ALLURE_SEED 0x3D
#define ITEM_LIFE_SEED 0x3E
#define ITEM_RAWST_BERRY 0x3F
#define ITEM_HUNGER_SEED 0x40
#define ITEM_QUICK_SEED 0x41
#define ITEM_PECHA_BERRY 0x42
#define ITEM_CHERI_BERRY 0x43
#define ITEM_TOTTER_SEED 0x44
#define ITEM_SLEEP_SEED 0x45
#define ITEM_PLAIN_SEED 0x46
#define ITEM_WARP_SEED 0x47
#define ITEM_BLAST_SEED 0x48
#define ITEM_GINSENG 0x49
#define ITEM_JOY_SEED 0x4A
#define ITEM_CHESTO_BERRY 0x4B
#define ITEM_STUN_SEED 0x4C
#define ITEM_MAX_ELIXIR 0x4D
#define ITEM_PROTEIN 0x4E
#define ITEM_CALCIUM 0x4F
#define ITEM_IRON 0x50
#define ITEM_ZINC 0x51
#define ITEM_APPLE 0x52
#define ITEM_BIG_APPLE 0x53
#define ITEM_GRIMY_FOOD 0x54
#define ITEM_HUGE_APPLE 0x55
#define ITEM_WHITE_GUMMI 0x56
#define ITEM_RED_GUMMI 0x57
#define ITEM_BLUE_GUMMI 0x58
#define ITEM_GRASS_GUMMI 0x59
#define ITEM_YELLOW_GUMMI 0x5A
#define ITEM_CLEAR_GUMMI 0x5B
#define ITEM_ORANGE_GUMMI 0x5C
#define ITEM_PINK_GUMMI 0x5D
#define ITEM_BROWN_GUMMI 0x5E
#define ITEM_SKY_GUMMI 0x5F
#define ITEM_GOLD_GUMMI 0x60
#define ITEM_GREEN_GUMMI 0x61
#define ITEM_GRAY_GUMMI 0x62
#define ITEM_PURPLE_GUMMI 0x63
#define ITEM_ROYAL_GUMMI 0x64
#define ITEM_BLACK_GUMMI 0x65
#define ITEM_SILVER_GUMMI 0x66
#define ITEM_BANANA 0x67
#define ITEM_CHESTNUT 0x68
#define ITEM_POKE 0x69   // 105 (0x69)
#define ITEM_UPGRADE 0x6A
#define ITEM_KINGS_ROCK 0x6B
#define ITEM_THUNDERSTONE 0x6C
#define ITEM_DEEPSEASCALE 0x6D
#define ITEM_DEEPSEATOOTH 0x6E
#define ITEM_SUN_STONE 0x6F
#define ITEM_MOON_STONE 0x70
#define ITEM_FIRE_STONE 0x71
#define ITEM_WATER_STONE 0x72
#define ITEM_METAL_COAT 0x73
#define ITEM_LEAF_STONE 0x74
#define ITEM_DRAGON_SCALE 0x75
#define ITEM_LINK_CABLE 0x76
#define ITEM_ICE_PART 0x77
#define ITEM_STEEL_PART 0x78
#define ITEM_ROCK_PART 0x79
#define ITEM_MUSIC_BOX 0x7A
#define ITEM_KEY 0x7B
#define ITEM_TM_USED_TM 0x7C
#define ITEM_TM_FOCUS_PUNCH 0x7D
#define ITEM_TM_DRAGON_CLAW 0x7E
#define ITEM_TM_WATER_PULSE 0x7F
#define ITEM_TM_CALM_MIND 0x80
#define ITEM_TM_ROAR 0x81
#define ITEM_TM_TOXIC 0x82
#define ITEM_TM_HAIL 0x83
#define ITEM_TM_BULK_UP 0x84
#define ITEM_TM_BULLET_SEED 0x85
#define ITEM_TM_HIDDEN_POWER 0x86
#define ITEM_TM_SUNNY_DAY 0x87
#define ITEM_TM_TAUNT 0x88
#define ITEM_TM_ICE_BEAM 0x89
#define ITEM_TM_BLIZZARD 0x8A
#define ITEM_TM_HYPER_BEAM 0x8B
#define ITEM_TM_LIGHT_SCREEN 0x8C
#define ITEM_TM_PROTECT 0x8D
#define ITEM_TM_RAIN_DANCE 0x8E
#define ITEM_TM_GIGA_DRAIN 0x8F
#define ITEM_TM_SAFEGUARD 0x90
#define ITEM_TM_FRUSTRATION 0x91
#define ITEM_TM_SOLARBEAM 0x92
#define ITEM_TM_IRON_TAIL 0x93
#define ITEM_TM_THUNDERBOLT 0x94
#define ITEM_TM_THUNDER 0x95
#define ITEM_TM_EARTHQUAKE 0x96
#define ITEM_TM_RETURN 0x97
#define ITEM_TM_DIG 0x98
#define ITEM_TM_PSYCHIC 0x99
#define ITEM_TM_SHADOW_BALL 0x9A
#define ITEM_TM_BRICK_BREAK 0x9B
#define ITEM_TM_DOUBLE_TEAM 0x9C
#define ITEM_TM_REFLECT 0x9D
#define ITEM_TM_SHOCK_WAVE 0x9E
#define ITEM_TM_FLAMETHROWER 0x9F
#define ITEM_TM_SLUDGE_BOMB 0xA0
#define ITEM_TM_SANDSTORM 0xA1
#define ITEM_TM_FIRE_BLAST 0xA2
#define ITEM_TM_ROCK_TOMB 0xA3
#define ITEM_TM_AERIAL_ACE 0xA4
#define ITEM_TM_TORMENT 0xA5
#define ITEM_TM_FACADE 0xA6
#define ITEM_TM_SECRET_POWER 0xA7
#define ITEM_TM_REST 0xA8
#define ITEM_TM_ATTRACT 0xA9
#define ITEM_TM_THIEF 0xAA
#define ITEM_TM_STEEL_WING 0xAB
#define ITEM_TM_SKILL_SWAP 0xAC
#define ITEM_TM_SNATCH 0xAD
#define ITEM_TM_OVERHEAT 0xAE
#define ITEM_TM_WIDE_SLASH 0xAF
#define ITEM_TM_EXCAVATE 0xB0
#define ITEM_TM_SPIN_SLASH 0xB1
#define ITEM_SEE_TRAP_ORB 0xB2
#define ITEM_MUG_ORB 0xB3
#define ITEM_REBOUND_ORB 0xB4
#define ITEM_LOB_ORB 0xB5
#define ITEM_SWITCHER_ORB 0xB6
#define ITEM_BLOWBACK_ORB 0xB7
#define ITEM_WARP_ORB 0xB8
#define ITEM_TRANSFER_ORB 0xB9
#define ITEM_SLOW_ORB 0xBA
#define ITEM_QUICK_ORB 0xBB
#define ITEM_LUMINOUS_ORB 0xBC
#define ITEM_PETRIFY_ORB 0xBD
#define ITEM_STAYAWAY_ORB 0xBE
#define ITEM_POUNCE_ORB 0xBF
#define ITEM_TRAWL_ORB 0xC0
#define ITEM_CLEANSE_ORB 0xC1
#define ITEM_OBSERVER_ORB 0xC2
#define ITEM_DECOY_ORB 0xC3
#define ITEM_SLUMBER_ORB 0xC4
#define ITEM_TOTTER_ORB 0xC5
#define ITEM_TWO_EDGE_ORB 0xC6
#define ITEM_SILENCE_ORB 0xC7
#define ITEM_ESCAPE_ORB 0xC8
#define ITEM_SCANNER_ORB 0xC9
#define ITEM_RADAR_ORB 0xCA
#define ITEM_DROUGHT_ORB 0xCB
#define ITEM_TRAPBUST_ORB 0xCC
#define ITEM_ROLLCALL_ORB 0xCD
#define ITEM_INVISIFY_ORB 0xCE
#define ITEM_ONE_SHOT_ORB 0xCF
#define ITEM_IDENTIFY_ORB 0xD0
#define ITEM_VACUUM_CUT 0xD1
#define ITEM_REVIVER_ORB 0xD2
#define ITEM_SHOCKER_ORB 0xD3
#define ITEM_SIZEBUST_ORB 0xD4
#define ITEM_ONE_ROOM_ORB 0xD5
#define ITEM_FILL_IN_ORB 0xD6
#define ITEM_TRAPPER_ORB 0xD7
#define ITEM_POSSESS_ORB 0xD8
#define ITEM_ITEMIZER_ORB 0xD9
#define ITEM_HURL_ORB 0xDA
#define ITEM_MOBILE_ORB 0xDB
#define ITEM_TOSS_ORB 0xDC
#define ITEM_STAIRS_ORB 0xDD
#define ITEM_LONGTOSS_ORB 0xDE
#define ITEM_PIERCE_ORB 0xDF
#define ITEM_HM_CUT 0xE0
#define ITEM_HM_FLY 0xE1
#define ITEM_HM_SURF 0xE2
#define ITEM_HM_STRENGTH 0xE3
#define ITEM_HM_FLASH 0xE4
#define ITEM_HM_ROCK_SMASH 0xE5
#define ITEM_HM_WATERFALL 0xE6
#define ITEM_HM_DIVE 0xE7
#define ITEM_LINK_BOX 0xE8
#define ITEM_SWITCH_BOX 0xE9
#define ITEM_WEAVILE_FIG 0xEA
#define ITEM_MIME_JR_FIG 0xEB
#define ITEM_BEATUP_ORB 0xEC
#define ITEM_G_MACHINE_6 0xED
#define ITEM_G_MACHINE_7 0xEE
#define ITEM_G_MACHINE_8 0xEF

#endif
