diff --git a/src/p_floor.c b/src/p_floor.c index 386cb5d43..fd85fd2cc 100644 --- a/src/p_floor.c +++ b/src/p_floor.c @@ -2235,7 +2235,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime) oldPlayersArea = oldPlayersInArea; } - if ((affectPlayer = P_HavePlayersEnteredArea(playersArea, oldPlayersArea, inAndOut)) != -1) + while ((affectPlayer = P_HavePlayersEnteredArea(playersArea, oldPlayersArea, inAndOut)) != -1) { if (GETSECSPECIAL(sec->special, 2) == 2 || GETSECSPECIAL(sec->special, 2) == 3) { @@ -2268,6 +2268,8 @@ void T_EachTimeThinker(levelspecthink_t *eachtime) if (!eachtime->sourceline->special) // this happens only for "Trigger on X calls" linedefs P_RemoveThinker(&eachtime->thinker); + + oldPlayersArea[affectPlayer]=playersArea[affectPlayer]; } }