[nexuiz-commits] r7733 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Sep 11 09:28:40 EDT 2009


Author: div0
Date: 2009-09-11 09:28:40 -0400 (Fri, 11 Sep 2009)
New Revision: 7733

Modified:
   trunk/data/qcsrc/server/g_damage.qc
   trunk/data/qcsrc/server/w_fireball.qc
Log:
try to work around dead bodies


Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc	2009-09-11 13:15:13 UTC (rev 7732)
+++ trunk/data/qcsrc/server/g_damage.qc	2009-09-11 13:28:40 UTC (rev 7733)
@@ -1132,16 +1132,23 @@
 	float dps;
 	float maxtime, mintime, maxdamage, mindamage, maxdps, mindps, totaldamage, totaltime;
 
-	if(e.classname != "player")
-	if(!e.fire_burner)
+	if(e.classname == "player")
 	{
-		// print("adding a fire burner to ", e.classname, "\n");
-		e.fire_burner = spawn();
-		e.fire_burner.classname = "fireburner";
-		e.fire_burner.think = fireburner_think;
-		e.fire_burner.nextthink = time;
-		e.fire_burner.owner = e;
+		if(e.deadflag)
+			return -1;
 	}
+	else
+	{
+		if(!e.fire_burner)
+		{
+			// print("adding a fire burner to ", e.classname, "\n");
+			e.fire_burner = spawn();
+			e.fire_burner.classname = "fireburner";
+			e.fire_burner.think = fireburner_think;
+			e.fire_burner.nextthink = time;
+			e.fire_burner.owner = e;
+		}
+	}
 
 	t = max(t, 0.1);
 	dps = d / t;
@@ -1204,7 +1211,7 @@
 					e.fire_hitsound = FALSE;
 				}
 			}
-			return totaldamage - mindamage; // can never be negative
+			return max(0, totaldamage - mindamage); // can never be negative, but to make sure
 		}
 		else
 			return 0;

Modified: trunk/data/qcsrc/server/w_fireball.qc
===================================================================
--- trunk/data/qcsrc/server/w_fireball.qc	2009-09-11 13:15:13 UTC (rev 7732)
+++ trunk/data/qcsrc/server/w_fireball.qc	2009-09-11 13:28:40 UTC (rev 7733)
@@ -213,14 +213,12 @@
 {
 	PROJECTILE_TOUCH;
 	if (other.takedamage == DAMAGE_AIM)
+	if(Fire_AddDamage(other, self.realowner, cvar("g_balance_fireball_primary_damage"), cvar("g_balance_fireball_primary_damagetime"), self.projectiledeathtype | HITTYPE_HEADSHOT) >= 0)
 	{
-		Fire_AddDamage(other, self.realowner, cvar("g_balance_fireball_primary_damage"), cvar("g_balance_fireball_primary_damagetime"), self.projectiledeathtype | HITTYPE_HEADSHOT);
 		remove(self);
+		return;
 	}
-	else
-	{
-		self.projectiledeathtype |= HITTYPE_BOUNCE;
-	}
+	self.projectiledeathtype |= HITTYPE_BOUNCE;
 }
 
 void W_Fireball_Attack1()



More information about the nexuiz-commits mailing list