#include <common/weapons/_all.qh>
#include <common/items/_mod.qh>
+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;
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);
}