93 lines
2.5 KiB
C
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
|