// Zombie Monster for KF Invasion gametype
class ZombieStalkerMix extends ZombieStalker;

simulated function BeginPlay()
{
	LinkSkelAnim(MeshAnimation'Stalker_Anim');
	Super.BeginPlay();
}
simulated function UnCloakStalker()
{
	if( !bCrispified )
	{
		LastUncloakTime = Level.TimeSeconds;

		Visibility = default.Visibility;
		bCloaked = false;

		if( Level.NetMode == NM_DedicatedServer )
			Return;

		if ( Skins[0] != Default.Skins[0] )
		{
			Skins = Default.Skins;

			if (PlayerShadow != none)
				PlayerShadow.bShadowActive = true;

			bAcceptsProjectors = true;

			SetOverlayMaterial(Material'KFX.FBDecloakShader', 0.25, true);

			// 25% chance of our Enemy saying something about us being invisible
			if ( !KFGameType(Level.Game).bDidStalkerInvisibleMessage && FRand() < 0.25 && Controller.Enemy != none &&
				 PlayerController(Controller.Enemy.Controller) != none )
			{
				PlayerController(Controller.Enemy.Controller).Speech('AUTO', 17, "");
				KFGameType(Level.Game).bDidStalkerInvisibleMessage = true;
			}
		}
	}
}
function RemoveHead()
{
	Super(KFMonster).RemoveHead();

	if (!bCrispified)
		Skins = Default.Skins;
}

simulated function PlayDying(class<DamageType> DamageType, vector HitLoc)
{
	Super(KFMonster).PlayDying(DamageType,HitLoc);

	if(bUnlit)
		bUnlit=!bUnlit;
	LocalKFHumanPawn = none;
	if (!bCrispified)
		Skins = Default.Skins;
}

defaultproperties
{
	Mesh=SkeletalMesh'Bloat_Freak'
	Skins(0)=Combiner'KF_Specimens_Trip_T.bloat_cmb'
	KFRagdollName="Bloat_Trip"
}
