[nexuiz-commits] r7934 - in trunk/data: . qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Sep 27 00:26:55 EDT 2009


Author: lordhavoc
Date: 2009-09-27 00:26:55 -0400 (Sun, 27 Sep 2009)
New Revision: 7934

Modified:
   trunk/data/balance.cfg
   trunk/data/balance25.cfg
   trunk/data/balanceHavoc.cfg
   trunk/data/balanceSamual.cfg
   trunk/data/default.cfg
   trunk/data/qcsrc/server/constants.qh
   trunk/data/qcsrc/server/w_electro.qc
Log:
major changes to havoc mode (including: electro combo is triggered by a
radius check instead of damage in havoc mode, mortar altfire is an
airburst, many other changes)
added cvars for controlling electro combo radius (0 in non-havoc modes,
since they use damage as triggers)


Modified: trunk/data/balance.cfg
===================================================================
--- trunk/data/balance.cfg	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/balance.cfg	2009-09-27 04:26:55 UTC (rev 7934)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit the other balance*.cfg too.
 
-set cvar_check_balance 59ee376a58dfcc2e2ee440c6a9508e11
+set cvar_check_balance 80b343d239a1d214d86d1ffcefef0bef
 
 // {{{ weapon replacement
 // NOTE: this only replaces weapons on the map
@@ -293,6 +293,7 @@
 set g_balance_electro_primary_edgedamage 0
 set g_balance_electro_primary_force 200
 set g_balance_electro_primary_radius 150
+set g_balance_electro_primary_comboradius 0
 set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_lifetime 30
 set g_balance_electro_primary_refire 0.8
@@ -316,6 +317,7 @@
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
 set g_balance_electro_combo_radius 250
+set g_balance_electro_combo_comboradius 0
 set g_balance_electro_combo_speed 2000
 //   }}}
 //   {{{ crylink

Modified: trunk/data/balance25.cfg
===================================================================
--- trunk/data/balance25.cfg	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/balance25.cfg	2009-09-27 04:26:55 UTC (rev 7934)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit the other balance*.cfg too.
 
-set cvar_check_balance 59ee376a58dfcc2e2ee440c6a9508e11
+set cvar_check_balance 80b343d239a1d214d86d1ffcefef0bef
 
 // {{{ weapon replacement
 // NOTE: this only replaces weapons on the map
@@ -293,6 +293,7 @@
 set g_balance_electro_primary_edgedamage 0
 set g_balance_electro_primary_force 200
 set g_balance_electro_primary_radius 150
+set g_balance_electro_primary_comboradius 0
 set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_lifetime 30
 set g_balance_electro_primary_refire 0.6
@@ -316,6 +317,7 @@
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
 set g_balance_electro_combo_radius 250
+set g_balance_electro_combo_comboradius 0
 set g_balance_electro_combo_speed 2000
 //   }}}
 //   {{{ crylink

Modified: trunk/data/balanceHavoc.cfg
===================================================================
--- trunk/data/balanceHavoc.cfg	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/balanceHavoc.cfg	2009-09-27 04:26:55 UTC (rev 7934)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit the other balance*.cfg too.
 
-set cvar_check_balance 59ee376a58dfcc2e2ee440c6a9508e11
+set cvar_check_balance 80b343d239a1d214d86d1ffcefef0bef
 
 // {{{ weapon replacement
 // NOTE: this only replaces weapons on the map
@@ -19,13 +19,13 @@
 set g_weaponreplace_nex ""
 set g_weaponreplace_hagar ""
 set g_weaponreplace_rocketlauncher ""
-set g_weaponreplace_porto ""
+set g_weaponreplace_porto "crylink"
 set g_weaponreplace_minstanex ""
-set g_weaponreplace_hook ""
-set g_weaponreplace_hlac ""
-set g_weaponreplace_campingrifle ""
+set g_weaponreplace_hook "electro"
+set g_weaponreplace_hlac "crylink"
+set g_weaponreplace_campingrifle "electro"
 set g_weaponreplace_tuba ""
