From 8735d191e7856fd9c03d795f6fa0a80ee7dcd033 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 24 Jun 2011 17:05:55 -0700 Subject: [PATCH] Backed out changeset: 539b63f56ac5 --- src/zr/napalm.inc | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/src/zr/napalm.inc b/src/zr/napalm.inc index f0b9515..41c9448 100644 --- a/src/zr/napalm.inc +++ b/src/zr/napalm.inc @@ -84,8 +84,25 @@ NapalmOnTakeDamage(client, damagetype) { // Put the fire out. - //ExtinguishEntity(client); - ExtinguishEntity2(client); + //ExtinguishEntity(client); <-- Don't use this. Takes off the FL_ONFIRE flag, but flame doesn't get extinguished. + + // This works. + new fire = GetEntPropEnt(client, Prop_Data, "m_hEffectEntity"); + if (IsValidEntity(fire)) + { + // Make sure the entity is a flame, so we can extinguish it. + decl String:classname[64]; + GetEdictClassname(fire, classname, sizeof(classname)); + if (StrEqual(classname, "entityflame", false)) + { + SetEntPropFloat(fire, Prop_Data, "m_flLifetime", 0.0); + } + // Log what entity was in that property, for future reference. + else + { + LogEvent(false, LogType_Normal, LOG_GAME_EVENTS, LogModule_Napalm, "Napalm Douse", "Found unexpected entity in prop \"m_flLifetime\": \"%s\"", classname); + } + } return _:ACTION_CONTINUE; } @@ -96,27 +113,6 @@ NapalmOnTakeDamage(client, damagetype) return -1; } -ExtinguishEntity2(client) -{ - // This works. - new fire = GetEntPropEnt(client, Prop_Data, "m_hEffectEntity"); - if (IsValidEntity(fire)) - { - // Make sure the entity is a flame, so we can extinguish it. - decl String:classname[64]; - GetEdictClassname(fire, classname, sizeof(classname)); - if (StrEqual(classname, "entityflame", false)) - { - SetEntPropFloat(fire, Prop_Data, "m_flLifetime", 0.0); - } - // Log what entity was in that property, for future reference. - else - { - LogEvent(false, LogType_Normal, LOG_GAME_EVENTS, LogModule_Napalm, "Napalm Douse", "Found unexpected entity in prop \"m_flLifetime\": \"%s\"", classname); - } - } -} - /** * Client has been hurt. * @@ -159,7 +155,8 @@ NapalmOnClientHurt(client, attacker, const String:weapon[]) if (reset || !(flags & FL_ONFIRE)) { - ExtinguishEntity2(client); + // This stops the fire before re-ignition. + ExtinguishEntity(client); // Ignite client. IgniteEntity(client, napalm_time);