- added a CANUSEWALLS flag which allows a monster to activate 'use' specials

like doors. This flag is on by default for any monster which was the
  previous behavior.
- Optimized the DECORATE flag parser so it can more efficiently handle
  the deprecated flags. As a side effect of this optimization the deprecated
  flags became usable in A_ChangeFlag again.
- Changed LONGMELEERANGE flag into a MeleeThreshold property.
- Changed SHORTMISSILERANGE flag into a MaxTargetRange property.
- Added Thing_Stop action special.


SVN r517 (trunk)
This commit is contained in:
Christoph Oelckers 2007-04-22 21:01:35 +00:00
commit 9deec29b34
11 changed files with 154 additions and 49 deletions

View file

@ -1415,6 +1415,34 @@ FUNC(LS_Thing_Raise)
return ok;
}
FUNC(LS_Thing_Stop)
// Thing_Stop(tid)
{
AActor * target;
bool ok = false;
if (arg0==0)
{
if (it != NULL)
{
it->momx = it->momy = it->momz = 0;
ok = true;
}
}
else
{
TActorIterator<AActor> iterator (arg0);
while ( (target = iterator.Next ()) )
{
target->momx = target->momy = target->momz = 0;
ok = true;
}
}
return ok;
}
FUNC(LS_Thing_SetGoal)
// Thing_SetGoal (tid, goal, delay, chasegoal)
{
@ -1472,7 +1500,7 @@ FUNC(LS_Thing_SetTranslation)
while ( (target = iterator.Next ()) )
{
ok = true;
target->Translation = range;
target->Translation = range==0? target->GetDefault()->Translation : range;
}
return ok;
@ -2739,7 +2767,7 @@ lnSpecFunc LineSpecials[256] =
LS_NOP, // Transfer_WallLight
LS_Thing_Raise,
LS_StartConversation,
LS_NOP, // 19
LS_Thing_Stop,
LS_Floor_LowerByValue,
LS_Floor_LowerToLowest,
LS_Floor_LowerToNearest,