-set g_weaponreplace_fireball ""
+set g_weaponreplace_fireball "rocketlauncher"
 // }}}
 
 // {{{ starting gear
@@ -93,21 +93,21 @@
 set g_pickup_fuel_jetpack 50
 set g_pickup_fuel_max 999
 set g_pickup_armorsmall 10
-set g_pickup_armorsmall_max 200
+set g_pickup_armorsmall_max 125
 set g_pickup_armormedium 25
-set g_pickup_armormedium_max 200
+set g_pickup_armormedium_max 125
 set g_pickup_armorbig 50
-set g_pickup_armorbig_max 200
+set g_pickup_armorbig_max 125
 set g_pickup_armorlarge 100
-set g_pickup_armorlarge_max 200
+set g_pickup_armorlarge_max 125
 set g_pickup_healthsmall 10
-set g_pickup_healthsmall_max 200
+set g_pickup_healthsmall_max 125
 set g_pickup_healthmedium 25
-set g_pickup_healthmedium_max 200
+set g_pickup_healthmedium_max 125
 set g_pickup_healthlarge 50
-set g_pickup_healthlarge_max 200
+set g_pickup_healthlarge_max 125
 set g_pickup_healthmega 100
-set g_pickup_healthmega_max 200
+set g_pickup_healthmega_max 125
 set g_pickup_respawntime_short 15
 set g_pickup_respawntime_medium 20
 set g_pickup_respawntime_long 30
@@ -128,7 +128,7 @@
 set g_balance_pause_health_regen 5
 set g_balance_pause_health_regen_spawn 0
 set g_balance_health_rot 0
-set g_balance_health_rotlinear 3
+set g_balance_health_rotlinear 0
 set g_balance_pause_health_rot 1
 set g_balance_pause_health_rot_spawn 1
 set g_balance_health_regenstable 100
@@ -137,7 +137,7 @@
 set g_balance_armor_regen 0
 set g_balance_armor_regenlinear 0
 set g_balance_armor_rot 0
-set g_balance_armor_rotlinear 3
+set g_balance_armor_rotlinear 0
 set g_balance_pause_armor_rot 1
 set g_balance_pause_armor_rot_spawn 1
 set g_balance_armor_regenstable 100
@@ -158,7 +158,7 @@
 
 // {{{ misc
 set g_balance_selfdamagepercent 0.6
-set g_balance_weaponswitchdelay 0
+set g_balance_weaponswitchdelay 0.05
 set g_balance_firetransfer_time 0.9
 set g_balance_firetransfer_damage 0.8
 set g_throughfloor_damage 0
@@ -231,17 +231,17 @@
 set g_balance_laser_secondary_shotangle -90
 //   }}}
 //   {{{ shotgun
-set g_balance_shotgun_primary_bullets 18
-set g_balance_shotgun_primary_damage 6
+set g_balance_shotgun_primary_bullets 15
+set g_balance_shotgun_primary_damage 5
 set g_balance_shotgun_primary_force 0
 set g_balance_shotgun_primary_spread 0.09
 set g_balance_shotgun_primary_refire 1
-set g_balance_shotgun_primary_animtime 0.2
+set g_balance_shotgun_primary_animtime 0.5
 set g_balance_shotgun_primary_ammo 3
 set g_balance_shotgun_primary_speed 12000
 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
-set g_balance_shotgun_secondary_bullets 6
-set g_balance_shotgun_secondary_damage 6
+set g_balance_shotgun_secondary_bullets 5
+set g_balance_shotgun_secondary_damage 5
 set g_balance_shotgun_secondary_force 0
 set g_balance_shotgun_secondary_spread 0.09
 set g_balance_shotgun_secondary_refire 1
@@ -251,64 +251,65 @@
 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
 //   }}}
 //   {{{ uzi
