- 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.

This commit is contained in:
Christoph Oelckers 2016-12-27 15:34:44 +01:00
parent 4da8b1a3b7
commit 4bf19fb665
1 changed files with 4 additions and 0 deletions

View File

@ -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.