
// Entity Nest --------------------------------------------------------------

class EntityNest : Actor
{
	Default
	{
		Radius 84;
		Height 47;
		+SOLID
		+NOTDMATCH
		+FLOORCLIP
	}
	States
	{
	Spawn:
		NEST A -1;
		Stop;
	}
}

// Entity Pod ---------------------------------------------------------------

class EntityPod : Actor
{
	Default
	{
		Radius 25;
		Height 91;
		+SOLID
		+NOTDMATCH
		SeeSound "misc/gibbed";
	}

	native void A_SpawnEntity ();

	States
	{
	Spawn:
		PODD A 60 A_Look;
		Loop;
	See:
		PODD A 360;
		PODD B 9 A_NoBlocking;
		PODD C 9;
		PODD D 9 A_SpawnEntity;
		PODD E -1;
		Stop;
	}
}


// Entity Boss --------------------------------------------------------------

class EntityBoss : SpectralMonster
{
	Default
	{
		Health 2500;
		Painchance 255;
		Speed 13;
		Radius 130;
		Height 200;
		FloatSpeed 5;
		Mass 1000;
		Monster;
		+SPECIAL
		+NOGRAVITY
		+FLOAT
		+SHADOW
		+NOTDMATCH
		+DONTMORPH
		+NOTARGET
		+NOBLOCKMONST
		+INCOMBAT
		+LOOKALLAROUND
		+SPECTRAL
		+NOICEDEATH
		MinMissileChance 150;
		RenderStyle "Translucent";
		Alpha 0.5;
		SeeSound "entity/sight";
		AttackSound "entity/melee";
		PainSound "entity/pain";
		DeathSound "entity/death";
		ActiveSound "entity/active";
		Obituary "$OB_ENTITY";
	}

	native void A_EntityAttack();
	native void A_EntityDeath();

	States
	{
	Spawn:
		MNAM A 100;
		MNAM B 60 Bright;
		MNAM CDEFGHIJKL 4 Bright;
		MNAL A 4 Bright A_Look;
		MNAL B 4 Bright A_SentinelBob;
		Goto Spawn+12;
	See:
		MNAL AB 4 Bright A_Chase;
		MNAL C 4 Bright A_SentinelBob;
		MNAL DEF 4 Bright A_Chase;
		MNAL G 4 Bright A_SentinelBob;
		MNAL HIJ 4 Bright A_Chase;
		MNAL K 4 Bright A_SentinelBob;
		Loop;
	Melee:
		MNAL J 4 Bright A_FaceTarget;
		MNAL I 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5);
		MNAL C 4 Bright;
		Goto See+2;
	Missile:
		MNAL F 4 Bright A_FaceTarget;
		MNAL I 4 Bright A_EntityAttack;
		MNAL E 4 Bright;
		Goto See+10;
	Pain:
		MNAL J 2 Bright A_Pain;
		Goto See+6;
	Death:
		MNAL L 7 Bright A_SpectreChunkSmall;
		MNAL M 7 Bright A_Scream;
		MNAL NO 7 Bright A_SpectreChunkSmall;
		MNAL P 7 Bright A_SpectreChunkLarge;
		MNAL Q 64 Bright A_SpectreChunkSmall;
		MNAL Q 6 Bright A_EntityDeath;
		Stop;
	}
}

// Second Entity Boss -------------------------------------------------------

class EntitySecond : SpectralMonster
{
	Default
	{
		Health 990;
		Painchance 255;
		Speed 14;
		Radius 130;
		Height 200;
		FloatSpeed 5;
		Mass 1000;
		Monster;
		+SPECIAL
		+NOGRAVITY
		+FLOAT
		+SHADOW
		+NOTDMATCH
		+DONTMORPH
		+NOBLOCKMONST
		+INCOMBAT
		+LOOKALLAROUND
		+SPECTRAL
		+NOICEDEATH
		MinMissileChance 150;
		RenderStyle "Translucent";
		Alpha 0.25;
		SeeSound "alienspectre/sight";
		AttackSound "alienspectre/blade";
		PainSound "alienspectre/pain";
		DeathSound "alienspectre/death";
		ActiveSound "alienspectre/active";
		Obituary "$OB_ENTITY";
	}

	native void A_SubEntityDeath ();

	States
	{
	Spawn:
		MNAL R 10 Bright A_Look;
		Loop;
	See:
		MNAL R 5 Bright A_SentinelBob;
		MNAL ST 5 Bright A_Chase;
		MNAL U 5 Bright A_SentinelBob;
		MNAL V 5 Bright A_Chase;
		MNAL W 5 Bright A_SentinelBob;
		Loop;
	Melee:
		MNAL S 4 Bright A_FaceTarget;
		MNAL R 4 Bright A_CustomMeleeAttack((random[SpectreMelee](0,255)&9)*5);
		MNAL T 4 Bright A_SentinelBob;
		Goto See+1;
	Missile:
		MNAL W 4 Bright A_FaceTarget;
		MNAL U 4 Bright A_CustomMissile("SpectralLightningH3",32,0);
		MNAL V 4 Bright A_SentinelBob;
		Goto See+4;
	Pain:
		MNAL R 2 Bright A_Pain;
		Goto See;
	Death:
		MDTH A 3 Bright A_Scream;
		MDTH B 3 Bright A_TossGib;
		MDTH C 3 Bright A_NoBlocking;
		MDTH DEFGHIJKLMN 3 Bright A_TossGib;
		MDTH O 3 Bright A_SubEntityDeath;
		Stop;
	}
}






