diff --git a/src/p_enemy.cpp b/src/p_enemy.cpp index 70b80e7fbf..81a58ac158 100644 --- a/src/p_enemy.cpp +++ b/src/p_enemy.cpp @@ -2790,16 +2790,16 @@ void A_Face (AActor *self, AActor *other, angle_t max_turn, angle_t max_pitch) { // [DH] Don't need to do proper fixed->double conversion, since the // result is only used in a ratio. - double dist_x = self->target->x - self->x; - double dist_y = self->target->y - self->y; + double dist_x = other->x - self->x; + double dist_y = other->y - self->y; // Positioning ala missile spawning, 32 units above foot level fixed_t source_z = self->z + 32*FRACUNIT + self->GetBobOffset(); - fixed_t target_z = self->target->z + 32*FRACUNIT + self->target->GetBobOffset(); + fixed_t target_z = other->z + 32*FRACUNIT + other->GetBobOffset(); // If the target z is above the target's head, reposition to the middle of // its body. - if (target_z >= self->target->z + self->target->height) + if (target_z >= other->z + other->height) { - target_z = self->target->z + self->target->height / 2; + target_z = other->z + other->height / 2; } double dist_z = target_z - source_z; double dist = sqrt(dist_x*dist_x + dist_y*dist_y + dist_z*dist_z);