NSGameRules:: add NPCDeath callback method.

This commit is contained in:
Marco Cawthorne 2024-10-31 04:00:23 -07:00
parent a8e4893f2a
commit b891015423
2 changed files with 10 additions and 0 deletions

View file

@ -66,6 +66,8 @@ public:
virtual void PlayerPain(NSClientPlayer, NSActor, NSDict); virtual void PlayerPain(NSClientPlayer, NSActor, NSDict);
/** Overridable: Called to check if a NSClientPlayer can attack. */ /** Overridable: Called to check if a NSClientPlayer can attack. */
virtual bool PlayerCanAttack(NSClientPlayer); virtual bool PlayerCanAttack(NSClientPlayer);
/** Overridable:: Called when an NPC gets killed. */
virtual void NPCDeath(NSActor, NSActor, NSActor);
/** Overridable: called when a NSClientPlayer requests a respawn. /** Overridable: called when a NSClientPlayer requests a respawn.
In a multiplayer game, it'll put you back into the game as a player. In a multiplayer game, it'll put you back into the game as a player.

View file

@ -128,6 +128,14 @@ NSGameRules::PlayerKill(NSClientPlayer pl)
pl.Damage(pl, pl, damageDecl, 1.0, g_vec_null, pl.GetOrigin()); pl.Damage(pl, pl, damageDecl, 1.0, g_vec_null, pl.GetOrigin());
remove(damageDecl); remove(damageDecl);
} }
void
NSGameRules::NPCDeath(NSActor npc, NSActor attacker, NSActor inflictor)
{
if (RuleC_CallDamage(m_ruleProgs, npc, attacker, inflictor, "", "CodeCallback_NPCKilled")) {
return;
}
}
void void
NSGameRules::PlayerDeath(NSClientPlayer pl, NSActor attacker, NSDict damageDecl) NSGameRules::PlayerDeath(NSClientPlayer pl, NSActor attacker, NSDict damageDecl)
{ {