summaryrefslogtreecommitdiff
path: root/src/dungeon_capabilities_1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dungeon_capabilities_1.c')
-rw-r--r--src/dungeon_capabilities_1.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/dungeon_capabilities_1.c b/src/dungeon_capabilities_1.c
index 956c6e1..869e2f3 100644
--- a/src/dungeon_capabilities_1.c
+++ b/src/dungeon_capabilities_1.c
@@ -54,3 +54,26 @@ bool8 CannotAct(struct DungeonEntity *pokemon)
}
return FALSE;
}
+
+bool8 CannotAttack(struct DungeonEntity *pokemon, u8 param_2)
+{
+ struct DungeonEntityData *iVar3;
+
+ iVar3 = pokemon->entityData;
+ if ((((((param_2 != '\0') ||
+ (iVar3->sleepStatus == SLEEP_STATUS_SLEEPLESS)) ||
+ (iVar3->sleepStatus == SLEEP_STATUS_YAWNING)) ||
+ (iVar3->sleepStatus == SLEEP_STATUS_NONE)) &&
+ ((((iVar3->immobilizeStatus != IMMOBILIZE_STATUS_FROZEN &&
+ (iVar3->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE)) &&
+ ((iVar3->immobilizeStatus != IMMOBILIZE_STATUS_WRAPPED_BY_FOE &&
+ ((iVar3->immobilizeStatus != IMMOBILIZE_STATUS_PETRIFIED &&
+ (iVar3->volatileStatus != VOLATILE_STATUS_CRINGING)))))) &&
+ (iVar3->volatileStatus != VOLATILE_STATUS_PAUSED)))) &&
+ (((iVar3->volatileStatus != VOLATILE_STATUS_INFATUATED &&
+ iVar3->nonVolatileStatus != NON_VOLATILE_STATUS_PARALYZED)) &&
+ !ShouldAvoidEnemies(pokemon))) {
+ return FALSE;
+ }
+ return TRUE;
+}