From 9e458cd552b677a696c23b80d134dbd3501f54cf Mon Sep 17 00:00:00 2001 From: FruitieX Date: Tue, 20 Jul 2010 18:04:09 +0300 Subject: [PATCH] trace lightning through warpzones, add shotgun secondary melee mode (still lacks sound, needs tracebox for easier aiming too) --- balanceFruit.cfg | 18 +++++---- models/weapons/h_shotgun.iqm | Bin 10430 -> 19606 bytes models/weapons/h_shotgun.iqm.framegroups | 6 +-- qcsrc/server/w_electro.qc | 2 +- qcsrc/server/w_shotgun.qc | 47 ++++++++++++++++++++++- 5 files changed, 60 insertions(+), 13 deletions(-) diff --git a/balanceFruit.cfg b/balanceFruit.cfg index 6b7a9fbef..ff9567877 100644 --- a/balanceFruit.cfg +++ b/balanceFruit.cfg @@ -241,14 +241,18 @@ 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 0 +set g_balance_shotgun_secondary 1 +set g_balance_shotgun_secondary_melee 1 +set g_balance_shotgun_secondary_melee_delay 0.35 // match the anim +set g_balance_shotgun_secondary_melee_range 60 +set g_balance_shotgun_secondary_melee_size 50 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 -set g_balance_shotgun_secondary_spread 0.20 -set g_balance_shotgun_secondary_refire 1.35 -set g_balance_shotgun_secondary_animtime 0.33 -set g_balance_shotgun_secondary_ammo 1 +set g_balance_shotgun_secondary_damage 90 +set g_balance_shotgun_secondary_force 150 +set g_balance_shotgun_secondary_spread 0 +set g_balance_shotgun_secondary_refire 1.1 +set g_balance_shotgun_secondary_animtime 1 +set g_balance_shotgun_secondary_ammo 0 set g_balance_shotgun_secondary_speed 12000 set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu // }}} diff --git a/models/weapons/h_shotgun.iqm b/models/weapons/h_shotgun.iqm index 1fb76f81d1459fe1ce5eb5c09e5b30e60fb06a53..89b121b90d9fbd9a0e6500c57d1378bba31ffd40 100644 GIT binary patch literal 19606 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 N?&}_W`2UR${|lhEd6WPE literal 10430 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 b=oP?PnD1%BgdQ65)z-Gdj8tFz@A&+GeY*C0 diff --git a/models/weapons/h_shotgun.iqm.framegroups b/models/weapons/h_shotgun.iqm.framegroups index 0a59625b6..1dcb1b644 100644 --- a/models/weapons/h_shotgun.iqm.framegroups +++ b/models/weapons/h_shotgun.iqm.framegroups @@ -1,4 +1,4 @@ 1 8 20 0 // fire -9 5 20 0 // fire2 -15 200 20 1 // idle -215 40 20 0 // reload +9 31 20 0 // fire2 +32 231 20 1 // idle +232 271 20 0 // reload diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index 4eadbac21..4d4fda1ca 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -201,7 +201,7 @@ void lgbeam_think() vector angle; angle = v_forward; - traceline_antilag(self.owner, self.owner.origin + self.owner.view_ofs, self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_electro_primary_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner)); + WarpZone_traceline_antilag(self.owner, self.owner.origin + self.owner.view_ofs, self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_electro_primary_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner)); if not(self.owner.items & IT_UNLIMITED_WEAPON_AMMO) self.owner.ammo_cells = max(0, self.owner.ammo_cells - cvar("g_balance_electro_primary_ammo") * frametime); diff --git a/qcsrc/server/w_shotgun.qc b/qcsrc/server/w_shotgun.qc index c347648df..5775f3dda 100644 --- a/qcsrc/server/w_shotgun.qc +++ b/qcsrc/server/w_shotgun.qc @@ -89,6 +89,37 @@ void W_Shotgun_Attack2 (void) W_AttachToShotorg(flash, '5 0 0'); } +void shotgun_meleethink (void) +{ + makevectors(self.owner.v_angle); + vector angle; + angle = v_forward; + + // broken? fix, needs to be easier to hit + //WarpZone_tracebox_antilag(self.owner, self.owner.origin + self.owner.view_ofs, self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_shotgun_secondary_melee_range") - (v_right + v_up) * cvar("g_balance_shotgun_secondary_melee_size"), self.owner.origin + self.owner.view_ofs + (v_right + v_up) * cvar("g_balance_shotgun_secondary_melee_size"), self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_shotgun_secondary_melee_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner)); + WarpZone_traceline_antilag(self.owner, self.owner.origin + self.owner.view_ofs, self.owner.origin + self.owner.view_ofs + angle * cvar("g_balance_shotgun_secondary_melee_range"), FALSE, self.owner, ANTILAG_LATENCY(self.owner)); + + // apply the damage + if(trace_fraction < 1) + { + vector force; + force = angle * cvar("g_balance_shotgun_secondary_force"); + Damage (trace_ent, self.owner, self.owner, cvar("g_balance_shotgun_secondary_damage"), WEP_SHOTGUN, self.owner.origin + self.owner.view_ofs, force); + } + remove(self); +} + +void W_Shotgun_Attack3 (void) +{ + weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_shotgun_secondary_animtime"), w_ready); + + entity meleetemp; + meleetemp = spawn(); + meleetemp.owner = self; + meleetemp.think = shotgun_meleethink; + meleetemp.nextthink = time + cvar("g_balance_shotgun_secondary_melee_delay"); +} + // weapon frames void shotgun_fire2_03() { @@ -121,8 +152,16 @@ float w_shotgun(float req) if (self.BUTTON_ATCK2 && cvar("g_balance_shotgun_secondary")) if (weapon_prepareattack(1, cvar("g_balance_shotgun_secondary_refire"))) { - W_Shotgun_Attack2(); - weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_shotgun_secondary_animtime"), shotgun_fire2_02); + if(cvar("g_balance_shotgun_secondary_melee")) + { + // force playback of the anim by switching to another anim (that we never play) here... + weapon_thinkf(WFRAME_FIRE1, 0, W_Shotgun_Attack3); + } + else + { + W_Shotgun_Attack2(); + weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_shotgun_secondary_animtime"), shotgun_fire2_02); + } } } else if (req == WR_PRECACHE) @@ -139,7 +178,11 @@ float w_shotgun(float req) else if (req == WR_CHECKAMMO1) return self.ammo_shells >= cvar("g_balance_shotgun_primary_ammo"); else if (req == WR_CHECKAMMO2) + { + if(cvar("g_balance_shotgun_secondary_melee")) + return TRUE; return self.ammo_shells >= cvar("g_balance_shotgun_secondary_ammo") * 3; + } return TRUE; }; #endif -- 2.39.2