r4836 - in trunk/data/qcsrc/server/tturrets: include system

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Oct 23 08:22:49 EDT 2008


Author: tzork
Date: 2008-10-23 08:22:48 -0400 (Thu, 23 Oct 2008)
New Revision: 4836

Modified:
   trunk/data/qcsrc/server/tturrets/include/turret_tturrets_early.qh
   trunk/data/qcsrc/server/tturrets/system/turret_system_damage.qc
Log:
basic TFL_DMG_DEATH_NORESPAWN support (.damage_flags). 

Modified: trunk/data/qcsrc/server/tturrets/include/turret_tturrets_early.qh
===================================================================
--- trunk/data/qcsrc/server/tturrets/include/turret_tturrets_early.qh	2008-10-23 12:03:50 UTC (rev 4835)
+++ trunk/data/qcsrc/server/tturrets/include/turret_tturrets_early.qh	2008-10-23 12:22:48 UTC (rev 4836)
@@ -195,6 +195,8 @@
 #define  TFL_DMG_AIMSHAKE        64
 /// Reciving damage slaps the head arround
 #define  TFL_DMG_HEADSHAKE       128
+/// Die and stay dead.
+#define  TFL_DMG_DEATH_NORESPAWN 256
 
 // Spawnflags
 /// Spawn in teambased modes

Modified: trunk/data/qcsrc/server/tturrets/system/turret_system_damage.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/system/turret_system_damage.qc	2008-10-23 12:03:50 UTC (rev 4835)
+++ trunk/data/qcsrc/server/tturrets/system/turret_system_damage.qc	2008-10-23 12:22:48 UTC (rev 4836)
@@ -183,13 +183,24 @@
 // Go boom
     RadiusDamage (self,self, min(self.ammo,50),min(self.ammo,50) * 0.25,250,world,min(self.ammo,50)*5,0,world);
 
-// Setup respawn
-    self.nextthink      = time + self.respawntime;
-    //self.think          = self.turret_spawnfunc;
-    self.think          = turret_stdproc_respawn;
+    if(self.damage_flags & TFL_DMG_DEATH_NORESPAWN)
+    {
+        if (self.turret_diehook)
+            self.turret_diehook();
 
-    if (self.turret_diehook)
-        self.turret_diehook();
+        remove(self.tur_head);
+        remove(self);
+    }
+    else
+    {
+    // Setup respawn
+        self.nextthink      = time + self.respawntime;
+        //self.think          = self.turret_spawnfunc;
+        self.think          = turret_stdproc_respawn;
+        if (self.turret_diehook)
+            self.turret_diehook();
+    }
+
 }
 
 void turret_stdproc_respawn()




More information about the nexuiz-commits mailing list