X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fweapon%2Fblaster.qc;h=e3d713d470b5808f2f12a35b02cdaf6c53bb5755;hb=00d7a93f67cca196b2781899d5510b6aaf9816d7;hp=2189c1db209d1d1d68b57949bdd8a5103183bb17;hpb=7aaff08fbaad9424651ec31c82f8a5d78e5ec1e1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/weapon/blaster.qc b/qcsrc/common/weapons/weapon/blaster.qc index 2189c1db2..e3d713d47 100644 --- a/qcsrc/common/weapons/weapon/blaster.qc +++ b/qcsrc/common/weapons/weapon/blaster.qc @@ -18,6 +18,7 @@ void W_Blaster_Touch(entity this, entity toucher) NULL, this.blaster_force, this.projectiledeathtype, + this.weaponentity_fld, toucher ); @@ -48,7 +49,7 @@ void W_Blaster_Attack( { vector s_forward = v_forward * cos(atk_shotangle * DEG2RAD) + v_up * sin(atk_shotangle * DEG2RAD); - W_SetupShot_Dir(actor, weaponentity, s_forward, false, 3, SND_LASERGUN_FIRE, CH_WEAPON_B, atk_damage); + W_SetupShot_Dir(actor, weaponentity, s_forward, false, 3, SND_LASERGUN_FIRE, CH_WEAPON_B, atk_damage, atk_deathtype); Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1); entity missile = new(blasterbolt); @@ -88,6 +89,7 @@ void W_Blaster_Attack( IL_PUSH(g_bot_dodge, missile); missile.missile_flags = MIF_SPLASH; missile.projectiledeathtype = atk_deathtype; + missile.weaponentity_fld = weaponentity; setthink(missile, W_Blaster_Think); missile.nextthink = time + atk_delay; @@ -193,6 +195,17 @@ METHOD(Blaster, wr_killmessage, Notification(entity thiswep)) return WEAPON_BLASTER_MURDER; } +METHOD(OffhandBlaster, offhand_think, void(OffhandBlaster this, entity actor, bool key_pressed)) +{ + if (!key_pressed || (time < actor.jump_interval)) + { + return; + } + actor.jump_interval = time + WEP_CVAR_SEC(blaster, refire) * W_WeaponRateFactor(actor); + .entity weaponentity = weaponentities[1]; + BLASTER_SECONDARY_ATTACK(blaster, actor, weaponentity); +} + #endif #ifdef CSQC