-set g_balance_uzi_first_damage 35
-set g_balance_uzi_first_force 50
+set g_balance_uzi_first_damage 25
+set g_balance_uzi_first_force 0
 set g_balance_uzi_first_spread 0.015
 set g_balance_uzi_first_refire 0.2
 set g_balance_uzi_first_ammo 1
-set g_balance_uzi_sustained_damage 8
-set g_balance_uzi_sustained_force 27
-set g_balance_uzi_sustained_spread 0.05
+set g_balance_uzi_sustained_damage 7
+set g_balance_uzi_sustained_force 0
+set g_balance_uzi_sustained_spread 0.07
 set g_balance_uzi_sustained_refire 0.05
 set g_balance_uzi_sustained_ammo 1
 set g_balance_uzi_speed 18000
 set g_balance_uzi_bulletconstant 115 // 13.1qu
 //   }}}
 //   {{{ mortar
-set g_balance_grenadelauncher_primary_damage 50
-set g_balance_grenadelauncher_primary_edgedamage 30
+set g_balance_grenadelauncher_primary_damage 40
+set g_balance_grenadelauncher_primary_edgedamage 20
 set g_balance_grenadelauncher_primary_force 400
 set g_balance_grenadelauncher_primary_radius 140
 set g_balance_grenadelauncher_primary_speed 2000
 set g_balance_grenadelauncher_primary_speed_up 200
 set g_balance_grenadelauncher_primary_lifetime 30
-set g_balance_grenadelauncher_primary_refire 0.5
-set g_balance_grenadelauncher_primary_animtime 0.3
-set g_balance_grenadelauncher_primary_ammo 2
-set g_balance_grenadelauncher_secondary_damage 50
+set g_balance_grenadelauncher_primary_refire 0.8
+set g_balance_grenadelauncher_primary_animtime 0.5
+set g_balance_grenadelauncher_primary_ammo 1
+set g_balance_grenadelauncher_secondary_damage 70
 set g_balance_grenadelauncher_secondary_edgedamage 30
 set g_balance_grenadelauncher_secondary_force 400
 set g_balance_grenadelauncher_secondary_radius 140
 set g_balance_grenadelauncher_secondary_speed 1400
 set g_balance_grenadelauncher_secondary_speed_up 200
-set g_balance_grenadelauncher_secondary_lifetime 2.5
-set g_balance_grenadelauncher_secondary_refire 0.5
-set g_balance_grenadelauncher_secondary_animtime 0.3
-set g_balance_grenadelauncher_secondary_ammo 2
+set g_balance_grenadelauncher_secondary_lifetime 0.3
+set g_balance_grenadelauncher_secondary_refire 1
+set g_balance_grenadelauncher_secondary_animtime 0.5
+set g_balance_grenadelauncher_secondary_ammo 3
 set g_balance_grenadelauncher_secondary_health 10
 set g_balance_grenadelauncher_secondary_damageforcescale 4
 //   }}}
 //   {{{ electro
-set g_balance_electro_primary_damage 90
-set g_balance_electro_primary_edgedamage 0
+set g_balance_electro_primary_damage 70
+set g_balance_electro_primary_edgedamage 5
 set g_balance_electro_primary_force 200
-set g_balance_electro_primary_radius 200
+set g_balance_electro_primary_radius 90
+set g_balance_electro_primary_comboradius 300
 set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_lifetime 30
-set g_balance_electro_primary_refire 0.8
+set g_balance_electro_primary_refire 1
 set g_balance_electro_primary_animtime 0.3
-set g_balance_electro_primary_ammo 4
-set g_balance_electro_secondary_damage 50
+set g_balance_electro_primary_ammo 3
+set g_balance_electro_secondary_damage 30
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_edgedamage 0
 set g_balance_electro_secondary_force 200
-set g_balance_electro_secondary_radius 150
+set g_balance_electro_secondary_radius 90
 set g_balance_electro_secondary_speed 900
 set g_balance_electro_secondary_speed_up 200
