pokeemmo/include/constants/battle_end_turn.h

93 lines
2.5 KiB
C

#ifndef GUARD_CONSTANTS_BATTLE_END_TURN_H
#define GUARD_CONSTANTS_BATTLE_END_TURN_H
// General End Turn Effects based on research from smogon from vanilla games:
// https://www.smogon.com/forums/threads/sword-shield-battle-mechanics-research.3655528/page-64#post-9244179
enum EndTurnResolutionOrder
{
ENDTURN_ORDER,
ENDTURN_VARIOUS,
ENDTURN_WEATHER,
ENDTURN_WEATHER_DAMAGE,
ENDTURN_EMERGENCY_EXIT_1,
ENDTURN_AFFECTION,
ENDTURN_FUTURE_SIGHT,
ENDTURN_WISH,
ENDTURN_FIRST_EVENT_BLOCK,
ENDTURN_EMERGENCY_EXIT_2,
ENDTURN_AQUA_RING,
ENDTURN_INGRAIN,
ENDTURN_LEECH_SEED,
ENDTURN_POISON,
ENDTURN_BURN,
ENDTURN_FROSTBITE,
ENDTURN_NIGHTMARE,
ENDTURN_CURSE,
ENDTURN_WRAP,
ENDTURN_SALT_CURE,
ENDTURN_OCTOLOCK,
ENDTURN_SYRUP_BOMB,
ENDTURN_TAUNT,
ENDTURN_TORMENT,
ENDTURN_ENCORE,
ENDTURN_DISABLE,
ENDTURN_MAGNET_RISE,
ENDTURN_TELEKINESIS,
ENDTURN_HEAL_BLOCK,
ENDTURN_EMBARGO,
ENDTURN_YAWN,
ENDTURN_PERISH_SONG,
ENDTURN_ROOST,
ENDTURN_EMERGENCY_EXIT_3,
ENDTURN_SECOND_EVENT_BLOCK,
ENDTURN_TRICK_ROOM,
ENDTURN_GRAVITY,
ENDTURN_WATER_SPORT,
ENDTURN_MUD_SPORT,
ENDTURN_WONDER_ROOM,
ENDTURN_MAGIC_ROOM,
ENDTURN_TERRAIN,
ENDTURN_THIRD_EVENT_BLOCK,
ENDTURN_EMERGENCY_EXIT_4,
ENDTURN_FORM_CHANGE_ABILITIES,
ENDTURN_EJECT_PACK,
ENDTURN_DYNAMAX,
ENDTURN_COUNT,
};
// Block that handles effects for each individual battler on the field (eg residual damage)
enum FirstEventBlock
{
FIRST_EVENT_BLOCK_GMAX_MOVE_RESIDUAL, // Needs to be split
FIRST_EVENT_BLOCK_SEA_OF_FIRE_DAMAGE,
FIRST_EVENT_BLOCK_THRASH, // Thrash isn't handled here in vanilla but for now it is that best place for it.
FIRST_EVENT_BLOCK_GRASSY_TERRAIN_HEAL,
FIRST_EVENT_BLOCK_ABILITIES,
FIRST_EVENT_BLOCK_HEAL_ITEMS,
};
// Block that tries to remove side statuses
enum SecondEventBlock
{
SECOND_EVENT_BLOCK_REFLECT,
SECOND_EVENT_BLOCK_LIGHT_SCREEN,
SECOND_EVENT_BLOCK_SAFEGUARD,
SECOND_EVENT_BLOCK_MIST,
SECOND_EVENT_BLOCK_TAILWIND,
SECOND_EVENT_BLOCK_LUCKY_CHANT,
SECOND_EVENT_BLOCK_RAINBOW,
SECOND_EVENT_BLOCK_SEA_OF_FIRE,
SECOND_EVENT_BLOCK_SWAMP,
SECOND_EVENT_BLOCK_AURORA_VEIL,
};
// Block that handles Uproar, items and non-form changing abilities
enum ThirdEventBlock
{
THIRD_EVENT_BLOCK_UPROAR,
THIRD_EVENT_BLOCK_ABILITIES,
THIRD_EVENT_BLOCK_ITEMS,
};
#endif // GUARD_CONSTANTS_BATTLE_END_TURN_H