]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/weapons/selection.qc
When using specific weapon binds, if the player doesn't have the weapon, attempt...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / weapons / selection.qc
index 4af13e10228d101f414d61feae9ad9b4adb9b132..baee4ac532888599a7e3ff786bbeceb8363e6a60 100644 (file)
@@ -282,6 +282,25 @@ void W_SwitchWeapon(entity this, Weapon w, .entity weaponentity)
        }
 }
 
+void W_SwitchWeapon_TryOthers(entity this, Weapon w, .entity weaponentity)
+{
+       if(this.(weaponentity).m_switchweapon != w)
+       {
+               if(client_hasweapon(this, w, weaponentity, true, true)) // NOTE: still complains
+                       W_SwitchWeapon_Force(this, w, weaponentity);
+               else
+               {
+                       this.(weaponentity).selectweapon = w.m_id; // update selectweapon anyway
+                       W_NextWeaponOnImpulse(this, w.impulse, weaponentity);
+               }
+       }
+       else if(!forbidWeaponUse(this))
+       {
+               entity actor = this;
+               w.wr_reload(w, actor, weaponentity);
+       }
+}
+
 void W_CycleWeapon(entity this, string weaponorder, float dir, .entity weaponentity)
 {
        float w;