-set g_balance_electro_secondary_lifetime 5
+set g_balance_electro_secondary_lifetime 1
 set g_balance_electro_secondary_refire 0.3
 set g_balance_electro_secondary_animtime 0.3
-set g_balance_electro_secondary_ammo 2
+set g_balance_electro_secondary_ammo 1
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 1
@@ -316,10 +317,11 @@
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
 set g_balance_electro_combo_radius 250
+set g_balance_electro_combo_comboradius 300
 set g_balance_electro_combo_speed 2000
 //   }}}
 //   {{{ crylink
-set g_balance_crylink_primary_damage 20
+set g_balance_crylink_primary_damage 25
 set g_balance_crylink_primary_edgedamage 0
 set g_balance_crylink_primary_force 0
 set g_balance_crylink_primary_radius 80
@@ -329,7 +331,7 @@
 set g_balance_crylink_primary_bounces 1
 set g_balance_crylink_primary_refire 0.8
 set g_balance_crylink_primary_animtime 0.3
-set g_balance_crylink_primary_ammo 2
+set g_balance_crylink_primary_ammo 4
 set g_balance_crylink_primary_bouncedamagefactor 0.5
 
 set g_balance_crylink_primary_middle_lifetime 5 // range: 35000 full, fades to 70000
@@ -339,7 +341,7 @@
 set g_balance_crylink_primary_other_lifetime 0.1 // range: 700 full, fades to 2450
 set g_balance_crylink_primary_other_fadetime 0.25
 
-set g_balance_crylink_secondary_damage 20
+set g_balance_crylink_secondary_damage 25
 set g_balance_crylink_secondary_edgedamage 0
 set g_balance_crylink_secondary_force 0
 set g_balance_crylink_secondary_radius 80
@@ -347,18 +349,18 @@
 set g_balance_crylink_secondary_spread 0.08
 set g_balance_crylink_secondary_shots 5
 set g_balance_crylink_secondary_bounces 1
-set g_balance_crylink_secondary_refire 0.8
+set g_balance_crylink_secondary_refire 1
 set g_balance_crylink_secondary_animtime 0.3
 set g_balance_crylink_secondary_ammo 5
 set g_balance_crylink_secondary_bouncedamagefactor 0.5
 
 set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
 set g_balance_crylink_secondary_middle_fadetime 5
-set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
-set g_balance_crylink_secondary_line_fadetime 2
+set g_balance_crylink_secondary_line_lifetime 0.1 // range: 35000 full, fades to 70000
+set g_balance_crylink_secondary_line_fadetime 0.25
 //   }}}
 //   {{{ nex
-set g_balance_nex_damage 80
+set g_balance_nex_damage 60
 set g_balance_nex_force 0
 set g_balance_nex_refire 0.7
 set g_balance_nex_animtime 0.3
@@ -374,42 +376,42 @@
 set g_balance_minstanex_ammo 10
 //   }}}
 //   {{{ hagar
-set g_balance_hagar_primary_damage 40
+set g_balance_hagar_primary_damage 30
 set g_balance_hagar_primary_edgedamage 0
 set g_balance_hagar_primary_force 50
 set g_balance_hagar_primary_radius 90
 set g_balance_hagar_primary_spread 0.1
 set g_balance_hagar_primary_speed 2000
 set g_balance_hagar_primary_lifetime 30
-set g_balance_hagar_primary_refire 0.15
+set g_balance_hagar_primary_refire 0.1
 set g_balance_hagar_primary_ammo 1
-set g_balance_hagar_secondary_damage 40
+set g_balance_hagar_secondary_damage 30
 set g_balance_hagar_secondary_edgedamage 0
 set g_balance_hagar_secondary_force 50
 set g_balance_hagar_secondary_radius 90
 set g_balance_hagar_secondary_spread 0.1
 set g_balance_hagar_secondary_speed 2000
 set g_balance_hagar_secondary_lifetime 30
