]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
add cvars that allow nerfing the rockets if remote detonated
authorFruitieX <rasse@rasse-lappy.localdomain>
Wed, 14 Jul 2010 18:26:32 +0000 (21:26 +0300)
committerFruitieX <rasse@rasse-lappy.localdomain>
Wed, 14 Jul 2010 18:26:32 +0000 (21:26 +0300)
balance.cfg
balance25.cfg
balanceFruit.cfg
balanceSamual.cfg
balanceXPM.cfg
qcsrc/server/w_rocketlauncher.qc

index e824e271ba095c3aa0063f6de66215e74e805bc0..df2ada6fda0802d72512fc65508a71137f5f4aee 100644 (file)
@@ -441,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 105
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 150
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index 963e94153b725e08bbce9a14664edcb0289e8080..33a367e6f7aadef48514f77961f6aa75de6d4516 100644 (file)
@@ -441,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 105
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 150
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index a591ae3883b33da6e9b61ccacdfda9487aab0274..8e56939e3826ed67db3e4af51b7ef66ea246408a 100644 (file)
@@ -444,6 +444,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 100
+set g_balance_rocketlauncher_remote_edgedamage 33
+set g_balance_rocketlauncher_remote_radius 120
+set g_balance_rocketlauncher_remote_force 350
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index 2b716463eb9f298caa8105fa83d34fd8877ed09a..02aac1996ab61fbbef328e77676bec681ad55188 100644 (file)
@@ -441,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 80
+set g_balance_rocketlauncher_remote_edgedamage 40
+set g_balance_rocketlauncher_remote_radius 100
+set g_balance_rocketlauncher_remote_force 600
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index 83bd146b09b345f0192f96dacff7a107a5e75d2f..39410ceb0d8c66d123358d41980c5ddf8df91fdc 100644 (file)
@@ -442,6 +442,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0
 set g_balance_rocketlauncher_laserguided_speedstart 1000
 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
 set g_balance_rocketlauncher_laserguided_allow_steal 1
+set g_balance_rocketlauncher_remote_damage 90
+set g_balance_rocketlauncher_remote_edgedamage 30
+set g_balance_rocketlauncher_remote_radius 110
+set g_balance_rocketlauncher_remote_force 350
 // }}}
 // {{{ porto
 set g_balance_porto_primary_refire 1.5
index 35ca569777f4cce38f988bcb93ad9671352fcac6..a2ee89bc86beb01335be2c763e6b10b927da5357 100644 (file)
@@ -14,7 +14,7 @@ void W_Rocket_Unregister()
        }
 }
 
-void W_Rocket_Explode (void)
+void W_Rocket_Explode ()
 {
        W_Rocket_Unregister();
 
@@ -26,6 +26,7 @@ void W_Rocket_Explode (void)
 
        self.event_damage = SUB_Null;
        self.takedamage = DAMAGE_NO;
+
        RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_damage"), cvar("g_balance_rocketlauncher_edgedamage"), cvar("g_balance_rocketlauncher_radius"), world, cvar("g_balance_rocketlauncher_force"), self.projectiledeathtype, other);
 
        if (self.owner.weapon == WEP_ROCKET_LAUNCHER)
@@ -106,10 +107,34 @@ void W_Rocket_RemoteExplode()
                {
                        other = world;
                        self.projectiledeathtype |= HITTYPE_BOUNCE;
-                       W_Rocket_Explode ();
                }
                else
                {
+                       W_Rocket_Unregister();
+
+                       if(other.takedamage == DAMAGE_AIM)
+                               if(other.classname == "player")
+                                       if(IsDifferentTeam(self.owner, other))
+                                               if(IsFlying(other))
+                                                       AnnounceTo(self.owner, "airshot");
+
+                       self.event_damage = SUB_Null;
+                       self.takedamage = DAMAGE_NO;
+
+                       RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_remote_damage"), cvar("g_balance_rocketlauncher_remote_edgedamage"), cvar("g_balance_rocketlauncher_remote_radius"), world, cvar("g_balance_rocketlauncher_remote_force"), self.projectiledeathtype, other);
+
+                       if (self.owner.weapon == WEP_ROCKET_LAUNCHER)
+                       {
+                               if(self.owner.ammo_rockets < cvar("g_balance_rocketlauncher_ammo"))
+                               {
+                                       self.owner.cnt = WEP_ROCKET_LAUNCHER;
+                                       ATTACK_FINISHED(self.owner) = time;
+                                       self.owner.switchweapon = w_getbestweapon(self.owner);
+                               }
+                               if(g_laserguided_missile)
+                                       ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponRateFactor();
+                       }
+                       remove (self);
                }
        }
 }