mirror of
https://github.com/pret/pokeemerald.git
synced 2026-04-24 07:09:48 -05:00
137 lines
3.9 KiB
C
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
|