]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/master' into tzork/balance-tzork
authorunknown <jm@.(none)>
Thu, 11 Nov 2010 22:12:00 +0000 (23:12 +0100)
committerunknown <jm@.(none)>
Thu, 11 Nov 2010 22:12:00 +0000 (23:12 +0100)
Conflicts:
balancetZork.cfg

12 files changed:
balance25.cfg
balanceLeeStricklin.cfg
balanceNexSVN.cfg
balanceSamual.cfg
balanceTest.cfg
balanceXonotic.cfg
balancetZork.cfg
qcsrc/server/cl_client.qc
qcsrc/server/defs.qh
qcsrc/server/w_electro.qc
qcsrc/server/w_nex.qc
qcsrc/server/w_uzi.qc

index dbf2c8ea1d3a68b070ed1dfbd5e96cff0b900b91..8569fc85cb6240133a48e224d72b607655f9138e 100644 (file)
@@ -263,6 +263,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 30
 set g_balance_uzi_first_force 50
@@ -373,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 1
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
@@ -454,6 +467,7 @@ set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.1
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0.5
 set g_balance_nex_charge_velocity_rate 0.2
 set g_balance_nex_charge_minspeed 400
index fa2c255a3cf69480d8e5ac67162565254b638c15..144843191f709f244104b692d41e577c2a12ab71 100644 (file)
@@ -274,6 +274,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 26
 set g_balance_uzi_first_force -30
@@ -384,6 +395,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 70
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
@@ -465,6 +478,7 @@ set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.1
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0.5
 set g_balance_nex_charge_velocity_rate 0.2
 set g_balance_nex_charge_minspeed 400
index cd8cb05d59e2c0d1d8089dc986a66ac2efd0204b..59c506c6abc0ea9624c0a07dc8cb413240867afc 100644 (file)
@@ -263,6 +263,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 30
 set g_balance_uzi_first_force 50
@@ -372,6 +383,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 1
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
@@ -453,6 +466,7 @@ set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.1
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0.5
 set g_balance_nex_charge_velocity_rate 0.2
 set g_balance_nex_charge_minspeed 400
index 94ec2627930222be44fa214fd7c6848d2c14d370..555c231d5e323516ee3065d1c2f21a3ee17e094f 100644 (file)
@@ -263,6 +263,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 12
 set g_balance_uzi_first_force 5
@@ -373,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 50
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
@@ -454,6 +467,7 @@ set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.1
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0.5
 set g_balance_nex_charge_velocity_rate 0.2
 set g_balance_nex_charge_minspeed 400
index 37cc8be55ee4404a726827e6411ca998d0a06ee3..8abc27fe8644e06b4bd557152405ffe007de7e94 100644 (file)
@@ -263,6 +263,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 30
 set g_balance_uzi_first_force 50
@@ -373,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 60
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 80
@@ -454,6 +467,7 @@ set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.35
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0
 set g_balance_nex_charge_velocity_rate 0
 set g_balance_nex_charge_minspeed 400
index 2b2c16e6654efd8dd2d904543ebc1b57c10cb063..eb72b126d652b1969484b6cf93824ee91c81b0b9 100644 (file)
@@ -263,6 +263,17 @@ set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
 // {{{ uzi
+set g_balance_uzi_mode 0                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.012
+set g_balance_uzi_burst 0                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.75   // refire after burst
+set g_balance_uzi_burst_spread 0.04
+set g_balance_uzi_burst_damage 18              
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 18
 set g_balance_uzi_first_force 35
@@ -373,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 1
+set g_balance_electro_secondary_bouncestop 0
 set g_balance_electro_combo_damage 40
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 80
@@ -454,6 +467,7 @@ set g_balance_nex_charge_start 0.5
 set g_balance_nex_charge_rate 0.05
 set g_balance_nex_charge_limit 0.5
 set g_balance_nex_charge_rot_rate 0.01
+set g_balance_nex_charge_rot_pause 0 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0.675
 set g_balance_nex_charge_velocity_rate 0.15
 set g_balance_nex_charge_minspeed 400
index 56ea71c184e93a1630b750b60d2704b8ee817804..4de12ee5c52d5b34aaa141caa4144557c37f790f 100644 (file)
@@ -55,52 +55,67 @@ set g_balance_nix_ammoincr_fuel 2
 // {{{ pickup items
 set g_pickup_ammo_anyway 1
 set g_pickup_weapons_anyway 1
+
 set g_pickup_shells 20
 set g_pickup_shells_weapon 10
-set g_pickup_shells_max 45
-set g_pickup_nails 120
+set g_pickup_shells_max 50
+
+set g_pickup_nails 60
 set g_pickup_nails_weapon 60
 set g_pickup_nails_max 300
+
 set g_pickup_rockets 25
 set g_pickup_rockets_weapon 15
 set g_pickup_rockets_max 150
+
 set g_pickup_cells 30
 set g_pickup_cells_weapon 20
-set g_pickup_cells_max 200
+set g_pickup_cells_max 300
+
 set g_pickup_fuel 25
 set g_pickup_fuel_weapon 15
 set g_pickup_fuel_jetpack 50
 set g_pickup_fuel_max 999
+
 set g_pickup_armorsmall 5
 set g_pickup_armorsmall_max 999
 set g_pickup_armorsmall_anyway 0
+
 set g_pickup_armormedium 25
-set g_pickup_armormedium_max 999
+set g_pickup_armormedium_max 100
 set g_pickup_armormedium_anyway 0
+
 set g_pickup_armorbig 50
-set g_pickup_armorbig_max 999
+set g_pickup_armorbig_max 150
 set g_pickup_armorbig_anyway 0
+
 set g_pickup_armorlarge 100
 set g_pickup_armorlarge_max 999
 set g_pickup_armorlarge_anyway 0
+
 set g_pickup_healthsmall 5
 set g_pickup_healthsmall_max 999
 set g_pickup_healthsmall_anyway 0
+
 set g_pickup_healthmedium 25
-set g_pickup_healthmedium_max 999
+set g_pickup_healthmedium_max 100
 set g_pickup_healthmedium_anyway 0
+
 set g_pickup_healthlarge 50
-set g_pickup_healthlarge_max 999
+set g_pickup_healthlarge_max 150
 set g_pickup_healthlarge_anyway 0
+
 set g_pickup_healthmega 100
 set g_pickup_healthmega_max 999
 set g_pickup_healthmega_anyway 0
+
 set g_pickup_respawntime_short 15
 set g_pickup_respawntime_medium 20
 set g_pickup_respawntime_long 30
 set g_pickup_respawntime_powerup 120
-set g_pickup_respawntime_weapon 5
-set g_pickup_respawntime_ammo 25
+set g_pickup_respawntime_weapon 20
+set g_pickup_respawntime_ammo 15
+
 set g_pickup_respawntimejitter_short 0
 set g_pickup_respawntimejitter_medium 0
 set g_pickup_respawntimejitter_long 0
@@ -115,18 +130,18 @@ set g_balance_health_regenlinear 0
 set g_balance_pause_health_regen 5
 set g_balance_pause_health_regen_spawn 0
 set g_balance_health_rot 0.1
-set g_balance_health_rotlinear 0
-set g_balance_pause_health_rot 5
-set g_balance_pause_health_rot_spawn 10
+set g_balance_health_rotlinear 2.5
+set g_balance_pause_health_rot 4
+set g_balance_pause_health_rot_spawn 8
 set g_balance_health_regenstable 100
 set g_balance_health_rotstable 100
 set g_balance_health_limit 999
 set g_balance_armor_regen 0
 set g_balance_armor_regenlinear 0
 set g_balance_armor_rot 0.1
-set g_balance_armor_rotlinear 0
-set g_balance_pause_armor_rot 5
-set g_balance_pause_armor_rot_spawn 10
+set g_balance_armor_rotlinear 2.5
+set g_balance_pause_armor_rot 4
+set g_balance_pause_armor_rot_spawn 8
 set g_balance_armor_regenstable 100
 set g_balance_armor_rotstable 100
 set g_balance_armor_limit 999
@@ -136,15 +151,15 @@ set g_balance_fuel_regenlinear 0
 set g_balance_pause_fuel_regen 2 // other than this, fuel uses the health regen counter
 set g_balance_fuel_rot 0.05
 set g_balance_fuel_rotlinear 0
-set g_balance_pause_fuel_rot 5
-set g_balance_pause_fuel_rot_spawn 10
+set g_balance_pause_fuel_rot 4
+set g_balance_pause_fuel_rot_spawn 8
 set g_balance_fuel_regenstable 50
 set g_balance_fuel_rotstable 100
 set g_balance_fuel_limit 999
 // }}}
 
 // {{{ misc
-set g_balance_selfdamagepercent 0.65
+set g_balance_selfdamagepercent 0.6
 set g_balance_weaponswitchdelay 0.15
 set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
 set g_weaponratefactor 1 "weapon fire rate multiplier"
@@ -176,15 +191,15 @@ set g_projectiles_spread_style 7
 // 7: forward + circle with (1-r)(2-r) falloff
 set g_balance_falldamage_deadminspeed 150
 set g_balance_falldamage_minspeed 800
