X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fselection.qc;h=baee4ac532888599a7e3ff786bbeceb8363e6a60;hp=4af13e10228d101f414d61feae9ad9b4adb9b132;hb=293777db9bd54478f88c29339f39756307a6929a;hpb=77ffd30cbf1e94a546f70026e69e56e8d777ba83 diff --git a/qcsrc/server/weapons/selection.qc b/qcsrc/server/weapons/selection.qc index 4af13e1022..baee4ac532 100644 --- a/qcsrc/server/weapons/selection.qc +++ b/qcsrc/server/weapons/selection.qc @@ -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;