-set g_balance_hagar_secondary_refire 0.15
+set g_balance_hagar_secondary_refire 0.1
 set g_balance_hagar_secondary_ammo 1
 //   }}}
 //   {{{ rocketlauncher
-set g_balance_rocketlauncher_damage 100
+set g_balance_rocketlauncher_damage 80
 set g_balance_rocketlauncher_edgedamage 0
 set g_balance_rocketlauncher_force 400
-set g_balance_rocketlauncher_radius 110
+set g_balance_rocketlauncher_radius 100
 set g_balance_rocketlauncher_speed 2200
 set g_balance_rocketlauncher_speedaccel 0
 set g_balance_rocketlauncher_speedstart 2200
 set g_balance_rocketlauncher_lifetime 30
-set g_balance_rocketlauncher_refire 1
+set g_balance_rocketlauncher_refire 0.7
 set g_balance_rocketlauncher_animtime 0.3
 set g_balance_rocketlauncher_ammo 3
 set g_balance_rocketlauncher_health 40
 set g_balance_rocketlauncher_damageforcescale 0
 set g_balance_rocketlauncher_detonatedelay 0.05 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
 set g_balance_rocketlauncher_guiderate 360 // max degrees per second
-set g_balance_rocketlauncher_guideratedelay 0.25 // takes a while to full guide rate
+set g_balance_rocketlauncher_guideratedelay 0.05 // rapidly reaches full guide rate
 set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic)
 set g_balance_rocketlauncher_guidedelay 0.15 // delay before guiding kicks in
 set g_balance_rocketlauncher_guidestop 0 // stop guiding when firing again
@@ -447,33 +449,33 @@
 set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
 //   }}}
 //   {{{ hlac
-set g_balance_hlac_primary_spread_min 0.01
+set g_balance_hlac_primary_spread_min 0.0
 set g_balance_hlac_primary_spread_max 0.03
-set g_balance_hlac_primary_spread_add 0.002
+set g_balance_hlac_primary_spread_add 0.03
 set g_balance_hlac_primary_spread_crouchmod 0.5
 
-set g_balance_hlac_primary_damage 24
-set g_balance_hlac_primary_edgedamage 0
-set g_balance_hlac_primary_force 50
+set g_balance_hlac_primary_damage 33
+set g_balance_hlac_primary_edgedamage 10
+set g_balance_hlac_primary_force 250
 set g_balance_hlac_primary_radius 70
 set g_balance_hlac_primary_speed 20000
 set g_balance_hlac_primary_lifetime 5
 
-set g_balance_hlac_primary_refire 0.15
-set g_balance_hlac_primary_animtime 0.05
-set g_balance_hlac_primary_ammo 1
+set g_balance_hlac_primary_refire 0.3
+set g_balance_hlac_primary_animtime 0.3
+set g_balance_hlac_primary_ammo 2
 
-set g_balance_hlac_secondary_spread 0.06
-set g_balance_hlac_secondary_spread_crouchmod 0.5
+set g_balance_hlac_secondary_spread 0.1
+set g_balance_hlac_secondary_spread_crouchmod 1
 
-set g_balance_hlac_secondary_damage 15
+set g_balance_hlac_secondary_damage 33
 set g_balance_hlac_secondary_edgedamage 10
-set g_balance_hlac_secondary_force 100
+set g_balance_hlac_secondary_force 250
 set g_balance_hlac_secondary_radius 70
 set g_balance_hlac_secondary_speed 20000
 set g_balance_hlac_secondary_lifetime 5
 
-set g_balance_hlac_secondary_refire 1
+set g_balance_hlac_secondary_refire 1.5
 set g_balance_hlac_secondary_animtime 0.3
 set g_balance_hlac_secondary_ammo 10
 set g_balance_hlac_secondary_shots 5
@@ -491,7 +493,7 @@
 set g_balance_campingrifle_primary_lifetime 5
 set g_balance_campingrifle_primary_refire 0.7
 set g_balance_campingrifle_primary_animtime 0.3