-set g_balance_falldamage_factor 0.20
-set g_balance_falldamage_maxdamage 15
+set g_balance_falldamage_factor 0.02 // maxspeed = minspeed + maxdamage / factor = 4550
+set g_balance_falldamage_maxdamage 75
 // }}}
 
 // {{{ powerups
 set g_balance_powerup_invincible_takedamage 0.3
 set g_balance_powerup_invincible_time 30
 set g_balance_powerup_strength_damage 3
-set g_balance_powerup_strength_force 4
+set g_balance_powerup_strength_force 3
 set g_balance_powerup_strength_time 30
 set g_balance_powerup_strength_selfdamage 1.5
 set g_balance_powerup_strength_selfforce 1.5
@@ -212,11 +227,11 @@ set g_balance_grapplehook_health 130
 
 // {{{ weapon properties
 // {{{ laser
-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 270
+set g_balance_laser_primary_damage 20 
+set g_balance_laser_primary_edgedamage 10
+set g_balance_laser_primary_force 230
 set g_balance_laser_primary_radius 60
-set g_balance_laser_primary_speed 4000
+set g_balance_laser_primary_speed 9000
 set g_balance_laser_primary_spread 0
 set g_balance_laser_primary_refire 0.6
 set g_balance_laser_primary_animtime 0.6
@@ -224,7 +239,7 @@ set g_balance_laser_primary_lifetime 5
 set g_balance_laser_primary_shotangle 0
 set g_balance_laser_primary_delay 0
 set g_balance_laser_primary_gauntlet 0
-set g_balance_laser_primary_force_zscale 1
+set g_balance_laser_primary_force_zscale 1.2
 set g_balance_laser_primary_force_velocitybias 0
 set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
 set g_balance_laser_secondary_damage 35
@@ -245,7 +260,7 @@ set g_balance_laser_secondary_force_velocitybias 0
 // {{{ shotgun
 set g_balance_shotgun_primary_bullets 10
 set g_balance_shotgun_primary_damage 5
-set g_balance_shotgun_primary_force 60
+set g_balance_shotgun_primary_force 5
 set g_balance_shotgun_primary_spread 0.07
 set g_balance_shotgun_primary_refire 0.8
 set g_balance_shotgun_primary_animtime 0.2
@@ -262,26 +277,42 @@ set g_balance_shotgun_secondary_force 150
 set g_balance_shotgun_secondary_refire 1.1
 set g_balance_shotgun_secondary_animtime 1
 // }}}
+
 // {{{ uzi
+set g_balance_uzi_mode 1                               // Activates varible spread for sustained & burst mode secondary
+set g_balance_uzi_spread_min 0.02
+set g_balance_uzi_spread_max 0.6
+set g_balance_uzi_spread_add 0.008
+
+set g_balance_uzi_burst 3                              // # of bullets in a burst (if set to 2 or more)
+set g_balance_uzi_burst_refire 0.05            // refire between burst bullets
+set g_balance_uzi_burst_refire2 0.4    // refire after burst
+set g_balance_uzi_burst_spread 0.03
+set g_balance_uzi_burst_damage 18              // 90 dps (but 90 dmg deliverd in .25s)
+set g_balance_uzi_burst_force 50
+set g_balance_uzi_burst_ammo 3
+
 set g_balance_uzi_first 1
 set g_balance_uzi_first_damage 30
 set g_balance_uzi_first_force 50
 set g_balance_uzi_first_spread 0.015
-set g_balance_uzi_first_refire 0.3
+set g_balance_uzi_first_refire 0.2
 set g_balance_uzi_first_ammo 1
-set g_balance_uzi_sustained_damage 15
-set g_balance_uzi_sustained_force 10
-set g_balance_uzi_sustained_spread 0.08
+
+set g_balance_uzi_sustained_damage 14  // 120 dps
+set g_balance_uzi_sustained_force 12
+set g_balance_uzi_sustained_spread 0.02
 set g_balance_uzi_sustained_refire 0.1
 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_type 0
-set g_balance_grenadelauncher_primary_damage 60
-set g_balance_grenadelauncher_primary_edgedamage 38
-set g_balance_grenadelauncher_primary_force 400
+set g_balance_grenadelauncher_primary_damage 50
+set g_balance_grenadelauncher_primary_edgedamage 30
+set g_balance_grenadelauncher_primary_force 250
 set g_balance_grenadelauncher_primary_radius 140
 set g_balance_grenadelauncher_primary_speed 2000
 set g_balance_grenadelauncher_primary_speed_up 200
