mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +00:00
- A_AlertMonsters flags submission by NeuralStunner.
This commit is contained in:
parent
116defbb35
commit
8e8f6cf5a6
3 changed files with 33 additions and 4 deletions
|
@ -137,18 +137,40 @@ DEFINE_ACTION_FUNCTION(AActor, A_JabDagger)
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
AMF_TARGETEMITTER = 1,
|
||||||
|
AMF_TARGETNONPLAYER = 2,
|
||||||
|
AMF_EMITFROMTARGET = 4,
|
||||||
|
};
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_AlertMonsters)
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_AlertMonsters)
|
||||||
{
|
{
|
||||||
ACTION_PARAM_START(1);
|
ACTION_PARAM_START(1);
|
||||||
ACTION_PARAM_FIXED(maxdist, 0);
|
ACTION_PARAM_FIXED(maxdist, 0);
|
||||||
|
ACTION_PARAM_INT(Flags, 1);
|
||||||
|
|
||||||
if (self->player != NULL)
|
AActor * target;
|
||||||
|
AActor * emitter = self;
|
||||||
|
|
||||||
|
if (self->player != NULL || (Flags & AMF_TARGETEMITTER))
|
||||||
{
|
{
|
||||||
P_NoiseAlert(self, self, false, maxdist);
|
target = self;
|
||||||
|
}
|
||||||
|
else if (self->target != NULL && (Flags & AMF_TARGETNONPLAYER))
|
||||||
|
{
|
||||||
|
target = self->target;
|
||||||
}
|
}
|
||||||
else if (self->target != NULL && self->target->player != NULL)
|
else if (self->target != NULL && self->target->player != NULL)
|
||||||
{
|
{
|
||||||
P_NoiseAlert (self->target, self, false, maxdist);
|
target = self->target;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Flags & AMF_EMITFROMTARGET) emitter = target;
|
||||||
|
|
||||||
|
if (target != NULL && emitter != NULL)
|
||||||
|
{
|
||||||
|
P_NoiseAlert(target, emitter, false, maxdist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ ACTOR Actor native //: Thinker
|
||||||
action native A_TurretLook();
|
action native A_TurretLook();
|
||||||
action native A_KlaxonBlare();
|
action native A_KlaxonBlare();
|
||||||
action native A_Countdown();
|
action native A_Countdown();
|
||||||
action native A_AlertMonsters(float maxdist = 0);
|
action native A_AlertMonsters(float maxdist = 0, int flags = 0);
|
||||||
action native A_ClearSoundTarget();
|
action native A_ClearSoundTarget();
|
||||||
action native A_FireAssaultGun();
|
action native A_FireAssaultGun();
|
||||||
action native A_CheckTerrain();
|
action native A_CheckTerrain();
|
||||||
|
|
|
@ -348,5 +348,12 @@ enum
|
||||||
CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
|
CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Flags for A_AlertMonsters
|
||||||
|
const int AMF_TARGETEMITTER = 1;
|
||||||
|
const int AMF_TARGETNONPLAYER = 2;
|
||||||
|
const int AMF_EMITFROMTARGET = 4;
|
||||||
|
|
||||||
|
|
||||||
// This is only here to provide one global variable for testing.
|
// This is only here to provide one global variable for testing.
|
||||||
native int testglobalvar;
|
native int testglobalvar;
|
||||||
|
|
Loading…
Reference in a new issue