r2807 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Sep 12 15:57:11 EDT 2007


Author: div0
Date: 2007-09-12 15:57:11 -0400 (Wed, 12 Sep 2007)
New Revision: 2807

Modified:
   trunk/data/qcsrc/server/g_damage.qc
Log:
make RadiusDamage() return damage actually dealt to creatures


Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc	2007-09-12 19:56:43 UTC (rev 2806)
+++ trunk/data/qcsrc/server/g_damage.qc	2007-09-12 19:57:11 UTC (rev 2807)
@@ -558,7 +558,8 @@
 	}
 }
 
-void RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity ignore, float forceintensity, float deathtype)
+float RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity ignore, float forceintensity, float deathtype)
+// Returns total damage applies to creatures
 {
 	entity	targ;
 	float	finaldmg;
@@ -569,9 +570,11 @@
 	vector	m2;
 	vector	nearest;
 	vector	diff;
-	vector center;
+	vector  center;
+	float   total_damage_to_creatures;
 
 	blastorigin = (inflictor.origin + (inflictor.mins + inflictor.maxs) * 0.5);
+	total_damage_to_creatures = 0;
 
 	targ = findradius (blastorigin, rad);
 	while (targ)
@@ -623,6 +626,8 @@
 							if (trace_fraction == 1 || trace_ent == targ
 							    || cvar("g_throughfloor"))
 							{
+								if(targ.iscreature)
+									total_damage_to_creatures += finaldmg;
 								Damage (targ, inflictor, attacker, finaldmg, deathtype, nearest, force);
 								break;
 							}
@@ -635,6 +640,8 @@
 			}
 		targ = targ.chain;
 	}
+
+	return total_damage_to_creatures;
 }
 
 /*




More information about the nexuiz-commits mailing list