@@ -297,9 +328,9 @@ set g_balance_grenadelauncher_primary_damageforcescale 4
 set g_balance_grenadelauncher_primary_remote_minbouncecnt 0
 
 set g_balance_grenadelauncher_secondary_type 1
-set g_balance_grenadelauncher_secondary_damage 70
-set g_balance_grenadelauncher_secondary_edgedamage 38
-set g_balance_grenadelauncher_secondary_force 400
+set g_balance_grenadelauncher_secondary_damage 60
+set g_balance_grenadelauncher_secondary_edgedamage 35
+set g_balance_grenadelauncher_secondary_force 300
 set g_balance_grenadelauncher_secondary_radius 140
 set g_balance_grenadelauncher_secondary_speed 1400
 set g_balance_grenadelauncher_secondary_speed_up 200
@@ -340,55 +371,58 @@ set g_balance_minelayer_remote_radius 200
 set g_balance_minelayer_remote_force 300
 // }}}
 // {{{ electro
-set g_balance_electro_lightning 1
-set g_balance_electro_primary_damage 110
+set g_balance_electro_lightning 0
+set g_balance_electro_primary_damage 35
 set g_balance_electro_primary_edgedamage 0
-set g_balance_electro_primary_force 425
-set g_balance_electro_primary_force_up 125
-set g_balance_electro_primary_radius 850
-set g_balance_electro_primary_comboradius 150
-set g_balance_electro_primary_speed 0
+set g_balance_electro_primary_force 150
+set g_balance_electro_primary_force_up 0
+set g_balance_electro_primary_radius 155
+set g_balance_electro_primary_comboradius 0
+set g_balance_electro_primary_speed 2000
 set g_balance_electro_primary_spread 0
-set g_balance_electro_primary_lifetime 0
-set g_balance_electro_primary_refire 0.4
-set g_balance_electro_primary_animtime 0.03333333
-set g_balance_electro_primary_ammo 7
-set g_balance_electro_primary_range 800
+set g_balance_electro_primary_lifetime 30
+set g_balance_electro_primary_refire 0.65
+set g_balance_electro_primary_animtime 0.3
+set g_balance_electro_primary_ammo 2
+set g_balance_electro_primary_range 0
 set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
 set g_balance_electro_primary_falloff_maxdist 850
 set g_balance_electro_primary_falloff_halflifedist 425
 
 set g_balance_electro_secondary_damage 25
 set g_balance_electro_secondary_edgedamage 0
-set g_balance_electro_secondary_force 100
-set g_balance_electro_secondary_radius 100
-set g_balance_electro_secondary_speed 500
+set g_balance_electro_secondary_force 50
+set g_balance_electro_secondary_radius 25
+set g_balance_electro_secondary_speed 750
 set g_balance_electro_secondary_speed_up 150
 set g_balance_electro_secondary_speed_z 0
-set g_balance_electro_secondary_spread 0.08
-set g_balance_electro_secondary_lifetime 3.5
+set g_balance_electro_secondary_spread 0.025
+set g_balance_electro_secondary_lifetime 5
 set g_balance_electro_secondary_refire 0.1
 set g_balance_electro_secondary_refire2 2
-set g_balance_electro_secondary_animtime 0.2
+set g_balance_electro_secondary_animtime 0.15
 set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
-set g_balance_electro_secondary_damageforcescale 4
+set g_balance_electro_secondary_damageforcescale 2
 set g_balance_electro_secondary_count 3
-set g_balance_electro_combo_damage 60
-set g_balance_electro_combo_edgedamage 0
-set g_balance_electro_combo_force 80
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.01
+
+set g_balance_electro_combo_damage 80
+set g_balance_electro_combo_edgedamage 10
+set g_balance_electro_combo_force 150
 set g_balance_electro_combo_radius 250
 set g_balance_electro_combo_comboradius 0
-set g_balance_electro_combo_speed 400
+set g_balance_electro_combo_speed 1000
 // }}}
 // {{{ crylink
-set g_balance_crylink_primary_damage 5
-set g_balance_crylink_primary_edgedamage 2.5
-set g_balance_crylink_primary_force 25
+set g_balance_crylink_primary_damage 20
+set g_balance_crylink_primary_edgedamage 5
+set g_balance_crylink_primary_force 50
 set g_balance_crylink_primary_radius 50
-set g_balance_crylink_primary_speed 2500
-set g_balance_crylink_primary_spread 0.04
-set g_balance_crylink_primary_shots 12
+set g_balance_crylink_primary_speed 2000
+set g_balance_crylink_primary_spread 0.075
+set g_balance_crylink_primary_shots 4
 set g_balance_crylink_primary_bounces 1
 set g_balance_crylink_primary_refire 1
 set g_balance_crylink_primary_animtime 0.4
