function bool AllowReload()
{
local KFPlayerReplicationInfo KFPRI;
local WTFEquipBoomStickAltFire FM0;
local WTFEquipBoomStickFire FM1;
if (super(KFWeapon).AllowReload())
{
SetPendingReload();
return true;
}
else if (!bIsReloading && (MagAmmoRemaining >= MagCapacity) && !IsFiring())
{
KFPRI = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo);
if (KFPRI == none || KFPRI.ClientVeteranSkill != Class'WTFPerksSupportSpec')
return false;
FM0 = WTFEquipBoomStickAltFire(FireMode[0]);
FM1 = WTFEquipBoomStickFire(FireMode[1]);
if ( FM0.GetShellType() == 1 )
{
PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'WTF.WTFEquipBoomstickSwitchMessage',0); //loading slugs
FM0.SetShellType(0);
FM1.SetShellType(0);
}
else
{
PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'WTF.WTFEquipBoomstickSwitchMessage',1); //loading shot
FM0.SetShellType(1);
FM1.SetShellType(1);
}
SetPendingReload();
return true;
}
return false;
}