diff --git a/src/p_interaction.cpp b/src/p_interaction.cpp index 102142d38..9aa178e64 100644 --- a/src/p_interaction.cpp +++ b/src/p_interaction.cpp @@ -1545,7 +1545,7 @@ dopain: target->SetState (target->SeeState); } } - else if ((damage > 0 || fakedPain) && source != target->target && target->OkayToSwitchTarget (source)) + else if (source != target->target && target->OkayToSwitchTarget (source)) { // Target actor is not intent on another actor, // so make him chase after source diff --git a/src/p_map.cpp b/src/p_map.cpp index 1f53181f1..434db69f1 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -1298,7 +1298,7 @@ bool PIT_CheckThing(FMultiBlockThingsIterator &it, FMultiBlockThingsIterator::Ch if ((tm.thing->Z() >= topz) || (tm.thing->Top() <= thing->Z())) return true; } - // If they are not allowed to overlap, the rest of this function still needs to be executed. + else return unblocking; // This may not really make sense, but Heretic depends on the broken implementation. } }