class Korax : Actor
{
	Default
	{
		Health 5000;
		Painchance 20;
		Speed 10;
		Radius 65;
		Height 115;
		Mass 2000;
		Damage 15;
		Monster;
		+BOSS
		+FLOORCLIP
		+TELESTOMP
		+DONTMORPH
		+NOTARGET
		+NOICEDEATH
		SeeSound "KoraxSight";
		AttackSound "KoraxAttack";
		PainSound "KoraxPain";
		DeathSound "KoraxDeath";
		ActiveSound "KoraxActive";
		Obituary "$OB_KORAX";
	}

	native void A_KoraxChase();
	native void A_KoraxDecide();
	native void A_KoraxBonePop();
	native void A_KoraxMissile();
	native void A_KoraxCommand();

	States
	{
	Spawn:
		KORX A 5 A_Look;
		Loop;
	See:
		KORX AAA 3 A_KoraxChase;
		KORX B 3 A_Chase;
		KORX BBB 3 A_KoraxChase;
		KORX C 0 A_PlaySound("KoraxStep");
		KORX C 3 A_Chase;
		KORX CCC 3 A_KoraxChase;
		KORX D 3 A_Chase;
		KORX DDD 3 A_KoraxChase;
		KORX A 0 A_PlaySound("KoraxStep");
		KORX A 3 A_Chase;
		Loop;
	Pain:
		KORX H 5 A_Pain;
		KORX H 5;
		Goto See;
	Missile:
		KORX E 2 Bright A_FaceTarget;
		KORX E 5 Bright A_KoraxDecide;
		Wait;
	Death:
		KORX I 5;
		KORX J 5 A_FaceTarget;
		KORX K 5 A_Scream;
		KORX LMNOP 5;
		KORX Q 10;
		KORX R 5 A_KoraxBonePop;
		KORX S 5 A_NoBlocking;
		KORX TU 5;
		KORX V -1;
		Stop;
	Attack:
		KORX E 4 Bright A_FaceTarget;
		KORX F 8 Bright A_KoraxMissile;
		KORX E 8 Bright;
		Goto See;
	Command:
		KORX E 5 Bright A_FaceTarget;
		KORX W 10 Bright A_FaceTarget;
		KORX G 15 Bright A_KoraxCommand;
		KORX W 10 Bright;
		KORX E 5 Bright;
		Goto See;
	}
}

class KoraxSpirit : Actor
{
	Default
	{
		Speed 8;
		Projectile;
		+NOCLIP
		-ACTIVATEPCROSS
		-ACTIVATEIMPACT
		RenderStyle "Translucent";
		Alpha 0.4;
	}
	
	native void A_KSpiritRoam();
	
	States
	{
	Spawn:
		SPIR AB 5 A_KSpiritRoam;
		Loop;
	Death:
		SPIR DEFGHI 5;
		Stop;
	}
}

class KoraxBolt : Actor
{
	Default
	{
		Radius 15;
		Height 35;
		Projectile;
		-ACTIVATEPCROSS
		-ACTIVATEIMPACT
		RenderStyle "Add";
	}
	
	native void A_KBolt();
	native void A_KBoltRaise();
	
	States
	{
	Spawn:
		MLFX I 2 Bright;
		MLFX J 2 Bright A_KBoltRaise;
		MLFX IJKLM 2 Bright A_KBolt;
		Stop;
	}
}
