X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_weapons.qc;h=4a333934ae84a5ddc83f4281e2f7406daff1ef9a;hb=df90a2b0763b3e68025a66c7c5604b7542912af8;hp=fe678961848c54692bfc3e51250402b155cca1be;hpb=daaa6a440c2928b249cd66dfd4a4e36261a47f7a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index fe6789618..4a333934a 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -137,6 +137,15 @@ void W_PreviousWeapon(float list) W_CycleWeapon(self.cvar_cl_weaponpriority, +1); } +// previously used if exists and has ammo, (second) best otherwise +void W_LastWeapon() +{ + if(client_hasweapon(self, self.cnt, TRUE, FALSE)) + W_SwitchWeapon(self.cnt); + else + W_SwitchToOtherWeapon(self); +} + float w_getbestweapon(entity e) { return W_GetCycleWeapon(e, e.cvar_cl_weaponpriority, 0, -1, FALSE, TRUE); @@ -224,10 +233,10 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto s = strcat(s, " and ", ftos(thisammo), " ", Item_CounterFieldName(j)); // if our weapon is loaded, give its load back to the player - if(self.weapon_load[self.weapon] > 0) + if(self.(weapon_load[self.weapon]) > 0) { - own.ammofield += self.weapon_load[self.weapon]; - self.weapon_load[self.weapon] = -1; // schedule the weapon for reloading + own.ammofield += self.(weapon_load[self.weapon]); + self.(weapon_load[self.weapon]) = -1; // schedule the weapon for reloading } } } @@ -359,7 +368,7 @@ void W_WeaponFrame() e = get_weaponinfo(self.switchweapon); if(e.spawnflags & WEP_FLAG_RELOADABLE && cvar(strcat("g_balance_", e.netname, "_reload_ammo"))) // prevent accessing undefined cvars { - self.clip_load = self.weapon_load[self.switchweapon]; + self.clip_load = self.(weapon_load[self.switchweapon]); self.clip_size = cvar(strcat("g_balance_", e.netname, "_reload_ammo")); } else