From 4bf19fb665bd4a32068916eda1bc89b40b99a506 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 27 Dec 2016 15:34:44 +0100 Subject: [PATCH] - don't let monsters block teleports of non-solid inventory items. Doom's code never considered such a possibility and would consider the move blocking, despite the item being non-solid. --- src/p_map.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/p_map.cpp b/src/p_map.cpp index 913840e59..9b21a4c02 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -455,6 +455,10 @@ bool P_TeleportMove(AActor* thing, const DVector3 &pos, bool telefrag, bool modi if (!P_CanCollideWith(tmf.thing, th)) continue; + // Don't let players and monsters block item teleports (all other actor types will still block.) + if (thing->IsKindOf(RUNTIME_CLASS(AInventory)) && !(thing->flags & MF_SOLID) && ((th->flags3 & MF3_ISMONSTER) || th->player != nullptr)) + continue; + // monsters don't stomp things except on boss level // [RH] Some Heretic/Hexen monsters can telestomp // ... and some items can never be telefragged while others will be telefragged by everything that teleports upon them.