#ifndef GUARD_HOLD_EFFECTS_H #define GUARD_HOLD_EFFECTS_H enum ItemHoldEffect { HOLD_EFFECT_NONE, HOLD_EFFECT_RESTORE_HP, HOLD_EFFECT_CURE_PAR, HOLD_EFFECT_CURE_SLP, HOLD_EFFECT_CURE_PSN, HOLD_EFFECT_CURE_BRN, HOLD_EFFECT_CURE_FRZ, HOLD_EFFECT_RESTORE_PP, HOLD_EFFECT_CURE_CONFUSION, HOLD_EFFECT_CURE_STATUS, HOLD_EFFECT_CONFUSE_SPICY, HOLD_EFFECT_CONFUSE_DRY, HOLD_EFFECT_CONFUSE_SWEET, HOLD_EFFECT_CONFUSE_BITTER, HOLD_EFFECT_CONFUSE_SOUR, HOLD_EFFECT_ATTACK_UP, HOLD_EFFECT_DEFENSE_UP, HOLD_EFFECT_SPEED_UP, HOLD_EFFECT_SP_ATTACK_UP, HOLD_EFFECT_SP_DEFENSE_UP, HOLD_EFFECT_CRITICAL_UP, HOLD_EFFECT_RANDOM_STAT_UP, HOLD_EFFECT_EVASION_UP, HOLD_EFFECT_RESTORE_STATS, HOLD_EFFECT_MACHO_BRACE, HOLD_EFFECT_EXP_SHARE, HOLD_EFFECT_QUICK_CLAW, HOLD_EFFECT_FRIENDSHIP_UP, HOLD_EFFECT_MENTAL_HERB, HOLD_EFFECT_CHOICE_BAND, HOLD_EFFECT_FLINCH, HOLD_EFFECT_BUG_POWER, HOLD_EFFECT_DOUBLE_PRIZE, HOLD_EFFECT_REPEL, HOLD_EFFECT_SOUL_DEW, HOLD_EFFECT_DEEP_SEA_TOOTH, HOLD_EFFECT_DEEP_SEA_SCALE, HOLD_EFFECT_CAN_ALWAYS_RUN, HOLD_EFFECT_PREVENT_EVOLVE, HOLD_EFFECT_FOCUS_BAND, HOLD_EFFECT_LUCKY_EGG, HOLD_EFFECT_SCOPE_LENS, HOLD_EFFECT_STEEL_POWER, HOLD_EFFECT_LEFTOVERS, HOLD_EFFECT_DRAGON_SCALE, HOLD_EFFECT_LIGHT_BALL, HOLD_EFFECT_GROUND_POWER, HOLD_EFFECT_ROCK_POWER, HOLD_EFFECT_GRASS_POWER, HOLD_EFFECT_DARK_POWER, HOLD_EFFECT_FIGHTING_POWER, HOLD_EFFECT_ELECTRIC_POWER, HOLD_EFFECT_WATER_POWER, HOLD_EFFECT_FLYING_POWER, HOLD_EFFECT_POISON_POWER, HOLD_EFFECT_ICE_POWER, HOLD_EFFECT_GHOST_POWER, HOLD_EFFECT_PSYCHIC_POWER, HOLD_EFFECT_FIRE_POWER, HOLD_EFFECT_DRAGON_POWER, HOLD_EFFECT_NORMAL_POWER, HOLD_EFFECT_UPGRADE, HOLD_EFFECT_SHELL_BELL, HOLD_EFFECT_LUCKY_PUNCH, HOLD_EFFECT_METAL_POWDER, HOLD_EFFECT_THICK_CLUB, HOLD_EFFECT_LEEK, // Gen4 hold effects. HOLD_EFFECT_CHOICE_SCARF, HOLD_EFFECT_CHOICE_SPECS, HOLD_EFFECT_DAMP_ROCK, HOLD_EFFECT_GRIP_CLAW, HOLD_EFFECT_HEAT_ROCK, HOLD_EFFECT_ICY_ROCK, HOLD_EFFECT_LIGHT_CLAY, HOLD_EFFECT_SMOOTH_ROCK, HOLD_EFFECT_POWER_HERB, HOLD_EFFECT_BIG_ROOT, HOLD_EFFECT_EXPERT_BELT, HOLD_EFFECT_LIFE_ORB, HOLD_EFFECT_METRONOME, HOLD_EFFECT_MUSCLE_BAND, HOLD_EFFECT_WIDE_LENS, HOLD_EFFECT_WISE_GLASSES, HOLD_EFFECT_ZOOM_LENS, HOLD_EFFECT_LAGGING_TAIL, HOLD_EFFECT_FOCUS_SASH, HOLD_EFFECT_FLAME_ORB, HOLD_EFFECT_TOXIC_ORB, HOLD_EFFECT_STICKY_BARB, HOLD_EFFECT_IRON_BALL, HOLD_EFFECT_BLACK_SLUDGE, HOLD_EFFECT_DESTINY_KNOT, HOLD_EFFECT_SHED_SHELL, HOLD_EFFECT_QUICK_POWDER, HOLD_EFFECT_ADAMANT_ORB, HOLD_EFFECT_LUSTROUS_ORB, HOLD_EFFECT_GRISEOUS_ORB, HOLD_EFFECT_ENIGMA_BERRY, HOLD_EFFECT_RESIST_BERRY, HOLD_EFFECT_POWER_ITEM, HOLD_EFFECT_RESTORE_PCT_HP, HOLD_EFFECT_MICLE_BERRY, HOLD_EFFECT_CUSTAP_BERRY, HOLD_EFFECT_JABOCA_BERRY, HOLD_EFFECT_ROWAP_BERRY, HOLD_EFFECT_KEE_BERRY, HOLD_EFFECT_MARANGA_BERRY, HOLD_EFFECT_PLATE, // Gen5 hold effects HOLD_EFFECT_FLOAT_STONE, HOLD_EFFECT_EVIOLITE, HOLD_EFFECT_ASSAULT_VEST, HOLD_EFFECT_DRIVE, HOLD_EFFECT_GEMS, HOLD_EFFECT_ROCKY_HELMET, HOLD_EFFECT_AIR_BALLOON, HOLD_EFFECT_RED_CARD, HOLD_EFFECT_RING_TARGET, HOLD_EFFECT_BINDING_BAND, HOLD_EFFECT_EJECT_BUTTON, HOLD_EFFECT_ABSORB_BULB, HOLD_EFFECT_CELL_BATTERY, // Gen6 hold effects HOLD_EFFECT_FAIRY_POWER, HOLD_EFFECT_MEGA_STONE, HOLD_EFFECT_SAFETY_GOGGLES, HOLD_EFFECT_LUMINOUS_MOSS, HOLD_EFFECT_SNOWBALL, HOLD_EFFECT_WEAKNESS_POLICY, HOLD_EFFECT_PRIMAL_ORB, // Gen7 hold effects HOLD_EFFECT_PROTECTIVE_PADS, HOLD_EFFECT_TERRAIN_EXTENDER, HOLD_EFFECT_SEEDS, HOLD_EFFECT_ADRENALINE_ORB, HOLD_EFFECT_MEMORY, HOLD_EFFECT_Z_CRYSTAL, // Gen8 hold effects HOLD_EFFECT_UTILITY_UMBRELLA, HOLD_EFFECT_EJECT_PACK, HOLD_EFFECT_ROOM_SERVICE, HOLD_EFFECT_BLUNDER_POLICY, HOLD_EFFECT_HEAVY_DUTY_BOOTS, HOLD_EFFECT_THROAT_SPRAY, // Gen9 hold effects HOLD_EFFECT_ABILITY_SHIELD, HOLD_EFFECT_CLEAR_AMULET, HOLD_EFFECT_MIRROR_HERB, HOLD_EFFECT_PUNCHING_GLOVE, HOLD_EFFECT_COVERT_CLOAK, HOLD_EFFECT_LOADED_DICE, HOLD_EFFECT_BOOSTER_ENERGY, HOLD_EFFECT_OGERPON_MASK, // Gen2 hold effect HOLD_EFFECT_BERSERK_GENE, }; #define HOLD_EFFECT_CHOICE(holdEffect) ((holdEffect == HOLD_EFFECT_CHOICE_BAND || holdEffect == HOLD_EFFECT_CHOICE_SCARF || holdEffect == HOLD_EFFECT_CHOICE_SPECS)) // Terrain seed params #define HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN 0 #define HOLD_EFFECT_PARAM_GRASSY_TERRAIN 1 #define HOLD_EFFECT_PARAM_MISTY_TERRAIN 2 #define HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN 3 #endif // GUARD_HOLD_EFFECTS_H