mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-26 20:25:37 -05:00
153 lines
13 KiB
C
153 lines
13 KiB
C
#include "constants/battle/side_effects.h"
|
|
|
|
#include "consts/generated/c/battle.h"
|
|
#include "consts/generated/c/battle_subscripts.h"
|
|
|
|
static const int sSideEffectSubscripts[] = {
|
|
[MOVE_SUBSCRIPT_PTR_NONE] = NULL,
|
|
[MOVE_SUBSCRIPT_PTR_SLEEP] = BATTLE_SUBSCRIPT_FALL_ASLEEP,
|
|
[MOVE_SUBSCRIPT_PTR_POISON] = BATTLE_SUBSCRIPT_POISON,
|
|
[MOVE_SUBSCRIPT_PTR_BURN] = BATTLE_SUBSCRIPT_BURN,
|
|
[MOVE_SUBSCRIPT_PTR_FREEZE] = BATTLE_SUBSCRIPT_FREEZE,
|
|
[MOVE_SUBSCRIPT_PTR_PARALYZE] = BATTLE_SUBSCRIPT_PARALYZE,
|
|
[MOVE_SUBSCRIPT_PTR_BADLY_POISON] = BATTLE_SUBSCRIPT_BADLY_POISON,
|
|
[MOVE_SUBSCRIPT_PTR_CONFUSE] = BATTLE_SUBSCRIPT_CONFUSE,
|
|
[MOVE_SUBSCRIPT_PTR_FLINCH] = BATTLE_SUBSCRIPT_FLINCH_MON,
|
|
[MOVE_SUBSCRIPT_PTR_REST] = BATTLE_SUBSCRIPT_REST,
|
|
[MOVE_SUBSCRIPT_PTR_UPROAR] = BATTLE_SUBSCRIPT_UPROAR,
|
|
[MOVE_SUBSCRIPT_PTR_PAY_DAY] = BATTLE_SUBSCRIPT_PAY_DAY,
|
|
[MOVE_SUBSCRIPT_PTR_VANISH_CHARGE_TURN] = BATTLE_SUBSCRIPT_VANISH_ON_CHARGE_TURN,
|
|
[MOVE_SUBSCRIPT_PTR_BIND_TARGET] = BATTLE_SUBSCRIPT_BIND_START,
|
|
[MOVE_SUBSCRIPT_PTR_QUARTER_RECOIL] = BATTLE_SUBSCRIPT_RECOIL_1_4,
|
|
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SPEED_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_EVASION_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_RECHARGE_TURN] = BATTLE_SUBSCRIPT_RECHARGE_TURN,
|
|
[MOVE_SUBSCRIPT_PTR_SET_RAGE_FLAG] = BATTLE_SUBSCRIPT_SET_RAGE_FLAG,
|
|
[MOVE_SUBSCRIPT_PTR_STEAL_ITEM] = BATTLE_SUBSCRIPT_STEAL_ITEM,
|
|
[MOVE_SUBSCRIPT_PTR_MEAN_LOOK] = BATTLE_SUBSCRIPT_MEAN_LOOK,
|
|
[MOVE_SUBSCRIPT_PTR_NIGHTMARE_START] = BATTLE_SUBSCRIPT_NIGHTMARE_START,
|
|
[MOVE_SUBSCRIPT_PTR_BOOST_ALL_STATS] = BATTLE_SUBSCRIPT_BOOST_ALL_STATS,
|
|
[MOVE_SUBSCRIPT_PTR_RAPID_SPIN] = BATTLE_SUBSCRIPT_RAPID_SPIN,
|
|
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_PARALYSIS] = BATTLE_SUBSCRIPT_HEAL_TARGET_PARALYSIS,
|
|
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_DOWN_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3] = BATTLE_SUBSCRIPT_RECOIL_1_3,
|
|
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SPEED_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_EVASION_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_THRASH] = BATTLE_SUBSCRIPT_THRASH,
|
|
[MOVE_SUBSCRIPT_PTR_KNOCK_OFF] = BATTLE_SUBSCRIPT_KNOCK_OFF,
|
|
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_UP_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_UP_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_TARGET_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_TARGET_ATK_AND_DEF_DOWN_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_USER_SPATK_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_SPATK_AND_SPDEF_UP_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_SPEED_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_SPEED_UP_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_DRAIN_HALF_DAMAGE_DEALT] = BATTLE_SUBSCRIPT_DRAIN_HALF_DAMAGE_DEALT,
|
|
[MOVE_SUBSCRIPT_PTR_DREAM_EATER] = BATTLE_SUBSCRIPT_DREAM_EATER,
|
|
[MOVE_SUBSCRIPT_PTR_RESET_ALL_STAT_STAGES] = BATTLE_SUBSCRIPT_RESET_ALL_STAT_STAGES,
|
|
[MOVE_SUBSCRIPT_PTR_BIDE_START] = BATTLE_SUBSCRIPT_BIDE_START,
|
|
[MOVE_SUBSCRIPT_PTR_STRUGGLE] = BATTLE_SUBSCRIPT_STRUGGLE,
|
|
[MOVE_SUBSCRIPT_PTR_CONVERSION] = BATTLE_SUBSCRIPT_CONVERSION,
|
|
[MOVE_SUBSCRIPT_PTR_RECOVER_HALF_MAX_HP] = BATTLE_SUBSCRIPT_RECOVER_HALF_MAX_HP,
|
|
[MOVE_SUBSCRIPT_PTR_LIGHT_SCREEN] = BATTLE_SUBSCRIPT_LIGHT_SCREEN,
|
|
[MOVE_SUBSCRIPT_PTR_REFLECT] = BATTLE_SUBSCRIPT_REFLECT,
|
|
[MOVE_SUBSCRIPT_PTR_MIST] = BATTLE_SUBSCRIPT_MIST,
|
|
[MOVE_SUBSCRIPT_PTR_FOCUS_ENERGY] = BATTLE_SUBSCRIPT_FOCUS_ENERGY,
|
|
[MOVE_SUBSCRIPT_PTR_MIMIC] = BATTLE_SUBSCRIPT_MIMIC,
|
|
[MOVE_SUBSCRIPT_PTR_LEECH_SEED_START] = BATTLE_SUBSCRIPT_LEECH_SEED_START,
|
|
[MOVE_SUBSCRIPT_PTR_DISABLE_START] = BATTLE_SUBSCRIPT_DISABLE_START,
|
|
[MOVE_SUBSCRIPT_PTR_ENCORE_START] = BATTLE_SUBSCRIPT_ENCORE_START,
|
|
[MOVE_SUBSCRIPT_PTR_PAIN_SPLIT] = BATTLE_SUBSCRIPT_PAIN_SPLIT,
|
|
[MOVE_SUBSCRIPT_PTR_CONVERSION_2] = BATTLE_SUBSCRIPT_CONVERSION_2,
|
|
[MOVE_SUBSCRIPT_PTR_LOCK_ON] = BATTLE_SUBSCRIPT_LOCK_ON,
|
|
[MOVE_SUBSCRIPT_PTR_SKETCH] = BATTLE_SUBSCRIPT_SKETCH,
|
|
[MOVE_SUBSCRIPT_PTR_FEINT] = BATTLE_SUBSCRIPT_FEINT,
|
|
[MOVE_SUBSCRIPT_PTR_DESTINY_BOND] = BATTLE_SUBSCRIPT_DESTINY_BOND,
|
|
[MOVE_SUBSCRIPT_PTR_REDUCE_TARGET_PP] = BATTLE_SUBSCRIPT_REDUCE_TARGET_PP,
|
|
[MOVE_SUBSCRIPT_PTR_PROTECT] = BATTLE_SUBSCRIPT_PROTECT,
|
|
[MOVE_SUBSCRIPT_PTR_HEAL_BELL] = BATTLE_SUBSCRIPT_HEAL_BELL,
|
|
[MOVE_SUBSCRIPT_PTR_TRY_SUBSTITUTE] = BATTLE_SUBSCRIPT_TRY_SUBSTITUTE,
|
|
[MOVE_SUBSCRIPT_PTR_FORCE_TARGET_TO_SWITCH_OR_FLEE] = BATTLE_SUBSCRIPT_FORCE_TARGET_TO_SWITCH_OR_FLEE,
|
|
[MOVE_SUBSCRIPT_PTR_TRANSFORM_INTO_TARGET] = BATTLE_SUBSCRIPT_TRANSFORM_INTO_TARGET,
|
|
[MOVE_SUBSCRIPT_PTR_MINIMIZE] = BATTLE_SUBSCRIPT_MINIMIZE,
|
|
[MOVE_SUBSCRIPT_PTR_CURSE_NORMAL] = BATTLE_SUBSCRIPT_CURSE_NORMAL,
|
|
[MOVE_SUBSCRIPT_PTR_CURSE_GHOST] = BATTLE_SUBSCRIPT_CURSE_GHOST,
|
|
[MOVE_SUBSCRIPT_PTR_PRINT_MESSAGE_AND_PLAY_ANIMATION] = BATTLE_SUBSCRIPT_PRINT_MESSAGE_AND_PLAY_ANIMATION,
|
|
[MOVE_SUBSCRIPT_PTR_FORESIGHT] = BATTLE_SUBSCRIPT_FORESIGHT,
|
|
[MOVE_SUBSCRIPT_PTR_PERISH_SONG_START] = BATTLE_SUBSCRIPT_PERISH_SONG_START,
|
|
[MOVE_SUBSCRIPT_PTR_WEATHER_START] = BATTLE_SUBSCRIPT_WEATHER_START,
|
|
[MOVE_SUBSCRIPT_PTR_SWAGGER] = BATTLE_SUBSCRIPT_SWAGGER,
|
|
[MOVE_SUBSCRIPT_PTR_INFATUATE] = BATTLE_SUBSCRIPT_INFATUATE,
|
|
[MOVE_SUBSCRIPT_PTR_SAFEGUARD_START] = BATTLE_SUBSCRIPT_SAFEGUARD_START,
|
|
[MOVE_SUBSCRIPT_PTR_PRESENT_HEAL] = BATTLE_SUBSCRIPT_PRESENT_HEAL,
|
|
[MOVE_SUBSCRIPT_PTR_MAGNITUDE] = BATTLE_SUBSCRIPT_MAGNITUDE,
|
|
[MOVE_SUBSCRIPT_PTR_BATON_PASS] = BATTLE_SUBSCRIPT_BATON_PASS,
|
|
[MOVE_SUBSCRIPT_PTR_BELLY_DRUM] = BATTLE_SUBSCRIPT_BELLY_DRUM,
|
|
[MOVE_SUBSCRIPT_PTR_TELEPORT] = BATTLE_SUBSCRIPT_TELEPORT,
|
|
[MOVE_SUBSCRIPT_PTR_FUTURE_SIGHT_START] = BATTLE_SUBSCRIPT_FUTURE_SIGHT_START,
|
|
[MOVE_SUBSCRIPT_PTR_STOCKPILE] = BATTLE_SUBSCRIPT_STOCKPILE,
|
|
[MOVE_SUBSCRIPT_PTR_SWALLOW] = BATTLE_SUBSCRIPT_SWALLOW,
|
|
[MOVE_SUBSCRIPT_PTR_TORMENT_START] = BATTLE_SUBSCRIPT_TORMENT_START,
|
|
[MOVE_SUBSCRIPT_PTR_FLATTER] = BATTLE_SUBSCRIPT_FLATTER,
|
|
[MOVE_SUBSCRIPT_PTR_MEMENTO] = BATTLE_SUBSCRIPT_MEMENTO,
|
|
[MOVE_SUBSCRIPT_PTR_CHARGE] = BATTLE_SUBSCRIPT_CHARGE,
|
|
[MOVE_SUBSCRIPT_PTR_TAUNT_START] = BATTLE_SUBSCRIPT_TAUNT_START,
|
|
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ITEMS] = BATTLE_SUBSCRIPT_EXCHANGE_ITEMS,
|
|
[MOVE_SUBSCRIPT_PTR_COPY_ABILITY] = BATTLE_SUBSCRIPT_COPY_ABILITY,
|
|
[MOVE_SUBSCRIPT_PTR_BREAK_SCREENS] = BATTLE_SUBSCRIPT_BREAK_SCREENS,
|
|
[MOVE_SUBSCRIPT_PTR_YAWN] = BATTLE_SUBSCRIPT_YAWN,
|
|
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ABILITIES] = BATTLE_SUBSCRIPT_EXCHANGE_ABILITIES,
|
|
[MOVE_SUBSCRIPT_PTR_RECOVER_PSN_PRZ_BRN] = BATTLE_SUBSCRIPT_RECOVER_PSN_PRZ_BRN,
|
|
[MOVE_SUBSCRIPT_PTR_ROOST] = BATTLE_SUBSCRIPT_ROOST,
|
|
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_SLEEP] = BATTLE_SUBSCRIPT_HEAL_TARGET_SLEEP,
|
|
[MOVE_SUBSCRIPT_PTR_GRAVITY_START] = BATTLE_SUBSCRIPT_GRAVITY_START,
|
|
[MOVE_SUBSCRIPT_PTR_MIRACLE_EYE] = BATTLE_SUBSCRIPT_MIRACLE_EYE,
|
|
[MOVE_SUBSCRIPT_PTR_HEALING_WISH] = BATTLE_SUBSCRIPT_HEALING_WISH,
|
|
[MOVE_SUBSCRIPT_PTR_TAILWIND_START] = BATTLE_SUBSCRIPT_TAILWIND_START,
|
|
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_DOWN_1_STAGE,
|
|
[MOVE_SUBSCRIPT_PTR_USER_SWAP_ATK_AND_DEF] = BATTLE_SUBSCRIPT_USER_SWAP_ATK_AND_DEF,
|
|
[MOVE_SUBSCRIPT_PTR_SUPPRESS_TARGET_ABILITY] = BATTLE_SUBSCRIPT_SUPPRESS_TARGET_ABILITY,
|
|
[MOVE_SUBSCRIPT_PTR_LUCKY_CHANT_START] = BATTLE_SUBSCRIPT_LUCKY_CHANT_START,
|
|
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ATK_AND_SPATK_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_ATK_AND_SPATK_STAGES,
|
|
[MOVE_SUBSCRIPT_PTR_EXCHANGE_DEF_AND_SPDEF_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_DEF_AND_SPDEF_STAGES,
|
|
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_INSOMNIA] = BATTLE_SUBSCRIPT_GIVE_TARGET_INSOMNIA,
|
|
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ALL_STAT_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_ALL_STAT_STAGES,
|
|
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_BURN] = BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_BURN,
|
|
[MOVE_SUBSCRIPT_PTR_DEFOG] = BATTLE_SUBSCRIPT_DEFOG,
|
|
[MOVE_SUBSCRIPT_PTR_HEAL_BLOCK_START] = BATTLE_SUBSCRIPT_HEAL_BLOCK_START,
|
|
[MOVE_SUBSCRIPT_PTR_ATTACK_THEN_SWITCH_OUT] = BATTLE_SUBSCRIPT_ATTACK_THEN_SWITCH_OUT,
|
|
[MOVE_SUBSCRIPT_PTR_EMBARGO_START] = BATTLE_SUBSCRIPT_EMBARGO_START,
|
|
[MOVE_SUBSCRIPT_PTR_PLUCK] = BATTLE_SUBSCRIPT_PLUCK,
|
|
[MOVE_SUBSCRIPT_PTR_FLING] = BATTLE_SUBSCRIPT_FLING,
|
|
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_PARALYZE] = BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_PARALYZE,
|
|
[MOVE_SUBSCRIPT_PTR_RECOIL_1_2] = BATTLE_SUBSCRIPT_RECOIL_1_2,
|
|
[MOVE_SUBSCRIPT_PTR_BURN_OR_FLINCH] = BATTLE_SUBSCRIPT_BURN_OR_FLINCH,
|
|
[MOVE_SUBSCRIPT_PTR_FREEZE_OR_FLINCH] = BATTLE_SUBSCRIPT_FREEZE_OR_FLINCH,
|
|
[MOVE_SUBSCRIPT_PTR_PARALYZE_OR_FLINCH] = BATTLE_SUBSCRIPT_PARALYZE_OR_FLINCH,
|
|
[MOVE_SUBSCRIPT_PTR_CHATTER] = BATTLE_SUBSCRIPT_CHATTER,
|
|
[MOVE_SUBSCRIPT_PTR_LUNAR_DANCE] = BATTLE_SUBSCRIPT_LUNAR_DANCE,
|
|
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_OWN_STATUS] = BATTLE_SUBSCRIPT_GIVE_TARGET_OWN_STATUS,
|
|
};
|