Merge remote branch 'origin/master' into fruitiex/fruitbalance
authorFruitieX <rasse@rasse-lappy.localdomain>
Tue, 27 Jul 2010 11:35:03 +0000 (14:35 +0300)
committerFruitieX <rasse@rasse-lappy.localdomain>
Tue, 27 Jul 2010 11:35:03 +0000 (14:35 +0300)
balanceXonotic.cfg
effectinfo.txt
qcsrc/client/hook.qc
qcsrc/server/w_electro.qc
qcsrc/server/w_laser.qc
qcsrc/server/w_shotgun.qc

index 91072e8..778ad88 100644 (file)
@@ -18,7 +18,7 @@ set g_start_weapon_fireball 0 "0 = never provide the weapon, 1 = always provide
 set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
 set g_balance_health_start 125
 set g_balance_armor_start 0
-set g_start_ammo_shells 14
+set g_start_ammo_shells 20
 set g_start_ammo_nails 0
 set g_start_ammo_rockets 0
 set g_start_ammo_cells 0
@@ -54,8 +54,8 @@ 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 10
-set g_pickup_shells_max 30
+set g_pickup_shells 20
+set g_pickup_shells_max 45
 set g_pickup_nails 120
 set g_pickup_nails_max 300
 set g_pickup_rockets 25
@@ -104,9 +104,9 @@ set g_pickup_respawntimejitter_ammo 0
 // }}}
 
 // {{{ regen/rot
-set g_balance_health_regen 0
+set g_balance_health_regen 0.1
 set g_balance_health_regenlinear 0
-set g_balance_pause_health_regen 0
+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 1
@@ -219,9 +219,9 @@ 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_secondary 1 // when 1, a secondary laser mode exists
-set g_balance_laser_secondary_damage 110 // dps
+set g_balance_laser_secondary_damage 200 // dps
 set g_balance_laser_secondary_edgedamage 0
-set g_balance_laser_secondary_force 1000
+set g_balance_laser_secondary_force 1300
 set g_balance_laser_secondary_radius 60
 set g_balance_laser_secondary_speed 0
 set g_balance_laser_secondary_spread 0
@@ -233,7 +233,7 @@ set g_balance_laser_secondary_delay 0
 set g_balance_laser_secondary_gauntlet 1
 // }}}
 // {{{ shotgun
-set g_balance_shotgun_primary_bullets 16
+set g_balance_shotgun_primary_bullets 20
 set g_balance_shotgun_primary_damage 4
 set g_balance_shotgun_primary_force 20
 set g_balance_shotgun_primary_spread 0.16
@@ -271,11 +271,11 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu
 set g_balance_grenadelauncher_primary2secondary 0
 set g_balance_grenadelauncher_primary_sticky 0
 set g_balance_grenadelauncher_primary_damage 60
-set g_balance_grenadelauncher_primary_edgedamage 35
+set g_balance_grenadelauncher_primary_edgedamage 25
 set g_balance_grenadelauncher_primary_force 300
 set g_balance_grenadelauncher_primary_radius 100
-set g_balance_grenadelauncher_primary_speed 2000
-set g_balance_grenadelauncher_primary_speed_up 200
+set g_balance_grenadelauncher_primary_speed 1400
+set g_balance_grenadelauncher_primary_speed_up 225
 set g_balance_grenadelauncher_primary_speed_z 0
 set g_balance_grenadelauncher_primary_spread 0
 set g_balance_grenadelauncher_primary_lifetime 5
@@ -285,12 +285,12 @@ set g_balance_grenadelauncher_primary_animtime 0.2
 set g_balance_grenadelauncher_primary_ammo 2
 set g_balance_grenadelauncher_primary_health 72
 set g_balance_grenadelauncher_secondary_sticky 1
-set g_balance_grenadelauncher_secondary_damage 100
-set g_balance_grenadelauncher_secondary_edgedamage 30
+set g_balance_grenadelauncher_secondary_damage 90
+set g_balance_grenadelauncher_secondary_edgedamage 32
 set g_balance_grenadelauncher_secondary_force 300
 set g_balance_grenadelauncher_secondary_radius 150
-set g_balance_grenadelauncher_secondary_speed 1000
-set g_balance_grenadelauncher_secondary_speed_up 200
+set g_balance_grenadelauncher_secondary_speed 1400
+set g_balance_grenadelauncher_secondary_speed_up 225
 set g_balance_grenadelauncher_secondary_speed_z 0
 set g_balance_grenadelauncher_secondary_spread 0
 set g_balance_grenadelauncher_secondary_lifetime 5
@@ -298,16 +298,16 @@ set g_balance_grenadelauncher_secondary_lifetime2 1
 set g_balance_grenadelauncher_secondary_refire 0.8
 set g_balance_grenadelauncher_secondary_animtime 0.2
 set g_balance_grenadelauncher_secondary_ammo 2
