summaryrefslogtreecommitdiff
path: root/src/field_map_obj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_map_obj.c')
-rwxr-xr-xsrc/field_map_obj.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 80f628bb5..4f2a359e4 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -4154,3 +4154,23 @@ bool8 sub_8093980(struct MapObject *mapObject, struct Sprite *sprite)
an_look_any(mapObject, sprite, DIR_EAST);
return TRUE;
}
+
+void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed)
+{
+ s16 x;
+ s16 y;
+
+ x = mapObject->coords2.x;
+ y = mapObject->coords2.y;
+ FieldObjectSetDirection(mapObject, direction);
+ MoveCoords(direction, &x, &y);
+ npc_coords_shift(mapObject, x, y);
+ oamt_npc_ministep_reset(sprite, direction, speed);
+ sprite->animPaused = FALSE;
+ if (gUnknown_020375B8 != NULL && sub_8097F78(mapObject) != 0x10)
+ {
+ sprite->animPaused = TRUE;
+ }
+ mapObject->mapobj_bit_2 = TRUE;
+ sprite->data2 = 1;
+}