-set g_balance_campingrifle_primary_ammo 15
+set g_balance_campingrifle_primary_ammo 10
 set g_balance_campingrifle_primary_bulletconstant 130 // 56.3qu
 set g_balance_campingrifle_primary_burstcost 0.35 // require same cooldown as secondary, note it's smaller than primary refire time
 set g_balance_campingrifle_secondary_damage 15
@@ -502,7 +504,7 @@
 set g_balance_campingrifle_secondary_lifetime 5
 set g_balance_campingrifle_secondary_refire 0.1
 set g_balance_campingrifle_secondary_animtime 0.1
-set g_balance_campingrifle_secondary_ammo 5
+set g_balance_campingrifle_secondary_ammo 4
 set g_balance_campingrifle_secondary_bulletconstant 130 // 18.3qu
 set g_balance_campingrifle_secondary_burstcost 0.35
 //   }}}
@@ -519,12 +521,12 @@
 //   {{{ fireball
 set g_balance_fireball_primary_ammo 5
 set g_balance_fireball_primary_animtime 0.3
-set g_balance_fireball_primary_damage 60
+set g_balance_fireball_primary_damage 50
 set g_balance_fireball_primary_damageforcescale 4
 set g_balance_fireball_primary_damagetime 5
 set g_balance_fireball_primary_force 100
 set g_balance_fireball_primary_laserburntime 0.5
-set g_balance_fireball_primary_laserdamage 50
+set g_balance_fireball_primary_laserdamage 30
 set g_balance_fireball_primary_laseredgedamage 20
 set g_balance_fireball_primary_laserradius 128
 set g_balance_fireball_primary_lifetime 7
@@ -533,20 +535,20 @@
 set g_balance_fireball_primary_speed_up 100
 set g_balance_fireball_secondary_ammo 15
 set g_balance_fireball_secondary_animtime 0.15
-set g_balance_fireball_secondary_bfgdamage 250
-set g_balance_fireball_secondary_bfgforce 0
-set g_balance_fireball_secondary_bfgradius 1500
-set g_balance_fireball_secondary_damage 100
+set g_balance_fireball_secondary_bfgdamage 100
+set g_balance_fireball_secondary_bfgforce 500
+set g_balance_fireball_secondary_bfgradius 750
+set g_balance_fireball_secondary_damage 150
 set g_balance_fireball_secondary_damageforcescale 4
 set g_balance_fireball_secondary_edgedamage 0
 set g_balance_fireball_secondary_force 700
 set g_balance_fireball_secondary_health 50
 set g_balance_fireball_secondary_laserburntime 0.5
-set g_balance_fireball_secondary_laserdamage 50
+set g_balance_fireball_secondary_laserdamage 30
 set g_balance_fireball_secondary_laseredgedamage 20
 set g_balance_fireball_secondary_laserradius 256
 set g_balance_fireball_secondary_lifetime 15
 set g_balance_fireball_secondary_radius 200
-set g_balance_fireball_secondary_refire 3
-set g_balance_fireball_secondary_speed 600
+set g_balance_fireball_secondary_refire 2
+set g_balance_fireball_secondary_speed 650
 //   }}}

Modified: trunk/data/balanceSamual.cfg
===================================================================
--- trunk/data/balanceSamual.cfg	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/balanceSamual.cfg	2009-09-27 04:26:55 UTC (rev 7934)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit the other balance*.cfg too.
 
-set cvar_check_balance 59ee376a58dfcc2e2ee440c6a9508e11
+set cvar_check_balance 80b343d239a1d214d86d1ffcefef0bef
 
 // {{{ weapon replacement
 // NOTE: this only replaces weapons on the map
@@ -293,6 +293,7 @@
 set g_balance_electro_primary_edgedamage 0
 set g_balance_electro_primary_force 200
 set g_balance_electro_primary_radius 150
