diff --git a/src/p_user.c b/src/p_user.c index 6a87f8ca3..19ddde833 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -774,6 +774,14 @@ void P_NightserizePlayer(player_t *player, INT32 nighttime) player->texttimer = (UINT8)(110 - timeinmap); } + // force NiGHTS to face forward or backward + if (player->mo->target) + player->mo->angle = R_PointToAngle2(player->mo->target->x, player->mo->target->y, player->mo->x, player->mo->y) // player->angle_pos, won't be set on first instance + + ((player->mo->target->flags2 & MF2_AMBUSH) ? // if axis is invert, take the opposite right angle + (player->flyangle > 90 && player->flyangle < 270 ? ANGLE_90 : -ANGLE_90) + : (player->flyangle > 90 && player->flyangle < 270 ? -ANGLE_90 : ANGLE_90) + ); + player->powers[pw_carry] = CR_NIGHTSMODE; }