class NiceAvoidMarkerFP extends NiceAvoidMarker;
var NiceZombieFleshpound niceFP;
state BigMeanAndScary
{
Begin:
    StartleBots();
    Sleep(1.0);
    GoTo('Begin');
}
function InitFor(NiceMonster V){
    if(V != none){
       niceFP = NiceZombieFleshpound(V);
       SetCollisionSize(niceFP.CollisionRadius * 3, niceFP.CollisionHeight + CollisionHeight);
       SetBase(niceFP);
       GoToState('BigMeanAndScary');
    }
}
function Touch( actor Other ){
    if((Pawn(Other) != none) && KFMonsterController(Pawn(Other).Controller) != none && RelevantTo(Pawn(Other)))
       KFMonsterController(Pawn(Other).Controller).AvoidThisMonster(niceFP);
}
function bool RelevantTo(Pawn P){
    local NiceMonster niceZed;
    niceZed = NiceMonster(P);
    if(niceZed != none && (niceZed.default.Health >= 1000 || NiceZombieJason(niceZed) != none))
       return false;
    return (niceFP != none && VSizeSquared(niceFP.Velocity) >= 75 && Super.RelevantTo(P) && niceFP.Velocity dot (P.Location - niceFP.Location) > 0 );
}
function StartleBots(){
    local KFMonster P;
    if(niceFP != none)
       ForEach CollidingActors(class'KFMonster', P, CollisionRadius)
           if(RelevantTo(P))
               KFMonsterController(P.Controller).AvoidThisMonster(niceFP);
}
defaultproperties
{
}
