Merge
This commit is contained in:
		| @@ -84,25 +84,8 @@ NapalmOnTakeDamage(client, damagetype) | ||||
|             { | ||||
|                 // Put the fire out. | ||||
|                  | ||||
|                 //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); | ||||
|                     } | ||||
|                 } | ||||
|                 //ExtinguishEntity(client); | ||||
|                 ExtinguishEntity2(client); | ||||
|                  | ||||
|                 return _:ACTION_CONTINUE; | ||||
|             } | ||||
| @@ -113,6 +96,27 @@ 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. | ||||
|  *  | ||||
| @@ -155,8 +159,7 @@ NapalmOnClientHurt(client, attacker, const String:weapon[]) | ||||
|          | ||||
|         if (reset || !(flags & FL_ONFIRE)) | ||||
|         { | ||||
|             // This stops the fire before re-ignition. | ||||
|             ExtinguishEntity(client); | ||||
|             ExtinguishEntity2(client); | ||||
|              | ||||
|             // Ignite client. | ||||
|             IgniteEntity(client, napalm_time); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user