From: unknown Date: Wed, 10 Nov 2010 07:38:39 +0000 (+0100) Subject: g_blance_electro_secondary_bouncefactor & _bouncestop for electro seoncdary. merge... X-Git-Tag: xonotic-v0.1.0preview~153^2~2^2~7 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=ba6acfcf1beb9e3cf79e4bd31cbb18a8159ecf8e;hp=d4a496548f33a19bae54c700639079dcf453dde1 g_blance_electro_secondary_bouncefactor & _bouncestop for electro seoncdary. merge health rot and related from balanceTest. Use divVerent's fancy new crylink stuff, also make it explode @ "join". And teh usual pile of balance tweakage. --- diff --git a/balance25.cfg b/balance25.cfg index 645f991ff6..48c1aa3716 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -385,6 +385,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 diff --git a/balanceLeeStricklin.cfg b/balanceLeeStricklin.cfg index 5e487d6aa2..51eb4c7f9e 100644 --- a/balanceLeeStricklin.cfg +++ b/balanceLeeStricklin.cfg @@ -396,6 +396,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 diff --git a/balanceNexSVN.cfg b/balanceNexSVN.cfg index 25d531f7a3..e01405114a 100644 --- a/balanceNexSVN.cfg +++ b/balanceNexSVN.cfg @@ -384,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 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index bcc163ed91..2071968d4f 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -385,6 +385,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 diff --git a/balanceTest.cfg b/balanceTest.cfg index 1b615c9765..65f0e5bded 100644 --- a/balanceTest.cfg +++ b/balanceTest.cfg @@ -385,6 +385,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 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 5398ca2429..d550c717dd 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -385,6 +385,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 diff --git a/balancetZork.cfg b/balancetZork.cfg index 084de47b27..1c0717424f 100644 --- a/balancetZork.cfg +++ b/balancetZork.cfg @@ -130,29 +130,29 @@ 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 300 +set g_balance_health_limit 999 set g_balance_armor_regen 0 set g_balance_armor_regenlinear 0 -set g_balance_armor_rot 0.05 -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_rot 0.1 +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 300 +set g_balance_armor_limit 999 set g_balance_armor_blockpercent 0.7 set g_balance_fuel_regen 0.1 "fuel regeneration (only applies if the player owns IT_FUEL_REGEN)" 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 @@ -191,8 +191,8 @@ 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 @@ -228,8 +228,8 @@ set g_balance_grapplehook_health 130 // {{{ weapon properties // {{{ laser set g_balance_laser_primary_damage 20 -set g_balance_laser_primary_edgedamage 20 -set g_balance_laser_primary_force 240 +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 9000 set g_balance_laser_primary_spread 0 @@ -239,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.4 +set g_balance_laser_primary_force_zscale 1.3 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 @@ -260,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 15 set g_balance_shotgun_primary_spread 0.07 set g_balance_shotgun_primary_refire 0.8 set g_balance_shotgun_primary_animtime 0.2 @@ -282,12 +282,12 @@ set g_balance_shotgun_secondary_animtime 1 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.012 +set g_balance_uzi_spread_add 0.008 -set g_balance_uzi_burst 5 // # of bullets in a burst (if set to 2 or more) +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.75 // refire after burst -set g_balance_uzi_burst_spread 0.04 +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 @@ -296,12 +296,12 @@ 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 12 // 120 dps -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 @@ -373,16 +373,16 @@ set g_balance_minelayer_remote_force 300 // }}} // {{{ electro set g_balance_electro_lightning 0 -set g_balance_electro_primary_damage 50 +set g_balance_electro_primary_damage 40 set g_balance_electro_primary_edgedamage 0 -set g_balance_electro_primary_force 200 +set g_balance_electro_primary_force 150 set g_balance_electro_primary_force_up 0 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_spread 0 set g_balance_electro_primary_lifetime 30 -set g_balance_electro_primary_refire 0.5 +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 @@ -392,10 +392,10 @@ 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 900 -set g_balance_electro_secondary_speed_up 200 +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.025 set g_balance_electro_secondary_lifetime 5 @@ -406,35 +406,37 @@ set g_balance_electro_secondary_ammo 2 set g_balance_electro_secondary_health 10 set g_balance_electro_secondary_damageforcescale 2 set g_balance_electro_secondary_count 3 +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 80 +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 1000 // }}} // {{{ crylink set g_balance_crylink_primary_damage 5 -set g_balance_crylink_primary_edgedamage 2.5 +set g_balance_crylink_primary_edgedamage 2 set g_balance_crylink_primary_force 25 -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_radius 65 +set g_balance_crylink_primary_speed 2000 +set g_balance_crylink_primary_spread 0.075 set g_balance_crylink_primary_shots 12 set g_balance_crylink_primary_bounces 1 set g_balance_crylink_primary_refire 1 set g_balance_crylink_primary_animtime 0.4 set g_balance_crylink_primary_ammo 2 set g_balance_crylink_primary_bouncedamagefactor 0.2 -set g_balance_crylink_primary_joinspeed 0 +set g_balance_crylink_primary_joinspeed 2000 -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_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 2 // range: 800 full, fades to 1300 -set g_balance_crylink_primary_other_fadetime 0.25 +set g_balance_crylink_primary_star_lifetime 5 +set g_balance_crylink_primary_star_fadetime 2.5 +set g_balance_crylink_primary_other_lifetime 5 +set g_balance_crylink_primary_other_fadetime 2.5 set g_balance_crylink_secondary 1 set g_balance_crylink_secondary_damage 2 @@ -449,7 +451,7 @@ set g_balance_crylink_secondary_refire 0.15 set g_balance_crylink_secondary_animtime 0.15 set g_balance_crylink_secondary_ammo 1 set g_balance_crylink_secondary_bouncedamagefactor 0.5 -set g_balance_crylink_secondary_joinspeed 0 +set g_balance_crylink_secondary_joinspeed 1000 set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000 set g_balance_crylink_secondary_middle_fadetime 5 @@ -457,7 +459,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 @@ -469,7 +471,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 @@ -498,12 +500,12 @@ 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 10 -set g_balance_hagar_primary_force 60 -set g_balance_hagar_primary_radius 50 +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.2 set g_balance_hagar_primary_ammo 1 @@ -615,7 +617,7 @@ 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 60 +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 diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index e8f252d38d..a4f4d6b35b 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -149,7 +149,7 @@ void W_Crylink_Touch (void) return; } self.cnt = self.cnt - 1; - self.angles = vectoangles(self.velocity); + // self.angles = vectoangles(self.velocity); // csqc self.owner = world; self.projectiledeathtype |= HITTYPE_BOUNCE; // commented out as it causes a little hitch... @@ -197,7 +197,7 @@ void W_Crylink_Touch2 (void) return; } self.cnt = self.cnt - 1; - self.angles = vectoangles(self.velocity); + // self.angles = vectoangles(self.velocity); // csqc self.owner = world; self.projectiledeathtype |= HITTYPE_BOUNCE; // commented out as it causes a little hitch... @@ -213,10 +213,9 @@ void W_Crylink_Fadethink (void) void W_Crylink_Attack (void) { - local float counter, shots; - local entity proj, prevproj, firstproj; - local vector s; - vector forward, right, up; + float counter, shots; + entity proj, prevproj, firstproj; + vector forward, right, up, s if not(self.items & IT_UNLIMITED_WEAPON_AMMO) self.ammo_cells = self.ammo_cells - cvar("g_balance_crylink_primary_ammo"); @@ -294,10 +293,9 @@ void W_Crylink_Attack (void) proj.nextthink = time + cvar("g_balance_crylink_primary_other_lifetime") + cvar("g_balance_crylink_primary_other_fadetime"); } proj.cnt = cvar("g_balance_crylink_primary_bounces"); + //proj.scale = 1 + 1 * proj.cnt; - - proj.angles = vectoangles (proj.velocity); - + //proj.angles = vectoangles (proj.velocity); // csqc //proj.glow_size = 20; proj.flags = FL_PROJECTILE; @@ -373,7 +371,7 @@ void W_Crylink_Attack2 (void) proj.cnt = cvar("g_balance_crylink_secondary_bounces"); //proj.scale = 1 + 1 * proj.cnt; - proj.angles = vectoangles (proj.velocity); + // proj.angles = vectoangles (proj.velocity); // csqc //proj.glow_size = 20; @@ -413,7 +411,7 @@ float w_crylink(float req) weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_crylink_primary_animtime"), w_ready); if(cvar("g_balance_crylink_primary_joinspeed") != 0) self.crylink_waitrelease = 1; - } + } } else if(self.BUTTON_ATCK2 && cvar("g_balance_crylink_secondary")) { @@ -434,7 +432,12 @@ float w_crylink(float req) { if(self.crylink_waitrelease == 1) { - W_Crylink_LinkJoin(self.crylink_lastgroup, cvar("g_balance_crylink_primary_joinspeed")); + W_Crylink_LinkJoin(self.crylink_lastgroup, cvar("g_balance_crylink_primary_joinspeed")); + + // 'splode @ join, if timing is just right, you get the target with the join-explode splash first, then the individual projectile's damage. + self.crylink_lastgroup.think = W_Crylink_Touch; + self.crylink_lastgroup.nextthink = w_crylink_linkjoin_time + time; + } else { @@ -442,6 +445,7 @@ float w_crylink(float req) } } } + self.crylink_waitrelease = 0; } } diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index 6634837db6..1600a1c9a1 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -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)