pokeemerald/include/constants/battle_move_resolution.h

137 lines
3.9 KiB
C

#ifndef GUARD_CONSTANTS_BATTLE_MOVE_RESOLUTION_H
#define GUARD_CONSTANTS_BATTLE_MOVE_RESOLUTION_H
enum Obedience
{
OBEYS,
DISOBEYS_LOAFS,
DISOBEYS_HITS_SELF,
DISOBEYS_FALL_ASLEEP,
DISOBEYS_WHILE_ASLEEP,
DISOBEYS_RANDOM_MOVE,
};
enum CancelerResult
{
CANCELER_RESULT_SUCCESS,
CANCELER_RESULT_BREAK, // Runs script. Increments state
CANCELER_RESULT_PAUSE, // Runs script. Does not increment state
CANCELER_RESULT_FAILURE, // Move failed, jump to script that handles the failure
};
enum CancelerState
{
CANCELER_STANCE_CHANGE_1,
CANCELER_CLEAR_FLAGS,
CANCELER_SKY_DROP,
CANCELER_RECHARGE,
CANCELER_CHILLY_RECEPTION,
CANCELER_ASLEEP_OR_FROZEN,
CANCELER_POWER_POINTS,
CANCELER_OBEDIENCE,
CANCELER_TRUANT,
CANCELER_FOCUS_GEN5,
CANCELER_FLINCH,
CANCELER_DISABLED,
CANCELER_VOLATILE_BLOCKED, // Gravity / Heal Block / Throat Chop
CANCELER_TAUNTED,
CANCELER_IMPRISONED,
CANCELER_CONFUSED,
CANCELER_GHOST,
CANCELER_PARALYZED,
CANCELER_INFATUATION,
CANCELER_Z_MOVES,
CANCELER_CHOICE_LOCK,
CANCELER_CALLSUBMOVE,
CANCELER_THAW,
CANCELER_STANCE_CHANGE_2,
CANCELER_ATTACKSTRING,
CANCELER_SET_TARGETS,
CANCELER_PPDEDUCTION,
CANCELER_MOVE_SPECIFIC_MESSAGE,
CANCELER_SKY_BATTLE,
CANCELER_WEATHER_PRIMAL,
CANCELER_FOCUS_PRE_GEN5,
CANCELER_BIDE,
CANCELER_MOVE_FAILURE,
CANCELER_MOVE_EFFECT_FAILURE_TARGET,
CANCELER_POWDER_STATUS,
CANCELER_PRIORITY_BLOCK,
CANCELER_PROTEAN,
CANCELER_EXPLODING_DAMP,
CANCELER_EXPLOSION,
CANCELER_CHARGING,
CANCELER_NO_TARGET,
CANCELER_TOOK_ATTACK,
CANCELER_TARGET_FAILURE,
CANCELER_NOT_FULLY_PROTECTED,
CANCELER_MULTIHIT_MOVES,
CANCELER_END,
};
enum MoveEndResult
{
MOVEEND_RESULT_CONTINUE,
MOVEEND_RESULT_RUN_SCRIPT,
MOVEEND_RESULT_BREAK,
};
// cases for Cmd_moveend - Order matters!
enum MoveEndState
{
MOVEEND_SET_VALUES,
MOVEEND_PROTECT_LIKE_EFFECT,
MOVEEND_ABSORB,
MOVEEND_RAGE,
MOVEEND_SYNCHRONIZE_TARGET,
MOVEEND_ABILITIES,
MOVEEND_FORM_CHANGE_ON_HIT, // Disguise / Gulp Missile
MOVEEND_ABILITIES_ATTACKER,
MOVEEND_QUEUE_DANCER,
MOVEEND_STATUS_IMMUNITY_ABILITIES, // TODO: Do berries come before????
MOVEEND_SYNCHRONIZE_ATTACKER,
MOVEEND_ATTACKER_INVISIBLE,
MOVEEND_ATTACKER_VISIBLE,
MOVEEND_TARGET_VISIBLE,
MOVEEND_ITEM_EFFECTS_TARGET,
MOVEEND_ITEM_EFFECTS_ATTACKER_1,
MOVEEND_SYMBIOSIS,
MOVEEND_SUBSTITUTE,
MOVEEND_FAINT_BLOCK,
MOVEEND_SKY_DROP_CONFUSE,
MOVEEND_UPDATE_LAST_MOVES,
MOVEEND_MIRROR_MOVE,
MOVEEND_NEXT_TARGET, // Everything up until here is handled for each strike of a spread move
MOVEEND_HP_THRESHOLD_ITEMS_TARGET, // Activation only during a multi hit move / ability (Parental Bond)
MOVEEND_MULTIHIT_MOVE,
MOVEEND_DEFROST,
MOVEEND_SHEER_FORCE, // If move is Sheer Force affected, skip to Hit Escape + One
MOVEEND_MOVE_BLOCK,
MOVEEND_ITEM_EFFECTS_ATTACKER_2,
MOVEEND_ABILITY_EFFECT_FOES_FAINTED, // Moxie-like abilities / Battle Bond / Magician
MOVEEND_SHELL_TRAP,
MOVEEND_COLOR_CHANGE, // Color Change / Berserk / Anger Shell
MOVEEND_KEE_MARANGA_HP_THRESHOLD_ITEM_TARGET,
MOVEEND_CARD_BUTTON, // Red Card / Eject Button
MOVEEND_LIFE_ORB_SHELL_BELL,
MOVEEND_FORM_CHANGE,
MOVEEND_EMERGENCY_EXIT,
MOVEEND_HIT_ESCAPE,
MOVEEND_PICKPOCKET,
MOVEEND_ITEMS_EFFECTS_ALL,
MOVEEND_WHITE_HERB,
MOVEEND_OPPORTUNIST,
MOVEEND_MIRROR_HERB,
MOVEEND_THIRD_MOVE_BLOCK,
MOVEEND_EJECT_PACK,
MOVEEND_CLEAR_BITS,
MOVEEND_DANCER,
MOVEEND_PURSUIT_NEXT_ACTION,
MOVEEND_COUNT,
// This guarantees a correct jump if new moveends are added directly after MOVEEND_HIT_ESCAPE
MOVEEND_JUMP_TO_HIT_ESCAPE_PLUS_ONE = (MOVEEND_HIT_ESCAPE + 1),
};
#endif // GUARD_CONSTANTS_BATTLE_MOVE_RESOLUTION_H