class ZombieCrawlerOS extends KFMonsterOS;

var() float PounceSpeed;
var bool bPouncing;

simulated function ZombieCrispUp()
{
    super.ZombieCrispUp();

    Skins[1]=default.Skins[1];
}

function bool DoPounce()
{
    if ( bZapped || bIsCrouched || bWantsToCrouch || (Physics != PHYS_Walking) || VSize(Location - Controller.Target.Location) > (MeleeRange * 5) )
        return false;

    Velocity = Normal(Controller.Target.Location-Location)*PounceSpeed;
    Velocity.Z = JumpZ;
    SetPhysics(PHYS_Falling);
    ZombieSpringAnim();
    bPouncing=true;
    return true;
}

simulated function ZombieSpringAnim()
{
    SetAnimAction('ZombieSpring');
}

event Landed(vector HitNormal)
{
    bPouncing=false;
    super.Landed(HitNormal);
}

event Bump(actor Other)
{
    if(bPouncing && KFHumanPawn(Other)!=none )
    {
        KFHumanPawn(Other).TakeDamage(((MeleeDamage - (MeleeDamage * 0.05)) + (MeleeDamage * (FRand() * 0.1))), self ,self.Location,self.velocity, class 'KFmod.ZombieMeleeDamage');

        if (KFHumanPawn(Other).Health <=0)
            KFHumanPawn(Other).SpawnGibs(self.rotation, 1);
        bPouncing=false;
    }
}

simulated event SetAnimAction(name NewAction)
{
    super.SetAnimAction(NewAction);

    if ( AnimAction == 'ZombieLeapAttack' || AnimAction == 'LeapAttack3' || AnimAction == 'ZombieLeapAttack')
    {
      AnimBlendParams(1, 1.0, 0.0,, 'Bip01 Spine1');
      PlayAnim(NewAction,, 0.0, 1);
    }
}

function bool FlipOver()
{
    return false;
}


static simulated function PreCacheMaterials(LevelInfo myLevel)
{
    myLevel.AddPrecacheMaterial(Texture'KFOldSchoolZeds_Textures.Crawler.CrawlerSkin');
    myLevel.AddPrecacheMaterial(FinalBlend'KFOldSchoolZeds_Textures.Crawler.CrawlerHairFB');
}

defaultproperties
{
     PounceSpeed=330.000000
     MeleeAnims(0)="ZombieLeapAttack"
     MeleeAnims(1)="ZombieLeapAttack"
     MeleeAnims(2)="LeapAttack3"
     HitAnims(0)=
     HitAnims(1)=
     HitAnims(2)=
     MoanVoice=SoundGroup'KFOldSchoolZeds_Sounds.Crawler.Crawler_Speech'
     KFHitFront=
     KFHitBack=
     KFHitLeft=
     KFHitRight=
     bStunImmune=True
     bCannibal=True
     ZombieFlag=2
     MeleeDamage=6
     damageForce=5000
     KFRagdollName="CrawlerRag"
     JumpSound=Sound'KFOldSchoolZeds_Sounds.Shared.Male_ZombieJump'
     CrispUpThreshhold=10
     Intelligence=BRAINS_Mammal
     OnlineHeadshotOffset=(X=20.000000,Y=-5.000000,Z=-7.000000)
     OnlineHeadshotScale=1.100000
     MotionDetectorThreat=0.340000
     HitSound(0)=SoundGroup'KFOldSchoolZeds_Sounds.Shared.Male_ZombiePain'
     DeathSound(0)=SoundGroup'KFOldSchoolZeds_Sounds.Shared.Male_ZombieDeath'
     ScoringValue=10
     IdleHeavyAnim="ZombieLeapIdle"
     IdleRifleAnim="ZombieLeapIdle"
     bCrawler=True
     GroundSpeed=140.000000
     WaterSpeed=130.000000
     JumpZ=350.000000
     HealthMax=70.000000
     Health=70
     HeadRadius=10.000000
     HeadHeight=1.000000
     MenuName="Crawler 2.5"
     ControllerClass=Class'KFOldSchoolZeds.ControllerCrawlerOS'
     bDoTorsoTwist=False
     MovementAnims(0)="ZombieScuttle"
     MovementAnims(1)="ZombieScuttle"
     MovementAnims(2)="ZombieScuttle"
     MovementAnims(3)="ZombieScuttle"
     TurnLeftAnim="ZombieScuttle"
     TurnRightAnim="ZombieScuttle"
     WalkAnims(0)="ZombieLeap"
     WalkAnims(1)="ZombieLeap"
     WalkAnims(2)="ZombieLeap"
     WalkAnims(3)="ZombieLeap"
     AirAnims(0)="ZombieSpring"
     AirAnims(3)="ZombieSpring"
     TakeoffAnims(0)="ZombieSpring"
     TakeoffAnims(1)="ZombieSpring"
     TakeoffAnims(2)="ZombieSpring"
     TakeoffAnims(3)="ZombieSpring"
     LandAnims(0)="ZombieScuttle"
     LandAnims(1)="ZombieScuttle"
     LandAnims(2)="ZombieScuttle"
     LandAnims(3)="ZombieScuttle"
     AirStillAnim="ZombieSpring"
     TakeoffStillAnim="ZombieLeap"
     IdleCrouchAnim="ZombieLeapIdle"
     IdleWeaponAnim="ZombieLeapIdle"
     IdleRestAnim="ZombieLeapIdle"
     SpineBone1=
     bOrientOnSlope=True
     AmbientSound=Sound'KFOldSchoolZeds_Sounds.Shared.Male_ZombieBreath'
     Mesh=SkeletalMesh'KFCharacterModelsOldSchool.Shade'
     Skins(0)=Texture'KFOldSchoolZeds_Textures.Crawler.CrawlerSkin'
     Skins(1)=FinalBlend'KFOldSchoolZeds_Textures.Crawler.CrawlerHairFB'
     CollisionHeight=25.000000
}
