From 7b1fbe0a025e5193a8fcf7e4975a7d23d19bb5f6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 29 Jan 2016 11:29:47 +0100 Subject: [PATCH] - fixed: P_TeleportMove was missing checks for THRUACTORS and THRUSPECIES flags. --- src/p_map.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/p_map.cpp b/src/p_map.cpp index 7fd0ece38..1aacff982 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -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.