summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/map.json10
-rw-r--r--data/maps/Route113/map.json4
-rw-r--r--include/constants/trainer_types.h1
-rw-r--r--src/event_object_movement.c11
-rw-r--r--src/field_player_avatar.c3
-rw-r--r--src/trainer_see.c9
6 files changed, 22 insertions, 16 deletions
diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json
index 0f0a5a060..7d1979893 100644
--- a/data/maps/LavaridgeTown_Gym_1F/map.json
+++ b/data/maps/LavaridgeTown_Gym_1F/map.json
@@ -32,7 +32,7 @@
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "LavaridgeTown_Gym_1F_EventScript_1537CB",
"flag": "0"
@@ -45,7 +45,7 @@
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "LavaridgeTown_Gym_1F_EventScript_15383E",
"flag": "0"
@@ -58,7 +58,7 @@
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "LavaridgeTown_Gym_1F_EventScript_1537ED",
"flag": "0"
@@ -71,7 +71,7 @@
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "LavaridgeTown_Gym_1F_EventScript_153823",
"flag": "0"
@@ -97,7 +97,7 @@
"movement_type": "MOVEMENT_TYPE_FACE_DOWN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "LavaridgeTown_Gym_1F_EventScript_153808",
"flag": "0"
diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json
index 89d17de44..88311edd7 100644
--- a/data/maps/Route113/map.json
+++ b/data/maps/Route113/map.json
@@ -126,7 +126,7 @@
"movement_type": "MOVEMENT_TYPE_HIDDEN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "Route113_EventScript_1506A7",
"flag": "0"
@@ -139,7 +139,7 @@
"movement_type": "MOVEMENT_TYPE_HIDDEN",
"movement_range_x": 0,
"movement_range_y": 0,
- "trainer_type": "3",
+ "trainer_type": "TRAINER_TYPE_BURIED",
"trainer_sight_or_berry_tree_id": "1",
"script": "Route113_EventScript_1506E5",
"flag": "0"
diff --git a/include/constants/trainer_types.h b/include/constants/trainer_types.h
index c2adf1e12..8886cf442 100644
--- a/include/constants/trainer_types.h
+++ b/include/constants/trainer_types.h
@@ -4,5 +4,6 @@
#define TRAINER_TYPE_NONE 0
#define TRAINER_TYPE_NORMAL 1
#define TRAINER_TYPE_SEE_ALL_DIRECTIONS 2
+#define TRAINER_TYPE_BURIED 3
#endif // GUARD_CONSTANTS_TRAINER_TYPES_H
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 81e352e70..91e9da961 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -17,6 +17,7 @@
#include "constants/maps.h"
#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
+#include "constants/trainer_types.h"
// this file was known as evobjmv.c in Game Freak's original source
@@ -1386,7 +1387,7 @@ u8 SpawnSpecialObjectEventParametrized(u8 graphicsId, u8 movementType, u8 localI
objectEventTemplate.movementType = movementType;
objectEventTemplate.movementRangeX = 0;
objectEventTemplate.movementRangeY = 0;
- objectEventTemplate.trainerType = 0;
+ objectEventTemplate.trainerType = TRAINER_TYPE_NONE;
objectEventTemplate.trainerRange_berryTreeId = 0;
return SpawnSpecialObjectEvent(&objectEventTemplate);
}
@@ -2225,7 +2226,8 @@ static u16 GetObjectEventFlagIdByObjectEventId(u8 objectEventId)
return GetObjectEventFlagIdByLocalIdAndMap(gObjectEvents[objectEventId].localId, gObjectEvents[objectEventId].mapNum, gObjectEvents[objectEventId].mapGroup);
}
-u8 unref_sub_805C5D0(u8 localId, u8 mapNum, u8 mapGroup)
+// Unused
+u8 GetObjectTrainerTypeByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 objectEventId;
@@ -2235,7 +2237,8 @@ u8 unref_sub_805C5D0(u8 localId, u8 mapNum, u8 mapGroup)
return gObjectEvents[objectEventId].trainerType;
}
-u8 unref_sub_805C60C(u8 objectEventId)
+// Unused
+u8 GetObjectTrainerTypeByObjectEventId(u8 objectEventId)
{
return gObjectEvents[objectEventId].trainerType;
}
@@ -2435,7 +2438,7 @@ bool8 ObjectEventIsTrainerAndCloseToPlayer(struct ObjectEvent *objectEvent)
{
return FALSE;
}
- if (objectEvent->trainerType != 1 && objectEvent->trainerType != 3)
+ if (objectEvent->trainerType != TRAINER_TYPE_NORMAL && objectEvent->trainerType != TRAINER_TYPE_BURIED)
{
return FALSE;
}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 324dab9c8..cd6e67c8c 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -26,6 +26,7 @@
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/trainer_types.h"
EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0};
@@ -1197,7 +1198,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
playerObjEventTemplate.movementType = MOVEMENT_TYPE_PLAYER;
playerObjEventTemplate.movementRangeX = 0;
playerObjEventTemplate.movementRangeY = 0;
- playerObjEventTemplate.trainerType = 0;
+ playerObjEventTemplate.trainerType = TRAINER_TYPE_NONE;
playerObjEventTemplate.trainerRange_berryTreeId = 0;
playerObjEventTemplate.script = NULL;
playerObjEventTemplate.flagId = 0;
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 5fc0a346d..caeb22a79 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -10,6 +10,7 @@
#include "util.h"
#include "constants/event_object_movement.h"
#include "constants/field_effects.h"
+#include "constants/trainer_types.h"
static bool8 CheckTrainer(u8);
static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3);
@@ -43,7 +44,7 @@ bool8 CheckTrainers(void)
for (objEventId = 0; objEventId < 16; objEventId++)
{
if (gObjectEvents[objEventId].active
- && (gObjectEvents[objEventId].trainerType == 1 || gObjectEvents[objEventId].trainerType == 3)
+ && (gObjectEvents[objEventId].trainerType == TRAINER_TYPE_NORMAL || gObjectEvents[objEventId].trainerType == TRAINER_TYPE_BURIED)
&& CheckTrainer(objEventId))
return TRUE;
}
@@ -83,14 +84,14 @@ static bool8 TrainerCanApproachPlayer(struct ObjectEvent *trainerObj)
u8 approachDistance;
PlayerGetDestCoords(&x, &y);
- if (trainerObj->trainerType == 1) // can only see in one direction
+ if (trainerObj->trainerType == TRAINER_TYPE_NORMAL) // can only see in one direction
{
approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection);
}
- else // can see in all directions
+ else // TRAINER_TYPE_SEE_ALL_DIRECTIONS, TRAINER_TYPE_BURIED
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(sDirectionalApproachDistanceFuncs); i++)
{
approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y);
if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east