-set g_balance_grenadelauncher_secondary_health 72
+set g_balance_grenadelauncher_secondary_health 40
 set g_balance_grenadelauncher_secondary_damageforcescale 0
 set g_balance_grenadelauncher_secondary_bouncefactor 0.7
 set g_balance_grenadelauncher_secondary_bouncestop 0.12
 // }}}
 // {{{ electro // TODO
 set g_balance_electro_lightning 1
-set g_balance_electro_primary_damage 100
+set g_balance_electro_primary_damage 90
 set g_balance_electro_primary_edgedamage 0
-set g_balance_electro_primary_force 600
+set g_balance_electro_primary_force 550
 set g_balance_electro_primary_force_up 125
 set g_balance_electro_primary_radius 850
 set g_balance_electro_primary_comboradius 75
@@ -323,7 +323,7 @@ set g_balance_electro_secondary_spread 0
 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_speed 675
 set g_balance_electro_secondary_speed_up 200
 set g_balance_electro_secondary_speed_z 0
 set g_balance_electro_secondary_spread 0.08
@@ -345,12 +345,12 @@ set g_balance_electro_combo_speed 400
 // {{{ crylink
 set g_balance_crylink_primary_damage 10
 set g_balance_crylink_primary_edgedamage 8
-set g_balance_crylink_primary_force 25
+set g_balance_crylink_primary_force -150
 set g_balance_crylink_primary_radius 100
 set g_balance_crylink_primary_speed 1100
 set g_balance_crylink_primary_spread 0.1
 set g_balance_crylink_primary_shots 7
-set g_balance_crylink_primary_bounces 1
+set g_balance_crylink_primary_bounces 2
 set g_balance_crylink_primary_refire 0.8
 set g_balance_crylink_primary_animtime 0.4
 set g_balance_crylink_primary_ammo 2
@@ -358,15 +358,15 @@ set g_balance_crylink_primary_bouncedamagefactor 0.2
 
 set g_balance_crylink_primary_middle_lifetime 5 // range: 10000 full, fades to 20000
 set g_balance_crylink_primary_middle_fadetime 5
-set g_balance_crylink_primary_star_lifetime 0.8 // range: 800 full, fades to 1300
+set g_balance_crylink_primary_star_lifetime 2 // range: 800 full, fades to 1300
 set g_balance_crylink_primary_star_fadetime 0.25
-set g_balance_crylink_primary_other_lifetime 0.8 // range: 800 full, fades to 1300
+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 4
 set g_balance_crylink_secondary_edgedamage 0
-set g_balance_crylink_secondary_force 16
+set g_balance_crylink_secondary_force -40
 set g_balance_crylink_secondary_radius 15
 set g_balance_crylink_secondary_speed 1600
 set g_balance_crylink_secondary_spread 0.03
@@ -383,15 +383,15 @@ 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_damage 100
-set g_balance_nex_force 200
+set g_balance_nex_damage 80
+set g_balance_nex_force -300
 set g_balance_nex_refire 1.25
 set g_balance_nex_animtime 1
 set g_balance_nex_ammo 5
 set g_balance_nex_damagefalloff_mindist 1000
 set g_balance_nex_damagefalloff_maxdist 3000
-set g_balance_nex_damagefalloff_halflife 2000
-set g_balance_nex_damagefalloff_forcehalflife 2000
+set g_balance_nex_damagefalloff_halflife 4000
+set g_balance_nex_damagefalloff_forcehalflife 4000
 // }}}
 // {{{ minstanex
 set g_balance_minstanex_refire 1.25
index dddf34c..4116ae4 100644 (file)
@@ -4988,7 +4988,45 @@ lightcolor 3.125 4.375 10
 effect electro_lightning
 count 300
 type spark
-color 0x283880 0x283880 // 0x202020 0x404040
+color 0x501860 0x501860 // 0x202020 0x404040
+tex 65 65
+size 6 6
+alpha 100 206 1724
+originjitter 1.5 1.5 1.5
+velocityjitter 6 6 6
+sizeincrease 10
+velocitymultiplier 2000
+effect electro_lightning
+count 30
+type spark
+tex 8 15
+color 0xDDFDFF 0xFDFDFF
+size 2 5
+alpha 110 170 1500
+originjitter 1 1 1
+velocityjitter 150 150 150
+velocitymultiplier 0.5
+airfriction 2
+stretchfactor 1.5
+effect electro_lightning
+count 50
+type spark
+tex 41 41
+color 0xFDFDFF 0xF9FDFF
+size 2 3
+alpha 110 170 1500
+originjitter 1 1 1
+velocityjitter 350 350 350
+velocitymultiplier 2.5
+airfriction 8
+gravity 1.3
+stretchfactor 0.1
+
+// used in qcsrc/server/w_gauntlet.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1)
+effect gauntlet_lightning
+count 300
+type spark
+color 0x280000 0x280000 // 0x202020 0x404040
 tex 65 65
 size 3 3
 alpha 256 256 1024
