]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Return if a damage effect is already active for that player. Else shooting a player...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 2 Apr 2011 15:46:44 +0000 (18:46 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 2 Apr 2011 15:46:44 +0000 (18:46 +0300)
qcsrc/server/g_violence.qc

index 0cd2836fd32564581f55a809af5a9d87a538bdef..d37b57475d986f999f15fe46a7b171b10a01eabc 100644 (file)
@@ -63,11 +63,13 @@ void Violence_WeaponDamage(entity pl, float type)
 }
 
 .float lifetime;
+.float player_weapondamage_active;
 
 void Violence_WeaponDamage_DoRepeat()
 {
        if(time > self.lifetime)
        {
+               self.owner.player_weapondamage_active = FALSE;
                self.nextthink = 0;
                remove(self);
                return;
@@ -79,6 +81,10 @@ void Violence_WeaponDamage_DoRepeat()
 
 void Violence_WeaponDamage_SetRepeat(entity pl, float type)
 {
+       // return if we already have a damage effect active, else too many damage effects get spammed
+       if(pl.player_weapondamage_active)
+               return;
+
        entity repeater;
        repeater = spawn();
        repeater.classname = "weapondamage_repeater";
@@ -88,4 +94,6 @@ void Violence_WeaponDamage_SetRepeat(entity pl, float type)
        repeater.lifetime = time + 3; // TO BE CVARED
        repeater.think = Violence_WeaponDamage_DoRepeat;
        repeater.nextthink = time;
+
+       pl.player_weapondamage_active = TRUE;
 }