+set g_balance_electro_primary_comboradius 0
 set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_lifetime 30
 set g_balance_electro_primary_refire 0.6
@@ -316,6 +317,7 @@
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
 set g_balance_electro_combo_radius 250
+set g_balance_electro_combo_comboradius 0
 set g_balance_electro_combo_speed 2000
 //   }}}
 //   {{{ crylink

Modified: trunk/data/default.cfg
===================================================================
--- trunk/data/default.cfg	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/default.cfg	2009-09-27 04:26:55 UTC (rev 7934)
@@ -1,4 +1,4 @@
 exec defaultNexuiz.cfg
 
 // we're not nexuiz 2.6 yet
-exec default25.cfg
+//exec default25.cfg

Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/qcsrc/server/constants.qh	2009-09-27 04:26:55 UTC (rev 7934)
@@ -1,5 +1,5 @@
 string CVAR_CHECK_DEFAULT = "4bb48bd2d43bd891aa49d542abb24bf8";
-string CVAR_CHECK_BALANCE = "59ee376a58dfcc2e2ee440c6a9508e11";
+string CVAR_CHECK_BALANCE = "80b343d239a1d214d86d1ffcefef0bef";
 
 float	FALSE					= 0;
 float	TRUE					= 1;

Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc	2009-09-26 20:15:16 UTC (rev 7933)
+++ trunk/data/qcsrc/server/w_electro.qc	2009-09-27 04:26:55 UTC (rev 7934)
@@ -1,5 +1,31 @@
 .float electro_count;
 
+void W_Plasma_Explode_Combo (void);
+
+void W_Plasma_TriggerCombo(vector org, float rad, entity own)
+{
+	local entity e;
+	e = findradius(org, rad);
+	while (e)
+	{
+		if (e.classname == "plasma")
+		{
+			// see if there is line of sight to the combo ball
+			traceline(org, e.origin, MOVE_NOMONSTERS, e);
+			if (trace_fraction == 1 || trace_ent == e)
+			{
+				// change owner to whoever caused the combo explosion
+				e.owner = own;
+				e.takedamage = DAMAGE_NO;
+				e.classname = "plasma_chain";
+				e.think = W_Plasma_Explode_Combo;
+				e.nextthink = time + vlen(e.origin - org) / cvar("g_balance_electro_combo_speed"); // delay combo chains, looks cooler
+			}
+		}
+		e = e.chain;
+	}
+}
+
 void W_Plasma_Explode (void)
 {
 	if(other.takedamage == DAMAGE_AIM)
@@ -9,6 +35,8 @@
 					if(IsFlying(other))
 						announce(self.owner, "announcer/male/electrobitch.wav");
 
+	W_Plasma_TriggerCombo(self.origin, cvar("g_balance_electro_primary_comboradius"), self.owner);
+
 	self.event_damage = SUB_Null;
 	self.takedamage = DAMAGE_NO;
 	if (self.movetype == MOVETYPE_BOUNCE)
@@ -23,7 +51,11 @@
 	remove (self);
 }
 
-void W_Plasma_Explode_Combo (void) {
+void W_Plasma_Explode_Combo (void)
+{
+
+	W_Plasma_TriggerCombo(self.origin, cvar("g_balance_electro_combo_comboradius"), self.owner);
+
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.owner, cvar("g_balance_electro_combo_damage"), cvar("g_balance_electro_combo_edgedamage"), cvar("g_balance_electro_combo_radius"), world, cvar("g_balance_electro_combo_force"), WEP_ELECTRO | HITTYPE_BOUNCE, world); // use THIS type for a combo because primary can't bounce
 	remove (self);
@@ -50,6 +82,7 @@
 {
 	if(self.health <= 0)
 		return;
+	// note: combos are usually triggered by W_Plasma_TriggerCombo, not damage
 	self.health = self.health - damage;
 	if (self.health <= 0)
 	{



More information about the nexuiz-commits mailing list