- Added Threshold Manipulation.
- Added 'threshold' and 'defthreshold' to DECORATE expression exposure. - ChaseThreshold sets the default threshold for how long a monster must chase one target before it can switch targets. Default is 100, must not be negative. - A_SetChaseThreshold can be used to alter the current or default threshold of an actor <pointer>. - Changing current threshold has no effect on what the default will be once it hits 0 and something makes it infight with another.
This commit is contained in:
parent
72445667e3
commit
75100d76fb
9 changed files with 54 additions and 4 deletions
|
|
@ -5870,6 +5870,33 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetRipMax)
|
|||
self->RipLevelMax = max;
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// A_SetChaseThreshold(int threshold, bool def, int ptr)
|
||||
//
|
||||
// Sets the current chase threshold of the actor (pointer). If def is true,
|
||||
// changes the default threshold which the actor resets to once it switches
|
||||
// targets and doesn't have the +QUICKTORETALIATE flag.
|
||||
//===========================================================================
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetChaseThreshold)
|
||||
{
|
||||
ACTION_PARAM_START(3);
|
||||
ACTION_PARAM_INT(threshold, 0);
|
||||
ACTION_PARAM_BOOL(def, 1);
|
||||
ACTION_PARAM_INT(ptr, 2);
|
||||
|
||||
AActor *mobj = COPY_AAPTR(self, ptr);
|
||||
if (!mobj)
|
||||
{
|
||||
ACTION_SET_RESULT(false);
|
||||
return;
|
||||
}
|
||||
if (def)
|
||||
mobj->DefThreshold = (threshold >= 0) ? threshold : 0;
|
||||
else
|
||||
mobj->threshold = (threshold >= 0) ? threshold : 0;
|
||||
}
|
||||
|
||||
/*===========================================================================
|
||||
A_CheckBlock
|
||||
(state block, int flags, int ptr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue