//===========================================================================
//
//	Cacodemon
//
//===========================================================================

ACTOR U_Cacodemon : Cacodemon Replaces Cacodemon
{
	Game Doom
	bloodtype "Blue_Blood", "BlueSawBlood", "BlueSawBlood"
	+NOBLOODDECALS
	+FLOAT
	+NOGRAVITY
	SpawnID 19
    GibHealth 25
	Radius 31
	Height 56
	Mass 400
	Speed 4
	FastSpeed 5
	Health 350
	PainChance 128
	PainChance "Kick", 255
	PainChance "Avoid", 90
	PainChance "Saw", 255
	Monster
	Scale 0.9
	SeeSound "caco/sight"
	PainSound "caco/pain"
	DeathSound "caco/death"
	ActiveSound "caco/active"
	Obituary "$OB_CACO"
	HitObituary "$OB_CACOHIT"
	DropItem "DemonStrengthRune" 5
	damagefactor "taunt", 1.0
	damagefactor "GibRemoving", 0.0
    damagefactor "Crush", 10.0
	damagefactor "SSG", 10.0
	damagefactor "TeleportRemover", 0.0
	DamageFactor "CauseObjectsToSplash", 0.0
	damagefactor "Blood", 0.0
	damagefactor "BlueBlood", 0.0
	damagefactor "GreenBlood", 0.0
	States
	{
	
	Pain.Avoid: 
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "AvoidLeft", "AvoidRight")
		Goto AvoidLeft
	  
	AvoidLeft:
	    HEAD A 1 A_FaceTarget
	    TNT1 A 0 ThrustThing(angle*256/360+192, random(8,15), 0, 0)
        HEAD A 5 A_FaceTarget
        Goto Missile
		
	AvoidRight:
	    HEAD A 1 A_FaceTarget
	    TNT1 A 0 ThrustThing(angle*256/360+64, random(8,15), 0, 0)
        HEAD A 5 A_FaceTarget
        Goto Missile
	
	ReplaceVanilla:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("VanillaCacoDemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		Stop
		
    Spawn:
		HEAD A 0
		TNT1 A 0 ACS_ExecuteAlways(796, 0, 0, 0, 0)//Check if Vanilla Mode is activated
		HEAD A 1 A_Look
		TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		Goto Stand
		
	Stand:
		HEAD A 20 A_Look
		TNT1 A 0 A_Jump(205,2)
		HEAD Q 3
		TNT1 A 0
		Loop
		
	SearchPlayer:
	    TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_TakeInventory("EnemyMemory", 40)
		HEAD A 10 A_Look
		TNT1 A 0 A_SetAngle(angle - 30)
		HEAD A 10 A_Look
		TNT1 A 0 A_SetAngle(angle + 30)
		HEAD A 10 A_Look
		TNT1 A 0 A_SetAngle(angle + 30)
		HEAD A 10 A_Look
		TNT1 A 0 A_SetAngle(angle - 30)

		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		TNT1 A 0 A_Jump(205,3)
		HEAD A 0 A_Wander
		HEAD Q 3 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look	
		TNT1 A 0 A_Jump(128, "SearchPlayer")
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		TNT1 A 0 A_Jump(205,3)
		HEAD A 0 A_Wander
		HEAD Q 3 A_Look
		HEAD A 0 A_Wander
		HEAD A 2 A_Look
		Goto SearchPlayer
		
	See:
		TNT1 A 0 A_CheckSight("See2")
		HEAD A 1 A_Chase
		HEAD AAAA 1 A_Chase ("","")
		TNT1 A 0 A_JumpIfCloser(99, "Melee")
		TNT1 A 0 A_TakeInventory("EnemyMemory", 1)
		TNT1 A 0 A_Jump(40, "Missile")
		TNT1 A 0 A_Jump(205,4)
		HEAD QQQ 1 A_Chase
		TNT1 A 0
		Loop
		
	See2:
		HEAD AAAAAA 1 A_Chase
		TNT1 A 0 A_JumpIfInventory("EnemyMemory", 25, "SearchPlayer")
		TNT1 A 0 A_GiveInventory("EnemyMemory", 1)
		HEAD AAAAAA 1 A_Chase
		TNT1 A 0 A_JumpIfInventory("EnemyMemory", 25, "SearchPlayer")
		TNT1 A 0 A_GiveInventory("EnemyMemory", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsInvisible", 1, "SearchPlayer")
		TNT1 A 0 A_Jump(205,4)
		HEAD QQQ 1 A_Chase
		TNT1 A 0
		Goto See	
		
	Missile:
	    TNT1 A 0 A_TakeInventory("EnemyMemory", 30)
	    TNT1 A 0 A_JumpIfCloser(140, "Melee")
        TNT1 A 0 A_Jump (198, 3)
        Goto Avoid
        TNT1 AAA 0
		HEAD B 4 A_FaceTarget
		HEAD C 4 A_FaceTarget
		HEAD D 4 BRIGHT A_CustomMissile("CacodemonBall", 34, 0, 0, 0)
		Goto See
		
	Melee:	
		HEAD B 4 A_Facetarget
		HEAD C 4 A_Recoil(-5)
		TNT1 A 0 A_CustomMissile("CacodemonBite", 34, 0, 0, 0)
		HEAD D 4
		TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		Goto See
	
    Pain.KillMe:
    Pain.Taunt:
        TNT1 A 0
        Goto Missile

	Pain.Kick:
	Pain.HeavyImpact:
        TNT1 A 0 A_FaceTarget
		HEAD E 6 A_Recoil(5)
		HEAD E 6 A_Pain
		HEAD F 10
		Goto See

	Pain:
		HEAD E 3
		HEAD E 3 A_Pain
		TNT1 A 0 A_Jump (128, 1)
        Goto Avoid
		HEAD F 6
        Goto See

	Avoid:
		TNT1 A 0 A_FaceTarget
		HEAD A 6 A_FastChase
		TNT1 A 0 A_FaceTarget
		HEAD A 6 A_FastChase
		TNT1 A 0 A_FaceTarget
		HEAD A 6 A_FastChase
		TNT1 A 0 A_FaceTarget
		HEAD A 6 A_FastChase
		HEAD B 4 A_FaceTarget
		HEAD C 4 A_FaceTarget
		HEAD D 4 BRIGHT A_HeadAttack
		Goto See
		
//
// Deaths
//

    Death.Shotgun:
		TNT1 A 0 A_Jump (72, "Death.Shotgun.Extreme", "Death.Shotgun.Close", "Death.Brutal")
		TNT1 A 0 A_JumpIfCloser(400, "Death.Shotgun.Close")
		Goto Death
		
	Death.Shotgun.Close:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		CDD2 A 3 A_Scream
		CDD2 B 3 A_NoBlocking
        TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
        CDD2 CDE 3
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		CDD2 FGHIJK 3 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		CDD2 L 3
        TNT1 A 0 A_SpawnItem ("DeadCacoDemon2", 1)
        Stop

	Death.Shotgun.Extreme:
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath10", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (150, 210), 2, random (10, 70))
		TNT1 AAA 0 A_CustomMissile ("BlueInstestin", 15, 0, random (150, 210), 2, random (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 60, 0, frandom (150, 210), 2, frandom (10, 70))
		CDD5 ABCD 4 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (150, 210), 2, random (10, 70))
		CDD5 EFG 4
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
        TNT1 A 0 A_SpawnItem ("DeadCacoDemon4", 1)
        Stop

	Death:
		TNT1 A 0 A_Jump (256, "Death1", "Death2")

	Death1:
		CDD1 A 3 A_Scream
		CDD1 B 3 A_NoBlocking
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
        TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
        CDD1 CDE 4
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		CDD1 FGH 4
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
        TNT1 A 0 A_SpawnItem ("DeadCacoDemon1", 1)
        Stop

	Death2:
		CDD4 A 3
		CDD4 B 3 A_Scream
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		CDD4 CD 3
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		CDD4 E 3 A_NoBlocking
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		CDD4 F 3 A_SetFloorClip
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		CDD4 GH 3
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon3", 1)
		Stop

	Death.Fatality:
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Pain
		TNT1 A 0 A_JumpIfIntargetInventory("FistsSelected", 1, 1)
		Goto Death.SSG
		TNT1 A 0 A_GiveToTarget("GoFatality", 1)
        TNT1 A 0 A_Jump(128,2)
        TNT1 A 0 A_GiveToTarget("CacoDemonFatality", 1)
        Stop
        TNT1 A 0 A_GiveToTarget("CacoDemonFatality2", 1)
        TNT1 A 0
		Stop
	Death.saw:
        TNT1 A 0 A_SetFloorClip
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		HEDC AB 9 A_CustomMissile ("CacoXDeath8", 50, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
        TNT1 A 0 A_SpawnItem ("SawedCacodemon", 1)
        Stop		
	Death.cut:
		TNT1 A 0 A_Jump (128, "Death.cut1", "Death.cut2")
		Goto Death
	Death.cut1:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 40, 0, random (0, 360), 2, random (5, 160))
		CCD2 AAA 3 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		TNT1 A 0 A_SpawnItem ("BrutalizedCacodemon2")
        Stop
	Death.cut2:
        TNT1 A 0 A_SetFloorClip
		TNT1 A 0 A_Scream
		TNT1 O 0 A_NoBlocking
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		TNT1 A 0 A_CustomMissile ("RipCaco", 0, 0, random (0, 360), 2, random (5, 160))
        CCD3 A 6
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		CCD3 B 6
        TNT1 A 0 A_SpawnItem ("DeadHalfCacoDemon", 1)
        Stop
	Death.cutless:
		TNT1 O 0 A_Jump(256, "Death.Brutal", "Death.cut1", "Death.cut2", "Death1", "Death2", "Death.Shotgun.Extreme")
        Stop
	Death.Brutal:
		TNT1 A 0 A_SetFloorClip
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 50, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 50, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem("BrutalizedCacodemon1")
		Stop
	Death.SuperPlasma:
    Death.Plasma:
	Death.Plasma2:
		TNT1 A 0 A_Jump (256, "Death.Melt1", "Death.Melt2")
	Death.Melt1:
		TNT1 A 0 A_Pain
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		CDD6 AA 2 A_CustomMissile ("BluePlasmaFireNonStatic", 32, 0, random (0, 360), 2, random (0, 180))
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Ashes1", 60, 0, random (0, 360), 2, random (0, 180))
		CDD6 B 3 A_NoBlocking
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Ashes1", 60, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
		CDD6 CDEF 2 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem("MeltedCacoDemon1")
		Stop

	Death.Melt2:
		TNT1 A 0 A_Scream
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		CDD6 AAA 2 A_CustomMissile ("BluePlasmaFireNonStatic", 32, 0, random (0, 360), 2, random (0, 180))
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Ashes1", 60, 0, random (0, 360), 2, random (0, 180))
		CDD6 B 5 A_NoBlocking
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Ashes1", 60, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
		CDD6 CDEFGH 3 A_CustomMissile ("Blue_FlyingBlood", 10, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem("MeltedCacoDemon2")
		Stop

	Death.fire:
        TNT1 A 0
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Playsound("props/redfire")
        TNT1 A 0 A_CustomMissile ("PlasmaSmoke", 24, 0, random (0, 180), 2, random (0, 180))
        TNT1 A 0 A_SpawnItem("BurningCacoDemon")
        Stop

	Death.ExplosiveImpact:
	Death.Explosives:
	XDeath:
		TNT1 A 0 A_XScream
		TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_CustomMissile ("CacoGoesBoom", 0, 0, random (0, 360), 2, random (5, 160))
        Stop

	Death.Blast:
		TNT1 A 0
		TNT1 A 0 A_Scream
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(10)
		CDD3 ABC 2 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (150, 210), 2, random (10, 70))
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueInstestin", 50, 0, frandom (150, 210), 2, random (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		CDD3 DEF 2 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (150, 210), 2, random (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		CDD3 GHI 2 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (150, 210), 2, random (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueInstestin", 50, 0, frandom (150, 210), 2, random (10, 70))
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		CDD3 JK 2
		TNT1 A 0 A_SpawnItem ("DeadCacoDemonBlast")
		Stop

	Death.SSG:
		TNT1 A 0
		CCD3 A 1 A_Pain
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Scream
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (150, 210), 2, random (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 AAA 0 A_CustomMissile ("BlueInstestin", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 50, 0, frandom (150, 210), 2, frandom (10, 70))
		CCD3 A 6 A_NoBlocking
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		TNT1 A 0 A_SpawnItem ("Deadcacodemonssg")
		Stop

	Raise:
		TNT1 A 2 A_CustomMissile ("RealFlameTrailsSmall", 6, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_SpawnItem("PentagramSpawner", 0, 60)
		TNT1 A 2 A_CustomMissile ("RealFlameTrailsSmall", 6, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_SpawnItem("PentagramSpawner", 0, 60)
		TNT1 A 0 A_SpawnItem("TeleportFog")
		TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_SpawnItem ("Cacodemon")
		Stop

	Crush:
	Death.Stomp:
		H3D2 A 5 A_Scream
		H3D2 B 5 A_NoBlocking
		H3D2 CD 5
        TNT1 AAAA 0 A_CustomMissile ("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
        H3D2 E 5 A_PlaySound("misc/xdeath4")
		TNT1 A 0 A_SpawnItem ("U_BlueBloodPool", 1)
		H3D2 F 5
		TNT1 AAA 0 A_CustomMissile ("CacoXDeath6", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAA 0 A_CustomMissile ("CacoXDeath7", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAA 0 A_CustomMissile ("CacoXDeath8", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath9", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath10", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAA 0 A_CustomMissile ("BlueInstestin", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 40, 0, random (0, 360), 2, random (5, 160))
		CRS2 B -1
        Stop

    Death.KillMe:
    Death.Taunt:
	    TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("U_CacoDemon")
        Stop

	FatalityMarine:
		TNT1 A 0 A_SetInvulnerable
		CFPF A 1
		TNT1 A 0 A_PlaySound("DSFDTHE")
		CFPF A 10
		TNT1 AAA 0 A_CustomMissile ("XDeath1", 1, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BrainBlood", 25, 0, random (0, 360), 2, random (5, 160))
		CFPF B 9
		TNT1 AAA 0 A_CustomMissile ("XDeath1", 1, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BrainBlood", 25, 0, random (0, 360), 2, random (5, 160))
		CFPF C 9
		CFPF B 9
		TNT1 AAA 0 A_CustomMissile ("XDeath1", 1, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BrainBlood", 25, 0, random (0, 360), 2, random (5, 160))
		CFPF C 9
		CFPF B 9
		TNT1 AAA 0 A_CustomMissile ("XDeath1", 1, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BrainBlood", 25, 0, random (0, 360), 2, random (5, 160))
		CFPF C 9
		CFPF B 9
		TNT1 AAA 0 A_CustomMissile ("XDeath1", 1, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BrainBlood", 25, 0, random (0, 360), 2, random (5, 160))
		CFPF C 9
		TNT1 A 0 A_TakeInventory("Curbstomp_Marine",1)
		TNT1 A 0 A_SpawnItem ("PlayerJustGotCutInHalf", 1)
		TNT1 A 0 A_UnSetInvulnerable
		Goto See

	Death.Ice:
	Death.Freeze:
	Death.Frost:
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_SpawnItem("FrozenCacodemon")
		Stop

	Death.Massacre:
		Goto Death

    Death.KillMe:
    Death.Taunt:
    Death.Avoid:
	    TNT1 A 0
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("U_Cacodemon")
		TNT1 A 0
        Stop
	}
}


//===========================================================================
//
// Cacodemon plasma ball
//
//===========================================================================

ACTOR U_CacodemonBall Replaces CacodemonBall
{
	Game Doom
	SpawnID 126
	Radius 6
	Height 6
	Speed 14
	FastSpeed 18
	Damage (random(20,25))
	Projectile 
	+RANDOMIZE
	+THRUGHOST
	RenderStyle Add
	Alpha 1
    damagetype Plasma
	SeeSound "caco/attack"
	DeathSound "caco/shotx"
	Decal "Scorch"
	Alpha .8
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 A 1 bright
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 A 1 bright
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 A 1 bright
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 B 1 bright
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 B 1 bright
		TNT1 A 0 A_SpawnItem("BlueFlare_Caco")
		TNT1 A 0 A_SpawnItem("RedFlare_Caco")
		BAL2 B 1 bright
		Loop
		
	Death:
		TNT1 AAAA 0 A_CustomMissile ("ShoqueAzul", 3, 0, random (0, 360), 2, random (0, 360))
		BAL2 CDE 3 BRIGHT
		Stop
	}
}

Actor RedFlare_Caco : Flare_General
{
	+NOINTERACTION
	+NOCLIP
	+NOBLOCKMAP
	+MOVEWITHSECTOR
	+NOGRAVITY
	+DROPOFF
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOTDMATCH
	+GHOST
	renderstyle Add
	alpha 0.9
	scale 0.11
	radius 1
	height 1
	mass 1
	damage 0
	states
	{
	Spawn:
		TNT1 A 0
		LENR C 2 bright
		stop
	}
}

Actor BlueFlare_Caco : Flare_General
{
	+NOINTERACTION
	+NOCLIP
	+NOBLOCKMAP
	+MOVEWITHSECTOR
	+NOGRAVITY
	+DROPOFF
	+NOTELEPORT
	+FORCEXYBILLBOARD
	+NOTDMATCH
	+GHOST
	renderstyle Add
	alpha 0.9
	scale 0.07
	radius 1
	height 1
	mass 1
	damage 0
	states
	{
	Spawn:
		TNT1 A 0
		LENB C 2 bright
		stop
	}
}

ACTOR U_ShoqueAzul replaces ShoqueAzul
{
	Game Doom
	Radius 1
	Height 1
	Speed 3
	Damage 0 
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
	RenderStyle Add
    Scale 0.5
	Gravity 0
	States
	{
    Spawn:
        TNT1 A 1
        SH1K ABCDEFG 1 BRIGHT
        Stop
	}
}


//===========================================================================
//
// Blue Blood
//
//===========================================================================

actor U_BlueSawBlood : Blood replaces BlueSawBlood
{
	Decal BlueBloodSplat
	game Doom
	+FORCEXYBILLBOARD
	+GHOST
	+NOBLOCKMAP
	+NOGRAVITY
	+NOCLIP
	-DONTSPLASH
	-ALLOWPARTICLES 
	MONSTER
	-FRIENDLY
	+NOTARGET
	-COUNTKILL
	translation "168:191=192:207","16:47=240:247"
	Speed 0
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_Look
	See:		
		TNT1 A 0 Radius_Quake (4, 4, 0, 2, 0)
		TNT1 A 0 A_PlaySOund("misc/xdeath4", 1)
		TNT1 A 0 A_GiveToTarget("PowerBlueBloodOnVisor", 1)
		TNT1 A 0 A_GiveToTarget("ChainsawCrueltyBonus", 3)
		TNT1 A 0 A_CustomMissile ("BlueBloodMist", 0, 0, random (0, 360), 2, random (30, 90))
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 1 A_Chase("","")
	Melee:	
		TNT1 A 0 A_GiveToTarget("BloodSplasherz", 1)
		TNT1 A 10
		stop
	Splash:
		TNT1 A 0
		TNT1 AAA 0 A_CustomMissile ("Underblood1", 7, 0, random (0, 360), 2, random (30, 150))
		stop
	}
}

actor U_BlueBloodPool: GrowingBloodPool
{
	translation "16:43=192:207", "44:47=240:243", "168:187=192:207", "188:191=240:243"
	scale 0.6
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT5 A 1
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_SpawnItemEx ("BootSmearerBlue",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT5 A 30
		TNT5 ABCDEFGHIJKLMNOP 5
		TNT5 QRSTUVWXYZ 5
	Live:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT5 Z 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		TNT5 Z 20000
		Stop
	Vanish:
		TNT5 Z 1 A_FadeOut(0.1)
		Loop
	Splash:
        BLOD A 0
		stop
	}
}

actor U_Blue_BloodSpot: Brutal_BloodSpot replaces Blue_BloodSpot
{
	translation "168:191=112:127", "16:47=123:127"
	Decal GreenBloodSplat
	scale 0.35
	states
	{
	SpawnNormally:
		TNT1 A 0
		TNT1 A 0 A_SetAngle(Random(0,360))
		TNT1 A 0 A_Jump(255, "SpawnAFrameOnly", "SpawnBFrameOnly", "SpawnCFrameOnly", "SpawnDFrameOnly")
	}
}

actor DeadBlueBlood : DeadBlood
{
	translation "176:191=192:207", "16:47=192:207"
	states
	{
	Spawn:
        TNT1 A 0
        TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_SpawnItem ("U_BlueBloodHit")
  	    stop
	Splash:
        BLOD A 0
        stop
	}
}

actor U_BlueBloodHit: BloodHit
{
	translation "168:191=192:207","16:47=240:247"
	Decal BlueBloodSplat
}

ACTOR U_Blue_FlyingBloodTrail replaces Blue_FlyingBloodTrail
{
	translation "176:191=192:207", "16:47=192:207"
	game Doom
	scale 0.4
	mass 1
	renderstyle Translucent
	alpha 0.5
	Gravity 0.3
	Decal BlueBloodSplat
	+THRUACTORS
	+LOWGRAVITY
	+NOTELEPORT
	+NOBLOCKMAP
	+NOCLIP
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+DontSplash
	+MISSILE
	-NOGRAVITY
	Speed 2
	states
	{
	Spawn:
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		BLHT ABCDE 2
		stop
	Death:
		TNT1 A 0
		Stop
	Splash:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem ("BlueUnderblood")
		stop
	}
}

ACTOR BlueUnderblood: Underblood1
{
	translation "176:191=192:207", "16:47=192:207"
}

actor U_bluebloodtrails: BloodTr255
{
	Radius 1
	Height 1
	Speed 2
	Mass 1
	BounceFactor 0.1
	Renderstyle Translucent
	Alpha 0.7
	Scale 0.7
	+DOOMBOUNCE
	+NOBLOCKMAP
	+MISSILE
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CLIENTSIDEONLY
	+FORCEXYBILLBOARD
	-EXPLODEONWATER
	DeathSound "misc/xdeath1"
	Decal BlueBloodSplat
	translation "168:191=192:207","16:47=240:247"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Spawn1", "Spawn2", "Spawn1")
	Spawn1:
		BLOD A 1 A_FadeOut(0.03)
		Loop
	Spawn2:
		BLOD B 1 A_FadeOut(0.03)
		Loop
	Spawn3:
		BLOD C 1 A_FadeOut(0.03)
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1
		Stop
	}
}


//===========================================================================
//
// Blue Gore
//
//===========================================================================

ACTOR CacoXdeath0
{
	translation "168:191=192:207"
	Radius 8
	Height 8
	Speed 9
	Scale 1.1
	Mass 1
	+NOBLOCKMAP
	+MISSILE
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CLIENTSIDEONLY
	+RIPPER
	+BLOODLESSIMPACT 
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Decal BlueBloodSplat
	damagetype Blood
	SeeSound "misc/xdeath4"
	DeathSound "misc/xdeath1"
	States
    {
    Spawn:
        TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CCP1 A 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
	XDeath:
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
    Death:
		TNT1 A 0 A_SpawnItem("Blue_BloodSpot",0,0,0,1)
        CCP1 B 1
	Rest:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		CCP1 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        CCP1 B 20000
		Stop
	Vanish:
		CCP1 B 1 A_FadeOut(0.1)
		Loop
	Splash:
        TNT1 A 0
        Stop
    }
}

ACTOR U_CacoXdeath1: CacoXDeath0 replaces CacoXDeath1
{
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
    States
    {
    Spawn:
        TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CCP1 A 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
	Death:
	    CCP1 B 1
        TNT1 A 0 A_SpawnItem("CacoXdeath1b",0,0,0,1)
        Stop
    }
}

Actor CacoXdeath1b: CurbstompedMarine
{
	Radius 12
	Height 12
	Scale 1.1
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Mass 1000
	Health 60
	damagefactor "Blood", 0.0
	damagefactor "Trample", 2.0
	States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem ("Blue_BloodSpot", 0, 1)
	Rest:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CCP1 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		CCP1 B 20000
		Stop
	Vanish:
		CCP1 B 1 A_FadeOut(0.1)
		Loop
	Death.Plasma:
	Death.Plasma2:
	Death.SuperPlasma:
	Death.Burn:
	Death.Flames:
	Death.Fire:
	Death.GreenFire:
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat5", 5, 0, random (0, 360), 2, random (70, 90))
		Stop
	Death.Trample:
		TNT1 A 0 A_GiveToTarget ("BootsSmearedWithBlueBlood", 3)
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Crush:
	Death.Desintegrate:
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 20, 0, random (0, 360), 2, random (0, 50))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
    }
}

ACTOR U_CacoXdeath2: U_CacoXDeath1 replaces CacoXdeath2
{
	XScale -1.1
    SeeSound "misc/xdeath3"
	States
	{
	Death:
		CCP1 B 1
        TNT1 A 0 A_SpawnItem("CacoXdeath2b",0,0,0,1)
        Stop
	}
}

ACTOR CacoXdeath2b: CacoXDeath1b
{
	XScale -1.1
}

ACTOR U_CacoXdeath3: CacoXDeath0 replaces CacoXdeath3
{
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
	Scale 0.9
    States
    {
    Spawn:
        TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CCP2 A 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
    Death:
		CCP2 A 1
        TNT1 A 0 A_SpawnItem("CacoXdeath3b",0,0,0,1)
        Stop
    }
}

Actor CacoXdeath3b: CurbstompedMarine
{
	Radius 8
	Height 12
	Scale 0.9
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Mass 1000
	Health 60
	damagefactor "Blood", 0.0
	damagefactor "Trample", 2.0
	States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem ("Blue_BloodSpot", 0, 1)
	Rest:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CCP2 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		CCP2 B 20000
		Stop
	Vanish:
		CCP2 B 1 A_FadeOut(0.1)
		Loop
	Death.Plasma:
	Death.Plasma2:
	Death.SuperPlasma:
	Death.Burn:
	Death.Flames:
	Death.Fire:
	Death.GreenFire:
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (70, 90))
		Stop
	Death.Trample:
		TNT1 A 0 A_GiveToTarget ("BootsSmearedWithBlueBlood", 3)
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Crush:
	Death.Desintegrate:
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 20, 0, random (0, 360), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
    }
}

ACTOR U_CacoXdeath4: U_CacoXdeath3 replaces CacoXdeath4
{
	XScale -0.9
	States
	{
	Death:
		CCP2 A 1
		TNT1 A 0 A_SpawnItem("CacoXdeath4b",0,0,0,1)
        Stop
	}
}

ACTOR CacoXdeath4b: CacoXdeath3b
{
	XScale -0.9
}

ACTOR U_CacoXdeath5: CacoXDeath0 replaces CacoXdeath5
{
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
    States
    {
    Spawn:
        TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		CCP3 A 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
    Death:
		CCP3 A 1
        TNT1 A 0 A_SpawnItem("CacoXdeath5b",0,0,0,1)
        Stop
    }
}

Actor CacoXdeath5b: CurbstompedMarine
{
	Radius 8
	Height 12
	Scale 1.1
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Mass 1000
	Health 60
	damagefactor "Blood", 0.0
	damagefactor "Trample", 2.0
	States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem ("Blue_BloodSpot", 0, 1)
	Rest:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CCP3 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		CCP3 B 20000
		Stop
	Vanish:
		CCP3 B 1 A_FadeOut(0.1)
		Loop
	Death.Plasma:
	Death.Plasma2:
	Death.SuperPlasma:
	Death.Burn:
	Death.Flames:
	Death.Fire:
	Death.GreenFire:
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat5", 5, 0, random (0, 360), 2, random (70, 90))
		Stop
	Death.Trample:
		TNT1 A 0 A_GiveToTarget ("BootsSmearedWithBlueBlood", 3)
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Crush:
	Death.Desintegrate:
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 20, 0, random (0, 360), 2, random (0, 50))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
    }
}

ACTOR U_CacoXdeath6: CacoXDeath0 replaces CacoXdeath6
{
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
    States
    {
    Spawn:
        TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CCP4 ABCDEFG 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
	Death:
	    CCP4 H 1
        TNT1 A 0 A_SpawnItem("CacoXdeath6b",0,0,0,1)
        Stop
    }
}

Actor CacoXdeath6b: CurbstompedMarine
{
	Radius 12
	Height 6
	Scale 1.1
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Mass 1000
	Health 50
	damagefactor "Blood", 0.0
	damagefactor "Trample", 2.0
	States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem ("Blue_BloodSpot", 0, 1)
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256, "Rest1","Rest2","Rest3","Rest4")
	Rest1:
        CCP4 H 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
		CCP4 H 20000
	Vanish1:
		CCP4 H 1 A_FadeOut(0.1)
		Loop
	Rest2:
        CCP4 I 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
		CCP4 I 20000
	Vanish2:
		CCP4 I 1 A_FadeOut(0.1)
		Loop
	Rest3:
        CCP4 J 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish3")
		CCP4 J 20000
	Vanish3:
		CCP4 J 1 A_FadeOut(0.1)
		Loop
	Rest4:
        CCP4 K 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish4")
		CCP4 K 20000
	Vanish4:
		CCP4 K 1 A_FadeOut(0.1)
		Loop
	Death.Plasma:
	Death.Plasma2:
	Death.SuperPlasma:
	Death.Burn:
	Death.Flames:
	Death.Fire:
	Death.GreenFire:
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (70, 90))
		Stop
	Death.Trample:
		TNT1 A 0 A_GiveToTarget ("BootsSmearedWithBlueBlood", 3)
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Crush:
	Death.Desintegrate:
		TNT1 AA 0 A_CustomMissile ("Blue_FlyingBlood", 20, 0, random (0, 360), 2, random (0, 50))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
    }
}

