summaryrefslogtreecommitdiff
path: root/src/dungeon_capabilities_1.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-12-01 16:33:06 -0600
committerGitHub <noreply@github.com>2021-12-01 14:33:06 -0800
commit4fc272fea6bc7332fae031ebeb12362cff1c35de (patch)
tree88092c6da3a6bb741caceab54f5372aee4ad5bae /src/dungeon_capabilities_1.c
parentfd8720b75c56ef3f641e6c5abf6c446929c824b9 (diff)
No wifi + 2 days on train = more decomp (#80)
* No wifi + 2 days on train = more decomp * layin some more * one func, one file
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;
+}