Class Ext_PerkGunslinger extends Ext_PerkRhythmPerkBase; var bool bHasUberAmmo,bHasFanfire; replication { // Things the server should send to the client. if (true) bHasUberAmmo,bHasFanfire; } simulated function bool GetUsingTactialReload(KFWeapon KFW) { return (IsWeaponOnPerk(KFW) ? Modifiers[5]<0.8 : false); } simulated function bool GetIsUberAmmoActive(KFWeapon KFW) { return bHasUberAmmo && IsWeaponOnPerk(KFW) && WorldInfo.TimeDilation < 1.f; } simulated function float GetZedTimeModifier(KFWeapon W) { local name StateName; if (bHasFanfire && IsWeaponOnPerk(W)) { StateName = W.GetStateName(); if (BasePerk.Default.ZedTimeModifyingStates.Find(StateName) != INDEX_NONE || StateName == 'Reloading') return 1.f; } return 0.f; } defaultproperties { DefTraitList.Add(class'Ext_TraitWPGuns') DefTraitList.Add(class'Ext_TraitUberAmmo') DefTraitList.Add(class'Ext_TraitFanfire') DefTraitList.Add(class'Ext_TraitRackEmUp') PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Gunslinger' BasePerk=class'KFPerk_Gunslinger' PrimaryMelee=class'KFWeap_Knife_Gunslinger' PrimaryWeapon=class'KFWeap_Revolver_DualRem1858' PerkGrenade=class'KFProj_NailBombGrenade' PrimaryWeaponDef=class'KFWeapDef_Remington1858Dual' KnifeWeaponDef=class'KFWeapDef_Knife_Gunslinger' GrenadeWeaponDef=class'KFWeapDef_Grenade_Gunslinger' AutoBuyLoadOutPath=(class'KFWeapDef_Remington1858', class'KFWeapDef_Remington1858Dual', class'KFWeapDef_Colt1911', class'KFWeapDef_Colt1911Dual',class'KFWeapDef_Deagle', class'KFWeapDef_DeagleDual', class'KFWeapDef_SW500', class'KFWeapDef_SW500Dual') }