1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-07-07 12:29:04 -05:00

Weapons: fix alt weapon switch when trading weapons

This commit is contained in:
Jbleezy
2024-04-17 02:44:46 -07:00
parent e5c169ef08
commit b65a4578db
4 changed files with 97 additions and 20 deletions

View File

@ -971,6 +971,98 @@ createballisticknifewatcher_zm(name, weapon)
watcher.headicon = 0;
}
get_player_weapondata(player, weapon)
{
weapondata = [];
if (!isdefined(weapon))
weapondata["name"] = get_nonalternate_weapon(player getcurrentweapon());
else
weapondata["name"] = weapon;
weapondata["dw_name"] = weapondualwieldweaponname(weapondata["name"]);
weapondata["alt_name"] = weaponaltweaponname(weapondata["name"]);
if (weapondata["name"] != "none")
{
weapondata["clip"] = player getweaponammoclip(weapondata["name"]);
weapondata["stock"] = player getweaponammostock(weapondata["name"]);
weapondata["fuel"] = player getweaponammofuel(weapondata["name"]);
weapondata["heat"] = player isweaponoverheating(1, weapondata["name"]);
weapondata["overheat"] = player isweaponoverheating(0, weapondata["name"]);
}
else
{
weapondata["clip"] = 0;
weapondata["stock"] = 0;
weapondata["fuel"] = 0;
weapondata["heat"] = 0;
weapondata["overheat"] = 0;
}
if (weapondata["dw_name"] != "none")
weapondata["lh_clip"] = player getweaponammoclip(weapondata["dw_name"]);
else
weapondata["lh_clip"] = 0;
if (weapondata["alt_name"] != "none")
{
weapondata["alt_clip"] = player getweaponammoclip(weapondata["alt_name"]);
weapondata["alt_stock"] = player getweaponammostock(weapondata["alt_name"]);
}
else
{
weapondata["alt_clip"] = 0;
weapondata["alt_stock"] = 0;
}
return weapondata;
}
get_nonalternate_weapon(altweapon)
{
if (is_alt_weapon(altweapon))
{
alt = weaponaltweaponname(altweapon);
if (alt == "none")
{
primaryweapons = self getweaponslistprimaries();
alt = primaryweapons[0];
foreach (weapon in primaryweapons)
{
if (weaponaltweaponname(weapon) == altweapon)
{
alt = weapon;
break;
}
}
}
return alt;
}
if (issubstr(altweapon, "metalstorm"))
{
alt = "metalstorm_mms_zm";
if (issubstr(altweapon, "upgraded"))
{
alt = "metalstorm_mms_upgraded_zm";
}
return alt;
}
return altweapon;
}
switch_from_alt_weapon(current_weapon)
{
return get_nonalternate_weapon(current_weapon);
}
give_fallback_weapon()
{
self switchtoweapon("held_" + self get_player_melee_weapon());