- fixed: P_TeleportMove was missing checks for THRUACTORS and THRUSPECIES flags.

This commit is contained in:
Christoph Oelckers 2016-01-29 11:29:47 +01:00
parent f8d5430c06
commit 7b1fbe0a02
1 changed files with 6 additions and 0 deletions

View File

@ -430,6 +430,12 @@ bool P_TeleportMove(AActor *thing, fixed_t x, fixed_t y, fixed_t z, bool telefra
if (abs(th->X() - tmf.x) >= blockdist || abs(th->Y() - tmf.y) >= blockdist)
continue;
if ((th->flags2 | tmf.thing->flags2) & MF2_THRUACTORS)
continue;
if (tmf.thing->flags6 & MF6_THRUSPECIES && tmf.thing->GetSpecies() == th->GetSpecies())
continue;
// [RH] Z-Check
// But not if not MF2_PASSMOBJ or MF3_DONTOVERLAP are set!
// Otherwise those things would get stuck inside each other.