ACTOR U_CacoXdeath7: CacoXDeath0 replaces CacoXdeath7
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BlueBloodSplat
	bloodtype "DeadBlueBlood"
	bloodcolor darkblue
	Scale 0.9
	Speed 12
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CCP5 C 4 A_CustomMissile("U_bluebloodtrails",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 A_SpawnItem("Blue_BloodSpot",0,0,0,1)
		TNT1 A 0 A_Jump(128, "Rest2")
	Rest1:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		CCP5 A 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CCP5 A 20000
	Vanish1:
		CCP5 A 1 A_FadeOut(0.1)
		Loop
	Rest2:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CCP5 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CCP5 B 20000
	Vanish2:
		CCP5 B 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR CacoXdeath8: CacoXDeath0
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BlueBloodSplat
	Scale 1.1
	Speed 9
	Gravity 0.7
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CDDX ABCD 4
        Loop	
    Death:
		TNT1 A 0 A_Jump(256, "Rest1","Rest2","Rest3")
	Rest1:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		CDDX E 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CDDX E 20000
	Vanish1:
		CDDX E 1 A_FadeOut(0.1)
		Loop
	Rest2:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CDDX F 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CDDX F 20000
	Vanish2:
		CDDX F 1 A_FadeOut(0.1)
		Loop
	Rest3:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        CDDX G 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish3")
        CDDX G 20000
	Vanish3:
		CDDX G 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR CacoXdeath9: CacoXDeath0
{
	translation "168:169=192:193"
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CDDX H 5
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		CDDX H 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        CDDX H 20000
		Stop
	Vanish:
		CDDX H 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR CacoXdeath10: CacoXDeath0
{
	translation "168:169=192:193"
    SeeSound "misc/xdeath3"
    DeathSound "misc/xdeath1"
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        CDDX I 5
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		CDDX I 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        CDDX I 20000
		Stop
	Vanish:
		CDDX I 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR BlueInstestin
{
	Radius 8
	Height 12
	Speed 6
	Mass 1
	BounceFactor 0.4
	Renderstyle Translucent
	Alpha 0.9
	+DOOMBOUNCE
	+NOBLOCKMAP
	+MISSILE
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CLIENTSIDEONLY
	+FORCEXYBILLBOARD
	-EXPLODEONWATER
	DeathSound "misc/xdeath1"
	Decal BlueBloodSplat
	Scale 1.1
	States
	{
	Spawn:
		CGUT ABCD 8 A_CustomMissile ("U_bluebloodtrails", 0, 0, random (0, 360), 2, random (5, 160))
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Water")
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		Goto Rest
	Rest:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("Blue_BloodSpot",0,0,0,1)
		TNT1 A 0 A_Jump(255, "Rest1", "Rest2")
	Rest1:
		CGUT E 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CGUT E 20000
	Vanish1:
		CGUT E 1 A_FadeOut(0.1)
		Loop
	Rest2:
		CGUT F 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CGUT F 20000
	Vanish2:
		CGUT F 1 A_FadeOut(0.1)
		Loop
	Water:
		CGUT ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 20
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
		CGUT ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 20
		CGUT ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 20
		CGUT ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 20
		CGUT ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 20
	Vanish2:
		CGUT A 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR BlueOrgan1: XDeath1
{
	translation "176:191=192:207", "16:47=192:207"
	Decal BlueBloodSuper
	Mass 100
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Scale 0.9
	Speed 4
    States
    {
    Spawn:
	    XME8 A 4 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		XME8 A 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        XME8 A 20000
		Stop
	Vanish:
		XME8 A 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR BlueOrgan2: BlueOrgan1
{
	translation "176:191=192:207", "16:47=192:207"
	States
	{
    Spawn:
	    XME8 B 4 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		XME8 B 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        XME8 B 20000
		Stop
	Vanish:
		XME8 B 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR BlueOrgan3: BlueOrgan1
{
	Scale 0.7
	States
	{
    Spawn:
	    CDDX JKLM 3 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		XDT6 A 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        XDT6 A 20000
		Stop
	Vanish:
		XDT6 A 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR BlueGoryRemains : GoryAshes
{
	translation "168:191=198:207", "16:47=198:207"
	Scale 0.7
	Radius 1
	Height 1
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Rest1", "Rest2")
	Rest1:
		POSC A -1
		Stop
	Rest2:
		POSC B -1
		Stop
	}
}


//===========================================================================
//
// Burned stuff
//
//===========================================================================

ACTOR BlueGoryAshes : GoryAshes
{
	translation "168:191=192:207"
	Radius 1
	Height 1
	States
	{
	Spawn:
		GIBD SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 6 A_CustomMissile ("BurnParticles", 8, 0, random (0, 180), 2, random (0, 180))
		GIBD SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 8 A_CustomMissile ("PlasmaSmoke", 8, 0, random (0, 180), 2, random (0, 180))
		GIBD S -1 
		Stop
	}
}

ACTOR BlueGoryAshesMelted : GoryAshes
{
	translation "168:191=192:207"
	Radius 1
	Height 1
	States
	{
	Spawn:
		GIBD SSSSSSSSSSS 8 A_CustomMissile ("PlasmaSmoke", 8, 0, random (0, 180), 2, random (0, 180))
		GIBD S -1 
		Stop
	}
}

ACTOR U_XDeathBurnedBlueMeat1 replaces XDeathBurnedBlueMeat1
{
    Radius 8
    Height 8
    Speed 5
	Mass 6
	Scale 0.7
	BounceFactor 0.5
	+DOOMBOUNCE
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +DONTSPLASH
    +MOVEWITHSECTOR
    States
    {
    Spawn:
        CACB P 10 A_CustomMissile("PlasmaSmoke",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CACB PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CACB P 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        CACB P 20000
		Stop
	Vanish:
		CACB P 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR U_XDeathBurnedBlueMeat2 : U_XDeathBurnedBlueMeat1 replaces XDeathBurnedBlueMeat2
{
    States
    {
    Spawn:
        CACB Q 10 A_CustomMissile("PlasmaSmoke",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CACB QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CACB Q 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        CACB Q 20000
		Stop
	Vanish:
		CACB Q 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR XDeathBurnedBlueMeat3
{
	translation "168:191=98:111", "16:47=98:111"
    Radius 8
    Height 8
    Speed 5
	Mass 6
	Scale 0.9
	BounceFactor 0.5
	+DOOMBOUNCE
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +DONTSPLASH
    +MOVEWITHSECTOR
    States
    {
    Spawn:
        CDDX H 10 A_CustomMissile("PlasmaSmoke",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 A_Jump(256,"Death1","Death2")
	Death1:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CDDX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CDDX H 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CDDX H 20000
	Vanish1:
		CDDX H 1 A_FadeOut(0.1)
		Loop
	Death2:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CDDX IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CDDX I 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CDDX I 20000
	Vanish2:
		CDDX I 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR XDeathBurnedBlueMeat4 : XDeathBurnedBlueMeat3
{
    States
    {
    Spawn:
        CDDX ABCD 4 A_CustomMissile("PlasmaSmoke",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 A_Jump(256,"Death1","Death2","Death3")
	Death1:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CDDX EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CDDX E 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CDDX E 20000
	Vanish1:
		CDDX E 1 A_FadeOut(0.1)
		Loop
	Death2:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CDDX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CDDX F 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CDDX F 20000
	Vanish2:
		CDDX F 1 A_FadeOut(0.1)
		Loop
	Death3:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,1,10,20)
		CDDX GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CDDX G 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish3")
        CDDX G 20000
	Vanish3:
		CDDX G 1 A_FadeOut(0.1)
		Loop
    }
}

ACTOR XDeathBurnedBlueMeat5 : XDeathBurnedBlueMeat3
{
    States
    {
    Spawn:
		CCP4 ABCDEFG 4 A_CustomMissile("PlasmaSmoke",0,0,180,2)
        Loop
    Death:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")
	Death1:
		TNT1 A 0 A_Jump(256,1,10,20)
		CCP4 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CCP4 H 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish1")
        CCP4 H 20000
	Vanish1:
		CCP4 H 1 A_FadeOut(0.1)
		Loop
	Death2:
		TNT1 A 0 A_Jump(256,1,10,20)
		CCP4 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CCP4 I 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish2")
        CCP4 I 20000
	Vanish2:
		CCP4 I 1 A_FadeOut(0.1)
		Loop
	Death3:
		TNT1 A 0 A_Jump(256,1,10,20)
		CCP4 JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CCP4 J 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish3")
        CCP4 J 20000
	Vanish3:
		CCP4 J 1 A_FadeOut(0.1)
		Loop
	Death4:
		TNT1 A 0 A_Jump(256,1,10,20)
		CCP4 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 15 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (5, 160))
		CCP4 K 1000
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish4")
        CCP4 K 20000
	Vanish4:
		CCP4 K 1 A_FadeOut(0.1)
		Loop
    }
}


//===========================================================================
//
// Corpses
//
//===========================================================================

ACTOR U_RipCaco replaces RipCaco
{
    Radius 1
    Height 1
    Scale 0.8
	Speed 0
	Mass 1
	Decal BloodSuper
	BounceFactor 0.5
	+DOOMBOUNCE
	+MISSILE
    +NOBLOCKMAP
    +NOTELEPORT
    +MOVEWITHSECTOR
    +NOGRAVITY
    +NOCLIP
    +DONTSPLASH
    States
    {
    Spawn:
         TNT1 A 0
		 TNT1 A 0 A_CustomMissile ("HalfCacoDemon", 8, 0, random (0, 360), 2, random (5, 160))
		 TNT1 A 0 A_CustomMissile ("CacoXDeath6", 8, 0, random (0, 360), 2, random (5, 160))
		 TNT1 A 0 A_CustomMissile ("CacoXDeath7", 8, 0, random (0, 360), 2, random (5, 160))
		 TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 8, 0, random (0, 360), 2, random (5, 160))
		 TNT1 A 0 A_CustomMissile ("BlueOrgan2", 8, 0, random (0, 360), 2, random (5, 160))
	Death:
	    TNT1 A 0
        Stop
    }
}

ACTOR U_HalfCacodemon replaces HalfCacodemon
{
    Radius 8
    Height 8
	Speed 12
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +DONTSPLASH
	+DOOMBOUNCE
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
	SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Decal BlueBloodSplat
	BounceFactor 0.5
	Scale 0.9
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		CACX ABCDEFGH 2 A_CustomMissile("Blue_FlyingBlood", 15, 0, random (0, 360), 2, random (5, 160))
		Loop
	Death:
		TNT1 A 0 A_SpawnItem ("HalfCacodemonb")
		Stop
    }
}

Actor HalfCacodemonb: CurbstompedMarine
{
	Radius 12
	Height 12
	Scale 0.9
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood", "BlueSawBlood"
	bloodcolor darkblue
	Mass 1000
	Health 100
	damagefactor "Blood", 0.0
	damagefactor "Trample", 0.0
	States
    {
    Spawn:
		CACX I -1
        Stop
	Death.cutless:
	Death.cut:
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 5, 0, random (0, 360), 2, random (5, 160))
		Stop
	Death.Fire:
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryAshes")
        Stop
	Death.Plasma:
	Death.Plasma2:
        TNT1 O 0 A_Jump(220, 1)
		Goto Death
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        TNT1 A 10 A_CustomMissile ("PlasmaSmoke", 24, 0, random (0, 180), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
        TNT1 A 0 A_SpawnItem ("BlueGoryAshesMelted")
        Stop
	}
}

Actor U_DeadCacoDemon1: CurbstompedMarine replaces DeadCacoDemon1
{
	Radius 31
	Height 24
	Scale 0.9
	+SHOOTABLE
	-SOLID
	+NOTELEPORT
	+MOVEWITHSECTOR
	+CORPSE
	bloodtype "DeadBlueBlood", "BlueSawBlood"
	bloodcolor darkblue
	Mass 1000
	Health 200
	damagefactor "Blood", 0.0
	damagefactor "Trample", 0.0
	States
    {
    Spawn:
		CDD1 I -1
        Stop
	Raise:
		TNT1 A 2 A_CustomMissile ("RealFlameTrailsSmall", 6, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_SpawnItem("PentagramSpawner", 0, 60)
		TNT1 A 2 A_CustomMissile ("RealFlameTrailsSmall", 6, 0, random (0, 360), 2, random (70, 110))
		TNT1 A 0 A_SpawnItem("PentagramSpawner", 0, 60)
		TNT1 A 0 A_SpawnItem("TeleportFog")
		TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_SpawnItem ("U_Cacodemon")
		Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueInstestin", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon1b")
		Stop
	Death.cutless:
	Death.cut:
		TNT1 O 0 A_Jump(64, 1)
		Goto Death
        TNT1 A 0 A_SetFloorClip
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_CustomMissile ("RipCaco", 0, 0, random (0, 360), 2, random (5, 160))
        TNT1 A 0 A_SpawnItem ("DeadHalfCacoDemon", 3)
        Stop
	Death.Fire:
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryAshes")
        Stop
	Death.Plasma:
	Death.Plasma2:
        TNT1 O 0 A_Jump(220, 1)
		Goto Death
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        TNT1 A 0 A_CustomMissile ("PlasmaSmoke", 24, 0, random (0, 180), 2, random (0, 180))
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_Jump(256,2)
        TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
        TNT1 A 0 A_SpawnItem ("BlueGoryAshesMelted")
        Stop
	}
}

Actor DeadCacoDemon1b: U_DeadCacoDemon1
{
	Height 12
	States
    {
    Spawn:
		CACL B -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BlueInstestin", 15, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryRemains")
		Stop
	}
}

Actor DeadCacoDemon1c: U_DeadCacoDemon1
{
	Height 12
	States
    {
    Spawn:
		CACL A -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("BlueInstestin", 15, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryRemains")
		Stop
	}
}

Actor DeadCacoDemon2: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD2 M -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 16, 0, random (0, 360), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAA 0 A_CustomMissile ("BlueInstestin", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon2b")
		Stop
	}
}

Actor DeadCacoDemon2b: DeadCacoDemon1b
{
	Height 12
	States
    {
    Spawn:
		CDD2 N -1
        Stop
	}
}

Actor DeadCacoDemon3: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD4 I -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon3b")
		Stop
	}
}

Actor DeadCacoDemon3b: DeadCacoDemon1b
{
	Height 12
	States
    {
    Spawn:
		TNT1 A 0
		CACL C -1
        Stop
	}
}

Actor DeadCacoDemon4: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD5 H -1
		Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 16, 0, random (0, 360), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon4b")
		Stop
	}
}

Actor DeadCacoDemon4b: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD5 I -1
		Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 16, 0, random (0, 360), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon4c")
		Stop
	}
}

Actor DeadCacoDemon4c: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD5 J -1
		Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 A 0 A_CustomMissile ("Blue_FlyingBlood", 16, 0, random (0, 360), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath6", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryRemains")
		Stop
	}
}

Actor U_SawedCacoDemon: U_DeadCacoDemon1 replaces SawedCacodemon
{
	States
	{
	Spawn:
		TNT1 A 0
		HEDC C -1
		Stop    
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		Stop
	}
}

Actor U_DeadHalfCacoDemon: DeadCacoDemon1b replaces DeadHalfCacoDemon
{
	States
	{
	Spawn:
		CACL B -1
		Stop
	}
}

Actor DeadCacoDemonBlast: U_DeadCacoDemon1
{
	Height 12
	States
    {
    Spawn:
		TNT1 A 0
		CDD3 L -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 16, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryRemains")
		Stop
	}
}

Actor DeadCacoDemonSSG: U_DeadCacoDemon1
{
	Height 12
	States
    {
    Spawn:
		TNT1 A 0
		CCD3 B -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 16, 0, random (0, 360), 2, random (5, 160))
		Stop
	}
}

Actor MeltedCacoDemon1: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CACB BBBBBBBBBBBB 6 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CACB BBBBBBBBBBBB 9 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CACB BBBBBBBBBBBB 12 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CACB B -1
        Stop
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
    Death.Plasma:
	Death.Plasma2:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        TNT1 AA 5 A_CustomMissile ("PlasmaSmoke", 24, 0, random (0, 180), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryAshesMelted")
		Stop
	}
}

Actor MeltedCacoDemon2: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		CDD6 IIIIIIIIIIII 6 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CDD6 IIIIIIIIIIII 9 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CDD6 IIIIIIIIIIII 12 A_CustomMissile ("PlasmaSmoke", 10, 0, random (0, 360), 2, random (5, 160))
		CDD6 I -1
        Stop
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
    Death.Plasma:
	Death.Plasma2:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        TNT1 AA 5 A_CustomMissile ("PlasmaSmoke", 24, 0, random (0, 180), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryAshesMelted")
		Stop
	}
}

ACTOR U_BurningCacodemon : BurningCacodemon replaces BurningCacodemon
{
    States
    {
    Death:
	    TNT1 A 0 A_Fall
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_ChangeFlag("NOTARGET", 1)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
		HEAD P 1 A_SpawnItem("100SmallFireFocusSpawnerz")
		TNT1 A 0 A_Playsound("props/redfire")
		HEAD PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 8 A_CustomMissile("FireballExplosionFlamesBig", 15, 0, random (0, 360), 2, random (50, 130))
		HEAD P 1 A_SpawnItem("100SmallFireFocusSpawnerz")
		TNT1 A 0 A_SpawnItem ("BurnedCacodemon")
        Stop
    }
}

Actor BurnedCacodemon: U_DeadCacoDemon1
{
	States
    {
    Spawn:
		HEAD PPPPPPPPPPPPPPPPPPPPPPPP 6 A_CustomMissile("PlasmaSmoke", 15, 0, random (0, 360), 2, random (50, 130))
		HEAD P -1
        Stop
	XDeath:
    Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
    Death.Plasma:
	Death.Plasma2:
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat3", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedBlueMeat4", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryAshesMelted")
        Stop
	}
}

ACTOR U_BrutalizedCacodemon1 replaces BrutalizedCacodemon1
{
	Game Doom
	Radius 24
	Height 48
	Health 50
	damagefactor "Blood", 0.0
	damagefactor "BlueBlood", 0.0
	damagefactor "GreenBlood", 0.0
    damagefactor "Avoid", 0.0
	damagefactor "Shrapnel", 0.0
	damagefactor "KillMe", 0.0
	damagefactor "Cutless", 1.0
	bloodtype "Blue_Blood"
    bloodcolor darkblue
	Mass 999999
	-SOLID
	+NOBLOODDECALS
	+SHOOTABLE
	+FLOORCLIP
	+DONTSPLASH
	+NOPAIN
	Scale 0.9
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(64, "NoSuffer", "Fall")
		CCD1 AAAEEEAAAEEEAAAEEEAAAEEEAAAEEEAAAEEEEAAAAEEEEEAAAAA 2 A_CustomMissile ("U_bluebloodtrails", 45, 0, random (0, 360), 2, random (5, 160))
	Fall:
		CCD1 ADBC 5
		TNT1 A 0 A_SpawnItem("DeadCacoDemonBrutalized1")
		Stop
	Death:
		TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 40, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 40, 0, random (0, 360), 2, random (5, 160))
		CCD2 AD 5
		TNT1 A 0 A_SpawnItem("BrutalizedCacodemon2")
		Stop
	NoSuffer:
		CCD1 ADB 5 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 A 0 A_SpawnItem("DeadCacoDemonBrutalized1b")
		Stop	
	}
}

Actor DeadCacoDemonBrutalized1: U_DeadCacoDemon1
{
	Height 48
	States
    {
    Spawn:
		TNT1 A 0
		CCD1 C -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon1c")
		Stop
	}
}

Actor DeadCacoDemonBrutalized1b: U_DeadCacoDemon1
{
	Height 48
	States
    {
    Spawn:
		TNT1 A 0
		CCD1 B -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon1c")
		Stop
	}
}

ACTOR U_BrutalizedCacodemon2 replaces BrutalizedCacodemon2
{
	Game Doom
	Radius 24
	Height 48
	Health 50
	damagefactor "Blood", 0.0
	damagefactor "BlueBlood", 0.0
	damagefactor "GreenBlood", 0.0
    damagefactor "Avoid", 0.0
	damagefactor "Shrapnel", 0.0
	damagefactor "KillMe", 0.0
	damagefactor "Cutless", 1.0
	bloodtype "Blue_Blood"
    bloodcolor darkblue
	Mass 999999
	-SOLID
	+NOBLOODDECALS
	+SHOOTABLE
	+FLOORCLIP
	+DONTSPLASH
	+NOPAIN
	Scale 0.9
	States
	{
	Spawn:
		CCD2 AAEEAAEEAAEEAAEEAAEEAAAEEEAAAEEEEAAAAEEEED 2 A_CustomMissile ("U_bluebloodtrails", 45, 0, random (0, 360), 2, random (30, 90))
		TNT1 A 0 A_SpawnItem("DeadCacoDemonBrutalized2")
		Stop
	Death:
		TNT1 AAAAA 0 A_CustomMissile ("Blue_FlyingBlood", 47, 0, random (0, 360), 2, random (30, 150))
		TNT1 AAAA 0 A_CustomMissile ("Blue_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath6", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath9", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("CrueltyBonus5Health")
		CCD3 A 5
		TNT1 A 0 A_SpawnItem("DeadCacoDemonBrutalized2b")
		Stop	
	}
}

Actor DeadCacoDemonBrutalized2: U_DeadCacoDemon1
{
	Height 48
	States
    {
    Spawn:
		TNT1 A 0
		CCD2 B -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 5, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("DeadCacoDemon1b")
		Stop
	}
}

Actor DeadCacoDemonBrutalized2b: U_DeadCacoDemon1
{
	Height 12
	States
    {
    Spawn:
		TNT1 A 0
		CCD3 B -1
        Stop
	XDeath:
	Death:
	Death.Stomp:
	Death.ExplosiveImpact:
	Death.Trample:
	Death.Crush:
	Death.cutless:
	Death.cut:
		TNT1 AAA 0 A_CustomMissile ("Blue_FlyingBlood", 50, 0, random (160, 200), 2, random (0, 50))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 30, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_SpawnItem ("BlueGoryRemains")
		Stop
	}
}

ACTOR CacoGoesBoom
{
    Radius 1
    Height 1
    Scale 0.8
	Speed 0
	Mass 1
	Decal BloodSuper
	BounceFactor 0.5
	+DOOMBOUNCE
	+MISSILE
    +NOBLOCKMAP
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +NOGRAVITY
    +NOCLIP
    +DONTSPLASH
    States
    {
    Spawn:
		TNT1 AAAAA 0 A_CustomMissile ("BlueSuperGoreSpawner", 10, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("BlueSuperGoreSpawner", 0, 0, random (0, 180), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("CacoXDeath1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath4", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("CacoXDeath5", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath6", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath7", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath8", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath9", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AA 0 A_CustomMissile ("CacoXDeath10", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan1", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan2", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 A 0 A_CustomMissile ("BlueOrgan3", 0, 0, random (0, 360), 2, random (5, 160))
		TNT1 AAA 0 A_CustomMissile ("BlueInstestin", 0, 0, random (0, 360), 2, random (5, 160))
	Death:
	    TNT1 A 0
        Stop
    }
}