@@ -4996,25 +5034,25 @@ originjitter 1.5 1.5 1.5
 velocityjitter 6 6 6
 sizeincrease 15
 velocitymultiplier 2000
-effect electro_lightning
+effect gauntlet_lightning
 count 30
 type spark
 tex 8 15
-color 0xD9FDFF 0xD9FDFF
-size 3 7
-alpha 110 228 2024
+color 0xDD0000 0xFD0000
+size 2 5
+alpha 110 228 1024
 originjitter 1 1 1
 velocityjitter 150 150 150
 velocitymultiplier 0.5
 airfriction 2
 stretchfactor 1.5
-effect electro_lightning
+effect gauntlet_lightning
 count 50
 type spark
 tex 41 41
-color 0xD9FDFF 0xD9FDFF
-size 3 4
-alpha 110 228 1500
+color 0xFD0000 0xF90000
+size 2 3
+alpha 110 228 600
 originjitter 1 1 1
 velocityjitter 350 350 350
 velocitymultiplier 2.5
index e53cd00..2fe9a86 100644 (file)
@@ -185,6 +185,7 @@ void Draw_GrapplingHook()
                        pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime);
                        break;
                case ENT_CLIENT_GAUNTLET:
+                       pointparticles(particleeffectnum("gauntlet_lightning"), b, normalize(a - b), frametime);
                        break;
        }
 }
index 25011c5..a98c5a9 100644 (file)
@@ -244,6 +244,7 @@ void lgbeam_think()
                vector force;
                force = w_shotdir * cvar("g_balance_electro_primary_force") + '0 0 1' * cvar("g_balance_electro_primary_force_up");
                Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage") * dt, WEP_ELECTRO, trace_endpos, force * dt);
+               Damage_RecordDamage(self.owner, WEP_ELECTRO, cvar("g_balance_electro_primary_damage") * dt);
        }
        W_Plasma_TriggerCombo(trace_endpos, cvar("g_balance_electro_primary_comboradius"), self.owner);
 
index 280e42c..18715a9 100644 (file)
@@ -145,6 +145,7 @@ void gauntletbeam_think()
                vector force;
                force = w_shotdir * myforce;
                Damage (trace_ent, self.owner, self.owner, damage * dt, WEP_LASER | HITTYPE_SECONDARY, trace_endpos, force * dt);
+               Damage_RecordDamage(self.owner, WEP_LASER | HITTYPE_SECONDARY, damage * dt);
        }
 
        // draw effect
index 1f714d1..b186230 100644 (file)
@@ -61,6 +61,7 @@ void shotgun_meleethink (void)
        f = (self.cnt + cvar("g_balance_shotgun_secondary_melee_time") - time) / cvar("g_balance_shotgun_secondary_melee_time") * 2 - 1;
        vector targpos;
        targpos = self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_shotgun_secondary_melee_range") + v_right * f * cvar("g_balance_shotgun_secondary_melee_swing") + v_up * f * cvar("g_balance_shotgun_secondary_melee_swing");
+
        WarpZone_traceline_antilag(self.owner, self.owner.origin + self.owner.view_ofs, targpos, FALSE, self.owner, ANTILAG_LATENCY(self.owner));
 
        // apply the damage, also remove self
@@ -69,6 +70,7 @@ void shotgun_meleethink (void)
                vector force;
                force = angle * cvar("g_balance_shotgun_secondary_force");
                Damage (trace_ent, self.owner, self.owner, cvar("g_balance_shotgun_secondary_damage") * ((f + 1) / 2), WEP_SHOTGUN | HITTYPE_SECONDARY , self.owner.origin + self.owner.view_ofs, force);
+               Damage_RecordDamage(self.owner, WEP_SHOTGUN | HITTYPE_SECONDARY, cvar("g_balance_shotgun_secondary_damage") * ((f + 1) / 2));
                remove(self);
        }
        else if(time >= self.cnt + cvar("g_balance_shotgun_secondary_melee_time")) // missed, remove ent
@@ -87,6 +89,7 @@ void W_Shotgun_Attack2 (void)
        meleetemp.owner = self;
        meleetemp.think = shotgun_meleethink;
        meleetemp.nextthink = time + cvar("g_balance_shotgun_secondary_melee_delay");
+       W_SetupShot_Range(self, TRUE, 0, "", cvar("g_balance_shotgun_secondary_damage"), cvar("g_balance_shotgun_secondary_melee_range"));
 }
 
 void spawnfunc_weapon_shotgun(); // defined in t_items.qc