NSMonster: Add TriggerCondition for death of an NSMonster.
This commit is contained in:
parent
e4b7d55b3c
commit
11c37f789d
2 changed files with 25 additions and 0 deletions
|
@ -259,6 +259,10 @@ class NSMonster:NSSurfacePropEntity
|
|||
virtual int(void) AnimRun;
|
||||
virtual void(float) AnimPlay;
|
||||
|
||||
/* TriggerTarget/Condition */
|
||||
virtual int(void) GetTriggerCondition;
|
||||
virtual void(void) TriggerTargets;
|
||||
|
||||
virtual float(entity, float) SendEntity;
|
||||
#else
|
||||
virtual void(void) customphysics;
|
||||
|
|
|
@ -15,6 +15,24 @@
|
|||
*/
|
||||
|
||||
#ifdef SERVER
|
||||
|
||||
int
|
||||
NSMonster::GetTriggerCondition(void)
|
||||
{
|
||||
return m_iTriggerCondition;
|
||||
}
|
||||
|
||||
void
|
||||
NSMonster::TriggerTargets(void)
|
||||
{
|
||||
for (entity f = world; (f = find(f, ::targetname, m_strTriggerTarget));) {
|
||||
NSTrigger trigger = (NSTrigger)f;
|
||||
if (trigger.Trigger != __NULL__) {
|
||||
trigger.Trigger(this, TRIG_TOGGLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
NSMonster::Save(float handle)
|
||||
{
|
||||
|
@ -560,6 +578,9 @@ NSMonster::Death(void)
|
|||
SetSolid(SOLID_CORPSE);
|
||||
health = 50 + health;
|
||||
style = MONSTER_DEAD;
|
||||
|
||||
if (GetTriggerCondition() == MTRIG_DEATH)
|
||||
TriggerTargets();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue