// FireDemon ----------------------------------------------------------------

ACTOR FireDemon
{
	Health 80
	ReactionTime 8
	PainChance 1
	Speed 13
	Radius 20
	Height 68
	Mass 75
	Damage 1
	Monster
	+DROPOFF +NOGRAVITY +FLOAT
	+FLOORCLIP +INVULNERABLE +TELESTOMP
	SeeSound "FireDemonSpawn"
	PainSound "FireDemonPain"
	DeathSound "FireDemonDeath"
	ActiveSound "FireDemonActive"
	Obituary "$OB_FIREDEMON"

	action native A_FiredRocks();
	action native A_FiredChase();
	action native A_FiredAttack();
	action native A_FiredSplotch();

	States
	{
	Spawn:
		FDMN X 5 Bright
		FDMN EFG 10 Bright A_Look
		Goto Spawn + 1
	See:
		FDMN E 8 Bright
		FDMN F 6 Bright
		FDMN G 5 Bright
		FDMN F 8 Bright
		FDMN E 6 Bright
		FDMN G 7 Bright A_FiredRocks
		FDMN HI 5 Bright
		FDMN J 5 Bright A_UnSetInvulnerable
	Chase:
		FDMN ABC 5 Bright A_FiredChase
		Loop
	Pain:
		FDMN D 0 Bright A_UnSetInvulnerable
		FDMN D 6 Bright A_Pain
		Goto Chase
	Missile:
		FDMN K 3 Bright A_FaceTarget
		FDMN KKK 5 Bright A_FiredAttack
		Goto Chase
	Crash:
	XDeath:
		FDMN M 5 A_FaceTarget
		FDMN N 5 A_NoBlocking
		FDMN O 5 A_FiredSplotch
		Stop
	Death:
		FDMN D 4 Bright A_FaceTarget
		FDMN L 4 Bright A_Scream
		FDMN L 4 Bright A_NoBlocking
		FDMN L 200 Bright
		Stop
	Ice:
		FDMN R 5 A_FreezeDeath
		FDMN R 1 A_FreezeDeathChunks
		Wait
	}
}

// FireDemonSplotch1 -------------------------------------------------------

ACTOR FireDemonSplotch1
{
	Health 1000
	ReactionTime 8
	Radius 3
	Height 16
	Mass 100
	+DROPOFF +CORPSE
	+NOTELEPORT +FLOORCLIP
	States
	{
	Spawn:
		FDMN P 3
		FDMN P 6 A_QueueCorpse
		FDMN Y -1
		Stop
	}
}

// FireDemonSplotch2 -------------------------------------------------------

ACTOR FireDemonSplotch2 : FireDemonSplotch1
{
	States
	{
	Spawn:
		FDMN Q 3
		FDMN Q 6 A_QueueCorpse
		FDMN Z -1
		Stop
	}
}

// FireDemonRock1 ------------------------------------------------------------

ACTOR FireDemonRock1
{
	Health 1000
	ReactionTime 8
	Radius 3
	Height 5
	Mass 16
	+NOBLOCKMAP +DROPOFF +MISSILE
	+NOTELEPORT

	action native A_SmBounce();

	States
	{
	Spawn:
		FDMN S 4
		Loop
	Death:
		FDMN S 5 A_SmBounce
	XDeath:
		FDMN S 200
		Stop
	}
}

// FireDemonRock2 ------------------------------------------------------------

ACTOR FireDemonRock2 : FireDemonRock1
{
	States
	{
	Spawn:
		FDMN T 4
		Loop
	Death:
		FDMN T 5 A_SmBounce
	XDeath:
		FDMN T 200
		Stop
	}
}

// FireDemonRock3 ------------------------------------------------------------

ACTOR FireDemonRock3 : FireDemonRock1
{
	States
	{
	Spawn:
		FDMN U 4
		Loop
	Death:
		FDMN U 5 A_SmBounce
	XDeath:
		FDMN U 200
		Stop
	}
}

// FireDemonRock4 ------------------------------------------------------------

ACTOR FireDemonRock4 : FireDemonRock1
{
	States
	{
	Spawn:
		FDMN V 4
		Loop
	Death:
		FDMN V 5 A_SmBounce
	XDeath:
		FDMN V 200
		Stop
	}
}

// FireDemonRock5 ------------------------------------------------------------

ACTOR FireDemonRock5 : FireDemonRock1
{
	States
	{
	Spawn:
		FDMN W 4
		Loop
	Death:
		FDMN W 5 A_SmBounce
	XDeath:
		FDMN W 200
		Stop
	}
}

// FireDemonMissile -----------------------------------------------------------

ACTOR FireDemonMissile
{
	Health 1000
	ReactionTime 8
	Speed 10
	Radius 10
	Height 6
	Mass 5
	Damage 1
	DamageType "Fire"
	Projectile
	RenderStyle Add
	DeathSound "FireDemonMissileHit"
	States
	{
	Spawn:
		FDMB A 5 Bright
		Loop
	Death:
		FDMB BCDE 5 Bright
		Stop
	}
}