@@ -398,11 +432,12 @@ set g_balance_crylink_primary_joinspeed 0
 set g_balance_crylink_primary_jointime 0
 set g_balance_crylink_secondary_linkexplode 1
 
-set g_balance_crylink_primary_middle_lifetime 5 // range: 10000 full, fades to 20000
+set g_balance_crylink_primary_middle_lifetime 5 
 set g_balance_crylink_primary_middle_fadetime 5
 set g_balance_crylink_primary_other_lifetime 2 // range: 800 full, fades to 1300
 set g_balance_crylink_primary_other_fadetime 0.25
 
+
 set g_balance_crylink_secondary 1
 set g_balance_crylink_secondary_damage 2
 set g_balance_crylink_secondary_edgedamage 0
@@ -426,7 +461,7 @@ set g_balance_crylink_secondary_line_lifetime 2 // range: 4000 full, fades to 80
 set g_balance_crylink_secondary_line_fadetime 2
 // }}}
 // {{{ nex
-set g_balance_nex_primary_damage 100
+set g_balance_nex_primary_damage 110
 set g_balance_nex_primary_force 600
 set g_balance_nex_primary_refire 0.75
 set g_balance_nex_primary_animtime 0.3
@@ -438,7 +473,7 @@ set g_balance_nex_primary_damagefalloff_forcehalflife 0
 
 set g_balance_nex_secondary 1
 set g_balance_nex_secondary_charge 1
-set g_balance_nex_secondary_charge_rate 0.7
+set g_balance_nex_secondary_charge_rate 0.6
 set g_balance_nex_secondary_damage 100
 set g_balance_nex_secondary_force 600
 set g_balance_nex_secondary_refire 1.5
@@ -454,7 +489,8 @@ set g_balance_nex_charge_mindmg 10
 set g_balance_nex_charge_start 0
 set g_balance_nex_charge_rate 0.35
 set g_balance_nex_charge_limit 0.5
-set g_balance_nex_charge_rot_rate 0
+set g_balance_nex_charge_rot_rate 0.1
+set g_balance_nex_charge_rot_pause 1 // Dont rot down untill this long after release of charge button
 set g_balance_nex_charge_shot_multiplier 0
 set g_balance_nex_charge_velocity_rate 0
 set g_balance_nex_charge_minspeed 400
@@ -466,14 +502,14 @@ set g_balance_minstanex_animtime 0.3
 set g_balance_minstanex_ammo 10
 // }}}
 // {{{ hagar
-set g_balance_hagar_primary_damage 30
-set g_balance_hagar_primary_edgedamage 15
-set g_balance_hagar_primary_force 50
-set g_balance_hagar_primary_radius 65
+set g_balance_hagar_primary_damage 25
+set g_balance_hagar_primary_edgedamage 5
+set g_balance_hagar_primary_force 70
+set g_balance_hagar_primary_radius 60
 set g_balance_hagar_primary_spread 0.010
-set g_balance_hagar_primary_speed 3000
+set g_balance_hagar_primary_speed 2500
 set g_balance_hagar_primary_lifetime 30
-set g_balance_hagar_primary_refire 0.15
+set g_balance_hagar_primary_refire 0.2
 set g_balance_hagar_primary_ammo 1
 set g_balance_hagar_secondary 1
 set g_balance_hagar_secondary_damage 30
@@ -488,21 +524,21 @@ set g_balance_hagar_secondary_refire 0.15
 set g_balance_hagar_secondary_ammo 1
 // }}}
 // {{{ rocketlauncher // TODO
-set g_balance_rocketlauncher_damage 110
+set g_balance_rocketlauncher_damage 120
 set g_balance_rocketlauncher_edgedamage 25
 set g_balance_rocketlauncher_force 350
-set g_balance_rocketlauncher_radius 125
-set g_balance_rocketlauncher_speed 1000
+set g_balance_rocketlauncher_radius 130
+set g_balance_rocketlauncher_speed 900
 set g_balance_rocketlauncher_speedaccel 0
-set g_balance_rocketlauncher_speedstart 1000
-set g_balance_rocketlauncher_lifetime 5
-set g_balance_rocketlauncher_refire 1
+set g_balance_rocketlauncher_speedstart 900
+set g_balance_rocketlauncher_lifetime 9
+set g_balance_rocketlauncher_refire 1.2
 set g_balance_rocketlauncher_animtime 0.4
 set g_balance_rocketlauncher_ammo 3
 set g_balance_rocketlauncher_health 10
 set g_balance_rocketlauncher_damageforcescale 0
 set g_balance_rocketlauncher_detonatedelay -1 // 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 45 // max degrees per second
