
// Ironlich -----------------------------------------------------------------

class Ironlich : Actor
{
	Default
	{
		Health 700;
		Radius 40;
		Height 72;
		Mass 325;
		Speed 6;
		Painchance 32;
		Monster;
		+NOBLOOD
		+DONTMORPH
		+DONTSQUASH
		+BOSSDEATH
		SeeSound "ironlich/sight";
		AttackSound "ironlich/attack";
		PainSound "ironlich/pain";
		DeathSound "ironlich/death";
		ActiveSound "ironlich/active";
		Obituary "$OB_IRONLICH";
		HitObituary "$OB_IRONLICHHIT";
		DropItem "BlasterAmmo", 84, 10;
		DropItem "ArtiEgg", 51, 0;
	}

	native void A_LichAttack ();
	
	States
	{
	Spawn:
		LICH A 10 A_Look;
		Loop;
	See:
		LICH A 4 A_Chase;
		Loop;
	Missile:
		LICH A 5 A_FaceTarget;
		LICH B 20 A_LichAttack;
		Goto See;
	Pain:
		LICH A 4;
		LICH A 4 A_Pain;
		Goto See;
	Death:
		LICH C 7;
		LICH D 7 A_Scream;
		LICH EF 7;
		LICH G 7 A_NoBlocking;
		LICH H 7;
		LICH I -1 A_BossDeath;
		Stop;
	}
}

// Head FX 1 ----------------------------------------------------------------

class HeadFX1 : Actor
{
	Default
	{
		Radius 12;
		Height 6;
		Speed 13;
		FastSpeed 20;
		Damage 1;
		Projectile;
		-ACTIVATEIMPACT
		-ACTIVATEPCROSS
		+THRUGHOST
		RenderStyle "Add";
	}

	native void A_LichIceImpact();

	States
	{
	Spawn:
		FX05 ABC 6 BRIGHT;
		Loop;
	Death:
		FX05 D 5 BRIGHT A_LichIceImpact;
		FX05 EFG 5 BRIGHT;
		Stop;
	}
}

// Head FX 2 ----------------------------------------------------------------

class HeadFX2 : Actor
{
	Default
	{
		Radius 12;
		Height 6;
		Speed 8;
		Damage 3;
		Projectile;
		-ACTIVATEIMPACT
		-ACTIVATEPCROSS
		RenderStyle "Add";
	}

	States
	{
	Spawn:
		FX05 HIJ 6 BRIGHT;
		Loop;
	Death:
		FX05 DEFG 5 BRIGHT;
		Stop;
	}
}


// Head FX 3 ----------------------------------------------------------------

class HeadFX3 : Actor
{
	Default
	{
		Radius 14;
		Height 12;
		Speed 10;
		FastSpeed 18;
		Damage 5;
		Projectile;
		+WINDTHRUST	
		-ACTIVATEIMPACT
		-ACTIVATEPCROSS
		-NOBLOCKMAP
		RenderStyle "Add";
	}

	native void A_LichFireGrow ();

	States
	{
	Spawn:
		FX06 ABC 4 BRIGHT A_LichFireGrow;
		Loop;
	NoGrow:
		FX06 ABC 5 BRIGHT;
		Loop;
	Death:
		FX06 DEFG 5 BRIGHT;
		Stop;
	}
}


// Whirlwind ----------------------------------------------------------------

class Whirlwind : Actor native
{
	Default
	{
		Radius 16;
		Height 74;
		Speed 10;
		Damage 1;
		Projectile;
		-ACTIVATEIMPACT
		-ACTIVATEMCROSS
		+SEEKERMISSILE
		+EXPLOCOUNT
		+StepMissile
		RenderStyle "Translucent";
		DefThreshold 60;
		Threshold 50;
		Alpha 0.4;
	}

	native void A_WhirlwindSeek();
	
	States
	{
	Spawn:
		FX07 DEFG 3;
		FX07 ABC 3 A_WhirlwindSeek;
		Goto Spawn+4;
	Death:
		FX07 GFED 4;
		Stop;
	}
}


