diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dungeon_action.c | 17 | ||||
-rw-r--r-- | src/dungeon_movement.c | 8 | ||||
-rw-r--r-- | src/status_checks.c | 3 |
3 files changed, 22 insertions, 6 deletions
diff --git a/src/dungeon_action.c b/src/dungeon_action.c index 6d8fcb3..9034e4c 100644 --- a/src/dungeon_action.c +++ b/src/dungeon_action.c @@ -1,6 +1,9 @@ #include "global.h" #include "dungeon_action.h" + +#include "constants/dungeon_action.h" #include "dungeon_entity.h" +#include "pokemon.h" void SetAction(struct DungeonActionContainer *actionPointer, u16 action) { @@ -8,3 +11,17 @@ void SetAction(struct DungeonActionContainer *actionPointer, u16 action) actionPointer->actionUseIndex = 0; actionPointer->unkC = 0; } + +void SetWalkAction(struct DungeonActionContainer *actionPointer, s16 species) +{ + if (GetIsMoving(species)) + { + actionPointer->action = DUNGEON_ACTION_WALK; + } + else + { + actionPointer->action = DUNGEON_ACTION_WAIT; + } + actionPointer->actionUseIndex = 0; + actionPointer->unkC = 0; +} diff --git a/src/dungeon_movement.c b/src/dungeon_movement.c index 3df74ee..d342262 100644 --- a/src/dungeon_movement.c +++ b/src/dungeon_movement.c @@ -7,6 +7,7 @@ #include "constants/status.h" #include "constants/targeting.h" #include "code_80521D0.h" +#include "dungeon_action.h" #include "dungeon_ai_items.h" #include "dungeon_capabilities_1.h" #include "dungeon_global_data.h" @@ -26,7 +27,6 @@ extern char *gPtrItsaMonsterHouseMessage; extern void SendImmobilizeEndMessage(struct DungeonEntity*, struct DungeonEntity*); extern void SetMessageArgument(char[], struct DungeonEntity*, u32); extern void ResetAction(u16*); -extern void SetWalkAction(u16*, s16); extern void DecideAttack(struct DungeonEntity*); extern void MoveIfPossible(struct DungeonEntity*, bool8); extern u8 sub_8044B28(void); @@ -209,7 +209,7 @@ void DecideAction(struct DungeonEntity *pokemon) ResetAction(&pokemonData->action.action); if (pokemonData->clientType == CLIENT_TYPE_CLIENT) { - SetWalkAction(&pokemonData->action.action, pokemonData->entityID); + SetWalkAction(&pokemonData->action, pokemonData->entityID); pokemonData->action.facingDir = DungeonRandomCapped(NUM_DIRECTIONS); pokemonData->targetPosition.x = pokemon->posWorld.x; pokemonData->targetPosition.y = pokemon->posWorld.y - 1; @@ -228,7 +228,7 @@ void DecideAction(struct DungeonEntity *pokemon) } if (pokemonData->volatileStatus == VOLATILE_STATUS_CONFUSED) { - SetWalkAction(&pokemonData->action.action, pokemonData->entityID); + SetWalkAction(&pokemonData->action, pokemonData->entityID); } else { @@ -243,7 +243,7 @@ void DecideAction(struct DungeonEntity *pokemon) { if (pokemonData->volatileStatus == VOLATILE_STATUS_CONFUSED) { - SetWalkAction(&pokemonData->action.action, pokemonData->entityID); + SetWalkAction(&pokemonData->action, pokemonData->entityID); } else { diff --git a/src/status_checks.c b/src/status_checks.c index 5abb0fe..ed39e99 100644 --- a/src/status_checks.c +++ b/src/status_checks.c @@ -14,10 +14,9 @@ extern char *gPtrWrappedByMessage; extern char *gPtrBideMessage; extern char *gPtrPausedMessage; extern char *gPtrInfatuatedMessage; - extern char gAvailablePokemonNames[]; + extern void SetMessageArgument(char[], struct DungeonEntity*, u32); -extern void SetWalkAction(struct DungeonActionContainer*, s16); extern bool8 CanMoveForward2(struct DungeonEntity*, u8); extern void DecideAttack(struct DungeonEntity*); |