summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-21 00:18:31 -0400
committerscnorton <scnorton@biociphers.org>2017-05-24 16:14:45 -0400
commit83ddca476069c52e0ea550b335539c0371d164c3 (patch)
tree04fc85bc69048023b6e2bda8982260083e7afce7 /src
parenta8d4813e571bb4dcdac5ee1fcf11d1efa4384687 (diff)
field_map_obj.c up to and including FieldObjectIsTrainerAndCloseToPlayer
Diffstat (limited to 'src')
-rw-r--r--src/field_map_obj.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index a7856ec07..61ec26365 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1601,3 +1601,44 @@ u8 sub_805C9D8(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
+u8 sub_805CA08(struct MapObject *mapObject, struct Sprite *sprite)
+{
+ if (FieldObjectExecRegularAnim(mapObject, sprite) != 0)
+ {
+ mapObject->mapobj_bit_1 = 0;
+ sprite->data1 = 1;
+ }
+ return 0;
+}
+
+u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject)
+{
+ s16 x;
+ s16 y;
+ s16 objx;
+ s16 objy;
+ s16 minx;
+ s16 maxx;
+ s16 miny;
+ s16 maxy;
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH) == 0)
+ {
+ return 0;
+ }
+ if (mapObject->trainerType != 1 && mapObject->trainerType != 3)
+ {
+ return 0;
+ }
+ PlayerGetDestCoords(&x, &y);
+ objx = mapObject->coords2.x;
+ objy = mapObject->coords2.y;
+ minx = objx - mapObject->trainerRange_berryTreeId;
+ miny = objy - mapObject->trainerRange_berryTreeId;
+ maxx = objx + mapObject->trainerRange_berryTreeId;
+ maxy = objy + mapObject->trainerRange_berryTreeId;
+ if (minx > x || maxx < x || miny > y || maxy < y)
+ {
+ return 0;
+ }
+ return 1;
+}