1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 07:08:06 -05:00

Mule Kick: refill segmented reload weapons correctly

This commit is contained in:
Jbleezy
2022-01-23 04:00:03 -08:00
parent 592035a8b8
commit dceaf7d6eb

View File

@ -4364,7 +4364,19 @@ refill_after_time(primary)
self endon("spawned_player"); self endon("spawned_player");
reload_time = weaponReloadTime(primary); reload_time = weaponReloadTime(primary);
if(reload_time < 1) reload_amount = undefined;
if(primary == "m32_zm" || primary == "python_zm" || maps/mp/zombies/_zm_weapons::get_base_weapon_name(primary, 1) == "judge_zm" || maps/mp/zombies/_zm_weapons::get_base_weapon_name(primary, 1) == "870mcs_zm" || maps/mp/zombies/_zm_weapons::get_base_weapon_name(primary, 1) == "ksg_zm")
{
reload_amount = 1;
if(maps/mp/zombies/_zm_weapons::get_base_weapon_name(primary, 1) == "ksg_zm" && maps/mp/zombies/_zm_weapons::is_weapon_upgraded(primary))
{
reload_amount = 2;
}
}
if(!isDefined(reload_amount) && reload_time < 1)
{ {
reload_time = 1; reload_time = 1;
} }
@ -4378,13 +4390,18 @@ refill_after_time(primary)
ammo_clip = self getWeaponAmmoClip(primary); ammo_clip = self getWeaponAmmoClip(primary);
ammo_stock = self getWeaponAmmoStock(primary); ammo_stock = self getWeaponAmmoStock(primary);
missing_clip = weaponClipSize(primary) - ammo_clip; missing_clip = weaponClipSize(primary) - ammo_clip;
if(missing_clip > ammo_stock) if(missing_clip > ammo_stock)
{ {
missing_clip = ammo_stock; missing_clip = ammo_stock;
} }
if(isDefined(reload_amount) && missing_clip > reload_amount)
{
missing_clip = reload_amount;
}
self setWeaponAmmoClip(primary, ammo_clip + missing_clip); self setWeaponAmmoClip(primary, ammo_clip + missing_clip);
self setWeaponAmmoStock(primary, ammo_stock - missing_clip); self setWeaponAmmoStock(primary, ammo_stock - missing_clip);
@ -4393,8 +4410,8 @@ refill_after_time(primary)
{ {
ammo_clip = self getWeaponAmmoClip(dw_primary); ammo_clip = self getWeaponAmmoClip(dw_primary);
ammo_stock = self getWeaponAmmoStock(dw_primary); ammo_stock = self getWeaponAmmoStock(dw_primary);
missing_clip = weaponClipSize(dw_primary) - ammo_clip; missing_clip = weaponClipSize(dw_primary) - ammo_clip;
if(missing_clip > ammo_stock) if(missing_clip > ammo_stock)
{ {
missing_clip = ammo_stock; missing_clip = ammo_stock;
@ -4409,8 +4426,8 @@ refill_after_time(primary)
{ {
ammo_clip = self getWeaponAmmoClip(alt_primary); ammo_clip = self getWeaponAmmoClip(alt_primary);
ammo_stock = self getWeaponAmmoStock(alt_primary); ammo_stock = self getWeaponAmmoStock(alt_primary);
missing_clip = weaponClipSize(alt_primary) - ammo_clip; missing_clip = weaponClipSize(alt_primary) - ammo_clip;
if(missing_clip > ammo_stock) if(missing_clip > ammo_stock)
{ {
missing_clip = ammo_stock; missing_clip = ammo_stock;
@ -4419,6 +4436,11 @@ refill_after_time(primary)
self setWeaponAmmoClip(alt_primary, ammo_clip + missing_clip); self setWeaponAmmoClip(alt_primary, ammo_clip + missing_clip);
self setWeaponAmmoStock(alt_primary, ammo_stock - missing_clip); self setWeaponAmmoStock(alt_primary, ammo_stock - missing_clip);
} }
if(isDefined(reload_amount) && self getWeaponAmmoStock(primary) > 0 && self getWeaponAmmoClip(primary) < weaponClipSize(primary))
{
self refill_after_time(primary);
}
} }
whos_who_spawn_changes() whos_who_spawn_changes()