163 lines
6.6 KiB
Ucode
163 lines
6.6 KiB
Ucode
//=============================================================================
|
|
// KFPawn_ZedScrake_Versus
|
|
//=============================================================================
|
|
// Scrake Versus pawn
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
|
//=============================================================================
|
|
class KFPawn_ZedScrake_Versus extends KFPawn_ZedScrake;
|
|
|
|
/** Ground speed to use when sprinting and enraged */
|
|
var const protected float RageSprintSpeed;
|
|
|
|
/** Rage bump damage variables */
|
|
var const protected class<KFDamageType> RageBumpDamageType;
|
|
var const protected int RageBumpDamage;
|
|
var const protected float RageBumpRadius;
|
|
var const protected float RageBumpMomentum;
|
|
|
|
/** Disallow sprinting if we've been struck by an EMP */
|
|
function SetSprinting(bool bNewSprintStatus)
|
|
{
|
|
if( bEmpDisrupted )
|
|
{
|
|
bNewSprintStatus = false;
|
|
}
|
|
|
|
super.SetSprinting( bNewSprintStatus );
|
|
}
|
|
|
|
/** Enrage this FleshPound! */
|
|
simulated function bool SetEnraged( bool bNewEnraged )
|
|
{
|
|
local bool bSuccess;
|
|
|
|
bSuccess = super.SetEnraged( bNewEnraged );
|
|
|
|
if( bIsEnraged )
|
|
{
|
|
if( !IsTimerActive(nameOf(Timer_RageBump)) )
|
|
{
|
|
SetTimer( 0.25f, true, nameOf(Timer_RageBump) );
|
|
}
|
|
|
|
SprintSpeed = RageSprintSpeed;
|
|
}
|
|
else if( IsTimerActive(nameOf(Timer_RageBump)) )
|
|
{
|
|
ClearTimer( nameOf(Timer_RageBump) );
|
|
|
|
SprintSpeed = default.SprintSpeed;
|
|
}
|
|
|
|
return bSuccess;
|
|
}
|
|
|
|
/** Applies damage and impulse to nearby pawns and objects */
|
|
simulated protected function Timer_RageBump()
|
|
{
|
|
HurtRadius( RageBumpDamage, RageBumpRadius, RageBumpDamageType, RageBumpMomentum, Location, self, Controller );
|
|
}
|
|
|
|
/** Clear our rage bump timer */
|
|
simulated function PlayDying( class<DamageType> DamageType, vector HitLoc )
|
|
{
|
|
ClearTimer( nameOf(Timer_RageBump) );
|
|
|
|
super.PlayDying( DamageType, HitLoc );
|
|
}
|
|
|
|
DefaultProperties
|
|
{
|
|
bVersusZed=true
|
|
TeammateCollisionRadiusPercent=0.30
|
|
|
|
Begin Object Name=SpecialMoveHandler_0
|
|
SpecialMoveClasses(SM_PlayerZedMove_LMB)= class'KFSM_PlayerScrake_Melee'
|
|
SpecialMoveClasses(SM_PlayerZedMove_RMB)= class'KFSM_PlayerScrake_Melee2'
|
|
SpecialMoveClasses(SM_PlayerZedMove_V)= class'KFSM_PlayerScrake_Melee3'
|
|
SpecialMoveClasses(SM_PlayerZedMove_MMB)= class'KFSM_PlayerScrake_Block'
|
|
End Object
|
|
|
|
MoveListGamepadScheme(ZGM_Melee_Square)=SM_PlayerZedMove_LMB
|
|
MoveListGamepadScheme(ZGM_Melee_Triangle)=SM_PlayerZedMove_RMB
|
|
MoveListGamepadScheme(ZGM_Block_R1)=SM_PlayerZedMove_MMB
|
|
MoveListGamepadScheme(ZGM_Special_R3)=SM_PlayerZedMove_V
|
|
|
|
SpecialMoveCooldowns(0)=(SMHandle=SM_PlayerZedMove_LMB, CooldownTime=0.5f, SpecialMoveIcon=Texture2D'ZED_Scrake_UI.ZED-VS_Icons_Scrake-LightLunge', NameLocalizationKey="Light")
|
|
SpecialMoveCooldowns(1)=(SMHandle=SM_PlayerZedMove_RMB, CooldownTime=1.5f, SpecialMoveIcon=Texture2D'ZED_Scrake_UI.ZED-VS_Icons_Scrake-HeavyLunge', NameLocalizationKey="Heavy")
|
|
SpecialMoveCooldowns(2)=(SMHandle=SM_Taunt, CooldownTime=1.0f, bShowOnHud=false)
|
|
SpecialMoveCooldowns(3)=(SMHandle=SM_PlayerZedMove_V, CooldownTime=2.5f, SpecialMoveIcon=Texture2D'ZED_Scrake_UI.ZED-VS_Icons_Scrake-SpinAttack', NameLocalizationKey="Spin")
|
|
SpecialMoveCooldowns(4)=(SMHandle=SM_PlayerZedMove_MMB, CooldownTime=0.2, SpecialMoveIcon=Texture2D'ZED_Shared_UI.ZED-VS_Icons_Generic-Block', NameLocalizationKey="Block") //0.5
|
|
SpecialMoveCooldowns.Add((SMHandle=SM_Jump, CooldownTime=1.25f, SpecialMoveIcon=Texture2D'ZED_Scrake_UI.ZED-VS_Icons_Scrake-Jump', bShowOnHud=false)) // Jump always at end of array
|
|
|
|
DamageTypeModifiers.Add((DamageType=class'KFDT_Slashing', DamageScale=(0.6)))
|
|
DamageTypeModifiers.Add((DamageType=class'KFDT_Bludgeon', DamageScale=(0.5)))
|
|
|
|
DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_HRGTeslauncher', DamageScale=(0.6)))
|
|
DamageTypeModifiers.Add((DamageType=class'KFDT_Fire_HRGTeslauncherDoT', DamageScale=(0.6)))
|
|
|
|
IncapSettings(AF_Stun)= (Vulnerability=(0.2, 0.7, 0.2, 0.2, 0.2), Cooldown=10.0, Duration=1.5) //0.5, 1.0, 0.5, 0.5, 0.5
|
|
IncapSettings(AF_Knockdown)=(Vulnerability=(0.2), Cooldown=10)
|
|
IncapSettings(AF_Stumble)= (Vulnerability=(0.1), Cooldown=5)
|
|
IncapSettings(AF_GunHit)= (Vulnerability=(0.2), Cooldown=1.7)
|
|
IncapSettings(AF_MeleeHit)= (Vulnerability=(0.5), Cooldown=1.35)
|
|
IncapSettings(AF_Poison)= (Vulnerability=(0.6), Cooldown=20.0, Duration=1.5)
|
|
IncapSettings(AF_Microwave)=(Vulnerability=(0.5), Cooldown=10.0, Duration=2.5)
|
|
IncapSettings(AF_FirePanic)=(Vulnerability=(0.9), Cooldown=5.0, Duration=3.0)
|
|
IncapSettings(AF_EMP)= (Vulnerability=(0.98), Cooldown=10.0, Duration=2.2) //0.98
|
|
IncapSettings(AF_Freeze)= (Vulnerability=(0.5), Cooldown=1.5, Duration=0.5) //0.98
|
|
IncapSettings(AF_Snare)= (Vulnerability=(0.7, 0.7, 1.0, 0.7), Cooldown=8.5, Duration=1.5)
|
|
IncapSettings(AF_Bleed)= (Vulnerability=(0.25))
|
|
|
|
// IncapSettings(AF_Stun)= (Vulnerability=(2.f), Cooldown=6.0)
|
|
//IncapSettings(AF_Knockdown)=(Vulnerability=(2.f), Cooldown=17.0)
|
|
// IncapSettings(AF_Stumble)= (Vulnerability=(1.2), Cooldown=8.0)
|
|
// IncapSettings(AF_GunHit)= (Vulnerability=(2.5), Cooldown=3.0)
|
|
// IncapSettings(AF_MeleeHit)= (Vulnerability=(1.2), Cooldown=4.0)
|
|
|
|
//defaults
|
|
Begin Object Name=MeleeHelper_0
|
|
BaseDamage=15//30.f //20
|
|
MaxHitRange=200.f
|
|
MomentumTransfer=45000.f
|
|
MyDamageType=class'KFGameContent.KFDT_Slashing_Scrake'
|
|
MeleeImpactCamScale=0.45
|
|
PlayerDoorDamageMultiplier=5.f
|
|
End Object
|
|
MeleeAttackHelper=MeleeHelper_0
|
|
|
|
Health=1600 //1565 //1300
|
|
DoshValue=260.0 // 1.5x default because they are harder to hit/kill
|
|
XPValues(0)=102 // 1.5 X 2x default because they are harder to hit/kill
|
|
|
|
// Movement speeds
|
|
SprintSpeed=530
|
|
RageSprintSpeed=650
|
|
SprintStrafeSpeed=350.f
|
|
Groundspeed=220.f
|
|
|
|
// Rage
|
|
RageHealthThresholdNormal=0.75
|
|
RageBumpDamage=2
|
|
RageBumpRadius=240.f
|
|
RageBumpMomentum=500.f
|
|
RageBumpDamageType=class'KFGameContent.KFDT_HeavyZedBump'
|
|
|
|
// Blocking
|
|
MinBlockFOV=0.f
|
|
|
|
//defaults
|
|
ThirdPersonViewOffset={(
|
|
OffsetHigh=(X=-175,Y=60,Z=60),
|
|
OffsetLow=(X=-220,Y=100,Z=50),
|
|
OffsetMid=(X=-160,Y=50,Z=0),
|
|
)}
|
|
|
|
// Health=3500
|
|
// DrawScale3D=(X=1.25,Y=1.25,Z=1.25)
|
|
// HitZones[HZI_HEAD]=(ZoneName=head, BoneName=Head, Limb=BP_Head, GoreHealth=3500, DmgScale=1.1, SkinID=1)
|
|
// HitZones[8] =(ZoneName=rforearm, BoneName=RightForearm, Limb=BP_RightArm, GoreHealth=200, DmgScale=0.5, SkinID=2)
|
|
}
|