ACTOR Minotaur native
{
	Health 3000
	Radius 28
	Height 100
	Mass 800
	Speed 16
	Damage 7
	Painchance 25
	Monster
	+DROPOFF
	+FLOORCLIP
	+BOSS
	+NORADIUSDMG
	+DONTMORPH
	+NOTARGET
	+BOSSDEATH
	SeeSound "minotaur/sight"
	AttackSound "minotaur/attack1"
	PainSound "minotaur/pain"
	DeathSound "minotaur/death"
	ActiveSound "minotaur/active"
	DropItem "ArtiSuperHealth", 51
	DropItem "PhoenixRodAmmo", 84, 10

	action native A_MinotaurDecide();
	action native A_MinotaurAtk1();
	action native A_MinotaurAtk2();
	action native A_MinotaurAtk3();
	action native A_MinotaurCharge();
	action native A_MinotaurLook();
	action native A_MinotaurRoam();
	action native A_MinotaurChase();
	action native A_MinotaurDeath();

	States
	{
	Spawn:
		MNTR AB 10 A_MinotaurLook
		Loop
	Roam:
		MNTR ABCD 5 A_MinotaurRoam
		Loop
	See:
		MNTR ABCD 5 A_MinotaurChase
		Loop
	Melee:
		MNTR V 10 A_FaceTarget
		MNTR W 7 A_FaceTarget
		MNTR X 12 A_MinotaurAtk1
		Goto See
	Missile:
		MNTR V 10 A_MinotaurDecide
		MNTR Y 4 A_FaceTarget
		MNTR Z 9 A_MinotaurAtk2
		Goto See
	Hammer:
		MNTR V 10 A_FaceTarget
		MNTR W 7 A_FaceTarget
		MNTR X 12 A_MinotaurAtk3
		Goto See
	HammerLoop:
		MNTR X 12
		Goto Hammer
	Charge:
		MNTR U 2 A_MinotaurCharge
		Loop
	Pain:
		MNTR E 3
		MNTR E 6 A_Pain
		Goto See
	Death:
		MNTR F 6 A_MinotaurDeath
		MNTR G 5
		MNTR H 6 A_Scream
		MNTR I 5
		MNTR J 6
		MNTR K 5
		MNTR L 6
		MNTR M 5 A_NoBlocking
		MNTR N 6
		MNTR O 5
		MNTR P 6
		MNTR Q 5
		MNTR R 6
		MNTR S 5
		MNTR T -1 A_BossDeath
		Stop
	FadeOut:
		MNTR E 6
		MNTR E 2 A_Scream
		MNTR E 5 A_SpawnItemEx("MinotaurSmokeExit")
		MNTR E 5
		MNTR E 5 A_NoBlocking
		MNTR E 5
		MNTR E 5 A_SetTranslucent(0.66, 0)
		MNTR E 5 A_SetTranslucent(0.33, 0)
		MNTR E 10 A_BossDeath
		Stop
	}
}

ACTOR MinotaurFriend : Minotaur native
{
	Health 2500
	-DROPOFF
	-BOSS
	-DONTMORPH
	+FRIENDLY
	+NOTARGETSWITCH
	+STAYMORPHED
	+TELESTOMP
	+SUMMONEDMONSTER
	RenderStyle Translucent
	Alpha 0.3333
	DropItem "None"
	States
	{
	Spawn:
		MNTR A 15
		MNTR A 15 A_SetTranslucent(0.66, 0)
		MNTR A 3 A_SetTranslucent(1, 0)
		Goto Super::Spawn
	Idle:
		Goto Super::Spawn
	Death:
		Goto FadeOut
	}
}

// Minotaur FX 1 ------------------------------------------------------------

ACTOR MinotaurFX1
{
	Radius 10
	Height 6
	Speed 20
	FastSpeed 26
	Damage 3
	DamageType Fire
	Projectile
	-ACTIVATEIMPACT
	-ACTIVATEPCROSS
	RenderStyle Add
	States
	{
	Spawn:
		FX12 AB 6 Bright
		Loop
	Death:
		FX12 CDEFGH 5 Bright
		Stop
	}
}


// Minotaur FX 2 ------------------------------------------------------------

ACTOR MinotaurFX2 : MinotaurFX1
{
	Radius 5
	Height 12
	Speed 14
	FastSpeed 20
	Damage 4
	+FLOORHUGGER
	ExplosionDamage 24
	DeathSound "minotaur/fx2hit"
	
	action native A_MntrFloorFire();
	
	states
	{
	Spawn:
		FX13 A 2 Bright A_MntrFloorFire
		Loop
	Death:
		FX13 I 4 Bright A_Explode
		FX13 JKLM 4 Bright
		Stop
	}
}

// Minotaur FX 3 ------------------------------------------------------------

ACTOR MinotaurFX3 : MinotaurFX2
{
	Radius 8
	Height 16
	Speed 0
	DeathSound "minotaur/fx3hit"
	ExplosionDamage 128
	States
	{
	Spawn:
		FX13 DC 4 Bright
		FX13 BCDE 5 Bright
		FX13 FGH 4 Bright
		Stop
	}
}

// Minotaur Smoke Exit ------------------------------------------------------

ACTOR MinotaurSmokeExit
{
	+NOBLOCKMAP
	+NOTELEPORT
	RenderStyle Translucent
	Alpha 0.4
	States
	{
	Spawn:
		MNSM ABCDEFGHIJIHGFEDCBA 3
		Stop
	}
}

