Class Ext_PerkBerserker extends Ext_PerkBase; var float VampRegenRate,ZedTimeMeleeAtkRate; replication { // Things the server should send to the client. if (true) ZedTimeMeleeAtkRate; } simulated function ModifyMeleeAttackSpeed(out float InDuration) { InDuration *= Modifiers[4]; if (ZedTimeMeleeAtkRate<1.f && WorldInfo.TimeDilation<1.f) InDuration *= ZedTimeMeleeAtkRate; } simulated function ModifyRateOfFire(out float InRate, KFWeapon KFW) { if (IsWeaponOnPerk(KFW)) { InRate *= Modifiers[4]; if (ZedTimeMeleeAtkRate<1.f && WorldInfo.TimeDilation<1.f) InRate *= ZedTimeMeleeAtkRate; } } function PlayerKilled(KFPawn_Monster Victim, class DT) { if (VampRegenRate>0 && PlayerOwner.Pawn!=None && PlayerOwner.Pawn.Health>0 && class(DT)!=None && class(DT).Default.ModifierPerkList.Find(BasePerk)>=0) PlayerOwner.Pawn.HealDamage(Max(PlayerOwner.Pawn.HealthMax*VampRegenRate,1), PlayerOwner, class'KFDT_Healing', false, false); } defaultproperties { PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Berserker' DefTraitList.Add(class'Ext_TraitWPBers') DefTraitList.Add(class'Ext_TraitUnGrab') DefTraitList.Add(class'Ext_TraitVampire') DefTraitList.Add(class'Ext_TraitSpartan') DefPerkStats(15)=(bHiddenConfig=false) // Poison damage. BasePerk=class'KFPerk_Berserker' PrimaryMelee=class'KFWeap_Knife_Berserker' PrimaryWeapon=class'KFWeap_Blunt_Crovel' PerkGrenade=class'KFProj_EMPGrenade' PrimaryWeaponDef=class'KFWeapDef_Crovel' KnifeWeaponDef=class'KFweapDef_Knife_Berserker' GrenadeWeaponDef=class'KFWeapDef_Grenade_Berserker' AutoBuyLoadOutPath=(class'KFWeapDef_Crovel', class'KFWeapDef_Nailgun', class'KFWeapDef_Pulverizer', class'KFWeapDef_Eviscerator') ZedTimeMeleeAtkRate=1.0 }