function SetAttackAnim()
{
if( ClientFire[0]==1 )
SetAnimAction('Claw');
else if( ClientFire[1]==1 && !bDecapitated && NextChargeTimer<Level.TimeSeconds && !IsInState('PlayerRunning') )
{
if( CanRun() )
GoToState('PlayerRunning');
if( NextChargeTimer<Level.TimeSeconds )
return;
else if( CanTeleport() )
StartTeleport();
return;
}
else return;
bShotAnim = true;
}
function FlashTeleport()
{
if(PlayerController(Controller) == none)
Super.FlashTeleport();
else
PlayerTeleport();
}
function PlayerTeleport()
{
local Actor HitActor;
local Vector HitNormal, HitLocation;
HitActor = Trace(HitLocation, HitNormal, Location + float(10000) * vector(Rotation), Location, true);
if(HitActor == none)
{
HitLocation = Location + float(10000) * vector(Rotation);
}
else
{
HitLocation = HitLocation + CollisionRadius * HitNormal;
}
SetLocation(HitLocation);
PlaySound(Sound'WPC_Zeds2_A.WarpGroup', SLOT_Interact, 4.0);
bFlashTeleporting = false;
LastFlashTime = Level.TimeSeconds;
}