- Added MF6_NOTRIGGER flag that disables all line actions for an actor.

SVN r1907 (trunk)
This commit is contained in:
Christoph Oelckers 2009-10-10 12:42:57 +00:00
commit 4529108b8f
6 changed files with 43 additions and 13 deletions

View file

@ -583,15 +583,19 @@ bool P_Move (AActor *actor)
line_t *ld;
int good = 0;
while (spechit.Pop (ld))
if (!(actor->flags6 & MF6_NOTRIGGER))
{
// [RH] let monsters push lines, as well as use them
if (((actor->flags4 & MF4_CANUSEWALLS) && P_ActivateLine (ld, actor, 0, SPAC_Use)) ||
((actor->flags2 & MF2_PUSHWALL) && P_ActivateLine (ld, actor, 0, SPAC_Push)))
while (spechit.Pop (ld))
{
good |= ld == actor->BlockingLine ? 1 : 2;
// [RH] let monsters push lines, as well as use them
if (((actor->flags4 & MF4_CANUSEWALLS) && P_ActivateLine (ld, actor, 0, SPAC_Use)) ||
((actor->flags2 & MF2_PUSHWALL) && P_ActivateLine (ld, actor, 0, SPAC_Push)))
{
good |= ld == actor->BlockingLine ? 1 : 2;
}
}
}
else spechit.Clear();
return good && ((pr_opendoor() >= 203) ^ (good & 1));
}
else