oops, this workaround was missing (don't detonate all projectiles if a crylink projec...
authorRudolf Polzer <divverent@alientrap.org>
Tue, 9 Nov 2010 19:45:41 +0000 (20:45 +0100)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 9 Nov 2010 19:45:41 +0000 (20:45 +0100)
qcsrc/server/w_crylink.qc

index 2e10d0e..5665634 100644 (file)
@@ -173,12 +173,19 @@ void W_Crylink_Touch (void)
                f = cvar("g_balance_crylink_primary_bouncedamagefactor");
        if(a)
                f *= a;
-       if (RadiusDamage (self, self.realowner, cvar("g_balance_crylink_primary_damage") * f, cvar("g_balance_crylink_primary_edgedamage") * f, cvar("g_balance_crylink_primary_radius"), world, cvar("g_balance_crylink_primary_force") * f, self.projectiledeathtype, other) || finalhit)
+       if (RadiusDamage (self, self.realowner, cvar("g_balance_crylink_primary_damage") * f, cvar("g_balance_crylink_primary_edgedamage") * f, cvar("g_balance_crylink_primary_radius"), world, cvar("g_balance_crylink_primary_force") * f, self.projectiledeathtype, other))
        {
                W_Crylink_LinkExplode(self.queuenext, self);
                remove (self);
                return;
        }
+       else if(finalhit)
+       {
+               // just unlink
+               W_Crylink_Dequeue(self);
+               remove(self);
+               return;
+       }
        self.cnt = self.cnt - 1;
        self.angles = vectoangles(self.velocity);
        self.owner = world;