From: Samual Lenks Date: Sat, 21 Jul 2012 04:52:08 +0000 (-0400) Subject: Add toggle option for old and new laser behavior X-Git-Tag: xonotic-v0.8.0~152^2~408^2~76 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=0458c859c8bd96c8288f5c1d5d10b41a53eecfeb;p=xonotic%2Fxonotic-data.pk3dir.git Add toggle option for old and new laser behavior --- diff --git a/balance25.cfg b/balance25.cfg index aafb163b4..c76f760eb 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -228,6 +228,7 @@ set g_balance_grapplehook_damagedbycontents 0 // {{{ weapon properties // {{{ laser +set g_balance_laser_oldprimary 1 set g_balance_laser_primary_damage 35 set g_balance_laser_primary_edgedamage 10 set g_balance_laser_primary_force 400 @@ -243,7 +244,7 @@ set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 1 set g_balance_laser_primary_force_velocitybias 0 set g_balance_laser_primary_force_other_scale 1 -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists +set g_balance_laser_secondary 0 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = gauntlet secondary set g_balance_laser_secondary_damage 35 set g_balance_laser_secondary_edgedamage 10 set g_balance_laser_secondary_force 400 diff --git a/balanceFruitieX.cfg b/balanceFruitieX.cfg index 1bb898912..2e826476d 100644 --- a/balanceFruitieX.cfg +++ b/balanceFruitieX.cfg @@ -228,6 +228,7 @@ set g_balance_grapplehook_damagedbycontents 0 // {{{ weapon properties // {{{ laser +set g_balance_laser_oldprimary 1 set g_balance_laser_primary_damage 20 // dps 33, hope that's not too high set g_balance_laser_primary_edgedamage 20 set g_balance_laser_primary_force 150 // this looks insanely low, but actually isn't with zscale and velocitybias @@ -243,7 +244,7 @@ set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 2 // 300 upforce set g_balance_laser_primary_force_velocitybias 0.3 set g_balance_laser_primary_force_other_scale 2.5 // force 375 when pushing others around -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists +set g_balance_laser_secondary 0 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = gauntlet secondary set g_balance_laser_secondary_damage 200 // dps set g_balance_laser_secondary_edgedamage 0 set g_balance_laser_secondary_force 1300 diff --git a/balanceXPM.cfg b/balanceXPM.cfg index 759551d8d..609d8fb5b 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -228,6 +228,7 @@ set g_balance_grapplehook_damagedbycontents 1 // {{{ weapon properties // {{{ laser +set g_balance_laser_oldprimary 1 set g_balance_laser_primary_damage 25 set g_balance_laser_primary_edgedamage 12.5 set g_balance_laser_primary_force 300 @@ -243,7 +244,7 @@ set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 1.25 set g_balance_laser_primary_force_velocitybias 0 set g_balance_laser_primary_force_other_scale 1 -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists +set g_balance_laser_secondary 0 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = gauntlet secondary set g_balance_laser_secondary_damage 25 set g_balance_laser_secondary_edgedamage 12.5 set g_balance_laser_secondary_force 400 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 007619985..c0bb7ac16 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -228,6 +228,7 @@ set g_balance_grapplehook_damagedbycontents 1 // {{{ weapon properties // {{{ laser +set g_balance_laser_oldprimary 0 set g_balance_laser_primary_damage 25 set g_balance_laser_primary_edgedamage 12.5 set g_balance_laser_primary_force 300 @@ -243,7 +244,7 @@ set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 1.25 set g_balance_laser_primary_force_velocitybias 0 set g_balance_laser_primary_force_other_scale 1 -set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists +set g_balance_laser_secondary 0 // 0 = switch away to last used weapon, 1 = projectile secondary, 2 = gauntlet secondary set g_balance_laser_secondary_damage 25 set g_balance_laser_secondary_edgedamage 12.5 set g_balance_laser_secondary_force 400 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index f9e1a2f70..e5964b933 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -427,6 +427,7 @@ float autocvar_g_balance_keyhunt_score_push; float autocvar_g_balance_keyhunt_throwvelocity; float autocvar_g_balance_kill_delay; float autocvar_g_balance_kill_antispam; +float autocvar_g_balance_laser_oldprimary; float autocvar_g_balance_laser_primary_animtime; float autocvar_g_balance_laser_primary_damage; float autocvar_g_balance_laser_primary_delay; @@ -452,6 +453,7 @@ float autocvar_g_balance_laser_secondary_force_velocitybias; float autocvar_g_balance_laser_secondary_force_zscale; float autocvar_g_balance_laser_secondary_lifetime; float autocvar_g_balance_laser_secondary_radius; +float autocvar_g_balance_laser_secondary_refire; float autocvar_g_balance_laser_secondary_speed; float autocvar_g_balance_laser_reload_ammo; float autocvar_g_balance_laser_reload_time; diff --git a/qcsrc/server/w_laser.qc b/qcsrc/server/w_laser.qc index cb80b3a8e..5406bfcfc 100644 --- a/qcsrc/server/w_laser.qc +++ b/qcsrc/server/w_laser.qc @@ -364,26 +364,51 @@ float w_laser(float req) { W_DecreaseAmmo(ammo_none, 1, TRUE); - W_Laser_Shockwave(); + + if not(autocvar_g_balance_laser_oldprimary) + W_Laser_Shockwave(); + else + W_Laser_Attack(FALSE); + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_laser_primary_animtime, w_ready); } } else if (self.BUTTON_ATCK2) { - if(autocvar_g_balance_laser_secondary) + switch(autocvar_g_balance_laser_secondary) { - W_DecreaseAmmo(ammo_none, 1, TRUE); + case 0: // switch to last used weapon + { + if(self.switchweapon == WEP_LASER) // don't do this if already switching + W_LastWeapon(); - if (weapon_prepareattack(0, 0)) + break; + } + + case 1: // normal projectile secondary { - W_Laser_Attack2(); - weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_laser_secondary_animtime, w_ready); + if(weapon_prepareattack(0, autocvar_g_balance_laser_secondary_refire)) + { + W_DecreaseAmmo(ammo_none, 1, TRUE); + W_Laser_Attack(TRUE); + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_laser_secondary_animtime, w_ready); + } + + break; + } + + case 2: // gauntlet secondary + { + W_DecreaseAmmo(ammo_none, 1, TRUE); + + if (weapon_prepareattack(0, 0)) + { + W_Laser_Attack2(); + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_laser_secondary_animtime, w_ready); + } + + break; } - } - else - { - if(self.switchweapon == WEP_LASER) // don't do this if already switching - W_LastWeapon(); } } }