summaryrefslogtreecommitdiff
path: root/src/dungeon_capabilities.c
blob: 7a621495e1ccc6c84c61cfff151216aa418ddc81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "global.h"
#include "dungeon_capabilities.h"

#include "constants/status.h"

bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker)
{
    struct DungeonEntityData *pokemonData = pokemon->entityData;
    if ((checkBlinker && pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER)
        || pokemonData->sleepStatus == SLEEP_STATUS_SLEEP
        || pokemonData->sleepStatus == SLEEP_STATUS_NAPPING
        || pokemonData->sleepStatus == SLEEP_STATUS_NIGHTMARE
        || pokemonData->volatileStatus == VOLATILE_STATUS_PAUSED
        || pokemonData->volatileStatus == VOLATILE_STATUS_INFATUATED
        || pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED)
    {
        return TRUE;
    }
    if (pokemonData->terrifiedTurnsLeft != 0)
    {
        return TRUE;
    }
    return FALSE;
}