From: FruitieX Date: Wed, 14 Jul 2010 18:26:32 +0000 (+0300) Subject: add cvars that allow nerfing the rockets if remote detonated X-Git-Tag: xonotic-v0.1.0preview~423^2~64 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5b6198fd0e54c0a34ca4998da904ca88923db6e8;p=xonotic%2Fxonotic-data.pk3dir.git add cvars that allow nerfing the rockets if remote detonated --- diff --git a/balance.cfg b/balance.cfg index e824e271b..df2ada6fd 100644 --- a/balance.cfg +++ b/balance.cfg @@ -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 diff --git a/balance25.cfg b/balance25.cfg index 963e94153..33a367e6f 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -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 diff --git a/balanceFruit.cfg b/balanceFruit.cfg index a591ae388..8e56939e3 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -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 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index 2b716463e..02aac1996 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -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 diff --git a/balanceXPM.cfg b/balanceXPM.cfg index 83bd146b0..39410ceb0 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -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 diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 35ca56977..a2ee89bc8 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -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); } } }