From: Rudolf Polzer Date: Sun, 18 Jul 2010 14:59:44 +0000 (+0200) Subject: Merge branch 'master' into fruitiex/fruitbalance X-Git-Tag: xonotic-v0.1.0preview~423^2~62 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=9fa4c0d887cfe9f1165c2407639f4cca2f62a2e1;hp=789147e240ae660ab98f80646b02ad8b127ca894 Merge branch 'master' into fruitiex/fruitbalance --- diff --git a/balance.cfg b/balance.cfg index 156b69aed5..df2ada6fda 100644 --- a/balance.cfg +++ b/balance.cfg @@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar set g_balance_grenadelauncher_primary2secondary 0 +set g_balance_grenadelauncher_primary_sticky 0 set g_balance_grenadelauncher_primary_damage 70 set g_balance_grenadelauncher_primary_edgedamage 38 set g_balance_grenadelauncher_primary_force 400 @@ -278,9 +279,11 @@ set g_balance_grenadelauncher_primary_speed_up 200 set g_balance_grenadelauncher_primary_speed_z 0 set g_balance_grenadelauncher_primary_spread 0 set g_balance_grenadelauncher_primary_lifetime 30 +set g_balance_grenadelauncher_primary_lifetime2 1 set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 +set g_balance_grenadelauncher_primary_health 25 set g_balance_grenadelauncher_secondary_damage 70 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0 set g_balance_rocketlauncher_laserguided_speedstart 1000 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 set g_balance_rocketlauncher_laserguided_allow_steal 1 +set g_balance_rocketlauncher_remote_damage 105 +set g_balance_rocketlauncher_remote_edgedamage 40 +set g_balance_rocketlauncher_remote_radius 150 +set g_balance_rocketlauncher_remote_force 600 // }}} // {{{ porto set g_balance_porto_primary_refire 1.5 diff --git a/balance25.cfg b/balance25.cfg index a4369249fa..33a367e6f7 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar set g_balance_grenadelauncher_primary2secondary 0 +set g_balance_grenadelauncher_primary_sticky 0 set g_balance_grenadelauncher_primary_damage 70 set g_balance_grenadelauncher_primary_edgedamage 38 set g_balance_grenadelauncher_primary_force 400 @@ -278,9 +279,11 @@ set g_balance_grenadelauncher_primary_speed_up 200 set g_balance_grenadelauncher_primary_speed_z 0 set g_balance_grenadelauncher_primary_spread 0 set g_balance_grenadelauncher_primary_lifetime 30 +set g_balance_grenadelauncher_primary_lifetime2 1 set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 +set g_balance_grenadelauncher_primary_health 25 set g_balance_grenadelauncher_secondary_damage 70 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0 set g_balance_rocketlauncher_laserguided_speedstart 1000 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 set g_balance_rocketlauncher_laserguided_allow_steal 1 +set g_balance_rocketlauncher_remote_damage 105 +set g_balance_rocketlauncher_remote_edgedamage 40 +set g_balance_rocketlauncher_remote_radius 150 +set g_balance_rocketlauncher_remote_force 600 // }}} // {{{ porto set g_balance_porto_primary_refire 1.5 diff --git a/balanceFruit.cfg b/balanceFruit.cfg index 415a458084..b09fc45fbc 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -1,7 +1,7 @@ // {{{ starting gear set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_shotgun -2 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_uzi 1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" +set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" +set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" @@ -18,8 +18,8 @@ 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 0 -set g_start_ammo_nails 90 +set g_start_ammo_shells 20 +set g_start_ammo_nails 0 set g_start_ammo_rockets 0 set g_start_ammo_cells 0 set g_start_ammo_fuel 0 @@ -56,8 +56,8 @@ set g_pickup_ammo_anyway 1 set g_pickup_weapons_anyway 1 set g_pickup_shells 15 set g_pickup_shells_max 100 -set g_pickup_nails 80 -set g_pickup_nails_max 400 +set g_pickup_nails 150 +set g_pickup_nails_max 300 set g_pickup_rockets 15 set g_pickup_rockets_max 200 set g_pickup_cells 25 @@ -139,7 +139,7 @@ set g_balance_fuel_limit 999 // {{{ misc set g_balance_selfdamagepercent 0.65 -set g_balance_weaponswitchdelay 0.15 +set g_balance_weaponswitchdelay 0.1 set g_weaponspeedfactor 1 "weapon projectile speed multiplier" set g_weaponratefactor 1 "weapon fire rate multiplier" set g_weapondamagefactor 1 "weapon damage multiplier" @@ -149,7 +149,7 @@ set g_balance_firetransfer_time 0.9 set g_balance_firetransfer_damage 0.8 set g_throughfloor_damage 0.5 set g_throughfloor_force 0.7 -set g_projectiles_newton_style 2 +set g_projectiles_newton_style 0 // possible values: // 0: absolute velocity projectiles (like Quake) // 1: relative velocity projectiles, "Newtonian" (like Tribes 2) @@ -206,14 +206,14 @@ set g_balance_grapplehook_health 130 // {{{ weapon properties // {{{ laser -set g_balance_laser_primary_damage 22 +set g_balance_laser_primary_damage 10 set g_balance_laser_primary_edgedamage 0 -set g_balance_laser_primary_force 200 -set g_balance_laser_primary_radius 60 +set g_balance_laser_primary_force 75 +set g_balance_laser_primary_radius 10 set g_balance_laser_primary_speed 0 set g_balance_laser_primary_spread 0 -set g_balance_laser_primary_refire 0.1 -set g_balance_laser_primary_animtime 0.1 +set g_balance_laser_primary_refire 0.066 +set g_balance_laser_primary_animtime 0.066 set g_balance_laser_primary_lifetime 0 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 @@ -226,22 +226,22 @@ set g_balance_laser_secondary_radius 70 set g_balance_laser_secondary_speed 9000 set g_balance_laser_secondary_spread 0 set g_balance_laser_secondary_refire 0.7 -set g_balance_laser_secondary_animtime 0.3 +set g_balance_laser_secondary_animtime 0 set g_balance_laser_secondary_lifetime 30 set g_balance_laser_secondary_shotangle 0 set g_balance_laser_secondary_delay 0 // }}} // {{{ shotgun -set g_balance_shotgun_primary_bullets 15 -set g_balance_shotgun_primary_damage 7 +set g_balance_shotgun_primary_bullets 16 +set g_balance_shotgun_primary_damage 4 set g_balance_shotgun_primary_force 20 set g_balance_shotgun_primary_spread 0.16 set g_balance_shotgun_primary_refire 1 -set g_balance_shotgun_primary_animtime 0.7 +set g_balance_shotgun_primary_animtime 0.4 set g_balance_shotgun_primary_ammo 1 set g_balance_shotgun_primary_speed 12000 set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu -set g_balance_shotgun_secondary 1 +set g_balance_shotgun_secondary 0 set g_balance_shotgun_secondary_bullets 6 // one more per shot than 15/3 (primary bullets/amount of shots = 3) set g_balance_shotgun_secondary_damage 7 set g_balance_shotgun_secondary_force 20 @@ -254,44 +254,47 @@ set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu // }}} // {{{ uzi set g_balance_uzi_first 1 -set g_balance_uzi_first_damage 24 -set g_balance_uzi_first_force 30 -set g_balance_uzi_first_spread 0.0125 +set g_balance_uzi_first_damage 18 +set g_balance_uzi_first_force 35 +set g_balance_uzi_first_spread 0.03 set g_balance_uzi_first_refire 0.2 -set g_balance_uzi_first_ammo 1 -set g_balance_uzi_sustained_damage 12 -set g_balance_uzi_sustained_force 20 -set g_balance_uzi_sustained_spread 0.0125 -set g_balance_uzi_sustained_refire 0.1 +set g_balance_uzi_first_ammo 2 +set g_balance_uzi_sustained_damage 10 +set g_balance_uzi_sustained_force 7.5 +set g_balance_uzi_sustained_spread 0.1 +set g_balance_uzi_sustained_refire 0.075 set g_balance_uzi_sustained_ammo 1 set g_balance_uzi_speed 18000 set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar // TODO set g_balance_grenadelauncher_primary2secondary 0 -set g_balance_grenadelauncher_primary_damage 60 -set g_balance_grenadelauncher_primary_edgedamage 28 -set g_balance_grenadelauncher_primary_force 200 -set g_balance_grenadelauncher_primary_radius 140 -set g_balance_grenadelauncher_primary_speed 1200 -set g_balance_grenadelauncher_primary_speed_up 200 -set g_balance_grenadelauncher_primary_speed_z 0 +set g_balance_grenadelauncher_primary_sticky 1 +set g_balance_grenadelauncher_primary_damage 100 +set g_balance_grenadelauncher_primary_edgedamage 30 +set g_balance_grenadelauncher_primary_force 300 +set g_balance_grenadelauncher_primary_radius 240 +set g_balance_grenadelauncher_primary_speed 1000 +set g_balance_grenadelauncher_primary_speed_up 0 +set g_balance_grenadelauncher_primary_speed_z 200 set g_balance_grenadelauncher_primary_spread 0 -set g_balance_grenadelauncher_primary_lifetime 10 +set g_balance_grenadelauncher_primary_lifetime 5 +set g_balance_grenadelauncher_primary_lifetime2 1 set g_balance_grenadelauncher_primary_refire 0.8 -set g_balance_grenadelauncher_primary_animtime 0.5 +set g_balance_grenadelauncher_primary_animtime 0.2 set g_balance_grenadelauncher_primary_ammo 2 -set g_balance_grenadelauncher_secondary_damage 65 +set g_balance_grenadelauncher_primary_health 25 +set g_balance_grenadelauncher_secondary_damage 100 set g_balance_grenadelauncher_secondary_edgedamage 30 set g_balance_grenadelauncher_secondary_force 300 set g_balance_grenadelauncher_secondary_radius 200 -set g_balance_grenadelauncher_secondary_speed 800 +set g_balance_grenadelauncher_secondary_speed 600 set g_balance_grenadelauncher_secondary_speed_up 0 set g_balance_grenadelauncher_secondary_speed_z 200 set g_balance_grenadelauncher_secondary_spread 0 -set g_balance_grenadelauncher_secondary_lifetime 2 +set g_balance_grenadelauncher_secondary_lifetime 1.5 set g_balance_grenadelauncher_secondary_refire 0.8 -set g_balance_grenadelauncher_secondary_animtime 0.5 +set g_balance_grenadelauncher_secondary_animtime 0.2 set g_balance_grenadelauncher_secondary_ammo 2 set g_balance_grenadelauncher_secondary_health 0 set g_balance_grenadelauncher_secondary_damageforcescale 0 @@ -299,18 +302,21 @@ set g_balance_grenadelauncher_secondary_bouncefactor 0.5 set g_balance_grenadelauncher_secondary_bouncestop 0.075 // }}} // {{{ electro // TODO -set g_balance_electro_lightning 0 -set g_balance_electro_primary_damage 65 +set g_balance_electro_lightning 1 +set g_balance_electro_primary_damage 2 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_force 13 +set g_balance_electro_primary_force_up 100 +set g_balance_electro_primary_radius 850 set g_balance_electro_primary_comboradius 0 -set g_balance_electro_primary_speed 2000 +set g_balance_electro_primary_speed 0 set g_balance_electro_primary_spread 0 -set g_balance_electro_primary_lifetime 30 -set g_balance_electro_primary_refire 0.6 -set g_balance_electro_primary_animtime 0.3 -set g_balance_electro_primary_ammo 2 +set g_balance_electro_primary_lifetime 0 +set g_balance_electro_primary_refire 0 +set g_balance_electro_primary_animtime 0 +set g_balance_electro_primary_ammo 0.66 +set g_balance_electro_primary_range 800 +set g_balance_electro_primary_velocityfactor 0.75 set g_balance_electro_secondary_damage 50 set g_balance_electro_secondary_spread 0.05 set g_balance_electro_secondary_edgedamage 0 @@ -336,38 +342,38 @@ set g_balance_electro_combo_comboradius 0 set g_balance_electro_combo_speed 2000 // }}} // {{{ crylink -set g_balance_crylink_primary_damage 18 +set g_balance_crylink_primary_damage 10 set g_balance_crylink_primary_edgedamage 0 -set g_balance_crylink_primary_force -80 +set g_balance_crylink_primary_force 25 set g_balance_crylink_primary_radius 100 -set g_balance_crylink_primary_speed 2000 -set g_balance_crylink_primary_spread 0.03 -set g_balance_crylink_primary_shots 4 +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_refire 0.4 -set g_balance_crylink_primary_animtime 0.3 +set g_balance_crylink_primary_refire 0.8 +set g_balance_crylink_primary_animtime 0.4 set g_balance_crylink_primary_ammo 2 set g_balance_crylink_primary_bouncedamagefactor 0.5 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.4 // range: 800 full, fades to 1300 +set g_balance_crylink_primary_star_lifetime 0.8 // range: 800 full, fades to 1300 set g_balance_crylink_primary_star_fadetime 0.25 -set g_balance_crylink_primary_other_lifetime 0.4 // range: 800 full, fades to 1300 +set g_balance_crylink_primary_other_lifetime 0.8 // 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 18 +set g_balance_crylink_secondary_damage 4 set g_balance_crylink_secondary_edgedamage 0 -set g_balance_crylink_secondary_force -80 -set g_balance_crylink_secondary_radius 5 -set g_balance_crylink_secondary_speed 2000 -set g_balance_crylink_secondary_spread 0.04 -set g_balance_crylink_secondary_shots 7 +set g_balance_crylink_secondary_force 16 +set g_balance_crylink_secondary_radius 15 +set g_balance_crylink_secondary_speed 1600 +set g_balance_crylink_secondary_spread 0.03 +set g_balance_crylink_secondary_shots 3 set g_balance_crylink_secondary_bounces 0 -set g_balance_crylink_secondary_refire 0.5 -set g_balance_crylink_secondary_animtime 0.3 -set g_balance_crylink_secondary_ammo 2 +set g_balance_crylink_secondary_refire 0.1 +set g_balance_crylink_secondary_animtime 0.1 +set g_balance_crylink_secondary_ammo 1 set g_balance_crylink_secondary_bouncedamagefactor 0.5 set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000 @@ -392,25 +398,25 @@ set g_balance_minstanex_animtime 1 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_damage 12 +set g_balance_hagar_primary_edgedamage 12 set g_balance_hagar_primary_force 70 -set g_balance_hagar_primary_radius 50 -set g_balance_hagar_primary_spread 0.005 -set g_balance_hagar_primary_speed 2000 +set g_balance_hagar_primary_radius 70 +set g_balance_hagar_primary_spread 0.1 +set g_balance_hagar_primary_speed 1800 set g_balance_hagar_primary_lifetime 30 -set g_balance_hagar_primary_refire 0.13 +set g_balance_hagar_primary_refire 0.12 set g_balance_hagar_primary_ammo 1 set g_balance_hagar_secondary 1 -set g_balance_hagar_secondary_damage 30 -set g_balance_hagar_secondary_edgedamage 15 +set g_balance_hagar_secondary_damage 12 +set g_balance_hagar_secondary_edgedamage 12 set g_balance_hagar_secondary_force 70 set g_balance_hagar_secondary_radius 50 -set g_balance_hagar_secondary_spread 0.01 -set g_balance_hagar_secondary_speed 1400 +set g_balance_hagar_secondary_spread 0.15 +set g_balance_hagar_secondary_speed 1800 set g_balance_hagar_secondary_lifetime_min 30 set g_balance_hagar_secondary_lifetime_rand 0 -set g_balance_hagar_secondary_refire 0.13 +set g_balance_hagar_secondary_refire 0.12 set g_balance_hagar_secondary_ammo 1 // }}} // {{{ rocketlauncher // TODO @@ -423,11 +429,11 @@ set g_balance_rocketlauncher_speedaccel 0 set g_balance_rocketlauncher_speedstart 1000 set g_balance_rocketlauncher_lifetime 30 set g_balance_rocketlauncher_refire 1 -set g_balance_rocketlauncher_animtime 0.3 +set g_balance_rocketlauncher_animtime 0.2 set g_balance_rocketlauncher_ammo 3 set g_balance_rocketlauncher_health 0 set g_balance_rocketlauncher_damageforcescale 0 -set g_balance_rocketlauncher_detonatedelay 9999 // 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_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_guideratedelay 0.01 // immediate set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic) @@ -438,6 +444,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0 set g_balance_rocketlauncher_laserguided_speedstart 1000 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 set g_balance_rocketlauncher_laserguided_allow_steal 1 +set g_balance_rocketlauncher_remote_damage 50 +set g_balance_rocketlauncher_remote_edgedamage 16.5 +set g_balance_rocketlauncher_remote_radius 120 +set g_balance_rocketlauncher_remote_force 350 // }}} // {{{ porto set g_balance_porto_primary_refire 1.5 @@ -505,7 +515,7 @@ set g_balance_campingrifle_magazinecapacity 8 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_tracer 0 +set g_balance_campingrifle_tracer 1 set g_balance_campingrifle_primary_damage 60 set g_balance_campingrifle_primary_headshotaddeddamage 100 set g_balance_campingrifle_primary_spread 0 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index 21242f16f0..02aac1996a 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -269,6 +269,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar set g_balance_grenadelauncher_primary2secondary 0 +set g_balance_grenadelauncher_primary_sticky 0 set g_balance_grenadelauncher_primary_damage 50 set g_balance_grenadelauncher_primary_edgedamage 38 set g_balance_grenadelauncher_primary_force 400 @@ -278,9 +279,11 @@ set g_balance_grenadelauncher_primary_speed_up 220 set g_balance_grenadelauncher_primary_speed_z 0 set g_balance_grenadelauncher_primary_spread 0 set g_balance_grenadelauncher_primary_lifetime 30 +set g_balance_grenadelauncher_primary_lifetime2 1 set g_balance_grenadelauncher_primary_refire 0.8 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 +set g_balance_grenadelauncher_primary_health 25 set g_balance_grenadelauncher_secondary_damage 60 set g_balance_grenadelauncher_secondary_edgedamage 38 set g_balance_grenadelauncher_secondary_force 400 @@ -438,6 +441,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0 set g_balance_rocketlauncher_laserguided_speedstart 1000 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 set g_balance_rocketlauncher_laserguided_allow_steal 1 +set g_balance_rocketlauncher_remote_damage 80 +set g_balance_rocketlauncher_remote_edgedamage 40 +set g_balance_rocketlauncher_remote_radius 100 +set g_balance_rocketlauncher_remote_force 600 // }}} // {{{ porto set g_balance_porto_primary_refire 1.5 diff --git a/balanceXPM.cfg b/balanceXPM.cfg index bb0416a341..39410ceb0d 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -270,6 +270,7 @@ set g_balance_uzi_bulletconstant 115 // 13.1qu // }}} // {{{ mortar set g_balance_grenadelauncher_primary2secondary 1 +set g_balance_grenadelauncher_primary_sticky 0 set g_balance_grenadelauncher_primary_damage 60 set g_balance_grenadelauncher_primary_edgedamage 10 set g_balance_grenadelauncher_primary_force 250 @@ -279,9 +280,11 @@ set g_balance_grenadelauncher_primary_speed_up 200 set g_balance_grenadelauncher_primary_speed_z 0 set g_balance_grenadelauncher_primary_spread 0 set g_balance_grenadelauncher_primary_lifetime 5 +set g_balance_grenadelauncher_primary_lifetime2 1 set g_balance_grenadelauncher_primary_refire 0.7 set g_balance_grenadelauncher_primary_animtime 0.3 set g_balance_grenadelauncher_primary_ammo 2 +set g_balance_grenadelauncher_primary_health 25 set g_balance_grenadelauncher_secondary_damage 65 set g_balance_grenadelauncher_secondary_edgedamage 10 set g_balance_grenadelauncher_secondary_force 300 @@ -439,6 +442,10 @@ set g_balance_rocketlauncher_laserguided_speedaccel 0 set g_balance_rocketlauncher_laserguided_speedstart 1000 set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5 set g_balance_rocketlauncher_laserguided_allow_steal 1 +set g_balance_rocketlauncher_remote_damage 90 +set g_balance_rocketlauncher_remote_edgedamage 30 +set g_balance_rocketlauncher_remote_radius 110 +set g_balance_rocketlauncher_remote_force 350 // }}} // {{{ porto set g_balance_porto_primary_refire 1.5 diff --git a/defaultXPM.cfg b/defaultXPM.cfg index f480e22215..3141a2409c 100644 --- a/defaultXPM.cfg +++ b/defaultXPM.cfg @@ -19,5 +19,26 @@ set g_weaponreplace_fireball 0 set g_weaponreplace_seeker 0 set sv_q3acompat_machineshotgunswap 0 +// other options +set sv_fragmessage_information_ping 1 +set sv_fragmessage_information_handicap 2 +set sv_fragmessage_information_stats 1 +set sv_fragmessage_information_typefrag 1 + +set sv_defaultcharacter 1 +set sv_defaultplayermodel "models/player/nyx.iqm" +set sv_defaultplayercolors 60 // force some visible color for now + +set g_jump_grunt 1 +set g_footsteps 1 +set g_shootfromcenter 1 +set g_fullbrightplayers 1 // until all models are visible with this set to 0 +set g_forced_respawn 1 +set g_mirrordamage 0 +set g_friendlyfire 1 + +set timelimit_overtimes 1 +set timelimit_override 15 // for now, maybe not in future + exec physicsXPM.cfg -exec balanceXPM.cfg +exec balanceFruit.cfg diff --git a/effectinfo.txt b/effectinfo.txt index 53926a7a0b..9f98d6af50 100644 --- a/effectinfo.txt +++ b/effectinfo.txt @@ -4743,19 +4743,82 @@ alpha 100 100 500 // based off morphed's cl_gentle // used in qcsrc/server/w_laser.qc effect laser_gauntlet +count 3 +type spark +color 0xb44215 0x880000 tex 43 43 -count 1.5 +size 7 10 +alpha 128 512 6280 +airfriction 10 +originjitter 2 2 2 +velocityjitter 150 150 150 +velocitymultiplier 0.2 +sizeincrease -100 +stretchfactor 2.3 +rotate -180 180 4000 -4000 + +effect laser_gauntlet +count 6 type spark -color 0xff00ff 0xff0000 -size 4 8 -sizeincrease 34 -alpha 128 128 292 -gravity 0 -airfriction 5 -liquidfriction 10 -velocityjitter 50 50 50 +color 0xff4200 0xff0000 +tex 8 15 +size 7 9 +alpha 256 512 6280 +airfriction 12 +originjitter 2 2 2 +velocityjitter 100 100 100 +velocitymultiplier 0.2 +sizeincrease -100 +stretchfactor 2 + + +// muzzle flash +effect laser_gauntletmuzzleflash +// glow and light +countabsolute 1 +type smoke +color 0x220000 0x880000 +tex 65 65 +size 10 15 +alpha 256 512 6280 +airfriction 10 +sizeincrease -100 +stretchfactor 2 +lightradius 150 +lightradiusfade 500 +lightcolor 3 0.1 0.1 +// electricity +effect laser_gauntletmuzzleflash +count 3 +type spark +color 0xb44215 0x880000 +tex 43 43 +size 7 10 +alpha 128 512 6280 +airfriction 10 +originjitter 2 2 2 +velocityjitter 150 150 150 +velocitymultiplier 0.2 +sizeincrease -100 +stretchfactor 2.3 +rotate -180 180 4000 -4000 +// fire +effect laser_gauntletmuzzleflash +count 6 +type spark +color 0xff4200 0xff0000 +tex 8 15 +size 7 9 +alpha 256 512 6280 +airfriction 12 +originjitter 2 2 2 +velocityjitter 100 100 100 +velocitymultiplier 0.2 +sizeincrease -100 +stretchfactor 2 + //torch flame, spawn it as fast as you can 20 times per second or more, supports direction but not required //fast fire // used nowhere in code, meant for maps @@ -4907,3 +4970,46 @@ bounce 1.5 airfriction 5 liquidfriction 10 velocityjitter 156 156 156 + + + +// used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1) +// used in qcsrc/server/w_electro.qc: pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1) +effect electro_lightning +countabsolute 1 +type smoke +color 0x283880 0x283880 // 0x202020 0x404040 +tex 65 65 +size 10 10 +alpha 256 256 1500 +originjitter 1.5 1.5 1.5 +velocityjitter 6 6 6 +sizeincrease -20 +velocitymultiplier 0.01 + +effect electro_lightning +count 3 +type spark +tex 8 15 +color 0xD9FDFF 0xD9FDFF +size 3 7 +alpha 110 228 2024 +originjitter 1 1 1 +velocityjitter 150 150 150 +velocitymultiplier 0.5 +airfriction 2 +stretchfactor 1.5 + +effect electro_lightning +count 5 +type spark +tex 41 41 +color 0xD9FDFF 0xD9FDFF +size 3 4 +alpha 110 228 1500 +originjitter 1 1 1 +velocityjitter 350 350 350 +velocitymultiplier 2.5 +airfriction 8 +gravity 1.3 +stretchfactor 0.1 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 36334b2712..66b58df8c3 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1,3 +1,4 @@ float autocvar_sv_cheats; float autocvar_g_bastet; var float autocvar_g_movement_highspeed = 1; +var float autocvar_sys_ticrate; diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index 0b35eae662..32f85285c4 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -184,19 +184,66 @@ void W_Electro_Attack2() CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO, FALSE); // no culling, it has sound } -// experimental lightning gun -void W_Electro_Attack3 (void) +void lgbeam_think() { - if not(self.items & IT_UNLIMITED_WEAPON_AMMO) - self.ammo_cells = self.ammo_cells - cvar("g_balance_electro_primary_ammo"); - W_SetupShot (self, TRUE, 0, "weapons/crylink_fire2.wav", cvar("g_balance_electro_primary_damage")); + if (!self.owner.BUTTON_ATCK || self.owner.ammo_cells <= 0) // || (self.ammo_cells <= 0 && !(self.items & IT_UNLIMITED_WEAPON_AMMO))) + { + sound (self, CHAN_PROJECTILE, "sound/misc/null.wav", VOL_BASE, ATTN_NORM); + remove(self); + return; + } + + if (time - self.shot_spread + random() * 0.2 > 0) + { + self.shot_spread = time + 2; + sound (self, CHAN_PROJECTILE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM); + } + + if not(self.items & IT_UNLIMITED_WEAPON_AMMO) + self.ammo_cells = self.ammo_cells - cvar("g_balance_electro_primary_ammo"); + + self.nextthink = time + self.ticrate; - traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_electro_primary_radius"), FALSE, self, ANTILAG_LATENCY(self)); + //w_deathtypestring = "was phased out of existence"; - te_lightning1(self, w_shotorg, trace_endpos); + makevectors(self.owner.v_angle); + vector angle; + angle = v_forward; - if (trace_fraction < 1) - Damage(trace_ent, self, self, cvar("g_balance_electro_primary_damage"), WEP_ELECTRO | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_electro_primary_force") * w_shotdir); + vector force; + force = angle * cvar("g_balance_electro_primary_force"); + + traceline_antilag(self.owner, self.owner.origin, self.owner.origin + angle * cvar("g_balance_electro_primary_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner)); + + // apply the damage + if(trace_fraction < 1) + { + Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage"), WEP_ELECTRO, trace_endpos, force); + trace_ent.velocity = trace_ent.velocity * cvar("g_balance_electro_primary_velocityfactor") + '0 0 1' * cvar("g_balance_electro_primary_force_up"); + } + + self.scale = vlen(self.owner.origin - trace_endpos) / 256 * (0.75 + 0.75 * random()); +} + +// experimental lightning gun +void W_Electro_Attack3 (void) +{ + entity beam; + + beam = spawn(); + beam.ticrate = autocvar_sys_ticrate; + setmodel(beam,"models/turrets/phaser_beam.md3"); + beam.effects = EF_LOWPRECISION; + beam.solid = SOLID_NOT; + beam.think = lgbeam_think; + beam.shot_spread = 0; + beam.scale = cvar("g_balance_electro_primary_range") / 256; + beam.nextthink = time; + beam.owner = self; + beam.movetype = MOVETYPE_NONE; + beam.bot_dodge = TRUE; + beam.bot_dodgerating = cvar("g_balance_electro_primary_damage")/autocvar_sys_ticrate; + setattachment(beam, self.weaponentity, "shot"); } void spawnfunc_weapon_electro (void) @@ -220,6 +267,7 @@ void w_electro_checkattack() } .float bot_secondary_electromooth; +.float BUTTON_ATCK_prev; float w_electro(float req) { if (req == WR_AIM) @@ -251,12 +299,19 @@ float w_electro(float req) if (weapon_prepareattack(0, cvar("g_balance_electro_primary_refire"))) { if(cvar("g_balance_electro_lightning")) - W_Electro_Attack3(); + { + if (self.BUTTON_ATCK_prev == 0) + { + W_Electro_Attack3(); + } + } else + { W_Electro_Attack(); + } weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_electro_primary_animtime"), w_ready); } - if (self.BUTTON_ATCK2 && !cvar("g_balance_electro_lightning")) + if (self.BUTTON_ATCK2) if (time >= self.electro_secondarytime) if (weapon_prepareattack(1, cvar("g_balance_electro_secondary_refire"))) { @@ -289,6 +344,7 @@ float w_electro(float req) { self.electro_secondarytime = time; } + self.BUTTON_ATCK_prev = self.BUTTON_ATCK; return TRUE; }; #endif diff --git a/qcsrc/server/w_grenadelauncher.qc b/qcsrc/server/w_grenadelauncher.qc index a7d9a4935d..a6e4d0dc0f 100644 --- a/qcsrc/server/w_grenadelauncher.qc +++ b/qcsrc/server/w_grenadelauncher.qc @@ -33,10 +33,56 @@ void W_Grenade_Explode2 (void) remove (self); } +void W_Grenade_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) +{ + if (self.health <= 0) + return; + self.health = self.health - damage; + if (self.health <= 0) + { + W_PrepareExplosionByDamage(attacker, self.think); + } +} + void W_Grenade_Touch1 (void) { PROJECTILE_TOUCH; - W_Grenade_Explode (); + if(cvar("g_balance_grenadelauncher_primary_sticky") && other.takedamage != DAMAGE_AIM) + { + entity oldowner; + oldowner = self.owner; + + vector temporigin; + temporigin = self.origin; + + remove(self); + local entity gren; + + gren = spawn (); + gren.owner = oldowner; + gren.classname = "grenade"; + gren.bot_dodge = TRUE; + gren.bot_dodgerating = cvar("g_balance_grenadelauncher_primary_damage"); + gren.movetype = MOVETYPE_NONE; + PROJECTILE_MAKETRIGGER(gren); + gren.projectiledeathtype = WEP_GRENADE_LAUNCHER; + setorigin(gren, temporigin); + setsize(gren, '0 0 -3', '0 0 -3'); + + gren.nextthink = time + cvar("g_balance_grenadelauncher_primary_lifetime2"); + gren.think = adaptor_think2use_hittype_splash; + gren.use = W_Grenade_Explode; + + gren.flags = FL_PROJECTILE; + + gren.takedamage = DAMAGE_YES; + gren.health = cvar("g_balance_grenadelauncher_primary_health"); + gren.event_damage = W_Grenade_Damage; + + CSQCProjectile(gren, TRUE, PROJECTILE_GRENADE, TRUE); + } + else + W_Grenade_Explode (); } void W_Grenade_Touch2 (void) @@ -66,17 +112,6 @@ void W_Grenade_Touch2 (void) } } -void W_Grenade_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) -{ - if (self.health <= 0) - return; - self.health = self.health - damage; - if (self.health <= 0) - { - W_PrepareExplosionByDamage(attacker, self.think); - } -} - void W_Grenade_Attack (void) { local entity gren; diff --git a/qcsrc/server/w_laser.qc b/qcsrc/server/w_laser.qc index cdfdaa537c..00e0fff747 100644 --- a/qcsrc/server/w_laser.qc +++ b/qcsrc/server/w_laser.qc @@ -105,9 +105,11 @@ void W_Laser_Attack2 (void) // gauntlet { W_SetupShot (self, TRUE, 0, "weapons/gauntlet_fire.wav", cvar("g_balance_laser_primary_damage")); - WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_laser_primary_radius"), FALSE, self, ANTILAG_LATENCY(self)); + WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), FALSE, self, ANTILAG_LATENCY(self)); - pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * cvar("g_balance_laser_primary_radius"), '0 0 0', 1); + pointparticles(particleeffectnum("laser_gauntletmuzzleflash"), w_shotorg, w_shotdir * 1000, 1); + pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5), w_shotdir * 1000, 1); + pointparticles(particleeffectnum("laser_gauntlet"), w_shotorg + w_shotdir * (cvar("g_balance_laser_primary_radius") + vlen(eX * self.velocity_x + eY * self.velocity_y)/5) * 0.5, w_shotdir * 1000, 1); if (trace_fraction < 1) Damage(trace_ent, self, self, cvar("g_balance_laser_primary_damage"), WEP_LASER | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_laser_primary_force") * w_shotdir); diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 35ca569777..a2ee89bc86 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -14,7 +14,7 @@ void W_Rocket_Unregister() } } -void W_Rocket_Explode (void) +void W_Rocket_Explode () { W_Rocket_Unregister(); @@ -26,6 +26,7 @@ void W_Rocket_Explode (void) self.event_damage = SUB_Null; self.takedamage = DAMAGE_NO; + RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_damage"), cvar("g_balance_rocketlauncher_edgedamage"), cvar("g_balance_rocketlauncher_radius"), world, cvar("g_balance_rocketlauncher_force"), self.projectiledeathtype, other); if (self.owner.weapon == WEP_ROCKET_LAUNCHER) @@ -106,10 +107,34 @@ void W_Rocket_RemoteExplode() { other = world; self.projectiledeathtype |= HITTYPE_BOUNCE; - W_Rocket_Explode (); } else { + W_Rocket_Unregister(); + + if(other.takedamage == DAMAGE_AIM) + if(other.classname == "player") + if(IsDifferentTeam(self.owner, other)) + if(IsFlying(other)) + AnnounceTo(self.owner, "airshot"); + + self.event_damage = SUB_Null; + self.takedamage = DAMAGE_NO; + + RadiusDamage (self, self.owner, cvar("g_balance_rocketlauncher_remote_damage"), cvar("g_balance_rocketlauncher_remote_edgedamage"), cvar("g_balance_rocketlauncher_remote_radius"), world, cvar("g_balance_rocketlauncher_remote_force"), self.projectiledeathtype, other); + + if (self.owner.weapon == WEP_ROCKET_LAUNCHER) + { + if(self.owner.ammo_rockets < cvar("g_balance_rocketlauncher_ammo")) + { + self.owner.cnt = WEP_ROCKET_LAUNCHER; + ATTACK_FINISHED(self.owner) = time; + self.owner.switchweapon = w_getbestweapon(self.owner); + } + if(g_laserguided_missile) + ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponRateFactor(); + } + remove (self); } } }