ACTOR GuncastCentaur : Centaur replaces Centaur
{
	DropItem "Dosh5", 192
	DropItem "Dosh10", 128
	DropItem "Dosh25"
	DamageFactor Lightning, 1.5
	var int user_shielding;
	States
	{
	Pain.SuperCloseCombat:
		TNT1 A 0 A_ChangeVelocity(frandom(-5.0,-10.0),0,frandom(1.0,3.0),CVF_RELATIVE)
		Goto Pain
	Pain.SuperShoelaces:
		TNT1 A 0 A_ChangeVelocity(frandom(-10.0,-15.0),0,frandom(7.0,10.0),CVF_RELATIVE)
		Goto Pain
	Death.SuperCloseCombat:
		TNT1 A 0 A_ChangeVelocity(frandom(-5.0,-10.0),0,frandom(1.0,3.0),CVF_RELATIVE)
		Goto XDeath
	Death.SuperShoelaces:
		TNT1 A 0 A_ChangeVelocity(frandom(-10.0,-15.0),0,frandom(7.0,10.0),CVF_RELATIVE)
		Goto XDeath
	Death.Acid:	
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("CentaurGib")
		Stop
	Pain:
		CENT G 6 A_Pain
		CENT G 0 A_FaceTarget
		CENT EEEEEEE 1 A_SpawnItemEx("CentaurBlock",13,0,17,0.2)
		CENT G 0 A_FaceTarget
		CENT G 0 A_SetUserVar("user_shielding",random(2,6))
	ShieldLoop:
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_JumpIfCloser(8,"Melee2")
		CENT E 1 A_SpawnItemEx("CentaurBlock",22,0,26,0.2)
		CENT G 0 A_FaceTarget
		CENT G 0 A_SetUserVar("user_shielding", user_shielding - 1)
		CENT G 0 A_JumpIf(user_shielding <= 0,"See")
		Loop
	Melee2:
	    CENT G 0 A_SetUserVar("user_shielding",0)
		Goto Melee
	Crush:
		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.Crow:
		TNT1 A 0 A_SpawnItemEx("FlockOfCrows",0,0,0,0,0,0,0,0,128)
		Goto Super::Death
	Death:
		CENT K 4
		CENT L 4 A_Scream
		CENT MN 4
		CENT O 4 A_NoBlocking
		CENT PQ 4
		CENT R 4 A_QueueCorpse
		CENT S 4
		Looplet1:
		CENT T 0 A_JumpIfInventory("CorpseTrigger2",1,"CorpseBlastB")
		CENT T 1 A_JumpIfInventory("CorpseTrigger",1,"CorpseBlastA")
		Loop
	XDeath:
		CTXD A 4
		CTXD B 4 A_NoBlocking
		CTXD C 0 A_SpawnItemEx("CentaurSword", 0, 0, 45, 1 + random[CentaurDrop](-128,127)*0.03125,
							   1 + random[CentaurDrop](-128,127)*0.03125, 8 + random[CentaurDrop](0,255)*0.015625, 270)
		CTXD C 4 A_SpawnItemEx("CentaurShield", 0, 0, 45, 1 + random[CentaurDrop](-128,127)*0.03125,
							   1 + random[CentaurDrop](-128,127)*0.03125, 8 + random[CentaurDrop](0,255)*0.015625, 90)
		CTXD D 3 A_Scream
		CTXD E 4 A_QueueCorpse
		CTXD F 3
		CTXD G 4
		CTXD H 3
		CTXD I 4
		CTXD J 3
	Looplet2:
		CTXD K 0 A_JumpIfInventory("CorpseTrigger2",1,"CorpseBlastC")
		CTXD K 1 A_JumpIfInventory("CorpseTrigger",1,"CorpseBlastA")
		Loop
	CorpseBlastA:
		TNT1 A 0 A_SpawnItemEx("CentaurBlast")
		Stop
	CorpseBlastB:
		TNT1 A 0 A_SpawnItemEx("CentaurBlast")
		TNT1 A 0 A_TakeInventory("CorpseTrigger2",1)
		Goto Looplet1
	CorpseBlastC:
		TNT1 A 0 A_SpawnItemEx("CentaurBlast")
		TNT1 A 0 A_TakeInventory("CorpseTrigger2",1)
		Goto Looplet2
	}
}

ACTOR GuncastSlaughtaur : GuncastCentaur replaces CentaurLeader
{
  Game Hexen
  SpawnID 2
  Health 250
  PainChance 96
  Speed 10
  Obituary "$OB_SLAUGHTAUR"
  HitObituary "$OB_SLAUGHTAURHIT"
  DropItem "Amber", 164
  States
  {
  Missile:
    CENT E 10 A_FaceTarget
    CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET)
    CENT E 10 A_FaceTarget
    CENT F 8 Bright A_CustomMissile("CentaurFX", 45, 0, 0, CMF_AIMOFFSET)
    Goto See
  }
}

ACTOR CentaurBlock
{
	height 30
	radius 18
	Speed 2
	+NOBLOOD
	+SHOOTABLE
	+NOGRAVITY
    //+REFLECTIVE
	States
	{
	Spawn: 
		TNT1 A 3
		Stop
	}
}

ACTOR CentaurBlast : BlastShared
{
	States
	{
	Spawn:
		 TNT1 AA 0 A_Explode(200,192,0)
		 TNT1 A 0 A_PlaySound("Corpseblast/Hit")
		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath4", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAA 0 A_CustomMissile ("SuperWallRedBlood", 6, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 AAAAAAA 0 A_CustomMissile ("Instestin", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Brutal_FlyingBlood", 6, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAA 0 A_CustomMissile ("SuperGoreSpawner", 6, 0, random (0, 360), 2, random (50, 130))
		 Stop
	 }
}

ACTOR CentaurGib : GibShared
{
	States
	{
		Spawn:
	     CENT G 1
		"####" "#" 1 A_Playsound("Gumpop/Expand",5)
		"####" "###################################" 1 A_SetScale(ScaleX+frandom(0.01,0.025))
		"####" "#" 1 A_Playsound("Gumpop/Pop",5)
		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath4", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAA 0 A_CustomMissile ("SuperWallRedBlood", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 AAAAAAA 0 A_CustomMissile ("Instestin", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Brutal_FlyingBlood", 35, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAA 0 A_CustomMissile ("SuperGoreSpawner", 32, 0, random (0, 360), 2, random (50, 130))
		TNT1 A 0 A_Gravity
		XBIG B 5 A_XScream
		XBIG C 5 A_BossDeath 
		XBIG D 5 A_NoBlocking
		XBIG E 5
		TNT1 A 0 A_CustomMissile ("GiantBloodSpot", 4, 0, random (0, 360), 2, random (0, 160))
		XBIG E -1
		Stop
	}
}