mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-15 09:36:03 -05:00
152 lines
8.1 KiB
C
152 lines
8.1 KiB
C
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H
|
|
#define POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H
|
|
|
|
#include "constants/overworld_weather.h"
|
|
|
|
#define MON_CONDITION_NONE 0
|
|
#define MON_CONDITION_SLEEP_0 (1 << 0)
|
|
#define MON_CONDITION_SLEEP_1 (1 << 1)
|
|
#define MON_CONDITION_SLEEP_2 (1 << 2)
|
|
#define MON_CONDITION_POISON (1 << 3)
|
|
#define MON_CONDITION_BURN (1 << 4)
|
|
#define MON_CONDITION_FREEZE (1 << 5)
|
|
#define MON_CONDITION_PARALYSIS (1 << 6)
|
|
#define MON_CONDITION_TOXIC (1 << 7)
|
|
#define MON_CONDITION_TOXIC_COUNTER_0 (1 << 8)
|
|
#define MON_CONDITION_TOXIC_COUNTER_1 (1 << 9)
|
|
#define MON_CONDITION_TOXIC_COUNTER_2 (1 << 10)
|
|
#define MON_CONDITION_TOXIC_COUNTER_3 (1 << 11)
|
|
|
|
#define MON_CONDITION_TOXIC_COUNT_INC MON_CONDITION_TOXIC_COUNTER_0
|
|
|
|
#define MON_CONDITION_SLEEP (MON_CONDITION_SLEEP_0 | MON_CONDITION_SLEEP_1 | MON_CONDITION_SLEEP_2)
|
|
#define MON_CONDITION_TOXIC_COUNTER (MON_CONDITION_TOXIC_COUNTER_0 | MON_CONDITION_TOXIC_COUNTER_1 | MON_CONDITION_TOXIC_COUNTER_2 | MON_CONDITION_TOXIC_COUNTER_3)
|
|
#define MON_CONDITION_ANY_POISON (MON_CONDITION_POISON | MON_CONDITION_TOXIC | MON_CONDITION_TOXIC_COUNTER)
|
|
#define MON_CONDITION_ANY (MON_CONDITION_SLEEP | MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_FREEZE | MON_CONDITION_PARALYSIS | MON_CONDITION_TOXIC)
|
|
|
|
#define MON_CONDITION_NOT_SLEEP ~MON_CONDITION_SLEEP
|
|
#define MON_CONDITION_CAN_SYNCHRONIZE (MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_PARALYSIS)
|
|
#define MON_CONDITION_FACADE_BOOST (MON_CONDITION_TOXIC | MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_PARALYSIS)
|
|
|
|
#define VOLATILE_CONDITION_NONE 0
|
|
#define VOLATILE_CONDITION_CONFUSION_0 (1 << 0)
|
|
#define VOLATILE_CONDITION_CONFUSION_1 (1 << 1)
|
|
#define VOLATILE_CONDITION_CONFUSION_2 (1 << 2)
|
|
#define VOLATILE_CONDITION_FLINCH (1 << 3)
|
|
#define VOLATILE_CONDITION_UPROAR_0 (1 << 4)
|
|
#define VOLATILE_CONDITION_UPROAR_1 (1 << 5)
|
|
#define VOLATILE_CONDITION_UPROAR_2 (1 << 6)
|
|
// unused flag: 1 << 7
|
|
#define VOLATILE_CONDITION_BIDE_0 (1 << 8)
|
|
#define VOLATILE_CONDITION_BIDE_1 (1 << 9)
|
|
#define VOLATILE_CONDITION_THRASH_0 (1 << 10)
|
|
#define VOLATILE_CONDITION_THRASH_1 (1 << 11)
|
|
#define VOLATILE_CONDITION_MOVE_LOCKED (1 << 12)
|
|
#define VOLATILE_CONDITION_BIND_0 (1 << 13)
|
|
#define VOLATILE_CONDITION_BIND_1 (1 << 14)
|
|
#define VOLATILE_CONDITION_BIND_2 (1 << 15)
|
|
#define VOLATILE_CONDITION_ATTRACT_0 (1 << 16)
|
|
#define VOLATILE_CONDITION_ATTRACT_1 (1 << 17)
|
|
#define VOLATILE_CONDITION_ATTRACT_2 (1 << 18)
|
|
#define VOLATILE_CONDITION_ATTRACT_3 (1 << 19)
|
|
#define VOLATILE_CONDITION_FOCUS_ENERGY (1 << 20)
|
|
#define VOLATILE_CONDITION_TRANSFORM (1 << 21)
|
|
#define VOLATILE_CONDITION_RECHARGING (1 << 22)
|
|
#define VOLATILE_CONDITION_RAGE (1 << 23)
|
|
#define VOLATILE_CONDITION_SUBSTITUTE (1 << 24)
|
|
#define VOLATILE_CONDITION_DESTINY_BOND (1 << 25)
|
|
#define VOLATILE_CONDITION_MEAN_LOOK (1 << 26)
|
|
#define VOLATILE_CONDITION_NIGHTMARE (1 << 27)
|
|
#define VOLATILE_CONDITION_CURSE (1 << 28)
|
|
#define VOLATILE_CONDITION_FORESIGHT (1 << 29)
|
|
#define VOLATILE_CONDITION_DEFENSE_CURL (1 << 30)
|
|
#define VOLATILE_CONDITION_TORMENT (1 << 31)
|
|
|
|
#define VOLATILE_CONDITION_CONFUSION (VOLATILE_CONDITION_CONFUSION_0 | VOLATILE_CONDITION_CONFUSION_1 | VOLATILE_CONDITION_CONFUSION_2)
|
|
#define VOLATILE_CONDITION_UPROAR (VOLATILE_CONDITION_UPROAR_0 | VOLATILE_CONDITION_UPROAR_1 | VOLATILE_CONDITION_UPROAR_2)
|
|
#define VOLATILE_CONDITION_BIDE (VOLATILE_CONDITION_BIDE_0 | VOLATILE_CONDITION_BIDE_1)
|
|
#define VOLATILE_CONDITION_THRASH (VOLATILE_CONDITION_THRASH_0 | VOLATILE_CONDITION_THRASH_1)
|
|
#define VOLATILE_CONDITION_BIND (VOLATILE_CONDITION_BIND_0 | VOLATILE_CONDITION_BIND_1 | VOLATILE_CONDITION_BIND_2)
|
|
#define VOLATILE_CONDITION_ATTRACT (VOLATILE_CONDITION_ATTRACT_0 | VOLATILE_CONDITION_ATTRACT_1 | VOLATILE_CONDITION_ATTRACT_2 | VOLATILE_CONDITION_ATTRACT_3)
|
|
|
|
#define VOLATILE_CONDITION_BATON_PASSED (VOLATILE_CONDITION_FOCUS_ENERGY \
|
|
| VOLATILE_CONDITION_MEAN_LOOK \
|
|
| VOLATILE_CONDITION_CONFUSION \
|
|
| VOLATILE_CONDITION_CURSE \
|
|
| VOLATILE_CONDITION_SUBSTITUTE)
|
|
#define VOLATILE_CONDITION_TRAPPED (VOLATILE_CONDITION_BIND \
|
|
| VOLATILE_CONDITION_MEAN_LOOK)
|
|
|
|
#define VOLATILE_CONDITION_CONFUSION_SHIFT 0
|
|
#define VOLATILE_CONDITION_UPROAR_SHIFT 4
|
|
#define VOLATILE_CONDITION_BIDE_SHIFT 8
|
|
#define VOLATILE_CONDITION_THRASH_SHIFT 10
|
|
#define VOLATILE_CONDITION_BIND_SHIFT 13
|
|
#define VOLATILE_CONDITION_ATTRACT_SHIFT 16
|
|
|
|
#define SIDE_CONDITION_NONE 0
|
|
#define SIDE_CONDITION_REFLECT (1 << 0)
|
|
#define SIDE_CONDITION_LIGHT_SCREEN (1 << 1)
|
|
#define SIDE_CONDITION_SPIKES (1 << 2)
|
|
#define SIDE_CONDITION_SAFEGUARD (1 << 3)
|
|
#define SIDE_CONDITION_FUTURE_SIGHT (1 << 4)
|
|
#define SIDE_CONDITION_WISH (1 << 5)
|
|
#define SIDE_CONDITION_MIST (1 << 6)
|
|
#define SIDE_CONDITION_STEALTH_ROCK (1 << 7)
|
|
#define SIDE_CONDITION_TAILWIND_0 (1 << 8)
|
|
#define SIDE_CONDITION_TAILWIND_1 (1 << 9)
|
|
#define SIDE_CONDITION_TOXIC_SPIKES (1 << 10)
|
|
// unused flag: 1 << 11
|
|
#define SIDE_CONDITION_LUCKY_CHANT_0 (1 << 12)
|
|
#define SIDE_CONDITION_LUCKY_CHANT_1 (1 << 13)
|
|
#define SIDE_CONDITION_LUCKY_CHANT_2 (1 << 14)
|
|
|
|
#define SIDE_CONDITION_TAILWIND (SIDE_CONDITION_TAILWIND_0 | SIDE_CONDITION_TAILWIND_1)
|
|
#define SIDE_CONDITION_LUCKY_CHANT (SIDE_CONDITION_LUCKY_CHANT_0 | SIDE_CONDITION_LUCKY_CHANT_1 | SIDE_CONDITION_LUCKY_CHANT_2)
|
|
|
|
#define SIDE_CONDITION_TAILWIND_SHIFT SIDE_CONDITION_TAILWIND_0
|
|
#define SIDE_CONDITION_LUCKY_CHANT_SHIFT SIDE_CONDITION_LUCKY_CHANT_0
|
|
|
|
#define FIELD_CONDITION_RAINING_TEMP (1 << 0)
|
|
#define FIELD_CONDITION_RAINING_PERM (1 << 1)
|
|
#define FIELD_CONDITION_SANDSTORM_TEMP (1 << 2)
|
|
#define FIELD_CONDITION_SANDSTORM_PERM (1 << 3)
|
|
#define FIELD_CONDITION_SUNNY_TEMP (1 << 4)
|
|
#define FIELD_CONDITION_SUNNY_PERM (1 << 5)
|
|
#define FIELD_CONDITION_HAILING_TEMP (1 << 6)
|
|
#define FIELD_CONDITION_HAILING_PERM (1 << 7)
|
|
#define FIELD_CONDITION_UPROAR ((1 << 8) | (1 << 9) | (1 << 10) | (1 << 11)) // mask for which clients are in an Uproar
|
|
#define FIELD_CONDITION_GRAVITY_0 (1 << 12)
|
|
#define FIELD_CONDITION_GRAVITY_1 (1 << 13)
|
|
#define FIELD_CONDITION_GRAVITY_2 (1 << 14)
|
|
#define FIELD_CONDITION_DEEP_FOG (1 << 15)
|
|
#define FIELD_CONDITION_TRICK_ROOM_0 (1 << 16)
|
|
#define FIELD_CONDITION_TRICK_ROOM_1 (1 << 17)
|
|
#define FIELD_CONDITION_TRICK_ROOM_2 (1 << 18)
|
|
|
|
#define FIELD_CONDITION_RAINING (FIELD_CONDITION_RAINING_TEMP | FIELD_CONDITION_RAINING_PERM)
|
|
#define FIELD_CONDITION_SANDSTORM (FIELD_CONDITION_SANDSTORM_TEMP | FIELD_CONDITION_SANDSTORM_PERM)
|
|
#define FIELD_CONDITION_SUNNY (FIELD_CONDITION_SUNNY_TEMP | FIELD_CONDITION_SUNNY_PERM)
|
|
#define FIELD_CONDITION_HAILING (FIELD_CONDITION_HAILING_TEMP | FIELD_CONDITION_HAILING_PERM)
|
|
#define FIELD_CONDITION_WEATHER (FIELD_CONDITION_RAINING \
|
|
| FIELD_CONDITION_SANDSTORM \
|
|
| FIELD_CONDITION_SUNNY \
|
|
| FIELD_CONDITION_HAILING \
|
|
| FIELD_CONDITION_DEEP_FOG)
|
|
#define FIELD_CONDITION_SOLAR_DOWN (FIELD_CONDITION_RAINING \
|
|
| FIELD_CONDITION_SANDSTORM \
|
|
| FIELD_CONDITION_HAILING \
|
|
| FIELD_CONDITION_DEEP_FOG)
|
|
#define FIELD_CONDITION_CASTFORM (FIELD_CONDITION_RAINING | FIELD_CONDITION_SUNNY | FIELD_CONDITION_HAILING)
|
|
|
|
#define FIELD_CONDITION_GRAVITY (FIELD_CONDITION_GRAVITY_0 | FIELD_CONDITION_GRAVITY_1 | FIELD_CONDITION_GRAVITY_2)
|
|
#define FIELD_CONDITION_GRAVITY_INIT (FIELD_CONDITION_GRAVITY_0 | FIELD_CONDITION_GRAVITY_2)
|
|
#define FIELD_CONDITION_TRICK_ROOM (FIELD_CONDITION_TRICK_ROOM_0 | FIELD_CONDITION_TRICK_ROOM_1 | FIELD_CONDITION_TRICK_ROOM_2)
|
|
#define FIELD_CONDITION_TRICK_ROOM_INIT (FIELD_CONDITION_TRICK_ROOM_0 | FIELD_CONDITION_TRICK_ROOM_2)
|
|
|
|
#define FIELD_CONDITION_UPROAR_SHIFT 8
|
|
#define FIELD_CONDITION_GRAVITY_SHIFT 12
|
|
#define FIELD_CONDITION_TRICK_ROOM_SHIFT 16
|
|
|
|
#endif // POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H
|