From a29ce624e22a200a3c38285664d9f6ce959a4439 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 29 Sep 2016 23:57:39 +1000 Subject: [PATCH] Make a few more weapons work properly in secondary slots --- qcsrc/common/weapons/weapon/minelayer.qc | 1 + qcsrc/common/weapons/weapon/shockwave.qc | 4 ++-- qcsrc/common/weapons/weapon/vaporizer.qc | 18 +++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/qcsrc/common/weapons/weapon/minelayer.qc b/qcsrc/common/weapons/weapon/minelayer.qc index 89141b17f..dd7596366 100644 --- a/qcsrc/common/weapons/weapon/minelayer.qc +++ b/qcsrc/common/weapons/weapon/minelayer.qc @@ -72,6 +72,7 @@ void W_MineLayer_Stick(entity this, entity to) entity newmine = spawn(); IL_PUSH(g_mines, newmine); + newmine.weaponentity_fld = this.weaponentity_fld; newmine.classname = this.classname; newmine.bot_dodge = this.bot_dodge; diff --git a/qcsrc/common/weapons/weapon/shockwave.qc b/qcsrc/common/weapons/weapon/shockwave.qc index ea756dfc7..8dd56d940 100644 --- a/qcsrc/common/weapons/weapon/shockwave.qc +++ b/qcsrc/common/weapons/weapon/shockwave.qc @@ -706,12 +706,12 @@ METHOD(Shockwave, wr_think, void(entity thiswep, entity actor, .entity weaponent { if(fire & 1) { - if(time >= actor.shockwave_blasttime) // handle refire separately so the secondary can be fired straight after a primary + if(time >= actor.(weaponentity).shockwave_blasttime) // handle refire separately so the secondary can be fired straight after a primary { if(weapon_prepareattack(thiswep, actor, weaponentity, false, WEP_CVAR(shockwave, blast_animtime))) { W_Shockwave_Attack(actor, weaponentity); - actor.shockwave_blasttime = time + WEP_CVAR(shockwave, blast_refire) * W_WeaponRateFactor(actor); + actor.(weaponentity).shockwave_blasttime = time + WEP_CVAR(shockwave, blast_refire) * W_WeaponRateFactor(actor); weapon_thinkf(actor, weaponentity, WFRAME_FIRE1, WEP_CVAR(shockwave, blast_animtime), w_ready); } } diff --git a/qcsrc/common/weapons/weapon/vaporizer.qc b/qcsrc/common/weapons/weapon/vaporizer.qc index 25464b243..5a9a8735f 100644 --- a/qcsrc/common/weapons/weapon/vaporizer.qc +++ b/qcsrc/common/weapons/weapon/vaporizer.qc @@ -380,27 +380,27 @@ METHOD(Vaporizer, wr_think, void(entity thiswep, entity actor, .entity weaponent if((autocvar_g_rm && autocvar_g_rm_laser) || autocvar_g_rm_laser == 2) { bool rapid = autocvar_g_rm_laser_rapid; - if(actor.jump_interval <= time && !actor.held_down) + if(actor.(weaponentity).jump_interval <= time && !actor.(weaponentity).held_down) { if(rapid) - actor.held_down = true; - actor.jump_interval = time + autocvar_g_rm_laser_refire; - actor.jump_interval2 = time + autocvar_g_rm_laser_rapid_delay; + actor.(weaponentity).held_down = true; + actor.(weaponentity).jump_interval = time + autocvar_g_rm_laser_refire; + actor.(weaponentity).jump_interval2 = time + autocvar_g_rm_laser_rapid_delay; damage_goodhits = 0; W_RocketMinsta_Attack2(actor, weaponentity); } - else if(rapid && actor.jump_interval2 <= time && actor.held_down) + else if(rapid && actor.(weaponentity).jump_interval2 <= time && actor.(weaponentity).held_down) { - actor.jump_interval2 = time + autocvar_g_rm_laser_rapid_refire; + actor.(weaponentity).jump_interval2 = time + autocvar_g_rm_laser_rapid_refire; damage_goodhits = 0; W_RocketMinsta_Attack3(actor, weaponentity); //weapon_thinkf(actor, WFRAME_FIRE2, autocvar_g_rm_laser_rapid_animtime, w_ready); } } - else if (actor.jump_interval <= time) + else if (actor.(weaponentity).jump_interval <= time) { // handle refire manually, so that primary and secondary can be fired without conflictions (important for instagib) - actor.jump_interval = time + WEP_CVAR_SEC(vaporizer, refire) * W_WeaponRateFactor(actor); + actor.(weaponentity).jump_interval = time + WEP_CVAR_SEC(vaporizer, refire) * W_WeaponRateFactor(actor); // decrease ammo for the laser? if(WEP_CVAR_SEC(vaporizer, ammo)) @@ -431,7 +431,7 @@ METHOD(Vaporizer, wr_think, void(entity thiswep, entity actor, .entity weaponent } } else - actor.held_down = false; + actor.(weaponentity).held_down = false; } METHOD(Vaporizer, wr_setup, void(entity thiswep, entity actor)) { -- 2.39.2