From: FruitieX Date: Fri, 31 Dec 2010 16:37:23 +0000 (+0200) Subject: Laser test: 375 force when pushing others, unaffected force on self X-Git-Tag: xonotic-v0.5.0~318^2~133^2~18 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2a51bb084ef0397d1a613b44c73dd595febd85ea;p=xonotic%2Fxonotic-data.pk3dir.git Laser test: 375 force when pushing others, unaffected force on self --- diff --git a/balance25.cfg b/balance25.cfg index 0a0043f59..faf4fbfa1 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -226,6 +226,7 @@ set g_balance_laser_primary_delay 0.05 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_damage 35 set g_balance_laser_secondary_edgedamage 10 @@ -241,6 +242,7 @@ set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 0 set g_balance_laser_secondary_force_zscale 1 set g_balance_laser_secondary_force_velocitybias 0 +set g_balance_laser_secondary_force_other_scale 1 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 6 diff --git a/balanceLeeStricklin.cfg b/balanceLeeStricklin.cfg index 5874f7057..87d5b2bc2 100644 --- a/balanceLeeStricklin.cfg +++ b/balanceLeeStricklin.cfg @@ -226,6 +226,7 @@ set g_balance_laser_primary_delay 0.03 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 1 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists set g_balance_laser_secondary_damage 200 // dps set g_balance_laser_secondary_edgedamage 0 @@ -241,6 +242,7 @@ set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 1 set g_balance_laser_secondary_force_zscale 1.25 set g_balance_laser_secondary_force_velocitybias 0 +set g_balance_laser_secondary_force_other_scale 1 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 5 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index eef3cf8e1..d2a394e05 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -226,6 +226,7 @@ set g_balance_laser_primary_delay 0.03 set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 2 // 350 upforce set g_balance_laser_primary_force_velocitybias 0.3 +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_damage 25 set g_balance_laser_secondary_edgedamage 10 @@ -241,6 +242,7 @@ set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 0 set g_balance_laser_secondary_force_zscale 1.25 set g_balance_laser_secondary_force_velocitybias 0 +set g_balance_laser_secondary_force_other_scale 1 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 10 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 1140b1849..d840d592e 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -226,6 +226,7 @@ set g_balance_laser_primary_delay 0 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_damage 200 // dps set g_balance_laser_secondary_edgedamage 0 @@ -241,6 +242,7 @@ set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 1 set g_balance_laser_secondary_force_zscale 1.25 set g_balance_laser_secondary_force_velocitybias 0 +set g_balance_laser_secondary_force_other_scale 0 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 18 diff --git a/balancetZork.cfg b/balancetZork.cfg index 52dc2bf4f..ce37fdb53 100644 --- a/balancetZork.cfg +++ b/balancetZork.cfg @@ -241,6 +241,7 @@ set g_balance_laser_primary_delay 0 set g_balance_laser_primary_gauntlet 0 set g_balance_laser_primary_force_zscale 1.2 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_damage 35 set g_balance_laser_secondary_edgedamage 10 @@ -256,6 +257,7 @@ set g_balance_laser_secondary_delay 0 set g_balance_laser_secondary_gauntlet 0 set g_balance_laser_secondary_force_zscale 1 set g_balance_laser_secondary_force_velocitybias 0 +set g_balance_laser_secondary_force_other_scale 1 // }}} // {{{ shotgun set g_balance_shotgun_primary_bullets 10 diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 2ad648e5d..44daadfc4 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -1020,33 +1020,47 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e // laser force adjustments :P if(DEATH_WEAPONOF(deathtype) == WEP_LASER) { - vector vel; - - float force_zscale; - float force_velocitybiasramp; - float force_velocitybias; - - force_velocitybiasramp = autocvar_sv_maxspeed; - if(deathtype & HITTYPE_SECONDARY) - { - force_zscale = autocvar_g_balance_laser_secondary_force_zscale; - force_velocitybias = autocvar_g_balance_laser_secondary_force_velocitybias; - } - else - { - force_zscale = autocvar_g_balance_laser_primary_force_zscale; - force_velocitybias = autocvar_g_balance_laser_primary_force_velocitybias; - } - - vel = targ.velocity; - vel_z = 0; - vel = normalize(vel) * bound(0, vlen(vel) / force_velocitybiasramp, 1) * force_velocitybias; - force = - vlen(force) - * - normalize(normalize(force) + vel); - - force_z *= force_zscale; + if (targ == attacker) + { + vector vel; + + float force_zscale; + float force_velocitybiasramp; + float force_velocitybias; + + force_velocitybiasramp = autocvar_sv_maxspeed; + if(deathtype & HITTYPE_SECONDARY) + { + force_zscale = autocvar_g_balance_laser_secondary_force_zscale; + force_velocitybias = autocvar_g_balance_laser_secondary_force_velocitybias; + } + else + { + force_zscale = autocvar_g_balance_laser_primary_force_zscale; + force_velocitybias = autocvar_g_balance_laser_primary_force_velocitybias; + } + + vel = targ.velocity; + vel_z = 0; + vel = normalize(vel) * bound(0, vlen(vel) / force_velocitybiasramp, 1) * force_velocitybias; + force = + vlen(force) + * + normalize(normalize(force) + vel); + + force_z *= force_zscale; + } + else + { + if(deathtype & HITTYPE_SECONDARY) + { + force *= autocvar_g_balance_laser_primary_force_other_scale; + } + else + { + force *= autocvar_g_balance_laser_secondary_force_other_scale; + } + } } //if (targ == attacker)