Fix NiGHTS drone loop detection by using pl->flyangle

(cherry picked from commit 67e438128435aca992e2d45aa1f35603c5501984)
This commit is contained in:
mazmazz 2018-03-26 00:33:17 -04:00
parent 6fbc014ea3
commit ba7d97733d

View file

@ -777,14 +777,14 @@ static boolean PIT_CheckThing(mobj_t *thing)
// not (your direction) xor (stored direction) // not (your direction) xor (stored direction)
// In other words, you can't u-turn and respawn rings near the drone. // In other words, you can't u-turn and respawn rings near the drone.
if (pl->bonustime && (pl->pflags & PF_NIGHTSMODE) && (INT32)leveltime > droneobj->extravalue2 && ( if (pl->bonustime && (pl->pflags & PF_NIGHTSMODE) && (INT32)leveltime > droneobj->extravalue2 && (
!(pl->anotherflyangle >= 90 && pl->anotherflyangle <= 270) !(pl->flyangle >= 90 && pl->flyangle <= 270)
^ (droneobj->extravalue1 >= 90 && droneobj->extravalue1 <= 270) ^ (droneobj->extravalue1 >= 90 && droneobj->extravalue1 <= 270)
)) ))
{ {
// Reload all the fancy ring stuff! // Reload all the fancy ring stuff!
P_ReloadRings(); P_ReloadRings();
} }
droneobj->extravalue1 = pl->anotherflyangle; droneobj->extravalue1 = pl->flyangle;
droneobj->extravalue2 = (INT32)leveltime + TICRATE; droneobj->extravalue2 = (INT32)leveltime + TICRATE;
} }