+set g_balance_rocketlauncher_guiderate 25 // max degrees per second
 set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
 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
@@ -578,13 +614,13 @@ set g_balance_campingrifle_reloadtime 2 // matches reload anim
 set g_balance_campingrifle_auto_reload_after_changing_weapons 0
 set g_balance_campingrifle_bursttime 0
 set g_balance_campingrifle_primary_tracer 1
-set g_balance_campingrifle_primary_damage 75
-set g_balance_campingrifle_primary_headshotaddeddamage 75
+set g_balance_campingrifle_primary_damage 50
+set g_balance_campingrifle_primary_headshotaddeddamage 90
 set g_balance_campingrifle_primary_spread 0
 set g_balance_campingrifle_primary_force 2
 set g_balance_campingrifle_primary_speed 40000
 set g_balance_campingrifle_primary_lifetime 5
-set g_balance_campingrifle_primary_refire 1.5
+set g_balance_campingrifle_primary_refire 0.5
 set g_balance_campingrifle_primary_animtime 0.6
 set g_balance_campingrifle_primary_ammo 10
 set g_balance_campingrifle_primary_bulletconstant 110 // 62.2qu
@@ -619,7 +655,7 @@ set g_balance_tuba_force 40
 // {{{ fireball
 set g_balance_fireball_primary_ammo 40
 set g_balance_fireball_primary_animtime 0.15
-set g_balance_fireball_primary_bfgdamage 100
+set g_balance_fireball_primary_bfgdamage 150
 set g_balance_fireball_primary_bfgforce 0
 set g_balance_fireball_primary_bfgradius 1000
 set g_balance_fireball_primary_damage 200
@@ -673,8 +709,8 @@ set g_balance_seeker_missile_accel 1.05
 set g_balance_seeker_missile_ammo 2
 set g_balance_seeker_missile_animtime 0.3
 set g_balance_seeker_missile_count 4
-set g_balance_seeker_missile_damage 40
-set g_balance_seeker_missile_damageforcescale 4
+set g_balance_seeker_missile_damage 50
+set g_balance_seeker_missile_damageforcescale 2
 set g_balance_seeker_missile_decel 0.9
 set g_balance_seeker_missile_delay 0.25
 set g_balance_seeker_missile_edgedamage 10
@@ -703,7 +739,7 @@ set g_balance_seeker_tag_animtime 0.3
 set g_balance_seeker_tag_damageforcescale 4
 set g_balance_seeker_tag_health 5
 set g_balance_seeker_tag_lifetime 15
-set g_balance_seeker_tag_refire 0.7
+set g_balance_seeker_tag_refire 1
 set g_balance_seeker_tag_speed 9000
 set g_balance_seeker_tag_spread 0
 // End new seeker
index abdd41ebe93649243ea01781dd48505d16b1099f..5ce52680727511ac333b21d9d1e3eb3fb249e8e2 100644 (file)
@@ -2806,7 +2806,7 @@ void PlayerPreThink (void)
                player_regen();
 
                // rot nex charge to the charge limit
-               if(cvar("g_balance_nex_charge_rot_rate") && self.nex_charge > cvar("g_balance_nex_charge_limit"))
+               if(cvar("g_balance_nex_charge_rot_rate") && self.nex_charge > cvar("g_balance_nex_charge_limit") && self.nex_charge_rottime < time)
                        self.nex_charge = bound(cvar("g_balance_nex_charge_limit"), self.nex_charge - cvar("g_balance_nex_charge_rot_rate") * frametime / W_TICSPERFRAME, 1);
 
                if(frametime)
index 95fce0ade3b7a284ad646a88e56001f55ab4a6b4..5302aef503b1b851ff1a17437aa7135bec98d2d8 100644 (file)
@@ -654,6 +654,7 @@ string deathmessage;
 .entity realowner;
 
 .float nex_charge;
+.float nex_charge_rottime;
 
 float allowed_to_spawn; // boolean variable used by the clan arena code to determine if a player can spawn (after the round has ended)
 
