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);
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
}
}
}
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