ACTOR GuncastMinotaur : Minotaur Replaces Minotaur
{
	//Loot
	DropItem "Diamond"
	DropItem "StratSpawner" 32
	
	//Resistances & weaknesses
	
	//Minotaur. He ain't no a peasy wazard, resistant to beating and fire,
	//so you'd better spam him with the rest of spells.
	
	DamageFactor Crow, 0.6
	DamageFactor Crow2, 0.6
	DamageFactor Fire, 0.8
	DamageFactor Meteorfist, 0.8
	DamageFactor Manuel, 0.8
	DamageFactor Normal, 0.7
	DamageFactor Matriarch, 0.9
	DamageFactor Tiberium, 0.8
	DamageFactor BlueTiberium, 0.8
	
	DamageFactor CloseCombat, 0.7
	DamageFactor Shoelaces, 0.7
	DamageFactor SuperCloseCombat, 0.7
	DamageFactor SuperShoelaces, 0.7
	DamageFactor SuperMidasCloseCombat, 0.7
	DamageFactor SuperMidasShoelaces, 0.7
	
	//PAAAAAIN
	PainChance 25
	PainChance Crow, 1
	PainChance Crow2, 1
	
	//Guaranteed Effects
	PainChance SuperCloseCombat, 256
	PainChance SuperShoelaces, 256
	PainChance SuperMidasCloseCombat, 256
	PainChance SuperMidasShoelaces, 256
	PainChance Acid, 256
	PainChance Meteorfist, 256
	
	//Chance Effects
	PainChance Lightning, 72
	PainChance LightningBlue, 4
	PainChance Manuel, 25
	PainChance Fire, 5
	PainChance Ice, 10
	
	var int User_DeathByFire;
	var int User_DeathByTiberium;
	var int User_DeathByBlueTiberium;
	var int User_LightningLock;
	
	Scale 1.1
	States
	{
	
	//Melee
	Pain.SuperCloseCombat:
	Pain.SuperMidasCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-2.0,-4.0),0,frandom(0.5,1.0),CVF_RELATIVE)
		Goto Pain
	Pain.SuperShoelaces:
	Pain.SuperMidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-4.0,-8.0),0,frandom(3.0,5.0),CVF_RELATIVE)
		Goto Pain
	Death.SuperCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-2.0,-4.0),0,frandom(0.5,1.0),CVF_RELATIVE)
		Goto Death
	Death.SuperShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-4.0,-8.0),0,frandom(3.0,5.0),CVF_RELATIVE)
		Goto Death
	Death.MidasCloseCombat:
	Death.MidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 0 A_SpawnItemEx("Midas_Statue_Monotaur",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS) //SXF_TRANSFERSPRITEFRAME|SXF_SETMASTER)
		TNT1 A 5 A_BossDeath
		Stop
	Death.SuperMidasCloseCombat:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 0 A_SpawnItemEx("Midas_Statue_Monotaur",0,0,0,frandom(-2.0,-4.0),0,frandom(0.5,1.0),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 A 0 A_BossDeath
		TNT1 A 10 A_KillChildren
		stop
	Death.SuperMidasShoelaces:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_NoBlocking
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_PlaySound("Midas/Touched")
		TNT1 A 0 A_SpawnItemEx("Midas_Statue_Monotaur",0,0,0,frandom(-4,-8.0),0,frandom(3.0,5.0),0,SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 A 0 A_BossDeath
		TNT1 A 10 A_KillChildren
		Stop

	//General death stuff
	Crush:
		TNT1 A 0 A_BossDeath
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("BloodTr255", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_PlaySound("misc/xdeath4")
		XBIG EEEEE 1 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 A 0 A_CustomMissile ("GiantBloodSpot", 4, 0, random (0, 360), 2, random (0, 160))
		XBIG E -1
		Stop
	Death:
		TNT1 A 0 A_StopSound(5)
		MNTR F 6 A_MinotaurDeath
		MNTR I 0 A_QuakeEx(9,9,9,60,0,512,none,QF_SCALEDOWN)
		MNTR I 0 A_SpawnItemEx("MinotaurGibbed",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		MNTR G 5
		MNTR H 6 A_Scream
		MNTR I 5
		MNTR J 6
		MNTR K 5
		MNTR L 6
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		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 0 A_BossDeath
	Looplet:
		MNTR T 0 A_JumpIfInventory("CorpseTrigger2",1,"CorpseBlastB")
		MNTR T 1 A_JumpIfInventory("CorpseTrigger",1,"CorpseBlastA")
		Loop
		
	//Corpseblast
	CorpseBlastA:
		TNT1 A 0 A_SpawnItemEx("MinotaurBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		Stop
	CorpseBlastB:
		TNT1 A 0 A_SpawnItemEx("MinotaurBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		TNT1 A 0 A_TakeInventory("CorpseTrigger2",1)
		Goto Looplet
	CorpseBlastC:
		TNT1 A 0 A_SpawnItemEx("MinotaurBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		TNT1 A 0 A_TakeInventory("CorpseTrigger2",1)
		Goto Looplet2
		
	//Gumpop
	Pain.Acid:
		"####" "#" 0 A_JumpIfInventory("PowerGumpopDamage",1,2)
		"####" "#" 0 A_SpawnItemEx("GumpopIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR|SXF_TRANSFERSPRITEFRAME)
		"####" "#" 0 A_SpawnItemEx("GumpopGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		"####" "#" 0 A_Jump(25,"Pain")
		Goto See
	Death.Acid:
		MNTR E 1 A_ChangeFlag("SOLID",0)
		"####" "#" 1 A_Playsound("Gumpop/Expand",5)
		"####" "###################################" 1 A_SetScale(ScaleX+frandom(0.01,0.025))
		"####" "#" 1 A_Playsound("Gumpop/Pop",5)
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_BossDeath
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		TNT1 A 0 A_SpawnItemEx("MinotaurGibbed",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		TNT1 A 0 A_QuakeEx(9,9,9,60,0,512,none,QF_SCALEDOWN)
		XBIG ABCDE 5
	Looplet2:
		XBIG E 0 A_JumpIfInventory("CorpseTrigger2",1,"CorpseBlastC")
		XBIG E 1 A_JumpIfInventory("CorpseTrigger",1,"CorpseBlastA")
		Loop
		
	//Dreadful
	Death.Tiberium:
		TNT1 A 0 A_SetUserVar("User_DeathByTiberium", 1)
		TNT1 A 0 ACS_NamedExecuteAlways("Toxic Avenger")
		TNT1 A 0 A_SpawnItemEx("TiberiumDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Death
	Death.BlueTiberium:
		TNT1 A 0 A_SetUserVar("User_DeathByBlueTiberium", 1)
		TNT1 A 0 ACS_NamedExecuteAlways("Blue Oyster Cult")
		TNT1 A 0 A_SpawnItemEx("BlueTiberiumDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Death
		
	//Threadcutter
	Pain.Manuel:
		"####" "#" 0 A_Jump(64,1)
		Goto Pain
		"####" "#" 0 A_GiveInventory("BleedItem")
		"####" "#" 0 A_SpawnItemEx("BleedIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Pain
		
	//Thunderstruck
	Pain.Lightning:
		"####" "#" 0 A_Jump(164,1)
		Goto Pain
		MNTR E 0 A_ChangeFlag("NOPAIN",1)
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock + 10)
	LightningLock:
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock - 1)
		"####" "#" 0 A_Pain
		"####" "#" 0 A_PlaySound("Thunderstruck/Shocked",5,0.6,1)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty")
		"####" "###" 2 A_SpawnItemEx("MonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "#" 0 A_JumpIf(User_LightningLock >= 1, "LightningLock")
		"####" "#" 0 A_StopSound(5)
		"####" "#" 0 A_ChangeFlag("NOPAIN",0)
		Goto See
		
	//Cauterizer
	Pain.LightningBlue:
		"####" "#" 0 A_Jump(48,1)
		Goto Pain
		MNTR E 0 A_ChangeFlag("NOPAIN",1)
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock + 10)
	BlueLightningLock:
		"####" "#" 0 A_SetUserVar("User_LightningLock", User_LightningLock - 1)
		"####" "#" 0 A_Pain
		"####" "#" 0 A_PlaySound("Thunderstruck/Shocked",5,0.6,1)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "##" 0 ACS_NamedExecuteAlways("Shock me Plenty Blue")
		"####" "###" 2 A_SpawnItemEx("CauterMonsterShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_TRANSFERPOINTERS)
		"####" "#" 0 A_JumpIf(User_LightningLock >= 1, "BlueLightningLock")
		"####" "#" 0 A_StopSound(5)
		"####" "#" 0 A_ChangeFlag("NOPAIN",0)
		Goto See
		
	//Fire
	Pain.Meteorfist:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeVelocity(frandom(-4.0,-8.0),0,frandom(3.0,5.0),CVF_RELATIVE)
		"####" "#" 0 A_Jump(256,2) //Guaranteed "On Fire!" effect, heeeh.
	Pain.Fire:
		TNT1 A 0 A_FaceTarget
		"####" "#" 0 A_Jump(6,1)
		Goto Pain
		"####" "#" 0 A_JumpIfInventory("PowerOnFire",1,"Pain")
		"####" "#" 0 A_GiveInventory("OnFireItem")
		"####" "#" 0 A_SpawnItemEx("OnFireIndicator",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Pain
	Death.Meteorfist:
		TNT1 A 0 A_ChangeVelocity(frandom(-4.0,-8.0),0,frandom(3.0,5.0),CVF_RELATIVE)
	Death.Lightning:
	Death.LightningBlue:
	Death.Fire:
		"####" "#" 0 A_SetUserVar("User_DeathByFire", 1)
		"####" "#" 0 ACS_NamedExecuteAlways("Extra Crispy")
		"####" "#" 0 A_SpawnItemEx("FlamingDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_SETTARGET|SXF_ORIGINATOR)
		Goto Death
	FireMelt:
		"####" "#" 0 A_JumpIf(ScaleX > 1.35, "EndOfMelt")
		"####" "#" 0 ACS_NamedExecuteAlways("Extra Crispy")
		"####" "#" 1 A_SetScale(ScaleX + frandom(0.002,0.003),ScaleY - frandom(0.003,0.004))
		Goto Looplet
	EndOfMelt:
		"####" "#" 0 A_SetUserVar("User_DeathByTiberium", 0)
		"####" "#" 0 A_SetUserVar("User_DeathByFire", 0)
		Goto Looplet
		
	//Crows
	Death.Crow:
		TNT1 A 0 A_NoBlocking
		TNT1 AAAAAA 0 A_SpawnItemEx("FlockOfCrows",random(45,-45),random(45,-45),random(25,0),0,0,0,0,SXF_TRANSFERPOINTERS)
		Goto Death
		
	//Scourgebreath
	Death.Breath:
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		"####" "#" 0 ACS_NamedExecuteAlways("Extra Crispy")
		"####" "#" 0 A_Scream
		"####" "#" 0 A_BossDeath
		"####" "#" 0 A_NoBlocking
		"####" "#" 0 A_SpawnItemEx("BreathSoulburst",0,0,0,0,0,0,0,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERPOINTERS)
	DeathBreathLoop:
		"####" "#" 0 A_SpawnItemEx("BreathDisintegration",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		"####" "#" 0 A_JumpIf(ScaleX <= 0, "Null")
		"####" "#" 0 A_FadeOut(0.05)
		"####" "#" 1 A_SetScale(ScaleX - 0.03, ScaleY - 0.005)
		Loop
		
	//Ice
	GenericFreezeDeath:
		"####" "#" 5 A_GenericFreezeDeath
		"####" "######" 0 A_DropItem("MajorManaPot",-1,224)
		"----" A 0 A_JumpIfInventory("ChillgraspTrigger",1,2)
		"----" A 0 A_Jump(256,2)
		"----" A 0 A_SpawnItemEx("ChillgraspBlast",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
		"----" A 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR Midas_Statue_Monotaur : Midas_Statue
{
	Radius 28
	Height 100
	Health 200
	States
	{
	Spawn:
		MNTR E 1
		Goto Super::Cycle
	Death:
	Crash:
		TNT1 A 0 A_SetUserVar("User_GoldRange",20)
		TNT1 A 0 A_SetUserVar("User_GoldAmount",45)
		TNT1 A 0 A_SetUserVar("User_GoldCounter1",35)
		TNT1 A 0 A_SetUserVar("User_GoldCounter2",25)
		Goto Super::DeathInit
	MidasReward:
		TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
		TNT1 A 0 A_GiveToTarget("Dosh",800)
		Stop
		TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,800)
		Stop
	}
}

ACTOR MinotaurGibbed
{
	States
	{
	Spawn:
		 TNT1 A 0
		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath4", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 A 0 A_CustomMissile ("XDeathGuts", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAA 0 A_CustomMissile ("Instestin", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Brutal_FlyingBlood", 8, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAAAA 0 bright A_CustomMissile ("SuperGoreSpawner", 8, 0, random (0, 360), 2, random (50, 130))
		 Stop
	 }
}

ACTOR MinotaurBlast : BlastShared
{
	States
	{
	DamageStuff:
		TNT1 A 0 A_Explode(400,486,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("CorpsespiritSmall",frandom(-60.0,60.0),frandom(-60.0,60.0),frandom(0.0,60.0),0,0,1,frandom(0.0,360.0),SXF_TRANSFERPOINTERS,96)
		TNT1 AAAAA 0 A_SpawnItemEx("CorpsespiritMedium",frandom(-60.0,60.0),frandom(-60.0,60.0),frandom(0.0,60.0),0,0,1,frandom(0.0,360.0),SXF_TRANSFERPOINTERS,96)
		TNT1 A 0 A_SpawnItemEx("CorpsespiritLarge",0,0,0,0,0,1,0,SXF_TRANSFERPOINTERS)
	Main:
		TNT1 A 0 A_SpawnItemEx("MinotaurGibbed",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		Stop
	 }
}

ACTOR MinotaurPopped
{
	Scale 1.1
	States
	{
		Spawn:
		MNTR E 1 A_ChangeFlag("SOLID",0)
		"####" "#" 1 A_Playsound("Gumpop/Expand",5)
		"####" "###################################" 1 A_SetScale(ScaleX+frandom(0.01,0.025))
		"####" "#" 1 A_Playsound("Gumpop/Pop",5)
		TNT1 A 0 A_SpawnItemEx("MinotaurGibbed",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		TNT1 A 0 A_QuakeEx(9,9,9,60,0,512,none,QF_SCALEDOWN)
		MNTR G 5
		MNTR H 6 
		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
		TNT1 A 0 A_CustomMissile ("GiantBloodSpot", 4, 0, random (0, 360), 2, random (0, 160))
		MNTR T -1
		Stop
	}
}