index 6634837db6131f9da80daf588a54b53ceae2c008..1600a1c9a1fe7f8b860743d9b556a1b07f11bd06 100644 (file)
@@ -61,10 +61,13 @@ void W_Plasma_Explode_Combo (void)
 
 void W_Plasma_Touch (void)
 {
+       //self.velocity = self.velocity  * 0.1;
+       
        PROJECTILE_TOUCH;
        if (other.takedamage == DAMAGE_AIM) {
                W_Plasma_Explode ();
        } else {
+               //UpdateCSQCProjectile(self);
                spamsound (self, CHAN_PROJECTILE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
                self.projectiledeathtype |= HITTYPE_BOUNCE;
        }
@@ -174,7 +177,10 @@ void W_Electro_Attack2()
        proj.health = cvar("g_balance_electro_secondary_health");
        proj.event_damage = W_Plasma_Damage;
        proj.flags = FL_PROJECTILE;
-
+       
+       proj.bouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
+       proj.bouncestop = cvar("g_balance_electro_secondary_bouncestop");
+       
 #if 0
        entity p2;
        p2 = spawn();
@@ -186,7 +192,7 @@ void W_Electro_Attack2()
        CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO, FALSE); // no culling, it has sound
 
        other = proj; MUTATOR_CALLHOOK(EditProjectile);
-}
+       }
 
 .vector hook_start, hook_end;
 float lgbeam_send(entity to, float sf)
index 493fd005bea62bfd546c6b66949c7b0bd5a3ed94..d152a6e083949b56586aa4179f46556090841b84 100644 (file)
@@ -100,6 +100,7 @@ float w_nex(float req)
                {
                        if(cvar("g_balance_nex_secondary_charge"))
                        {
+                               self.nex_charge_rottime = time + cvar("g_balance_nex_charge_rot_pause");
                                dt = frametime / W_TICSPERFRAME;
                                if(self.nex_charge < 1)
                                {
index 788c9880fe7c4f57df428a9ccc17afbbdc2e7138..676f64f780d1fd42bfd09d4afbc80bda75bf9a7c 100644 (file)
@@ -38,8 +38,6 @@ void UziFlash()
        self.muzzle_flash.angles_z = random() * 180;
        self.muzzle_flash.effects = EF_ADDITIVE | EF_FULLBRIGHT | EF_LOWPRECISION;
        self.muzzle_flash.owner = self;
-       
-       
 }
 
 .float uzi_bulletcounter;
@@ -100,7 +98,86 @@ void uzi_fire1_02()
        }
        else
                weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), w_ready);
