From: Mario Date: Mon, 12 Feb 2018 23:32:46 +0000 (+1000) Subject: Add a function to check if the player is dual wielding X-Git-Tag: xonotic-v0.8.5~2322 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=3ea07b383ddf9f50df0f01c8d88b0d4c75b48e5f;p=xonotic%2Fxonotic-data.pk3dir.git Add a function to check if the player is dual wielding --- diff --git a/qcsrc/server/weapons/common.qc b/qcsrc/server/weapons/common.qc index f69faa03a..9254ad581 100644 --- a/qcsrc/server/weapons/common.qc +++ b/qcsrc/server/weapons/common.qc @@ -12,6 +12,19 @@ #include #include +bool W_DualWielding(entity player) +{ + int held_weapons = 0; + for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) + { + .entity weaponentity = weaponentities[slot]; + if(player.(weaponentity) && player.(weaponentity).m_switchweapon != WEP_Null) + ++held_weapons; + } + + return held_weapons > 1; +} + void W_GiveWeapon(entity e, int wep) { if (!wep) return; diff --git a/qcsrc/server/weapons/tracing.qc b/qcsrc/server/weapons/tracing.qc index 486ae180a..da6154794 100644 --- a/qcsrc/server/weapons/tracing.qc +++ b/qcsrc/server/weapons/tracing.qc @@ -135,14 +135,7 @@ void W_SetupShot_Dir_ProjectileSize_Range(entity ent, .entity weaponentity, vect ent.punchangle_x = recoil * -1; if (snd != SND_Null) { - int held_weapons = 0; // HACK: muffle weapon sounds slightly while dual wielding! - for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) - { - .entity wep_ent = weaponentities[slot]; - if(ent.(wep_ent) && ent.(wep_ent).m_switchweapon != WEP_Null) - ++held_weapons; - } - sound (ent, chan, snd, ((held_weapons > 1) ? VOL_BASE * 0.7 : VOL_BASE), ATTN_NORM); + sound (ent, chan, snd, ((W_DualWielding(ent) > 1) ? VOL_BASE * 0.7 : VOL_BASE), ATTN_NORM); W_PlayStrengthSound(ent); }