-};
+}
+
+
+void uzi_mode1_fire_auto()
+{
+       float uzi_spread;
+       
+       if (self.BUTTON_ATCK)
+               weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), uzi_mode1_fire_auto);
+       else
+       {
+               ATTACK_FINISHED(self) = time + cvar("g_balance_uzi_first_refire") * W_WeaponRateFactor();
+               weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), w_ready);
+               return;
+       }
+
+       if (!weapon_action(self.weapon, WR_CHECKAMMO1))
+       {
+               W_SwitchWeapon_Force(self, w_getbestweapon(self));
+               w_ready();
+               return;
+       }
+       
+       W_SetupShot (self, cvar("g_antilag_bullets") && cvar("g_balance_uzi_speed") >= cvar("g_antilag_bullets"), 0, "weapons/uzi_fire.wav", cvar("g_balance_uzi_first_damage"));
+       if (!g_norecoil)
+       {
+               self.punchangle_x = random () - 0.5;
+               self.punchangle_y = random () - 0.5;
+       }
+       
+       uzi_spread = bound(cvar("g_balance_uzi_spread_min"), cvar("g_balance_uzi_spread_min") + (cvar("g_balance_uzi_spread_add") * self.uzi_bulletcounter), cvar("g_balance_uzi_spread_max"));
+       fireBallisticBullet(w_shotorg, w_shotdir, uzi_spread, cvar("g_balance_uzi_speed"), 5, cvar("g_balance_uzi_sustained_damage"), 0, cvar("g_balance_uzi_sustained_force"), WEP_UZI, 0, 1, cvar("g_balance_uzi_bulletconstant"));
+       endFireBallisticBullet();
+       
+       self.uzi_bulletcounter = self.uzi_bulletcounter + 1;
+       
+       pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
+
+       UziFlash();
+       W_AttachToShotorg(self.muzzle_flash, '5 0 0');
+       
+       if (cvar("g_casings") >= 2) // casing code
+               SpawnCasing (((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 70) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 3, self);
+       
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)   
+               self.ammo_nails = self.ammo_nails - cvar("g_balance_uzi_sustained_ammo");
+       
+}
+
+void uzi_mode1_fire_burst()
+{
+       W_SetupShot (self, cvar("g_antilag_bullets") && cvar("g_balance_uzi_speed") >= cvar("g_antilag_bullets"), 0, "weapons/uzi_fire.wav", cvar("g_balance_uzi_first_damage"));
+       if (!g_norecoil)
+       {
+               self.punchangle_x = random () - 0.5;
+               self.punchangle_y = random () - 0.5;
+       }
+       
+       fireBallisticBullet(w_shotorg, w_shotdir, cvar("g_balance_uzi_burst_spread"), cvar("g_balance_uzi_speed"), 5, cvar("g_balance_uzi_sustained_damage"), 0, cvar("g_balance_uzi_sustained_force"), WEP_UZI, 0, 1, cvar("g_balance_uzi_bulletconstant"));
+       endFireBallisticBullet();
+       
+       
+       pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
+
+       UziFlash();
+       W_AttachToShotorg(self.muzzle_flash, '5 0 0');
+       
+       if (cvar("g_casings") >= 2) // casing code
+               SpawnCasing (((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 70) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 3, self);
+
+       self.uzi_bulletcounter = self.uzi_bulletcounter + 1;
+       if (self.uzi_bulletcounter == 0)
+               weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_uzi_burst_refire2"), w_ready);
+       else
+       {
+               weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_uzi_burst_refire"), uzi_mode1_fire_burst);
+               dprint("bullets:", ftos(self.uzi_bulletcounter),"\n");
+       }
+               
+}
 
 void spawnfunc_weapon_machinegun(); // defined in t_items.qc
 
@@ -115,19 +192,50 @@ float w_uzi(float req)
                }
        else if (req == WR_THINK)
        {
-               if (self.BUTTON_ATCK)
-               if (weapon_prepareattack(0, 0))
+               if(cvar("g_balance_uzi_mode") == 1)
                {
-                       self.uzi_bulletcounter = 1;
-                       W_Uzi_Attack(WEP_UZI); // sets attack_finished
-                       weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), uzi_fire1_02);
+                       if (self.BUTTON_ATCK)
+                       if (weapon_prepareattack(0, 0))
+                       {                               
+                               self.uzi_bulletcounter = 0;
+                               uzi_mode1_fire_auto();
+                       }
+                       
+                       if(self.BUTTON_ATCK2)
+                       if(weapon_prepareattack(1, 0))
+                       {
+                               if (!weapon_action(self.weapon, WR_CHECKAMMO2))
+                               {
+                                       W_SwitchWeapon_Force(self, w_getbestweapon(self));
+                                       w_ready();
+                                       return FALSE;
+                               }
+                               
+                               if not(self.items & IT_UNLIMITED_WEAPON_AMMO)   
+                                       self.ammo_nails = self.ammo_nails - cvar("g_balance_uzi_burst_ammo");
+
+                               self.uzi_bulletcounter = cvar("g_balance_uzi_burst") * -1;
+                               uzi_mode1_fire_burst();
+                       }
                }
-               if (self.BUTTON_ATCK2 && cvar("g_balance_uzi_first"))
-               if (weapon_prepareattack(1, 0))
+               else
                {
-                       self.uzi_bulletcounter = 1;
-                       W_Uzi_Attack(WEP_UZI | HITTYPE_SECONDARY); // sets attack_finished
-                       weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_uzi_first_refire"), w_ready);
+                       
+                       if (self.BUTTON_ATCK)
+                       if (weapon_prepareattack(0, 0))
+                       {
+                               self.uzi_bulletcounter = 1;
+                               W_Uzi_Attack(WEP_UZI); // sets attack_finished
+                               weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), uzi_fire1_02);
+                       }
+
+                       if (self.BUTTON_ATCK2 && cvar("g_balance_uzi_first"))
+                       if (weapon_prepareattack(1, 0))
+                       {
+                               self.uzi_bulletcounter = 1;
+                               W_Uzi_Attack(WEP_UZI | HITTYPE_SECONDARY); // sets attack_finished
+                               weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_uzi_first_refire"), w_ready);
+                       }
                }
        }
        else if (req == WR_PRECACHE)
@@ -141,9 +249,15 @@ float w_uzi(float req)
        else if (req == WR_SETUP)
                weapon_setup(WEP_UZI);
        else if (req == WR_CHECKAMMO1)
-               return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
+               if(cvar("g_balance_uzi_mode") == 1)
+                       return self.ammo_nails >= cvar("g_balance_uzi_sustained_ammo");
+               else
+                       return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
        else if (req == WR_CHECKAMMO2)
-               return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
+               if(cvar("g_balance_uzi_mode") == 1)
+                       return self.ammo_nails >= cvar("g_balance_uzi_burst_ammo");
+               else
+                       return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
        return TRUE;
 };
 #endif