actor Colourset7 : RandomSpawner replaces "Cacodemon"
{
    DropItem "CommonCaco", 255, 700
    DropItem "GreenCaco", 255, 400
	DropItem "CyanCaco", 255,  100
	
	DropItem "BrownCaco", 255,  130
	
    DropItem "BlueCaco", 255,  200
	DropItem "AbyssCaco", 255, 40
    DropItem "PurpleCaco", 255, 60
	DropItem "GrayCaco", 255, 60
	DropItem "YellowCaco", 255, 40
	DropItem "RedCaco", 255, 40
	DropItem "FireBluCaco",255, 35
	DropItem "BlackCaco", 255, 3
	DropItem "WhiteCaco", 255,  1	
}


Actor BrownCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("CH_Brown") == 1, "First") 
TNT1 A 0 A_JumpIf(CallACS("CH_Brown") == 3, "fifty") 
TNT1 A 0
Goto Third

fifty:
TNT1 A 0
TNT1 A 0 a_jump(128,"third")
TNT1 A 0

First:
TNT1 A 0 A_SpawnitemEx("Colourset7",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("BrownCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}



actor BrownCaco2
{

	Tag "Gruelsome"
	health 500
	radius 24
	height 56
	mass 400
	speed 18
	Obituary "%o was dirt written by brown caco" 
	seesound "grell/sight"
	painsound "grell/pain"
	deathsound "grell/death"
	activesound "grell/active"
	MONSTER
    +DONTHURTSPECIES
	+dontharmclass
    +Missilemore
    +NOGRAVITY
	+FLOAT
    +FLOATBOB
	+NOFEAR
	  +NOTARGET

	PainChance 64

	Species "Caco"

  
	DamageFactor "Antiair", 3.0
	DamageFactor "DIMp", 0
	PainChance "DIMp", 0
	DropItem "CH_MegaSphere", 12
	DropItem "HealthBundle"
	DropItem "ArmorBundle"
	DropItem "CH_Cell"
	DropItem "CH_Cell"
	DropItem "CH_Cell",128
	DropItem "CH_Cell",128
	DropItem "CH_Berserk", 128
	Dropitem "CH_RocketAmmo"
		Dropitem "CH_RocketAmmo"
			Dropitem "CH_RocketAmmo",128
				Dropitem "CH_RocketAmmo",128

	
	
	States
	{
	Spawn:
		GREL A 10 A_Look
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		Loop
	See:
		GREL A 0 A_SentinelBob
		GREL AAB 3 A_Chase
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL B 0 A_SentinelBob
		GREL BCC 3 A_Chase
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		Loop
	Missile:
	
	   TNT1 A 0
	   	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0 A_Jump(64,"SCATTER")
     TNT1 A 0
		GREL D 0 A_PlaySound("grell/attack")
		GREL D 4 A_FaceTarget
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL E 4 Bright A_FaceTarget    
		GREL F 4 Bright A_CustomMissile("GrellBallBrown", 32, 0, 0) 
		Goto See
		
	  
	  Scatter:
	  TNT1 A 0
	  TNT1 A 0 a_jump(64,"HealAndBuff")
	  TNT1 A 0
	  Goto Missile+3
		
		
		HealAndBuff:
		GREL D 0 A_PlaySound("Caco/sight")
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL DDD 2 A_spawnitemex("MediCacoBrown",random(-64,64),random(-64,64),random(-16,32),random(1,9),0,random(-5,5),random(0,359),SXF_NOCHECKPOSITION)
		GREL E 1 A_radiusgive("SpeedBuffPE",1200,RGF_MONSTERS,1)
		GREL E 1 A_Radiusgive("BrownImpCommand",200,RGF_MONSTERS,1)
		GREL E 1 A_radiusgive("health",1200,RGF_MONSTERS,200)
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL FFF 2 A_spawnitemex("MediCacoBrown",random(-64,64),random(-64,64),random(-16,32),random(1,9),0,random(-5,5),random(0,359),SXF_NOCHECKPOSITION)
		GREL E 3 A_radiusgive("health",1200,RGF_MONSTERS,200)
		GREL D 0 A_PlaySound("Caco/sight")
		GREL EDD 3 A_spawnitemex("MediCacoBrown",random(-164,164),random(-164,164),random(-16,32),random(1,9),0,random(-5,5),random(0,359),SXF_NOCHECKPOSITION)
		GREL F 3 A_radiusgive("health",1200,RGF_MONSTERS,200)
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL FDD 3 A_spawnitemex("MediCacoBrown",random(-164,164),random(-164,164),random(-16,32),random(1,9),0,random(-5,5),random(0,359),SXF_NOCHECKPOSITION)
		GREL E 3 A_radiusgive("health",1200,RGF_MONSTERS,200)
		GREL EDD 3 A_spawnitemex("MediCacoBrown",random(-164,164),random(-164,164),random(-16,32),random(1,9),0,random(-5,5),random(0,359),SXF_NOCHECKPOSITION)
Goto see


		
	Pain:
		GREL G 3 
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH13",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		GREL G 3 A_Pain
		Goto See
	Death:
		GREL H 5
		TNT1 A 0 A_changeflag("FLOATBOB",FALSE)
		GREL I 0 A_NoBlocking
		GREL I -1 A_Scream
	Crash:
		GREL J 4 A_PlaySound("grell/thud", CHAN_AUTO)
		TNT1 A 0 A_changeflag("FLOATBOB",FALSE)
		GREL K 4 A_UnsetSolid
		GREL LM 4 A_SetFloorClip
		GREL N -1 
		Stop
	Raise:
		GREL M 5 A_UnSetFloorClip
		GREL LKJIH 5
		TNT1 A 0 A_changeflag("FLOATBOB",TRUE)
		Goto See
	}
}



Actor MediCacoBrown
{
  Radius 2
  Height 2
  Mass 7
  Speed 4
  Projectile
  +THRUACTORS
  Scale 0.45
  Renderstyle Add
  Alpha 0.33
  Translation "208:223=176:191", "224:231=176:176"
  States
  {
  Spawn:
  TNT1 A 0
  Fly:
  TNT1 A 0
  TNT1 A 0 A_spawnitemex("MediCacoBrown2",0,-4,0,0,0,0,0)
  TNT1 A 0 A_spawnitemex("MediCacoBrown2",0,4,0,0,0,0,0)
  TNT1 A 0 A_spawnitemex("MediCacoBrown2",0,0,-4,0,0,0,0)
  TNT1 A 0 A_spawnitemex("MediCacoBrown2",0,0,4,0,0,0,0)
   BAL1 AB 6
   Goto Death
  Death:
   BAL1 A 1 A_SetTranslucent(0.1)
   Stop
 }
}

Actor MediCacoBrown2
{
  Radius 2
  Height 2
  Mass 7
  Speed 4
  Projectile
  +THRUACTORS
  Scale 0.45
  Renderstyle Add
  Alpha 0.33
  Translation "208:223=176:191", "224:231=176:176"
  States
  {
  Spawn:
   BAL1 AB 7
   Goto Death
  Death:
   BAL1 A 1 A_SetTranslucent(0.1)
   Stop
 }
}



ACTOR GrellBallBrown
{
	Radius 6
	Height 8
	Speed 15
	Damage 4
	scale 0.75
	Damagetype "Melee"
	Renderstyle Add
	Alpha 0.67
	Projectile
	DeathSound "grell/projhit"
	 Translation "0:255=%[0.31,0.23,0.18]:[1.10,0.74,0.40]"
  
	States
	{
	Spawn:
		ICEY AAABBBCCC 1 Bright A_SpawnItemEx("splash11",0,0,3,random(1,4),0,random(1,6),random(0,359),128,0)
		loop
	XDeath:
		TNT1 A 0 Bright A_RadiusGive("GrellSlowdown", 48, RGF_PLAYERS | RGF_CUBE, 1)
	Death:
		 RCHB CDE 4  Bright
		 	MISL CCC 0 Bright A_Spawnitemex("Gas14",random(-8,8),random(-8,8),random(-2,2),random(1,8),0,random(-6,20),random(-359,359),SXF_NOCHECKPOSITION)

		stop
	}
}
ACTOR GrellSlowdown : PowerSpeed
{
	+Inventory.AUTOACTIVATE
	-Inventory.INVBAR
	Powerup.Duration -1
	Speed 0.8
}
//ACTOR GrellSlowdown : PowerupGiver
//{
//	+Inventory.AUTOACTIVATE
//	-Inventory.INVBAR
//	Powerup.Type "Slow"
//}



Actor CyanCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("CH_Cyan") == 1, "First") 
TNT1 A 0 A_JumpIf(CallACS("CH_Cyan") == 3, "fifty") 
TNT1 A 0
Goto Third

fifty:
TNT1 A 0
TNT1 A 0 a_jump(128,"third")
TNT1 A 0

First:
TNT1 A 0 A_SpawnitemEx("Colourset7",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("cyanCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}




Actor CyanCaco2
{
 
  HitObituary "%o was icicled by cyan Cacodemon"
  Health 500
  Species "Caco"
  BloodColor "Blue"
  DamageFactor "Antiair", 3.0
  DamageFactor ice, 0.2
  DamageFactor Melee, 2.0
  DamageFactor Fire, 1.5
    DamageFactor "ice", 0.2
  DamageFactor "Melee", 2.0
  DamageFactor "Fire", 1.5
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  
        DamageFactor "PLWater", 0.25
  PainChance "PLWater", 2
   PainChance "ice", 2
  PainChance "Fire", 128
  PainChance "Melee",128
  PainThreshold 26
  
  Radius 31
  Height 56
  Mass 800
  Speed 24
  Floatspeed 24
  PainChance 110
  Monster
     +DONTHURTSPECIES
	+dontharmclass
    +Missilemore
    +NOGRAVITY
	+FLOAT
    +FLOATBOB
	+NOFEAR
	+noicedeath
	scale 0.8
  SeeSound "Cracko/See"
  PainSound "cracko/pain"
  DeathSound "caco/death"
   ActiveSound "monster/helact"
  DropItem "HealthBundle"
  DropItem "HealthBundle"
  DropItem "HealthBundle"
  DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
  Translation "0:255=%[0.00,0.00,2.00]:[1.01,2.00,2.00]"
  
  Tag "FrostBaller"
  States
  {
  Spawn:

    HELE A 10 A_Look
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
   
    HELE AAAAAA 3 a_chase
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HELE AAAAAA 3 A_Chase
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	TNT1 A 0 A_jump(128,"See2")
    Goto See
	
	  See:
   
    HELE AAAAA 2 a_fastchase
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HELE AAAAA 2 A_FastChase
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Goto See
	
	
  Melee:
  Missile:

    HELE EF 5 Bright A_Facetarget
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	TNT1 A 0 a_jump(128,"WaveIt")
    HELE G 3 Bright A_CustomMissile("BigIceCaco",28,0,0,0,0)
	HELE G 3 Bright A_CustomMissile("BigIceCaco",28,0,random(-10,10),0,0)
	HELE FE 8 Bright
	Goto See

WaveIt:
    HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,random(-15,10),0,0)
	HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,random(-10,5),0,0)
    HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,-5,0,0)
	HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,0,0,0)
	HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,5,0,0)
	HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,random(-5,10),0,0)
	HELE G 2 Bright A_CustomMissile("SmallIceCaco",24,0,random(15,-10),0,0)
	HELE FE 8 Bright
Goto see
  Pain:
    HELE H 3 
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE H 3 A_Pain
    HELE H 3 
    Goto Dodge
	
	Dodge:
	
	    HELE AAA 1 A_Wander
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH12",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		HELE AAA 2 A_FastChase
		HELE AAA 3 A_Wander
		HELE AAA 4 A_FastChase
    Goto See
	
  Death:
    HELE I 5 Bright A_Scream
    HELE JKL 5 Bright 
    HELE M 5 Bright A_NoBlocking
	TNT1 A 0 A_SpawnItemEx ("CH_Cirno", 0,0,24, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM| SXF_NOCHECKPOSITION,254)
    HELE M 0 Bright a_iceguydie
    
  
    HELE V -1 A_SetFloorClip
    Stop
  }
}


ACTOR BigIceCaco
{
  Game Doom
  Radius 12
  Height 12
  Speed 32
  scale 0.95
  Renderstyle "Add"
  Alpha 0.95
  Damage (random(8,40))
  DamageType "Ice"
  Projectile
  
  +dontharmclass
  SeeSound "imp/attack"
  DeathSound "Ice/Hit2"
  States
  {
  Spawn:
  TNT1 A 0
  Fly:
    CHCY ABCDFG 3 Bright a_spawnitemex("IceCacoTrail",cos(pitch)*1,0,0-(sin(pitch)*1),cos(pitch)*1,0,-sin(pitch)*1,SXF_NOCHECKPOSITION)

    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_scream
    TNT1 AAAAAAAA 0  a_spawnitemex("IceCacoTrail",0,0,1,random(12,40),0,random(-10,25),random(0,180))
	TNT1 AAAAAAAA 0  a_spawnitemex("IceCacoTrail",0,0,1,random(12,40),0,random(-10,25),random(180,359))
	
	PUFI ABCD 1 Bright  A_SetTranslucent(0.4)
	PUFI EFGH 1 Bright 
	
    
    Stop
  }
}




ACTOR SmallIceCaco
{
 
  Radius 3
  Height 2
  Speed 42
  Damage (random(8,21))
  DamageType Ice
  Projectile
  RenderStyle Add
  Alpha 0.75
  xScale 1.55
  yscale 0.25
  SeeSound "Ice/Hit2"
  DeathSound "spike/spiked"
  Decal "BulletChip"
  States
  {
  Spawn:
    ICEY A 3 Bright 
	ICEY B 3 Bright 
	ICEY C 3 Bright 
    Loop
  Death:
    ICEY FG 5 Bright
ICEY HI 5 Bright
    Stop
  }
}

Actor IceCacoTrail : SmallIceCaco
{
 Damage (random(2,16))
Alpha 0.5
xScale 1.75
yscale 0.65
States
{
  Spawn:
    ICEY A 3 Bright 
	ICEY B 3 Bright 
	ICEY C 3 Bright 
    
  Death:
    ICEY FG 3 Bright
    ICEY HI 3 Bright
    Stop

}
}


Actor BigBallCrev2 : SmallIceCaco
{
 Damage (random(1,8))
Alpha 0.5
xScale 2.5
yscale 0.85
States
{
  Spawn:
    ICEY A 3 Bright 
	ICEY B 3 Bright 
	ICEY C 3 Bright 
    Stop

}
}

Actor AbyssCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0 A_JumpIf(CallACS("CH_Abyssmal") == 1, "First") 
TNT1 A 0 A_JumpIf(CallACS("CH_Abyssmal") == 3, "fifty") 
TNT1 A 0
Goto Third
Fifty:

TNT1 A 0
TNT1 A 0 A_jump(128,"Third")
TNT1 A 0
Goto First
First:
TNT1 A 0 A_SpawnitemEx("PurpleCaco",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}


//  

ACTOR AbyssCaco2
{
	Health 1100
	Speed 20
	Floatspeed 15
	Radius 32
	Height 52
	PainChance 64
    BloodColor "Black"
	Species "Caco"
	Mass 100
    Meleedamage 12
	DamageFactor "Antiair", 3.0
	DamageFactor "DIMp", 0
	PainChance "DIMp", 0
	SeeSound "Cracko/See"
	ActiveSound "Caco/Active"
	PainSound "Cracko/Pain"
	DeathSound "Caco/Death"
    MeleeSound "Caco/Melee"
	Obituary "%o was met with deadly force from abyss caco"
    HitObituary "%o became abyss caco's snack"
	DropItem "CH_MegaSphere", 32
	DropItem "HealthBundle"
	DropItem "ArmorBundle"
	DropItem "CH_Cell"
	DropItem "CH_Cell"
	DropItem "CH_Cell",128
	DropItem "CH_Cell",128
	DropItem "CH_Berserk", 128
	Dropitem "CH_RocketAmmo"
		Dropitem "CH_RocketAmmo"
			Dropitem "CH_RocketAmmo",128
				Dropitem "CH_RocketAmmo",128
	MONSTER
    +DONTHURTSPECIES
	+dontharmclass
    +Missilemore
    +NOGRAVITY
	+FLOAT
    +FLOATBOB
	+NOFEAR
	Translation "192:207=0:0", "160:167=0:0", "224:231=0:0", "208:223=0:0", "248:249=0:0", "48:63=0:0", "16:31=0:0", "232:235=0:0", "64:79=0:0", "128:151=0:0", "112:127=0:0", "80:111=%[0.06,0.04,0.09]:[0.31,0.31,0.41]", "80:95=%[0.43,0.27,0.50]:[0.71,0.39,0.51]"

	Tag "Abyssmal Tomatoe quality"
   States 
   { 
   Spawn: 
      HED9 A 10 A_Look 
	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      Loop 
   See: 
      HED9 AA 2 A_Chase 
	  	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	  TNT1 A 0 A_Spawnitemex("SplashAbyss",random(-3,3),random(-3,3),random(5,32))

      Loop
   Melee:
      HED9 B 5 A_FaceTarget
	  	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 C 5 bright A_FaceTarget
      HED9 D 5 bright A_Meleeattack
	  HED9 B 1 A_SpawnItemEx("ZAP88",1,3,22,0,0,0,0, SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
	  HED9 B 1 A_SpawnItemEx("ZAP88",-3,6,22,0,0,0,0, SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
	  HED9 B 1 A_SpawnItemEx("ZAP88",4,-1,22,0,0,0,0, SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
	  HED9 B 1 A_SpawnItemEx("ZAP88",3,1,22,0,0,0,0, SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
      HED9 B 2 a_jump(88,"Missile")
   Goto See
   Missile: 
   
      HED9 A 0
	  	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	  HED9 B 1 A_radiusgive("SpeedBuffPE",800,RGF_MONSTERS,1)
	  
	  HED9 A 0 A_jumpifcloser(1000,"Choice")
	  HED9 A 0
	  Goto Hidious
	  
	  Choice:
	  HED9 A 0
      HED9 A 0 A_Jump(255,"Spam","Hidious")
	  Goto See
	  Spam:
      HED9 B 5 A_FaceTarget
      HED9 C 5 bright A_FaceTarget
      HED9 D 5 A_FaceTarget 
      HED9 B 0 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 0, 1)
      HED9 B 0 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -13, 1)
      HED9 B 5 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 13, 1)
	 HED9 B 5 A_checksight("See")
	       HED9 C 4 bright A_FaceTarget
      HED9 D 4 A_FaceTarget 
	  	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -13, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -10, 1)
      HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -7, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -4, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -1, 1)
      HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 2, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 5, 1)
	   HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 8, 1)
	    HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 11, 1)
			 HED9 B 5 A_checksight("See")
			 	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	       HED9 C 3 bright A_FaceTarget
      HED9 D 3 A_FaceTarget 
	        HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 13, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 10, 1)
      HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 7, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 4, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 1, 1)
      HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -2, 1)
	  HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -5, 1)
	   HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -8, 1)
	    HED9 B 1 bright A_CustomMissile("AbyssCacoBalls", 24, 0, -11, 1)
	 			 HED9 B 5 A_checksight("See")
				 	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	       HED9 C 2 bright A_FaceTarget
      HED9 D 2 A_FaceTarget
	  HED9 BBBBB 0 bright A_CustomMissile("AbyssCacoBalls", 24, random(-23,1), 0, 1)
      HED9 BBBBB 0 bright A_CustomMissile("AbyssCacoBalls", 24, 0, random(-1,23), 1)
      HED9 B 5 bright A_CustomMissile("AbyssCacoBalls", 24, 0, 0, 1)
	  
      Goto See 
	  Hidious:
	  TNT1 A 0
	  HED9 B 1 a_playsound("caco/sight",7,2,false,ATTN_NONE)
      HED9 B 12 bright A_FaceTarget
	  HED9 CCCC 4 bright  A_SpawnItemEx("ZAP88",16,random(-16,16),random(12,42),0,0,0,0, SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)

	  HED9 C 8 bright A_FaceTarget

      HED9 C 5 bright A_CustomMissile("AbyssCacoHidi", 24, 0, 0, 1)
      HED9 D 5 bright A_facetarget
      HED9 B 5 bright
      Goto See

   Pain: 
      HED9 E 3 
	  	  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH9",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 E 3 A_Pain 
	  HED9 E 3 bright A_radiusgive("health",800,RGF_MONSTERS,200)
      HED9 FFFFFFFF 1 a_wander
      Goto See 
 Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
      HED9 G 8 A_ChangeFlag(FLOATBOB,0)
      HED9 H 8 A_Scream 
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Spawnitemex("SplashAbyss",random(-8,8),random(-8,8),random(5,32),1,1,2,random(-359,359))
	  TNT1 AAAA 0 A_Spawnitemex("SplashAbyssBubbleDemon",random(-68,68),random(-68,68),random(5,32),1,1,3,random(-359,359),SXF_NOCHECKPOSITION)

      HED9 IJ 8
      HED9 K 8 A_NoBlocking 
      HED9 L -1 A_SetFloorClip
      Stop 
   Raise: 
      HED9 L 8 A_UnsetFloorClip
      HED9 KJIHG 8 
      Goto See 
   } 
} 

Actor AbyssCacoBalls
{
    Radius 8
	Species "caco"
    Height 6
    Speed 21
    Damage (random(5,55))
	DamageType Ice
    PROJECTILE
	+thruspecies
	    +DONTHURTSPECIES
	+dontharmclass
	scale 1.25
		RENDERSTYLE Translucent
	ALPHA 1.0
	SeeSound "Crack/see"
	DeathSound "Crack/death"
	Translation "Ice"
	States
	{
	Spawn:
	  TNT1 A 0
	  //TNT1 A 0  A_SpawnItemEx("AbyssCacoZap", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)
	  Fly:
	   BLL9 AAAABBBB 1 BRIGHT 
	   	    TNT1 A 0 BRIGHT A_SpawnItemEx("AbyssShotIdentifier", 0, 0, 0, random(1,7), 0, random(-5,5), random(0,359),SXF_TRANSFERTRANSLATION | SXF_NOCHECKPOSITION)

	   Loop
	Death:
	 TNT1 A 0
	  	  TNT1 AAAAAAAAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-32,32), random(-32,32), random(-16,16), 0, 0, 0, 0)
	 TNT1 A 0  a_killchildren(extreme)
	  BLL9 CDE 6 BRIGHT
	   Stop
	}
}


Actor AbyssCacoHidi
{
  Radius 4
  Height 3
  Speed 55
  Damage (random(30,95))
  Projectile
  +seekermissile
  +thruspecies
      +DONTHURTSPECIES
	+dontharmclass
  species "Caco"
  DamageType "Plasma"
  Renderstyle "Add"
  Alpha 0.95
  xScale 1.4
  yScale 0.35
  SeeSound "weapons/bigbrn"
  DeathSound "weapons/bigbrn"
   Translation  "0:255=%[0.02,0.02,0.03]:[0.29,0.49,0.65]"
  States
  {
  Spawn:
    FRFX A 1 Bright A_Seekermissile(2,2) 
    TNT1 AAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-12,12), random(-12,12), random(-1,1), 0, 0, 0, 0)
 	    TNT1 A 0 BRIGHT A_SpawnItemEx("AbyssShotIdentifier", 0, 0, 0, random(1,7), 0, random(-5,5), random(0,359),SXF_TRANSFERTRANSLATION | SXF_NOCHECKPOSITION)

    FRFX B 1 Bright  A_Weave(3,1,5,0)
			  	  TNT1 AAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-12,12), random(-12,12), random(-1,1), 0, 0, 0, 0)

	FRFX C 1 Bright A_Seekermissile(2,2) 
			  	  TNT1 AAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-12,12), random(-12,12), random(-1,1), 0, 0, 0, 0)
	    TNT1 A 0 BRIGHT A_SpawnItemEx("AbyssShotIdentifier", 0, 0, 0, random(1,7), 0, random(-5,5), random(0,359),SXF_TRANSFERTRANSLATION | SXF_NOCHECKPOSITION)

    FRFX D 1 Bright  A_Weave(3,1,5,0)
			  	  TNT1 AAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-12,12), random(-12,12), random(-1,1), 0, 0, 0, 0)

	
    loop
  Death:
    TNT1 AAAAAAAAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-64,64), random(-64,64), random(-32,32), 0, 0, 0, 0)
	TNT1 A 0 A_setscale(1.5,1.5)
    FRFX HIJ 2 Bright A_Explode(random(4,10),88)
	    TNT1 AAAAAAAAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-64,64), random(-64,64), random(-32,32), 0, 0, 0, 0)

    FRFX KLM 2 Bright A_Explode(random(4,12),128)
	    TNT1 AAAAAAAAA 0  A_SpawnItemEx("AbyssCacoZap2", random(-64,64), random(-64,64), random(-32,32), 0, 0, 0, 0)

    FRFX NO 2 Bright
    Stop
  }
}

Actor AbyssCacoZap
{
    Radius 2
	Species "caco"
    Height 2
    Speed 4
	species "Caco"
    Damage (random(1,5))
	DamageType "Plasma"
    PROJECTILE
	+ripper
	+thruspecies
	    +DONTHURTSPECIES
	+dontharmclass
	RENDERSTYLE ADD
	ALPHA 1.75
	Translation "Ice"
	States
	{
	Spawn:
	  Fly:
	   LITN ABCDEFGOP 2 Bright a_warp(AAPTR_MASTER,random(-2,2),random(-2,2),random(-2,2),0,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
	   Loop
	Death:
	     TNT1 A 6
	   Stop
	}
}

    Actor AbyssCacoZap2
{
    Radius 2
	Species "caco"
    Height 2
    Speed 2
	species "Caco"
    Damage (random(1,5))
	DamageType "Plasma"
	
    PROJECTILE
	    +DONTHURTSPECIES
	+dontharmclass
	+thruspecies
	RENDERSTYLE ADD
	ALPHA 1.75
	Translation "Ice"
	States
	{
	Spawn:
	  Death:
	   LITN ABCDEFGOP 2 Bright	A_explode(random(1,4),64,0)
	   Stop
	}
}



Actor FireBluCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0 A_JumpIf(CallACS("CH_FireBLUES") == 1, "First") 
TNT1 A 0
Goto Third
First:
TNT1 A 0 A_SpawnitemEx("YellowCaco",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("FireBluCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}

Actor GrayCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0 A_JumpIf(CallACS("CH_Grayscale") == 1, "First") 
TNT1 A 0
Goto Third
First:
TNT1 A 0 A_SpawnitemEx("PurpleCaco",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("GrayCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}

ACTOR GrayCaco2 : Cacodemon
{
  Game Doom
  Health 650
  GibHealth 60
  BloodColor "White"
  Species "Caco"
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  Radius 31
  Height 56
  Mass 500
  Speed 9
  PainChance 90
  Damage 5
  Monster
  +Missilemore
  +FLOAT
  +NOGRAVITY
  +dontharmspecies
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  DropItem "HealthBundle"
  DropItem "CH_Cell", 72
  DropItem "CH_Cell", 72
  DropItem "CH_Cell", 72
  Obituary "%o was stone cold cacod"
  HitObituary "%o got rolled over like a stone and moss" 
  Translation   "32:47=96:111", "176:186=94:103", "189:191=236:239", "187:188=236:237", "16:31=95:97", "168:175=85:87", "112:127=0:2", "192:207=0:0", "240:247=0:0", "224:231=0:0", "160:167=0:0", "248:249=0:0", "208:223=0:0", "0:0=0:0"
  Var int User_nodash3;
  Tag "Stone Cold Cacodemon"
  States
  {
  Spawn:
    HEAD A 10 A_Look
		  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH8",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
			  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH8",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  Missile:
    HEAD BC 5 A_FaceTarget
			  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH8",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HEAD C 0 A_JumpIfCloser(900,"Rusher1")
	HEAD C 0 A_setuservar("User_nodash3",User_nodash3-5)
	HEAD C 0 A_Jump(255, "Woosh")
	Goto See
  Rusher1:
    HEAD C 0
	HEAD C 0 A_JumpIf(User_nodash3>=13,"Woosh")
	HEAD C 0 A_setuservar("User_nodash3",User_nodash3+2)
    HEAD C 2 A_Skullattack(50)
	Goto Melee
  Woosh:
    HEAD D 3 Bright A_FaceTarget
    HEAD D 5 Bright A_Custommissile("CacoRockBreath",32,0,random(-1,1))
	HEAD D 4 Bright A_Custommissile("CacoRockBreath",32,0,random(-3,3))
	HEAD D 3 Bright A_Custommissile("CacoRockBreath",32,0,random(-5,5))
	HEAD D 2 Bright A_Custommissile("CacoRockBreath",32,0,random(-8,8))
	HEAD D 1 Bright A_Custommissile("CacoRockBreath",32,0,random(-11,11))
	HEAD D 0 A_setuservar("User_nodash3",User_nodash3-2)
	HEAD D 0
    Goto See
  Melee:
    HEAD BC 8 A_FaceTarget
			  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH8",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HEAD D 7 A_Custommeleeattack(random(5,50),"bite/bite4")
	HEAD D 4 A_stop
	HEAD D 0 A_CheckSight("See")
	Goto Rusher1
	
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
	TNT1 A 0 A_die
	Stop
	
  Pain:
    HEAD E 3
			  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH8",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See

Death:


    TNT1 AAAAAAAAAAAAAAAAAAAA 0  A_Custommissile("WDRock4",32,0,random(-359,359))
	CACO A 4 A_XScream
    CACO B 4 A_NoBlocking
    CACO C 4
    CACO D 4
    CACO E 4  A_SetFloorClip
	CACO EEE 5 A_fadeout(0.33)
    Stop

  }
}

Actor CacoRockBreath : WDRock3  
{
Damage (Random(15,50))
}

ACTOR FireBluCaco2
{
  Game Doom
  Health 800
  GibHealth 58
  Species "Caco"
  BloodColor "Blue"
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  Radius 31
  Height 56
  Mass 400
  Speed 13
  PainChance 110
  Monster
  +FLOAT
  +NOGRAVITY
  +dontharmspecies
  +Missileevenmore
  +Missilemore
  +Dontharmclass
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  DropItem "HealthBundle"
  DropItem "HealthBundle"
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
    DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
  DropItem "CH_BlueArmor", 64
  Obituary "%o was petted by fireblu cacodemon"
  Translation "16:31=197:207", "32:43=240:247", "167:167=207:207", "127:127=247:247", "124:126=46:47", "121:123=181:184", "118:120=178:180", "115:117=174:176", "112:114=168:168", "106:111=240:247", "98:105=202:207", "96:97=200:202", "91:95=179:184", "85:90=174:181", "80:85=171:177", "0:0=0:0"
  Tag "One Ugly Tomatoe"
  States
  {
  Spawn:
    HEAD A 10 A_Look
			  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH7",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
				  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH7",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  Missile:
    HEAD BC 5 A_FaceTarget
				  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH7",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD D 5 Bright A_Custommissile("FireBluCacoBall",32,0,random(-5,5))
    Goto See
	
		
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
	TNT1 A 0 A_die
	Stop
	
	
  Pain:
    HEAD E 3
				  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH7",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0, SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
    HEAD G 8
    HEAD H 8 A_Scream
    HEAD IJ 8
    HEAD K 8 A_NoBlocking
    HEAD L -1 A_SetFloorClip
    Stop
  XDeath:
    CACO A 7 A_XScream
    CACO B 7 A_NoBlocking
    CACO C 7
    CACO D 7
    CACO E -1  A_SetFloorClip
    Stop
  Raise:
    HEAD L 5 A_JumpIfInventory("GrowRaisin",1,"Grow")
    HEAD KJIHG 5
    Goto See
  Grow:
    HEAD KJIHG 5
    HEAD A 0 A_Spawnitemex("PurpleCaco",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 a_die
	Stop
  }
}

ACTOR FireBluCacoBall
{
  Game Doom
  Radius 12
  Height 18
  Speed 16
  Damage (random(5,40))
  DamageType "Plasma"
  Projectile
  +BOUNCEONWALLS
  Bouncetype "Hexen"
  WallBounceFactor 0.9
  BounceFactor 0.9
  Bouncecount 4
  Bouncesound "Bomb/bounce"
  RenderStyle Add
  Alpha 0.45
  Scale 1.5
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Translation "208:223=195:207", "225:231=192:195"
  States
  {
  Spawn:
    BAL1 AB 4 Bright A_Spawnitemex("FireBluCacoBall2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	BAL1 A 0 A_Jump(32,"WOM")
    Loop
	WOM:
	BAL1 BCD 0 A_stop
	BAL1 BCD 0 a_setangle(angle + random(-60,60))
	BAL1 BCD 0 ThrustThing(angle*256/360, 8,0,0)
	Goto Spawn
  Death:
    BAL1 CDE 6 Bright A_Explode(random(5,15),128)
    Stop
  }
}

ACTOR FireBluCacoBall2
{
  Game Doom
  Radius 12
  Height 16
  Speed 1
  Damage (random(5,23))
  DamageType "Fire"
  Projectile
  +RANDOMIZE
  +thruactors
  RenderStyle Add
  Alpha 0.85
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Translation "161:161=200:200", "160:160=177:177", "162:162=184:184", "163:163=204:204", "164:164=186:186", "165:165=204:204", "166:166=189:189", "167:167=207:207"
  States
  {
  Spawn:
    FIRE AB 1 Bright 
    Goto Death
  Death:
    FIRE CDEEDCDE 5 A_Explode(random(3,10),64)
    FIRE FGH 4 Bright A_Explode(random(3,10),64)
    Stop
  }
}


ACTOR CacodemonBall2 replaces Cacodemonball
{
  Radius 6
  Height 8
  Speed 10
  FastSpeed 20
  Damage 5
  DamageType "Plasma"
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 1
  SeeSound "caco/attack"
  DeathSound "caco/shotx"
  States
  {
  Spawn:
    BAL2 AB 4 Bright
    Loop
  Death:
    BAL2 CDE 6 Bright
   Stop
  }
}

Actor CommonCaco : Cacodemon
{
Species "Caco"
BloodColor "Blue"
DamageFactor "Antiair", 3.0
DamageFactor "DIMp", 0
PainChance "DIMp", 0
GibHealth 58
Meleethreshold 80
Tag "Cacodemon"
States
  {
  
    Spawn:
    HEAD A 10 A_Look
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
    Pain:
    HEAD E 3
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See
  Missile:
    HEAD BC 5 A_FaceTarget
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD D 5 Bright A_CustomComboAttack("CacodemonBall", 32, 10 * random(1, 6),"Bite/bite4")
	Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
    HEAD G 8
    HEAD H 8 A_Scream
    HEAD IJ 8
    HEAD K 8 A_NoBlocking
    HEAD L -1 A_SetFloorClip
    Stop
  XDeath:
    		 TNT1 AAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO A 7 A_XScream
    CACO B 7 A_NoBlocking
    CACO C 7
    CACO D 7
			 TNT1 A 0 A_SpawnItemEx ("CHGore_Gib11", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO E -1  A_SetFloorClip
  Stop
  
  	
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
  
  Raise:
    HEAD L 5 A_JumpIfInventory("GrowRaisin",1,"Grow")
    HEAD KJIHG 5
    Goto See
  Grow:
    HEAD KJIHG 5
    HEAD A 0 A_Spawnitemex("GreenCaco",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 a_die
	Stop
  }
}




ACTOR GreenCaco : Cacodemon
{
  Game Doom
  Health 450
  GibHealth 58
  Species "Caco"
  BloodColor "Blue"
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  Radius 31
  Height 56
  Mass 400
  Speed 8
  PainChance 110
  Monster
  +FLOAT
  +NOGRAVITY
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  DropItem "HealthBonus"
  DropItem "HealthBonus", 128
  DropItem "HealthBonus", 128
  Obituary "%o fell to green caco's spit"
  HitObituary "%o got green chomp'd" 
  Translation "171:191=112:127", "16:31=152:159", "32:47=125:127", "167:167=127:127", "223:223=247:247"
  Tag "Green Cacodemon"
  States
  {
  Spawn:
    HEAD A 10 A_Look
	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH2",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH2",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
	
		
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
	
  Missile:
    HEAD BC 5 A_FaceTarget
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH2",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD D 5 Bright A_Custommissile("Cacospit1",32,0,random(-1,1))
    Goto See
  Melee:
  	TNT1 A 0 A_SpawnitemEx("ColorTierIconCH2",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD BC 8 A_FaceTarget
	HEAD D 7 A_Custommeleeattack(random(5,50),"bite/bite4")
	Goto See
  Pain:
    HEAD E 3
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH2",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
    HEAD G 8
    HEAD H 8 A_Scream
    HEAD IJ 8
    HEAD K 8 A_NoBlocking
    HEAD L -1 A_SetFloorClip
    Stop
  XDeath:
    		 TNT1 AAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO A 7 A_XScream
    CACO B 7 A_NoBlocking
				 TNT1 A 0 A_SpawnItemEx ("CHGore_Gib11", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO C 7
    CACO D 7
    CACO E -1 a_SetFloorClip
    Stop
  Raise:
    HEAD L 5 A_JumpIfInventory("GrowRaisin",1,"Grow")
    HEAD KJIHG 5
    Goto See
  Grow:
    HEAD KJIHG 5
    HEAD A 0 A_Spawnitemex("BlueCaco",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 a_die
	Stop
  }
}


ACTOR Cacospit1
{
  Game Doom
  Radius 6
  Height 16
  Speed 17
  FastSpeed 20
  Damage (Random(10,45))
  DamageType "Plasma"
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.65
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Decal "BaronScorch"
  States
  {
  Spawn:
    BAL7 AB 4 Bright A_Spawnitemex("trail12",0,0,3)
    Loop
  Death:
    BAL7 CDE 6 Bright
    Stop
  }
}


ACTOR BlueCaco : Cacodemon
{
  Game Doom
  Health 480
  GibHealth 58
  Species "Caco"
  Radius 31
  Height 56
  Mass 450
  Speed 10
  PainChance 100
  BloodColor "Blue"
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  Monster
  +Missilemore
  +FLOAT
  +NOGRAVITY
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  DropItem "HealthBundle", 128
  DropItem "HealthBundle", 74
  DropItem "HealthBundle", 32
  DropItem "HealthBundle", 12
  Obituary "%o met the big blue head"
  HitObituary "%o was nommed up by Blue Caco" 
  Translation "171:191=192:207", "16:31=200:207", "32:47=244:247", "167:167=247:247", "223:223=247:247"
 Tag "Blue Cacodemon"
 States
  {
  Spawn:
    HEAD A 10 A_Look
		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH3",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH3",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  Missile:
    HEAD BC 8 A_FaceTarget
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH3",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD D 7 Bright A_Custommissile("CacoFire2",32,0,random(-1,1))
	HEAD D 5 Bright A_Custommissile("CacoFire2",32,0,random(-3,3))
	HEAD D 4 Bright A_Custommissile("CacoFire2",32,0,random(-5,5))
	HEAD D 2 Bright A_Custommissile("CacoFire2",32,0,random(-4,4))
    Goto See
  Melee:
  		TNT1 A 0 A_SpawnitemEx("ColorTierIconCH3",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD BC 8 A_FaceTarget
	HEAD D 7 A_Custommeleeattack(random(5,50),"bite/bite4")
	Goto See
	
		
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
	
  Pain:
    HEAD E 3
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH3",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
    HEAD G 8
    HEAD H 8 A_Scream
    HEAD IJ 8
    HEAD K 8 A_NoBlocking
    HEAD L -1 A_SetFloorClip
    Stop
  XDeath:
    		 TNT1 AAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO A 7 A_XScream
    CACO B 7 A_NoBlocking
				 TNT1 A 0 A_SpawnItemEx ("CHGore_Gib11", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO C 7
    CACO D 7
			 CACO E -1 A_SetFloorClip
    Stop
  Raise:
    HEAD L 5 A_JumpIfInventory("GrowRaisin",1,"Grow")
    HEAD KJIHG 5
    Goto See
  Grow:
    HEAD KJIHG 5
    HEAD A 0 A_Spawnitemex("PurpleCaco",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 a_die
	Stop
  }
}


ACTOR CacoFire2
{
  Game Doom
  Radius 12
  Height 12
  Speed 18
  Damage (random(6,35))
  DamageType "Plasma"
  Projectile
  RenderStyle Add
  Alpha 0.73
  Scale 0.7
  SeeSound "holy3/holy3"
  DeathSound "holy2/holy2"
  States
  {
  Spawn:
    SSBL ABCDEFGH 3 Bright
    Loop
  Death:
    SSBL K 6 Bright A_SetScale(0.5)
    SSBL I 6 Bright A_Setscale(0.7)
	SSBL K 6 Bright A_SetScale(0.5)
	SSBL J 6 Bright A_SetScale(1)
    Stop
  }
}

ACTOR PurpleCaco : Cacodemon
{
  Game Doom
  Health 528
  GibHealth 60
  BloodColor "Blue"
  Species "Caco"
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  Radius 31
  Height 56
  Mass 500
  Speed 11
  PainChance 90
  Damage 3
  Monster
  +Missilemore
  +FLOAT
  +NOGRAVITY
  +dontharmspecies
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  DropItem "HealthBundle", 128
  DropItem "HealthBonus"
  DropItem "CH_Cell", 64
  Obituary "%o turned quite purple themselves"
  HitObituary "%o got too close to Purple Caco" 
  Translation "171:191=250:254", "16:31=250:254", "32:47=254:254", "167:167=247:247", "223:223=247:247", "112:127=160:167" //"168:191=[248,160,250]:[158,27,155]", "32:47=[194,20,164]:[60,23,30]", "144:151=[209,79,227]:[130,47,90]", "255:255=254:254", "13:15=254:254", "0:0=247:247", "194:207=174:191"
  Var int User_nodash3;
  Tag "Purple Cacodemon"
  States
  {
  Spawn:
    HEAD A 10 A_Look
			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH4",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HEAD A 3 A_Chase
				TNT1 A 0 A_SpawnitemEx("ColorTierIconCH4",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  Missile:
    HEAD BC 5 A_FaceTarget
				TNT1 A 0 A_SpawnitemEx("ColorTierIconCH4",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HEAD C 0 A_JumpIfCloser(300,"Rusher1")
	HEAD C 0 A_setuservar("User_nodash3",User_nodash3-3)
	HEAD C 0 A_Jump(255, "Woosh")
	Goto See
	
		
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
	
  Rusher1:
    HEAD C 0
	HEAD C 0 A_JumpIf(User_nodash3>=11,"Woosh")
	HEAD C 0 A_setuservar("User_nodash3",User_nodash3+5)
    HEAD C 2 A_Skullattack(25)
	Goto Melee
  Woosh:
    HEAD D 0 Bright A_FaceTarget
    HEAD D 5 Bright A_Custommissile("CacoFire3",32,0,random(-1,1))
	HEAD D 0 Bright A_Custommissile("CacoFire4",32,0,8)
	HEAD D 0 Bright A_Custommissile("CacoFire4",32,0,-8)
	HEAD D 0 A_setuservar("User_nodash3",User_nodash3-2)
	HEAD D 0
    Goto See
  Melee:
  			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH4",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD BC 8 A_FaceTarget
	HEAD D 7 A_Custommeleeattack(random(5,50),"bite/bite4")
	Goto See
  Pain:
    HEAD E 3
				TNT1 A 0 A_SpawnitemEx("ColorTierIconCH4",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HEAD E 3 A_Pain
    HEAD F 6
    Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
    HEAD G 8
    HEAD H 8 A_Scream
    HEAD IJ 8
    HEAD K 8 A_NoBlocking
    HEAD L -1 A_SetFloorClip
    Stop
  XDeath:
    		 TNT1 AAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO A 7 A_XScream
    CACO B 7 A_NoBlocking
    CACO C 7
    CACO D 7
			 TNT1 A 0 A_SpawnItemEx ("CHGore_Gib11", 0,0,32, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
    CACO E -1  A_SetFloorClip
    Stop
  Raise:
    HEAD L 8 A_UnSetFloorClip
    HEAD KJIHG 8
    Goto See
  }
}


ACTOR Cacofire3
{
  Game Doom
  Radius 6
  Height 8
  Speed 15
  FastSpeed 28
  Damage (Random(10,50))
  DamageType "Fire"
  Projectile
  +RANDOMIZE
  +SEEKERMISSILE
  RenderStyle Add
  Alpha 1
  SeeSound "caco/attack"
  DeathSound "caco/shotx"
  States
  {
  Spawn:
    SBS4 ABC 6 Bright A_Seekermissile(4,4)
    Loop
  Death:
    BAL2 C 0 A_Jump(32,"Oh")
    BAL2 CDE 6 Bright 
   Stop
   Oh:
   BAL2 C 3 Bright A_SetScale(1.3,1.3)
   BAL2 CC 2 Bright A_Explode(random(8,32),64)
      BAL2 D 3 Bright A_SetScale(1.6,1.6)
   BAL2 DD 2 Bright A_Explode(random(12,44),82)
      BAL2 E 3 Bright A_SetScale(2,2)
   BAL2 EE 2 Bright A_Explode(random(16,64),112)
   stop
  }
}

ACTOR Cacofire4
{
  Game Doom
  Radius 4
  Height 6
  Speed 16
  FastSpeed 29
  Damage (Random(5,25))
  DamageType "Fire"
  Projectile
  +RANDOMIZE
  +SEEKERMISSILE
  RenderStyle Add
  Alpha 1
  Scale 0.5
  SeeSound "caco/attack"
  DeathSound "caco/shotx"
  States
  {
  Spawn:
    SBS4 ABC 6 Bright A_Seekermissile(6,6)
    Loop
  Death:
    BAL2 CDE 6 Bright
   Stop
  }
}

ACTOR YellowCaco : Cacodemon
{
	Health 720
	Speed 12
	Radius 31
	Height 56
	PainChance 80
	Mass 500
    BloodColor "Yellow"
	DamageFactor "Antiair", 3.0
	DamageFactor "DIMp", 0
	PainChance "DIMp", 0
    Species "Caco"
	SeeSound "CacoLich/Sight"
	ActiveSound "CacoLich/Active"
	PainSound "CacoLich/Pain"
	DeathSound "CacoLich/Death"
	Obituary "Look, %o !, its a bird! its a plane! no, its Orange Cacodemon!"
	DropItem "CH_MegaSphere", 12
	DropItem "HealthBundle", 146
	DropItem "ArmorBundle", 64
	MONSTER
	+Dontharmspecies
	+Dontharmclass
	-NORADIUSDMG
	+missilemore
    +NOGRAVITY
	+FLOAT
	+NOFEAR
	Translation "112:127=160:167"
	Var Int User_VoidField;
	Tag "Yellow Cacolich"
	States
	{
	Spawn:
       CALI A 1 A_Look
	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH5",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	   Loop
	See:
	   CALI A 0 A_SetTranslucent(1)
	   CALI A 4 A_Chase
	   	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH5",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

         Loop
		 
		 	
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
		 
    Dodge1:
	     CALI A 5 ThrustThing(angle*256/360+64, 20, 0, 0)
		 Goto See
	Dodge2:
	     CALI A 5 ThrustThing(angle*256/360+192, 20, 0, 0)
		 Goto See	 
      Missile:
         CALI B 6 A_FaceTarget
		 	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH5",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		 CALI B 0 A_JumpIf(User_VoidField == 0, "VoidField")
		 CALI B 0 A_JumpIfCloser(1000, "SpitFlame")
		 CALI B 0 A_Jump(255,"SeekAndKill")
		 Goto See
	  SpitFlame:
	     CALI DEF 8 Bright A_FaceTarget
         CALI G 6 A_CustomMissile("SpitFireCaco", 35, 0, random(-3,3))
         CALI FED 6 A_FaceTarget
         CALI E 1 A_JumpIfTargetInLOS("Refireyes") 
         Goto See	
	  RefireYes:
	     CALI F 1 A_Jump(176,"SpitFlame")
		 Goto See
	  SeekAndKill:
	     CALI A 5 A_SetTranslucent(0.3)
		 CALI A 5 //A_SetSpeed(42)
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI A 5 A_SetTranslucent(0.1)
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI A 5 A_SetTranslucent(0.3)
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AAA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI AA 0 A_Wander
		 CALI A 2 A_Wander
		 CALI A 5 //A_SetSpeed(12)
		 CALI A 2 A_JumpIfCloser(1000, "See")
		 CALI A 2 A_Jump(12,"See")
		 Loop
      Melee:
	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH5",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

         CALI EF 7 A_FaceTarget
         CALI G 6 A_Custommeleeattack(random(5,64),"bite/bite4")
		 CALI FE 6
         Goto See
	  VoidField:
	     CALI EF 8 Bright
		 CALI G 6 A_SpawnItemEx("VoidField",random(-180,180),random(-180,180),random(1,32),0,0,0,SXF_NOCHECKPOSITION)
		 CALI G 0 A_SpawnItemEx("VoidField",random(-280,280),random(-280,280),random(-16,32),0,0,0,SXF_NOCHECKPOSITION)
		 CALI G 0 A_SpawnItemEx("VoidField",random(-280,280),random(-280,280),random(-16,32),0,0,0,SXF_NOCHECKPOSITION)
		 CALI G 0 A_SpawnItemEx("VoidField",random(-380,380),random(-380,380),random(-32,32),0,0,0,SXF_NOCHECKPOSITION)
		 CALI G 0 A_SpawnItemEx("VoidField",random(-380,380),random(-380,380),random(-32,32),0,0,0,SXF_NOCHECKPOSITION)
		 CALI FE 6 A_SetUserVar("User_VoidField", User_VoidField+1)
		 Goto Missile
	Pain:
	     CALI H 0 //A_SetSpeed(12)
	     CALI H 0 A_SetTranslucent(1)
		 	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH5",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

         CALI H 3 A_SetUserVar("User_VoidField", User_VoidField==0)
         CALI I 6 A_Pain
		 CALI I 0 A_Jump(128, "Dodge1","Dodge2")
         Goto See
Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
         CALI J 0
         CALI J 0 A_SetFloorClip
         CALI J 6 A_Scream
         CALI KLMN 6
         Wait
      Crash:
         CALI OP 6 
         CALI Q 6 A_NoBlocking
         CALI R 6
         CALI S -1
         Stop
	}
}


Actor SpitFireCaco
{
  Game doom
  Radius 6
  Height 6
  Speed 20
  Damage (Random(10,65))
  DamageType "Fire"
  Projectile
  +VISIBILITYPULSE
  +BOUNCEONWALLS
  Renderstyle Add
  Seesound "CacoFlame/Attack"
  DeathSound "Fire/fire5"
  WallBounceFactor 0.8
  BounceCount 8
  BounceType Doom
  Alpha 0.9
  Scale 0.7
  States
  {
  Spawn: 
    FLUM ABCDE 6 Bright 
	Loop
  Death: 
    BBOM ABC  2 Bright A_setScale(0.6)
	BBOM DEFG 3 Bright A_Explode(random(5,15),64)
	Stop
  }
}




ACTOR VoidField
{
  Game Doom
  Radius 46
  Height 46
  Health 6666
  Species "Caco"
  Speed 0
  FastSpeed 0
  Damage 0
  Monster
  +INVULNERABLE
  +DONTHARMSPECIES
  +Dontharmclass
  +REFLECTIVE
  +NOTARGET
  +NOGRAVITY
  -CountKill
  -Solid
  -CANPUSHWALLS
  -CANUSEWALLS
  -ACTIVATEMCROSS
  RenderStyle Add
  Damagetype "DIMp"
  Alpha 0.75
  Scale 1.5
  SeeSound "spell/spellcast1"
  DeathSound "spell/Impact1"
  States
  {
  Spawn:
    BBOM B 1 Bright A_SetScale(1.5)
    BBOM B 1 Bright A_SetScale(1.3)
    BBOM B 1 Bright A_Explode(5,64)
	BBOM B 1 Bright A_SetScale(1.0)
	BBOM B 1 Bright A_Jump(2,"Death")
	Goto Spawn+1
  Death:
    BBOM B 3 Bright A_SetScale(1.3)
	BBOM B 3 Bright A_SetScale(1.0)
	BBOM B 3 Bright A_SetScale(0.7)
	BBOM B 3 Bright A_SetScale(0.3)
	Stop
	}
}


ACTOR RedCaco
{
	Health 830
	Speed 14
	Floatspeed 15
	Radius 32
	Height 52
	PainChance 64
    BloodColor "FF 00 00"
	Species "Caco"
	Mass 1000
    Meleedamage 10
	DamageFactor "Antiair", 3.0
	DamageFactor "DIMp", 0
	PainChance "DIMp", 0
	SeeSound "Cracko/See"
	ActiveSound "Caco/Active"
	PainSound "Cracko/Pain"
	DeathSound "Caco/Death"
    MeleeSound "Caco/Melee"
	Obituary "%o got bloodrocuted by Red Caco"
    HitObituary "%o was eaten by Red Caco"
	DropItem "CH_MegaSphere", 10
	DropItem "HealthBundle", 162
	DropItem "ArmorBundle", 88
	DropItem "CH_Cell",128
	DropItem "CH_Cell",128
	DropItem "CH_Berserk", 82
	MONSTER
    +DONTHURTSPECIES
    +Missilemore
    +NOGRAVITY
	+FLOAT
    +FLOATBOB
	+NOFEAR
	Translation "106:111=181:191", "192:207=0:0"
	Var Int User_Tick2;
	Tag "Red Cacodemon"
   States 
   { 
   Spawn: 
      HED9 A 10 A_Look 
	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      Loop 
   See: 
      HED9 A 3 A_Chase 
	  	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      Loop
   Melee:
      HED9 B 5 A_FaceTarget
	  	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 C 5 bright A_FaceTarget
      HED9 D 5 bright A_Meleeattack
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",1,3,22,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",-3,6,22,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",4,-1,22,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",3,1,22,0,0,0,0, SXF_NOCHECKPOSITION)
      HED9 B 2
   Goto See
   Missile: 
   	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 A 0 A_Jump(255,"Spam","Sludgebomb")
	  Goto See
	  Spam:
      HED9 B 5 A_FaceTarget
      HED9 C 5 bright A_FaceTarget
      HED9 D 5 A_FaceTarget 
      HED9 B 0 bright A_CustomMissile("CrackodemonBall", 24, 0, 0, 1)
      HED9 B 0 bright A_CustomMissile("CrackodemonBall", 24, 0, -8, 1)
      HED9 B 5 bright A_CustomMissile("CrackodemonBall", 24, 0, 8, 1)
	  HED9 B 0 A_Jump(128,"MoreSpam")
      Goto See 
	  SludgeBomb:
      HED9 B 12 A_FaceTarget
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",1,3,32,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",-3,6,32,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",4,-1,32,0,0,0,0, SXF_NOCHECKPOSITION)
	  HED9 B 1 A_SpawnItemEx("RedThingsLS",3,1,32,0,0,0,0, SXF_NOCHECKPOSITION)
      HED9 C 5 bright A_CustomMissile("SBombCaco", 24, 0, 0, 1)
      HED9 D 5 bright A_facetarget
      HED9 B 5 bright
      Goto See
	  
	  	
		   	 			Pain.AbyssPE:
		TNT1 A 0
		TNT1 A 0 A_changeflag("Nopain",true)
	TNT1 A 0 A_setscale(0.8,0.8)
	AYPB AAB 5 bright
	AYPB B 5 bright a_playsound("AbyssForm",0)
	AYPB BBA 5 bright
	AYPB CDE 5 bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),16,0,3,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnitemEx("SplashAbyss",random(-16,16),random(-16,16),random(4,32),12,0,8,random(-359,359),SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)

	TNT1 A 0 A_SpawnitemEx("AbyssCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
	AYPB FGH 3 bright
	AYPB I 5 bright a_setscale(1,0.75)
	AYPB H 5 bright a_setscale(1,0.5)
	AYPB I 5 bright a_setscale(1,0.25)
	AYPB H 5 bright a_setscale(1,0.05)
		TNT1 A 0 A_die
	Stop
	
	  
	  MoreSpam:
      HED9 B 5 A_FaceTarget
      HED9 C 2 bright A_CustomMissile("CrackodemonBall", 24, 0, 16, 1)
      HED9 C 2 bright A_CustomMissile("CrackodemonBall", 24, 0, 12, 1)
      HED9 B 0 A_FaceTarget
      HED9 C 2 bright A_CustomMissile("CrackodemonBall", 24, 0, 8, 1)
      HED9 C 2 bright A_CustomMissile("CrackodemonBall", 24, 0, 4, 1)
      HED9 B 0 A_FaceTarget
      HED9 D 2 bright A_CustomMissile("CrackodemonBall", 24, 0, 0, 1)
      HED9 D 2 bright A_CustomMissile("CrackodemonBall", 24, 0, -4, 1)
	  	  	   			TNT1 AA 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 B 0 A_FaceTarget
      HED9 D 2 bright A_CustomMissile("CrackodemonBall", 24, 0, -8, 1)
      HED9 D 2 bright A_CustomMissile("CrackodemonBall", 24, 0, -12, 1)
      HED9 B 0 A_FaceTarget
      HED9 B 2 bright A_CustomMissile("CrackodemonBall", 24, 0, -16, 1)
      HED9 B 4 bright
	  HED9 B 1 bright A_MonsterRefire(24, "See")
      Goto Spam
   Pain: 
      HED9 E 3 A_JumpIf(User_Tick2>= 5, "ThatsIt")
	  	  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH6",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

      HED9 E 3 A_Pain 
      HED9 F 6 A_SetUserVar("User_Tick2",User_Tick2+1)
      Goto See 
   ThatsIt:
      HED9 D 4 A_PlaySound("Cracko/See")
      HED9 D 4 A_ChangeFlag("NOPAIN",TRUE)
	  HED9 D 4 A_Custommissile("EFFECTHK",32,0)
	  HED9 D 4 //A_SetSpeed(34)
	  HED9 D 4 A_ChangeFlag("MissileevenMore", TRUE)
	  HED9 D 8
	  Goto See
 Tickles:
TNT1 A 0 A_Spawnitemex("ThePlanBoner",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
Goto Death+1
Death:
TNT1 A 0 A_JumpIfInventory("CHBoner", 1, "Tickles")
      HED9 G 8 A_ChangeFlag(FLOATBOB,0)
      HED9 H 8 A_Scream 
      HED9 IJ 8
      HED9 K 8 A_NoBlocking 
      HED9 L -1 A_SetFloorClip
      Stop 
   Raise: 
      HED9 L 8 A_UnsetFloorClip
      HED9 KJIHG 8 
      Goto See 
   } 
} 

Actor SbombCaco
{
  Radius 20
  Height 20
  Mass 600
  Speed 11
  Damage (random(5,80))
  DamageType "Plasma"
  Projectile
  Scale 2
  Renderstyle Add
  Alpha 0.95
  SeeSound "Spell/spellCast1"
  DeathSound "Crack/death"
  Translation "208:223=176:191", "224:231=176:176"
  States
  {
  Spawn:
   BAL1 A 1 A_CustomMissile("REDTHINGSHK",5,0, CMF_AIMOFFSET,random(0,360), random(0,360))
   BAL1 A 1 A_SpawnItemEx("CrackoBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
   BAL1 B 1 A_SpawnItemEx("RedThingsLS",0,0,5,0,0,0,0, SXF_NOCHECKPOSITION)
   Loop
  Death:
   BAL1 C 4 A_SetTranslucent(0.35)
   BAL1 D 1 A_Explode(random(5,20),88)
   BAL1 DDDDDDDEEEEE 1 A_CustomMissile("CrackodemonBall",5,0, CMF_AIMOFFSET,random(0,360), random(0,360))
   BAL1 E 2  A_Explode(random(5,20),99)
   Stop
 }
}

Actor CrackodemonBall
{
    Radius 8
	Species "caco"
    Height 6
    Speed 15
    Damage (random(5,55))
	DamageType "Plasma"
    PROJECTILE
	RENDERSTYLE ADD
	ALPHA 0.8
	SeeSound "Crack/see"
	DeathSound "Crack/death"
	Translation "192:207=171:191", "240:247=191:191"
	States
	{
	Spawn:
	   BLL9 AAAABBBB 1 BRIGHT A_SpawnItemEx("CrackoBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
	   Loop
	Death:
	   BLL9 CDE 6 BRIGHT
	   Stop
	}
}

Actor CrackoBallTrail
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
    +FLOAT
    Renderstyle ADD
    Alpha 0.5
	Translation "192:207=171:191", "240:247=191:191"
    States
    {
    Spawn:
        BLL9 AB 2 Bright A_FadeOut (0.1)
        loop
    }
}

Actor BlackCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0 A_JumpIf(CallACS("CH_BlackBossy") == 1, "First") 
TNT1 A 0
Goto Third
First:

TNT1 A 0
TNT1 A 0 A_JumpIf(CallACS("CH_ExBoss") == 1, "EX1") 
TNT1 A 0 A_JumpIf(CallACS("CH_ExBoss") == 2, "EX2") 
TNT1 A 0 A_JumpIf(CallACS("CH_ExBoss") == 3, "EX3") 

TNT1 A 0 A_SpawnitemEx("BlackCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("RedCaco",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop


EX1No:
TNT1 A 0
TNT1 A 0 A_SpawnitemEx("BlackCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop

EX3:
TNT1 A 0
TNT1 A 0 A_SpawnitemEx("BlackCacoEX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop

EX2:
TNT1 A 0
TNT1 A 0 A_jump(128,"EX1No")
TNT1 A 0 A_SpawnitemEx("BlackCacoEX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop

EX1:
TNT1 A 0
TNT1 A 0 A_jump(232,"EX1No")
TNT1 A 0 A_SpawnitemEx("BlackCacoEX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}

Actor BlackCaco2
{
  Obituary "%o got extra well bloodcrocuted by Black Cacodemon"
  HitObituary "%o got chomped by a Black Cacodemon"
  Health 5000
  Radius 31
  Height 54
  Mass 800
  Speed 16
  Scale 1.25
  PainChance 32
  MeleeDamage 10
  DamageFactor None, 1.5
  RadiusDamageFactor 0.33
  DamageFactor "Plasma", 0.9
  DamageFactor "Heroic", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  SeeSound "monster/helsit"
  PainSound "monster/helpai"
  DeathSound "monster/heldth"
  ActiveSound "monster/helact"
  Monster
  +Float
  +NoGravity
  +Boss
  +dontmorph 
  +MissileMore
  +DontHarmClass
  -NoRadiusDmg
  +NOFEAR
  Dropitem "CH_MegaSphere"
  DropItem "BackPack"
  DropItem "BackPackBundle"

  DropItem "CH_CellPack"
   DropItem "CH_CellPack",128
   DropItem "CH_CellPack",128
  DropItem "CH_Cell", 128
  DropItem "CH_Cell", 128
  DropItem "CH_Cell", 128
    DropItem "CH_Cell", 128
  DropItem "CH_Cell", 64
  DropItem "CH_Cell", 64
  DropItem "CH_BlueArmor", 128
    Dropitem "RareArmorPool", 128
  Dropitem "RLDemonicWeaponSpawner",8
  Dropitem "RLUniqueWeaponSpawner",16
  Dropitem "RLTorgueBlastplateArmorPickup", 32
  Translation "128:143=176:191", "144:151=187:191", "13:15=44:47"
  Var int User_DO2;
  Tag "SHOCKMASTER"
  States
  {
  Spawn:
    HELE A 0
	HELE A 0
	HELE A 0
	Goto Scripted
	Scripted:
	HELE A 0
	HELE A 0 ACS_NamedExecuteAlways("AnnounceCaco")
	HELE A 0
	Goto Idle
	Idle:
    HELE A 10 A_Look
		  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HELE A 0 A_SetShootable
    HELE AAAAAA 3 a_chase
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HELE AAAAAA 3 A_Chase
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE A 0 A_Jump(128,"Phase")
    Goto See+1
	Phase:
    HELE A 0 
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.10)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.10)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(1.0)
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE A 0 
    Goto See
  Missile:
  		  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE A 0 A_JumpIfHealthLower(3000,"Phase2Jumps")
    HELE A 0 A_Jump(256,"Electro1","Electro5","Electro3")
    Goto See
	Nah:
	HELE A 0 A_Jump(256,"Electro2","Electro3","Electro4","Electro5")
	Goto See
	Phase2Jumps:
	HELE A 0 A_JumpIf(User_DO2>=1,"Nah")
	HELE A 0 A_ChangeFlag("NOPAIN",TRUE)
	HELE BC 8 
	HELE D 8 A_PlaySound("monster/helsit")
	HELE D 12 A_Spawnitemex("RedCaco",random(-128,128),random(-128,128),0,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	HELE D 12 A_Spawnitemex("RedCaco",random(-128,128),random(-128,128),0,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	HELE C 8 A_ChangeFlag("MISSILEEVENMORE",True)
	HELE C 4 A_SetUserVar("User_DO2",User_DO2+1)
	HELE B 4 A_ChangeFlag("NOPAIN",FALSE)
	HELE A 8 //A_SetSpeed(20)
	Goto See
  Electro4:
    HELE EF 8 Bright A_Facetarget
    HELE G 5 Bright A_CustomMissile("HadesBall2",24,0,0,0,0)
	HELE FE 8 Bright
	Goto Electro1
	Electro5:
    HELE BC 5 Bright A_Facetarget
    HELE G 5 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	HELE D 5 Bright A_FaceTarget
	HELE G 5 Bright A_CustomMissile("HadesBall3",18,0,0,0,0)
	HELE CB 5
    Goto See+1
  Electro1:
    HELE EF 5 Bright A_Facetarget
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-14,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-7,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,0,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,7,0,0)
    HELE G 5 Bright A_CustomMissile("HadesBall",24,0,14,0,0)
    Goto See+1
  Electro2:
    HELE E 0 A_CustomMissile("HadeLoad1",32,0,0,0,0)
    HELE EF 12 Bright A_Facetarget
    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,-16,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,0,0,0)
    HELE G 5 Bright A_CustomMissile("HadesBolt",32,0,16,0,0)
    Goto See+1
  Electro3:
    HELE BC 8 Bright A_Facetarget
    HELE G 8 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	HELE D 8 Bright A_FaceTarget
	HELE G 8 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	HELE D 8 Bright A_FaceTarget
	HELE G 0 Bright A_CustomMissile("EyeBeamCaco",32,0,0,0,0)
	HELE G 8 Bright A_CustomBulletAttack(0,0,1,random(1,5),"HadeAra")
	HELE CB 5
    Goto See+1
  Melee:
    HELE ABD 5 Bright A_Facetarget
    HELE C 5 Bright A_Jump(256,"Electro2")
    Goto See+1
  Pain:
    HELE H 3 A_SetTranslucent(1.0)
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE H 3 A_Pain
    HELE H 6 A_Jump(88,"Phase")
    Goto See
  Death:
    HELE I 8 Bright A_Scream
    HELE JKL 8 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 8 Bright A_NoBlocking
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE NOP 8 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE QRSTU 8 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE V -1 A_SetFloorClip
    Stop
  }
}



Actor BlackCacoBeam1
{
    Radius 1
    Height 1
	Scale 0.95
	Projectile
    +NOCLIP
    +NOGRAVITY
	Speed 1
    Renderstyle ADD
	DamageType "Plasma"
	DeathSound "NETHERDE"
    Alpha 1.25
    States
    {
    Spawn:
	TNT1 A 0
	Death:
	TNT1 A 0
	TNT1 A 1 a_scream
        SPIR EDCBA 3 Bright A_Explode(random(2,20),128)
		
        Stop
    }
}

Actor BlackCacoBeam2
{
   Radius 10
   Height 18
speed 1
   Scale 1.25
   Damagetype "Fire"
   Damage (random(10,20))
   RenderStyle Add
   Alpha 0.67
   PROJECTILE
   +THRUGHOST
   +noclip
   States
   {
   Spawn:
   TNT1 A 0
   Fly:
     BLVB A 3 bright a_setscale(1.75,1.75)
	 BLVB B 3 Bright a_setscale(1.5,1.5)
	 TNT1 A 0 A_explode(random(5,30),64,0)
	      BLVB A 3 bright a_setscale(1.75,1.75)
	 BLVB B 3 Bright a_setscale(1.5,1.5)
	 TNT1 A 0 A_explode(random(5,30),64,0)
	      BLVB A 3 bright a_setscale(1.75,1.75)
	 BLVB B 3 Bright a_setscale(1.5,1.5)
	 TNT1 A 0 A_explode(random(5,30),64,0)
	      BLVB A 3 bright a_setscale(1.75,1.75)
	 BLVB B 3 Bright a_setscale(1.5,1.5)
	 TNT1 A 0 A_explode(random(5,30),64,0)
	 	      BLVB A 3 bright a_setscale(1.15,1.15)
	 BLVB B 3 Bright a_setscale(0.5,0.5)
	 BLVB A 3 bright a_setscale(0.15,0.15)

	stop
   }
}




Actor BlackCacoEX
{
  Obituary "%o got boilingly bloodcrocuted by Black Cacodemon EX"
  HitObituary "%o got chomped by a Black Cacodemon"
  Health 10000
  Radius 31
  Height 54
  Mass 800
  Speed 21
  Scale 1.25
  PainChance 32
  
 RadiusDamageFactor 0.5
  DamageFactor "Plasma", 0.9
  DamageFactor "Heroic", 3.0
  DamageFactor "PlayerVoid", 0.6
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  SeeSound "monster/helsit"
  PainSound "monster/helpai"
  DeathSound "monster/heldth"
  ActiveSound "monster/helact"
  Monster
  +Float
  +NoGravity
  +Boss
  +dontmorph 
  +MissileMore
  +DontHarmClass
  -NoRadiusDmg
  +NOFEAR
  Dropitem "CH_MegaSphere"
  DropItem "BackPack"
  DropItem "BackPackBundle"

  DropItem "CH_CellPack"
   DropItem "CH_CellPack",128
   DropItem "CH_CellPack",128
  DropItem "CH_Cell", 128
  DropItem "CH_Cell", 128
  DropItem "CH_Cell", 128
    DropItem "CH_Cell", 128
  DropItem "CH_Cell", 64
  DropItem "CH_Cell", 64
  DropItem "CH_BlueArmor", 128
    Dropitem "RareArmorPool"
  Dropitem "RLDemonicWeaponSpawner",12
  Dropitem "RLUniqueWeaponSpawner",32
  Dropitem "RLTorgueBlastplateArmorPickup", 46
  Translation "128:143=176:191", "144:151=187:191", "13:15=44:47"
  Var int User_DO2;
  Tag "SHOCKMASTER RETURNS"
  States
  {
  Spawn:
    HELE A 0
	HELE A 0
	HELE A 0
	Goto Scripted
	Scripted:
	HELE A 0
	HELE A 0 ACS_NamedExecuteAlways("AnnounceCaco")
	HELE A 0 a_log("A chill runs down your spine")
	Goto Idle
	Idle:
    HELE A 10 A_Look
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    Loop
  See:
    HELE A 0 A_SetShootable
    HELE AAAAAA 3 A_Chase
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
	HELE AAAAAA 3 A_Chase
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
	HELE AAAAAA 3 A_Chase
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

    HELE A 0 A_Jump(128,"Phase")
    Goto See+1
	Phase:
    HELE A 0 
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.10)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.10)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(1.0)
			  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE A 0 
    Goto See
  Missile:
	TNT1 AAA 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
    		  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

	HELE A 0 A_JumpIfHealthLower(6500,"Phase2Jumps")
    HELE A 0 A_Jump(256,"Electro1","Electro5","Electro3")
    Goto See
	Nah:
	HELE A 0 A_Jump(256,"Electro2","Electro3","Electro4","Electro5")
	Goto See
	Phase2Jumps:
	TNT1 A 0
	HELE A 0 A_JumpIf(User_DO2>=1,"Nah")
	TNT1 A 0
	HELE A 0 A_ChangeFlag("NOPAIN",TRUE)
	HELE BC 8 
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE D 8 A_PlaySound("monster/helsit")
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE DDD 12 A_Spawnitemex("RedSpikeCacoEX",12,128,32,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	HELE DDDD 12 A_Spawnitemex("RedSpikeCacoEX",12,128,32,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE C 8 A_ChangeFlag("MISSILEEVENMORE",True)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE C 4 A_SetUserVar("User_DO2",User_DO2+1)
	HELE B 4 
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE A 8 //A_SetSpeed(42)
	Goto See
  Electro4:
    HELE EF 8 Bright A_Facetarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
HELE G 3 Bright A_CustomMissile("HadesBallEX4",24,0,0,0,0)
HELE G 3 Bright A_CustomMissile("HadesBallEX4",24,0,-25,0,0)
    HELE G 3 Bright A_CustomMissile("HadesBallEX4",24,25,0,0,0)
	HELE FE 8 Bright
	Goto Electro1
	Electro5:
    HELE BC 5 Bright A_Facetarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

    HELE G 5 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	HELE D 5 Bright A_FaceTarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE G 3 Bright A_CustomMissile("HadesBallEX3",18,0,0,0,0)
	HELE G 3 Bright A_CustomMissile("HadesBallEX3",18,0,25,0,0)
	HELE G 3 Bright A_CustomMissile("HadesBallEX3",18,0,-25,0,0)
	HELE CB 5
	TNT1 A 0 A_jumpifhealthlower(5000,"BonusDucks")
    Goto See+1
  Electro1:
    HELE EF 5 Bright A_Facetarget
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-14,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-7,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,0,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,7,0,0)
	
	HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-14,CMF_OFFSETPITCH|CMF_AIMDIRECTION,-4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-7,CMF_OFFSETPITCH|CMF_AIMDIRECTION,-4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,0,CMF_OFFSETPITCH|CMF_AIMDIRECTION,-4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,7,CMF_OFFSETPITCH|CMF_AIMDIRECTION,-4)
	HELE G 0 Bright A_CustomMissile("HadesBall",24,0,14,CMF_OFFSETPITCH|CMF_AIMDIRECTION,-4)
	
	HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-14,CMF_OFFSETPITCH|CMF_AIMDIRECTION,4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-7,CMF_OFFSETPITCH|CMF_AIMDIRECTION,4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,0,CMF_OFFSETPITCH|CMF_AIMDIRECTION,4)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,7,CMF_OFFSETPITCH|CMF_AIMDIRECTION,4)
	HELE G 0 Bright A_CustomMissile("HadesBall",24,0,14,CMF_OFFSETPITCH|CMF_AIMDIRECTION,4)
	
    HELE G 5 Bright A_CustomMissile("HadesBall",24,0,14,0,0)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
    TNT1 A 0 A_jumpifhealthlower(5000,"BonusDucks")
	
    Goto See+1
	
	BonusDucks:
	HELE EF 3 Bright A_Facetarget
	HELE G 3 Bright A_CustomMissile("HadesBallEX2",18,0,0,0,0)
	Goto see+1
	
  Electro2:
    HELE E 0 A_CustomMissile("HadeLoad1",32,0,0,0,0)
    HELE EF 12 Bright A_Facetarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE DDD 12 A_Spawnitemex("RedSpikeCacoEX",12,128,32,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE DDD 12 A_Spawnitemex("RedSpikeCacoEX",12,128,32,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,-16,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,0,0,0)
    HELE G 5 Bright A_CustomMissile("HadesBolt",32,0,16,0,0)
	TNT1 A 0 A_jumpifhealthlower(5000,"BonusDucks")
    Goto See+1
  Electro3:
    HELE BC 8 Bright A_Facetarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

   HELE G 8 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE D 8 Bright A_FaceTarget
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE G 8 Bright A_CustomMissile("HadeLoad1",32,0,0,0,0)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE D 8 Bright A_FaceTarget
	HELE G 0 Bright A_CustomMissile("EyeBeamCaco",32,0,0,0,0)
	TNT1 A 0  A_CustomRailgun(random(20,80),-20,"white","white",RGF_NOPIERCING|RGF_SILENT,0,0,"BlackCacoBeam1",0,0,0,0,0.4,1.0,"BlackCacoBeam2",1)
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

	HELE G 8 Bright A_CustomBulletAttack(0,0,1,random(1,5),"HadeAra")
	
	HELE CB 5
	TNT1 A 0 A_jumpifhealthlower(5000,"BonusDucks")
    Goto See+1
  Pain:
    HELE H 3 A_SetTranslucent(1.0)
		TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)
		  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH10",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

    HELE H 3 A_Pain
	TNT1 A 0 A_Spawnitemex("BlackCacoEXShade",0,0,random(22,44),random(-1,1),0,random(-1,1),random(160,200), SXF_NOCHECKPOSITION)

    HELE H 6 A_Jump(88,"Phase")
    Goto See
  Death:
    HELE I 8 Bright A_Scream
    HELE JKL 8 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 8 Bright A_NoBlocking
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE M 0 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE NOP 8 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE QRSTU 8 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    HELE V -1 A_SetFloorClip
    Stop
  }
}



Actor HadesBallEX3 : CacodemonBall
{
  Damage (random(15,60))
  Speed 10
  Radius 12
  Height 8
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  Scale 1.25
  States
  {
  Spawn:
    HADE AA 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(-526,-356), 0,  0, 0, 0, 0, 128)
	HADE AAAAA 0 Bright A_SpawnItemEx("ZapperCaco", 0,random(-1026,-528), 0,  0, 0, 0, 0, 128)
	HADE BB 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(-296,-188), 0,  0, 0, 0, 0, 128)
		HADE AAAAA 0 Bright A_SpawnItemEx("ZapperCaco", 0,random(-528,-128), 0,  0, 0, 0, 0, 128)
	HADE CC 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(-188,-88),  0, 0, 0, 0, 0, 128)
	HADE DD 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(-88,0), 0,  0, 0, 0, 0, 128)
	HADE EE 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(0,88), 0,  0, 0, 0, 0, 128)
	HADE GG 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(88,188), 0,  0, 0, 0, 0, 128)
	HADE HH 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(188,296), 0,  0, 0, 0, 0, 128)
			HADE AAAAA 0 Bright A_SpawnItemEx("ZapperCaco", 0,random(128,528), 0,  0, 0, 0, 0, 128)
	HADE AA 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(356,526), 0,  0, 0, 0, 0, 128)
		HADE AAAAA 0 Bright A_SpawnItemEx("ZapperCaco", 0,random(526,1026), 0,  0, 0, 0, 0, 128)

	
    Loop
  Death:
    HEFX CDEEFGH 4 Bright A_SpawnItemEx("HadeExpl",random(-228,228),random(-228,228),random(-12,12),0,0,0,0)
    Stop
  }
}


Actor HadesBallEX4 : CacodemonBall
{
  Damage (random(15,60))
  Speed 10
  Radius 12
  Height 8
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  Scale 1.25
  States
  {
  Spawn:
    HADE AA 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(33,66))
	HADE BB 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(-66,33))
	HADE CC 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(33,66))
	HADE DD 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(-66,33))
	HADE EE 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(33,66))
	HADE GG 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(-66,33))
	HADE HH 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(33,66))
	HADE AA 1 Bright A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(-66,33))
	
    Loop
  Death:
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0   A_SpawnItemEx("ZapperCacoEX", 0,0, 0, random(5,28), 0, 0, random(0,359))
   
    HEFX CDEEFGH 4 Bright A_SpawnItemEx("HadeExpl",random(-228,228),random(-228,228),random(-12,12),0,0,0,0)
   

   Stop
  }
}


Actor ZappercacoEX
{
    Radius 12
    Height 12
	Speed 3
	Damage 3
    +NOCLIP
    +NOGRAVITY
	Projectile
    Renderstyle ADD
    Alpha 0.7
	SeeSound  "Crack/death"
    States
    {
    Spawn:
        HADE IJKLIJKLIJKLIJKL 3 Bright A_Explode(random(2,20),32)
		
        Stop
    }
}


ACTOR RedSpikeCacoEX
{
  Game Doom
  Species "Caco"
  Health 100
  Radius 16
  Height 56
  Mass 50
  scale 1.25
  Speed 20
  RadiusDamageFactor 0.33
  Damage 5
  Monster
  +FLOAT
  +NOGRAVITY
  +Dontharmspecies
  +missilemore
  +missileevenmore
  +notrigger
  +NOICEDEATH
  +noblood
  +thruspecies
  +dontmorph 
  -noradiusdmg
  -countkill
  AttackSound ""
  ActiveSound ""
  DropItem "CH_Cell", 32
DropItem "CH_Shell", 102
DropItem "implyingclip", 176
DropItem "CH_RocketAmmo", 64
DropItem "CH_Berserk", 2

  Obituary "%o was spike shocked"
  Tag "Spiky ouch ouch"
  Translation "0:255=%[0.50,0.00,0.00]:[2.00,0.00,0.00]"
  var int user_angle;
  
  States
  {
  Spawn:
    CHCY A 0 Bright
  See:
  TNT1 A 0
  Fly:
    TNT1 A 0
	CHCY AB 1 Bright  A_Warp(AAPTR_MASTER, 176, 0, 12, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
    		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 8)
		CHCY CD 1 Bright  A_Warp(AAPTR_MASTER, 176, 0, 12, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
	TNT1 A 0 A_SetUserVar("user_angle", user_angle + 8)
	CHCY FG 1 Bright  A_Warp(AAPTR_MASTER, 176, 0, 12, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
	TNT1 A 0 A_SetUserVar("user_angle", user_angle + 8)

	TNT1 A 0 A_jumpif(user_angle >= 720,"Strike")
    Loop
	
	Strike:
	CHCY ABCDFG 1 bright A_chase
	loop
	
	Missile:
	CHCY ABCDFG 1 Bright a_facetarget
	CHCY A 1 bright a_skullattack(50)
	TNT1 A 0 thrustthing(angle,33,0,0)
	CHCY BCDFG 1 Bright 
    CHCY ABCDFG 1 Bright
	CHCY ABCDFG 2 Bright
	CHCY ABCDFG 3 Bright
	CHCY ABCDFG 4 Bright
	CHCY ABCDFG 5 Bright
	CHCY ABCDFG 6 Bright
	CHCY ABCDFG 7 Bright 
	CHCY ABCDFG 8 Bright 
	
	
	
  Death:

   TNT1 A  1 Bright A_CustomMissile ("HKRedDeath",100,-30, CMF_AIMOFFSET, 2, -10)
	  TNT1 A  1 Bright A_CustomMissile ("HKRedDeath",100,50, CMF_AIMOFFSET, 2, 10)
      TNT1 A  1 Bright  A_CustomMissile ("HKRedDeath",20,30, CMF_AIMOFFSET, 2, 10)
	 TNT1 A  1 Bright  A_CustomMissile ("HKRedDeath",60,5, CMF_AIMOFFSET, 2, -10)
     TNT1 A  1  A_CustomMissile ("HKRedDeath",100,50, CMF_AIMOFFSET, 2, 10)
	 TNT1 AAAAAAAA 0 A_SpawnItemEx("CacoNail",0,0,2,random(33,66),0,random(-1,25),random(0,90))
	 TNT1 AAAAAAAA 0 A_SpawnItemEx("CacoNail",0,0,2,random(33,66),0,random(-1,25),random(90,180))
	 TNT1 AAAAAAAA 0 A_SpawnItemEx("CacoNail",0,0,2,random(33,66),0,random(-1,25),random(180,270))
	 TNT1 AAAAAAAA 0 A_SpawnItemEx("CacoNail",0,0,2,random(33,66),0,random(-1,25),random(270,359))
	TNT1 A 0 A_die
	Stop
  }
}


Actor HadesBallEX2 : CacodemonBall
{
  Damage (random(25,75))
  Speed 18
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  Scale 1.5
  States
  {
  Spawn:
    HEFX AB 4 Bright A_SpawnItemEx("SpiralSaw5", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    HEFX CDE 4 bright A_SpawnItemEx("HadeLoad1",random(-128,128),random(-128,128),random(-12,12),0,0,0,0)
	HEFX EFGH 4 Bright A_SpawnItemEx("HadeExpl",random(-228,228),random(-228,228),random(-12,12),0,0,0,0)
	HADE HGEDCBA 6 Bright
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,0)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,90)
	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,180)
   	TNT1 A 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-1,24),random(8,33),0,0,270)
   
   
   Stop
  }
}

actor CacoNail
{
radius 2
height 4
damage (random(5,15))
Damagetype Melee
RenderStyle Add
speed 55
Scale 0.95
Decal BulletChip
attacksound "moloch/nailhitbleed"
Deathsound "weapons/firex4"
PROJECTILE
+SPAWNSOUNDSOURCE
 +mthruspecies
+EXTREMEDEATH
+BLOODSPLATTER
Translation "0:255=%[0.50,0.00,0.00]:[2.00,0.00,0.00]"
states
{
Spawn:
BLAD A 1 bright
loop
Death:
6PUF A 0 A_PlaySound("moloch/nailhit")
6PUF ABCDEF 1 bright A_Explode(random(2,5),64)
FBL1 EFG 1 bright A_Explode(random(2,8),64)
FBL1 G 1 bright A_SpawnItemEx("PuffCybieRed",0,0,2)
Stop
}
}




Actor BlackCacoEXShade
{
  Radius 6
  Height 6
  Speed 1
  Projectile
  +noclip
  +nointeraction
  Renderstyle Stencil
  Stencilcolor "red"
  Alpha 0.33
  yScale 1.85
  xscale 2.35
  States
  {
  Spawn: 
     HADE IJKLIJKLIJKLIJKL 1 bright
	 
	 
	Stop
	}
}




Actor EyeBeamCaco
{
    Radius 11
    Height 9
    Speed 178
    Damage 1
	DamageType "Plasma"
    PROJECTILE
	+StrifeDamage
	RENDERSTYLE ADD
	ALPHA 0.8
	Scale 0.65
	SeeSound "Crack/see"
	DeathSound "Litn/litn3"
	Translation "192:207=171:191", "240:247=191:191"
	States
	{
	Spawn:
	   BLL9 AAAABBBB 1 BRIGHT A_SpawnItemEx("RedRevLoad3", 0, 0, 4, 0, 0, 0, 0, 128)
	   Loop
	Death:
	   BLL9 CDE 6 BRIGHT A_Explode(random(2,30),34)
	   Stop
	}
}

Actor RedRevLoad3
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
	+NOINTERACTION
    Renderstyle ADD
    Alpha 0.75
	Scale 0.65
	SeeSound "Weapons/BFGF"
    States
    {
    Spawn:
        SPIR ABCDE 1 Bright A_SpawnItemEx("RedRevLoad4", 0, 0, 4, 0, 0, 0, 0, 128)
        Stop
    }
}

Actor RedRevLoad4
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
	+NOINTERACTION
    Renderstyle ADD
    Alpha 0.75
	Scale 0.65
	SeeSound "Weapons/BFGF"
    States
    {
    Spawn:
        SPIR ABCDE 2 Bright
        Stop
    }
}

ACTOR HadeAra
{
  Game Doom
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +PUFFONACTORS
  Projectile
  RenderStyle "add"
  DamageType Melee
  Alpha 0.95
  vspeed 1
  Scale 2
  SeeSound "Vile/Active"
  Mass 5
  States
  {
  Spawn:
    HADE ABCDEGH 3 Bright A_Explode(random(2,26),64)
  Melee:
    HADE AHGEDCBA 3 Bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-88,88),0,0,0,0)
    Stop
  }
}

Actor Zappercaco
{
    Radius 12
    Height 12
	Speed 3
	Damage 3
    +NOCLIP
    +NOGRAVITY
	Projectile
    Renderstyle ADD
    Alpha 0.7
	SeeSound  "Crack/death"
    States
    {
    Spawn:
        HADE IJKL 4 Bright A_Explode(random(2,20),32)
        Stop
    }
}

Actor HadesBall3 : CacodemonBall
{
  Damage (random(5,50))
  Speed 4
  Radius 12
  Height 8
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  Scale 1.25
  States
  {
  Spawn:
    HADE AA 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(-333,-256), 0,  0, 0, 0, 0, 128)
	HADE BB 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(-256,-168), 0,  0, 0, 0, 0, 128)
	HADE CC 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(-168,-88),  0, 0, 0, 0, 0, 128)
	HADE DD 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(-88,0), 0,  0, 0, 0, 0, 128)
	HADE EE 1 Bright A_SpawnItemEx("ZapperCaco", 0, random(0,88), 0,  0, 0, 0, 0, 128)
	HADE GG 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(88,168), 0,  0, 0, 0, 0, 128)
	HADE HH 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(168,256), 0,  0, 0, 0, 0, 128)
	HADE AA 1 Bright A_SpawnItemEx("ZapperCaco", 0,random(256,333), 0,  0, 0, 0, 0, 128)
    Loop
  Death:
    HEFX CDEEFGH 4 Bright A_SpawnItemEx("HadeExpl",random(-228,228),random(-228,228),random(-12,12),0,0,0,0)
    Stop
  }
}

Actor HadesBall2 : CacodemonBall
{
  Damage (random(5,50))
  Speed 12
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  Scale 1.5
  States
  {
  Spawn:
    HEFX AB 4 Bright A_SpawnItemEx("SpiralSaw5", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    HEFX CDE 4 bright A_SpawnItemEx("HadeLoad1",random(-128,128),random(-128,128),random(-12,12),0,0,0,0)
	HEFX EFGH 4 Bright A_SpawnItemEx("HadeExpl",random(-228,228),random(-228,228),random(-12,12),0,0,0,0)
	HADE HGEDCBA 6 Bright
	HADE A 0 A_Spawnitemex("RedCaco",0,-64,12,0,0,0,0,SXF_SetMaster| SXF_NOCHECKPOSITION)
    Stop
  }
}

ACTOR HadeExpl
{
  Game Doom
  Radius 6
  Height 8
  Speed 3
  FastSpeed 9
  Damage (random(5,10))
  DamageType "Fire"
  Projectile
  +RANDOMIZE
  +Seekermissile
  RenderStyle Add
  Alpha 1
  Scale 1.15
  SeeSound "caco/attack"
  DeathSound "spell/Impact1"
  States
  {
  Spawn:
    TNT1 A 0
    Goto Death
  Death:
    HADE M 4 Bright  A_explode(random(2,10),108) 
	HADE N 5 Bright  A_explode(random(2,12),124)
    HADE OP 5 Bright A_explode(random(2,10),138)
    HADE Q 6 Bright A_explode(random(5,25),128)
   Stop
  }
}

Actor HadeLoad1
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
	+NOINTERACTION
    Renderstyle ADD
    Alpha 0.9
	SeeSound "Weapons/BFGF"
    States
    {
    Spawn:
        HADE XWVUTSR 3 Bright A_SpawnItemEx("HadeLoad2", random(-15,15), random(-15,15), random(-15,15), 0, 0, 0, 0, 128)
        Stop
    }
}

Actor HadeLoad2
{
    Radius 1
    Height 1
    +NOCLIP
    +NOGRAVITY
	+NOINTERACTION
    Renderstyle ADD
    Alpha 0.7
	SeeSound  "Crack/death"
    States
    {
    Spawn:
        HADE IJKL 4 Bright
        Stop
    }
}


Actor HadesBall : CacodemonBall
{
  Damage (random(5,30))
  Speed 17
  Alpha 0.80
  DamageType Plasma
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  States
  {
  Spawn:
    HEFX AB 4 Bright
    Loop
  Death:
    HEFX CDEEFGH 4 bright A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(-12,12),0,0,0,0)
    Stop
  }
}

Actor HadesBolt : CacodemonBall
{
  Damage 1
  Speed 5
  Radius 8
  Height 8
  Damagetype Plasma
  SeeSound "weapons/none"
  DeathSound "weapons/gntidl"
  YScale 4.0
  XScale 0.7
  ReactionTime 35
  +FloorHugger
  +HexenBounce
  +Ripper
  +FloorClip
  -NoGravity
  -StrifeDamage
  States
  {
  Spawn:
    HADE A 1 Bright A_Explode(random(5,15),64,0)
    HADE A 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
	HADE B 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(1,12),0,0,0,0)
    HADE A 0 ThrustThing(random(0,255),1,0,0)
    HADE B 1 Bright A_Explode(random(5,15),64,0)
    HADE B 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
	HADE B 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(12,24),0,0,0,0)
    HADE C 1 Bright A_Explode(random(5,15),64,0)
    HADE C 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
	HADE C 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(16,32),0,0,0,0)
    HADE D 1 Bright A_Explode(random(5,15),64,0)
    HADE D 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
	HADE D 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(24,42),0,0,0,0)
    HADE H 1 Bright A_Explode(random(5,15),64,0)
    HADE H 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
	HADE H 1 A_SpawnItemEx("HadeExpl",random(-128,128),random(-128,128),random(32,64),0,0,0,0)
    HADE H 0 Bright A_CountDown
    Loop
  Death:
    HADE FGHIJK 2 Bright A_Explode(random(5,35),64,0)
    Stop
  }
}

Actor HadesBolt2 : CacodemonBall
{
  Damage 0
  Speed 184
  RenderStyle None
  DamageType Plasma
  +ThruGhost
  +Ripper
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  States
  {
  Spawn:
    TNT1 A 1 Bright A_Explode(random(5,15),64,0)
    Loop
  Death:
    TNT1 A 1 Bright 
    Stop
  }
}

//################### whitecaco

Actor WhiteCaco
{
states
{
Spawn:
TNT1 A 0
Goto Scripted
Scripted:
TNT1 A 0 A_JumpIf(CallACS("CH_WhiteBossy") == 1, "First") 
TNT1 A 0
Goto Third
First:
TNT1 A 0 A_SpawnitemEx("WhiteCaco2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
Third:
TNT1 A 0 A_SpawnitemEx("BlackCaco",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TRANSFERAMBUSHFLAG)
stop
}
}


ACTOR WhiteCaco2
{
	Health 5000
	Radius 31
	Height 56
	Mass 400
	Speed 28
	floatspeed 30
	species "Caco"
	PainChance 128
	Monster
   RadiusDamageFactor 0.33
  DamageFactor "Plasma", 0.9
  DamageFactor "Heroic", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
  
  Monster
  +Float
  +NoGravity
 +dontharmspecies
 +dontmorph 
  +Boss
  +MissileMore
  +DontHarmClass
  -NoRadiusDmg
  +NOFEAR

	+noicedeath
	SeeSound "cacobaldsee"
	PainSound "cacobaldpain"
	DeathSound "cacobalddeath"
	ActiveSound "cacobaldidle"
	Obituary "%o was loved to death by white cacodemon"
	HitObituary "%o was hugged to death by white cacodemon"
	  Dropitem "CH_MegaSphere"
  DropItem "BackPack"
  DropItem "BackPack"
  DropItem "BackPack"
	tag "PLEASE NO"
	States
	{
	Spawn:
	    HELE A 0
	HELE A 0
	HELE A 0
	Goto Scripted
	Scripted:
	HELE A 0
	HELE A 0 ACS_NamedExecuteAlways("AnnounceCaco2")
	HELE A 0
	Goto Idle
	Idle:
		CACP A 10 A_Look
				  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		Loop
	See:
		CACP A 3 A_Chase
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		Loop
	Missile:
        TNT1 A 0
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0 A_Jump(255, "Basic", "Wonky","arms")
		Basic:
				CACP B 4 A_FaceTarget
		CACP C 4 A_FaceTarget
		CACP D 4 BRIGHT A_CustomComboAttack("CacobaldBall",32,2,"imp/melee")
		CACP B 3 A_FaceTarget
		CACP C 3 A_FaceTarget
		CACP C 0 A_jumpifhealthlower(2500,"BasicBITCH")
		CACP D 0 BRIGHT A_CustomMissile("CacobaldBall",32,0,random(-12,-2))
		CACP D 0 BRIGHT A_CustomMissile("CacobaldBall",32,0,random(2,12))
		CACP D 2 BRIGHT A_CustomComboAttack("CacobaldBall",32,2,"imp/melee")
		Goto See
		BasicBitch:
		CACP DDD 0 BRIGHT A_CustomMissile("CacobaldBall",32,-6,random(-15,-2))
		CACP DDD 0 BRIGHT A_CustomMissile("CacobaldBall",32,8,random(2,15))
		CACP D 2 BRIGHT A_CustomComboAttack("CacobaldBall",32,2,"imp/melee")
		TNT1 A 0 A_jump(64,"what")
		TNT1 A 0
		Goto see
		Wonky:
		CACP B 4 A_FaceTarget
		CACP C 4 A_FaceTarget
		CACP DDD 1 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
		CACP DD 2 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-9,9))
		CACP DDD 1 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-15,-5))
		CACP DD 2 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(5,15))
		CACP C 4 A_FaceTarget
		CACP C 0 A_jumpifhealthlower(2500,"Wonkier")
		CACP DDDD 1 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
		CACP DD 2 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-9,9))
		CACP DDDD 0 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-15,-5))
		CACP DDD 0  BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(5,15))
		CACP D 2  BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(5,15))
		Goto see
		Wonkier:
		CACP DDDD 0 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
				CACP DD 1 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
						CACP DDDD 0 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
				CACP DD 1 BRIGHT A_CustomMissile("CacobaldBall2",32,0,random(-3,3))
			CACP DDDD 0 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-9,9))	
		CACP D 2 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-9,9))
		CACP DDDDDDD 0 BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(-25,-3))
		CACP DDDDDD 0  BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(3,25))
		CACP D 2  BRIGHT A_CustomMissile("CacobaldBall2",random(12,48),random(-16,16),random(3,25))
		TNT1 A 0 A_jump(64,"what")
		Goto see
		
		arms:
		CACP BC 6 A_facetarget
	    CACP G 7
		CACP H 7 
		CACP H 7 a_playsound("caco/sight",7,2,false,ATTN_NONE)
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO")
		CACP C 0 A_jumpifhealthlower(2500,"MoreArms")
		CACP G 7
		Goto see
		MoreArms:
		CACP H 9 a_playsound("caco/sight",7,2,false,ATTN_NONE)
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO")
		CACP G 9
		CACP H 8 a_playsound("caco/sight",7,2,false,ATTN_NONE)
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO")
		CACP G 8
		CACP H 7 a_playsound("caco/sight",7,2,false,ATTN_NONE)
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO")
		CACP G 7
		TNT1 A 0 A_jump(64,"what")
		Goto see
	Pain:
		CACP E 3
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		CACP E 3 A_Pain
		CACP E 3 A_jump(64,"what")
		Goto See
		what:
		TNT1 A 0
		CACP AAA 3 A_SpawnItemEx("WhiteCacoFake",random(-64,64),random(-64,64),random(-32,32),0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_changeflag(nopain, true)
		TNT1 AAAA 1 A_wander
		TNT1 A 10 A_wander
		TNT1 AAAA 1 A_wander
		TNT1 A 0 A_setscale (0.1,0.1)
		CACP A 3 
		CACP A 3  A_setscale (0.35,0.35)
		CACP A 3 A_setscale (0.7,0.7)
		CACP A 3 A_setscale (1,1)
		TNT1 A 0 a_changeflag(nopain, false)
		TNT1 A 0
		Goto see
	xdeath:	
	Death:


		CACX A 5 A_Scream
		CACX B 5 A_XScream
		CACX CD 5
		CACX E 5 A_NoBlocking
		CACX F 90 A_SetFloorClip
		CACX F 10 A_playsound("caco/sight")
		CACX FFFF 6 A_playsound("caco/sight")
		CACX F 15 Radius_Quake(15,30,0,40,0)
		CACX F 36
		CACX F 15 Radius_Quake(15,30,0,40,0)
		CACX FFFFFFFFFFFFFFF 2 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,16, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
        TNT1 AAAAAAFFFFFAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,16, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
        CACX F 1 Radius_Quake(15,30,0,40,0)
		TNT1 A 0
		TNT1 A 6 A_SpawnitemEx("WhiteCacoREAL",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0
		TNT1 AAAAAAAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,16, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAA 0 A_SpawnItemEx ("CHRandom_GibGenerator", 0,0,28, VelX,VelY,VelZ, 0, SXF_ABSOLUTEMOMENTUM | SXF_USEBLOODCOLOR | SXF_NOCHECKPOSITION)

		Stop

	}
}



ACTOR WhiteCacoREAL
{
	Health 5000
	Radius 31
	Height 56
	Mass 400
	Speed 16
	species "Caco"
	PainChance 128
	Monster
   RadiusDamageFactor 0.25
  DamageFactor "Plasma", 0.85
  DamageFactor "Heroic", 3.0
  DamageFactor "DIMp", 0
  PainChance "DIMp", 0
 
  DamageFactor "plwater", 0.45
   DamageFactor plwater, 0.45
  Monster
  +Float
  +NoGravity
 +dontharmspecies
 
  +Boss
  +MissileMore
  +DontHarmClass
  -NoRadiusDmg
  +NOFEAR
+dontmorph 
	+noicedeath
	+nopain
	+invulnerable
	        +DONTBLAST
	SeeSound "cacobaldsee"
	PainSound "cacobaldpain"
	DeathSound "cacobalddeath"
	ActiveSound "cacobaldidle"
	Obituary "%o couldn't handle the truth of white caco"

	  Dropitem "CH_MegaSphere"
  DropItem "BackPack"
   DropItem "BackPackBundle"

  DropItem "CH_CellPack"
   DropItem "CH_CellPack"
    DropItem "CH_BlueArmor"
	  DropItem "CH_BlueArmor"
	    DropItem "CH_BFG9000"
		  DropItem "CH_BFG9000"
		    DropItem "CH_Berserk"
			DropItem "CH_Berserk"
			DropItem "CH_Berserk"
			  Dropitem "RareArmorPool"
  Dropitem "RLDemonicWeaponSpawner",32
  Dropitem "RLLegendaryWeaponSpawner", 8
  Dropitem "RLUniqueWeaponSpawner",64
	tag "Thy flesh consumer"
	
	var int user_mad;
	
	states
	{
		Spawn:
		TNT1 A 0
		Up:
		TNT1 A 0 
		CDW2 A 4 ThrustThingz(0,8,0,0)
		CDW2 B 4
		CDW2 C 4 bright A_stop
		Goto eyes
		Eyes:
		TNT1 A 0
		CDW2 F 12  A_SpawnItemEx("WhiteCacoOrb1",64,64,12,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		CDW2 F 12  A_SpawnItemEx("WhiteCacoOrb1",64,64,12,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		CDW2 E 12  A_SpawnItemEx("WhiteCacoOrb1",64,64,12,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		CDW2 D 12  A_SpawnItemEx("WhiteCacoOrb1",64,64,12,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		Goto see
		Idle:
		CDW2 ABC 2 A_look
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		loop
		
	See:
	    TNT1 A 0 
	    TNT1 A 0 a_jumpif(User_mad>=1,"See2")
		CDW2 ABC 8 A_Chase
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0 A_jumpifinventory("CacoSafety",4,"Vuln")
		CDW2 FED 8 A_Chase
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0
		Loop
		See2:
		CDW2 ABCFED 5 A_Chase
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		loop
		
		Vuln:
		CDW2 K 3
		CDW2 L 3 a_pain
		TNT1 A 0 A_changeflag("Nopain",false)
		TNT1 A 0 A_changeflag("Invulnerable",false)
		TNT1 A 0 A_changeflag("MissileEvenMore",true)
		TNT1 A 0 A_setuservar("User_mad",user_mad+1)
		TNT1 A 0 //A_setspeed(24)
		CDW2 M 3  
		Goto see
		
		
	Missile:
        TNT1 A 0
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0 a_jumpif(User_mad>=1,"Missile2")
		TNT1 A 0 A_Jump(255,"Handy","Bloody")
		TNT1 A 0
		Goto see
		Missile2:
		        TNT1 A 0
						  	   			TNT1 A 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		TNT1 A 0 A_Jump(255,"Handy2","Bloody2","portal","spikes")
		TNT1 A 0
		Goto see
		Handy:
		TNT1 A 0
		CDW2 GHI 5 bright
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO2")
		CDW2 J 5 bright
		goto see
		
		Bloody:
		TNT1 A 0
		CDW2 G 5 bright
		CDW2 HHI 5 bright A_SpawnItemEx("BloodRainerCaco",random(-12,12),random(-12,12),24,0,0,0,0,SXF_NOCHECKPOSITION)
		CDW2 I 5 bright
		CDW2 J 5 bright
		Goto see
		
		spikes:
		TNT1 A 0
		CDW2 A 3 bright a_facetarget
		CDW2 GHIJ 3 bright A_CustomMissile ("MolochNail", 32,random(-10,10),random(-9,9),0)
		CDW2 GHIJ 3 bright A_CheckSight("See")
		CDW2 GHIJ 3 bright A_CustomMissile("MinesRev",24,0,random(-25,25),0)  
		CDW2 GHIJ 3 bright A_CheckSight("See")
		CDW2 GHIJ 3 bright A_CustomMissile ("MolochNail", 32,random(-10,10),random(-9,9),0)
		CDW2 GHIJ 3 
		TNT1 A 0 A_Monsterrefire(150, "See")
		TNT1 A 0
		Goto see
				Bloody2:
		TNT1 A 0
		CDW2 G 5 bright
		CDW2 HHH 3 bright A_SpawnItemEx("BloodRainerCaco",random(-12,12),random(-12,12),24,0,0,0,0,SXF_NOCHECKPOSITION)
		CDW2 III 3 bright A_Custommissile("EyeRocketCaco",12,0,random(-20,20))
		CDW2 J 5 bright
		Goto see
				Handy2:
		TNT1 A 0
		CDW2 GHI 5 bright
		TNT1 A 0 A_VileTarget("ArmSpawnerCACO2")
		TNT1 AAAA 0  A_SpawnItemEx("CacoARMSU2",random(-528,528),random(-528,528),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
		CDW2 J 5 bright
		goto see
		Portal:
		CDW2 GHI 5 bright
		CDW2 J 5 bright A_SpawnItemEx("SummonPortalCybie",random(-128,128),random(-128,128),12)
		Goto see
		
		Pain:
		CDW2 K 3
						  	   			TNT1 AA 0 A_SpawnitemEx("ColorTierIconCH11",0,0,32,random(1,4),0,random(0,2),random(0,359),SXF_NOCHECKPOSITION)

		CDW2 L 3 a_pain
		CDW2 M 3  
		Goto see
	Death:
	
	 CDW2 A 3 bright 
	 CDW2 A 3 bright  a_scream
	 CDW2 A 3 bright a_noblocking
	   CDW2 K 4 Bright A_CustomMissile ("HKRedDeath",100,-30, CMF_AIMOFFSET, 2, -10)
	  CDW2 K 4 Bright A_CustomMissile ("HKRedDeath",100,50, CMF_AIMOFFSET, 2, 10)
      CDW2 L 4 Bright  A_CustomMissile ("HKRedDeath",20,30, CMF_AIMOFFSET, 2, 10)
	  CDW2 L 4 Bright  A_CustomMissile ("HKRedDeath",60,5, CMF_AIMOFFSET, 2, -10)
	  CDW2 MMMMM 4 Bright  A_CustomMissile ("HKRedDeath",random(15,90),random(-50,50), CMF_AIMOFFSET, 2, random(-10,10))
	  	  CDW2 MMMMM 3 Bright  A_CustomMissile ("HKRedDeath",random(15,90),random(-50,50), CMF_AIMOFFSET, 2, random(-10,10))
	  CDW2 MMMMM 2 Bright  A_CustomMissile ("HKRedDeath",random(15,90),random(-50,50), CMF_AIMOFFSET, 2, random(-10,10))
	  CDW2 MMMMM 1 Bright  A_CustomMissile ("HKRedDeath",random(15,90),random(-50,50), CMF_AIMOFFSET, 2, random(-10,10))
      CDW2 MMM 1 bright A_fadeout(0.33)
	stop
	}
}

Actor BloodRainerCaco

{
  Game Doom
  Radius 16
  Height 20
  health 9999
  Speed 1
  species "caco"
  
  Monster
  +NOGRAVITY
  +noclip
	+thruspecies
  -countkill
  states
  {
  spawn:
  TNT1 A 0
  Fly:
  TNT1 A 0
  CDWO J 3 ThrustThingz(0,10,0,0)
  TNT1 A 0
  Death:
  TNT1 A 0
  CDWO IJ 8
  TNT1 A 1  A_Custommissile("EyeRocketCaco",12,0,random(-3,3))
  TNT1 A 5
	TNT1 A 0 A_die
	Stop
}}

ACTOR EyeRocketCaco
{
	Radius 12
	Height 12
	Speed 24
	FastSpeed 24
	scale 0.65
  species "caco"
	Damage (random(50,150))
	Projectile 
	+Seekermissile
	+thruspecies
	+mthruspecies
	Damagetype Melee
    SeeSound "skull/melee"
    DeathSound "vile/laugh"
	States
	{
	Spawn:
		CDWO I 2 Bright a_seekermissile(11,11)
		Loop
	Death:
	    TNT1 A 0
		CDWO J 3 bright a_scream
		TNT1 A 0 A_explode(random(50,120),64,0)
		CDWO KLMN 3 bright
		CDWO O 3 bright a_playsound("misc/gibbed")
		CDWO PQR 3 bright 
		CDWO R 3 A_setscale (0.45,0.45)
		CDWO R 3 A_setscale (0.25,0.25)
		CDWO R 3 A_setscale (0.05,0.05)
		Stop
	}
}



ACTOR WhiteCacoOrb1
{
  Game Doom
  Species "Caco"
  Health 2000
  Radius 16
  Height 56
  Mass 50
  scale 0.8
  Speed 20
  DamageFactor "Antiair", 3.0
  DamageFactor "DIMp", 0
  DamageFactor "plasma", 0.2
    DamageFactor plasma, 0.2
  PainChance "DIMp", 0
   PainChance 232
  Monster
  +FLOAT
  +NOGRAVITY
  +Dontharmspecies
  +notrigger
  +NOICEDEATH
  +noblood
	+thruspecies
  +dontmorph 
  -noradiusdmg
  AttackSound ""
  PainSound "prox/beep"
  DeathSound "prox/beep"
  ActiveSound ""
  DropItem "BackPack"
  DropItem "CH_Medikit"
  Obituary "%o wasnt careful enough with the orb of doom"
  Tag "O of destruction"
  
  var int user_angle;
  
  States
  {
  Spawn:
    CDW2 X 0 Bright
  See:
    TNT1 A 0
	    CDW2 X 1 Bright  A_Warp(AAPTR_MASTER, 64, 0, 12, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
    TNT1 A 0 A_SetUserVar("user_angle", user_angle + 8)
    Loop
  Pain:
     TNT1 A 0
	 TNT1 A 0 A_pain
	 TNT1 A 0 A_jump(128,"Laser")
     TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("PlasmaBallSP5",random(-3,3),random(-12,12),random(0,360),CMF_AIMDIRECTION, random(0,360))
	 TNT1 A 0
	 Goto see
	 Laser:
	 TNT1 A 0
	 TNT1 AAA 0 A_Custommissile("Dflare",12,0,random(-3,3))
	 TNT1 A 0
	 Goto see
  Death:
    CDW2 X 6 Bright 
	CDW2 X 3 bright A_giveinventory("CacoSafety",1,AAPTR_MASTER)
      CDW2 X  5 Bright A_Scream
	   CDW2 X  5 Bright A_Scream
      CDW2 X  6 Bright A_NoBlocking
   CDW2 X 4 Bright A_CustomMissile ("HKRedDeath",100,-30, CMF_AIMOFFSET, 2, -10)
	  CDW2 X 4 Bright A_CustomMissile ("HKRedDeath",100,50, CMF_AIMOFFSET, 2, 10)
      CDW2 X 4 Bright  A_CustomMissile ("HKRedDeath",20,30, CMF_AIMOFFSET, 2, 10)
	  CDW2 X 4 Bright  A_CustomMissile ("HKRedDeath",60,5, CMF_AIMOFFSET, 2, -10)
      CDW2 X 4  A_CustomMissile ("HKRedDeath",100,50, CMF_AIMOFFSET, 2, 10)
	  CDW2 XXX 4 A_fadeout(0.25)
    Stop
  }
}


Actor CacoSafety : Inventory
{
  Inventory.MaxAmount 4
}


Actor WHiteCacoFake

{
  Game Doom
  Radius 16
  Height 20
  Speed 0
  
  projectile
  +NOGRAVITY
  +noclip
  states
  {
  spawn:
  TNT1 A 0
  Death:
  TNT1 A 0
  CACP AAAAA 7 A_warp(0,random(-128,128),random(-128,128),random(-32,32),0,WARPF_NOCHECKPOSITION )
  CACP A 5
  CACP AAA 4 A_fadeout(0.25) 
  stop
}}


ACTOR ArmSpawnerCACO
{
  Game Doom
  Radius 32
  Height 16
  Speed 1
  floatspeed 1
  +nogravity
  +float
  RenderStyle Stencil
  Stencilcolor "white"
  States
  {
  Spawn:
  GBLL A 0
  Goto Fly
  Fly:
    GBLL A 3 Bright A_SetScale(4.7,4.7)
	GBLL B 3 Bright A_SetScale(4.4,4.4)
	GBLL C 3 Bright A_SetScale(3,3)
    Goto Death
  Death:
    GBLL C 3 Bright  A_SetScale(3.5,3.5)
    GBLL B 3 Bright  A_SetScale(3,3)
    GBLL A 3 Bright  A_SetScale(2,2)
	TNT1 AA 2  A_SpawnItemEx("CacoARMSU",random(-64,64),random(-64,64),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 AAA 2  A_SpawnItemEx("CacoARMSU",random(-128,128),random(-128,128),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 AAAA 2  A_SpawnItemEx("CacoARMSU",random(-256,256),random(-256,256),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
    Stop
  }
}

ACTOR ArmSpawnerCACO2
{
  Game Doom
  Radius 32
  Height 16
  Speed 1
  floatspeed 1
  +nogravity
  +float
  RenderStyle Stencil
  Stencilcolor "black"
  States
  {
  Spawn:
  GBLL A 0
  Goto Fly
  Fly:
    GBLL A 2 Bright A_SetScale(4.7,4.7)
	GBLL B 2 Bright A_SetScale(4.4,4.4)
	GBLL C 2 Bright A_SetScale(3,3)
    Goto Death
  Death:
    GBLL C 2 Bright  A_SetScale(3.5,3.5)
    GBLL B 2 Bright  A_SetScale(3,3)
    GBLL A 2 Bright  A_SetScale(2,2)
	TNT1 AAA 2  A_SpawnItemEx("CacoARMSU2",random(-64,64),random(-64,64),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 AAAAA 2  A_SpawnItemEx("CacoARMSU2",random(-128,128),random(-128,128),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 AAAAAAAA 2  A_SpawnItemEx("CacoARMSU2",random(-256,256),random(-256,256),random(2,8),0,0,0,0,SXF_NOCHECKPOSITION)
    Stop
  }
}

ACTOR CacoARMSU2
{
  Game Doom
  Radius 16
  Height 20
  Speed 0
  projectile
  +RANDOMIZE
  +NOGRAVITY
  +thruactors
  +FloorHugger
  Damagetype "DIMp"
  
  SeeSound "Forgotten/Active"
  Scale 1
  Translation "192:207=250:254"
  States
  {
  Spawn:
  TNT1 A 3 
  Riiise:
    CDWO E 5   a_setscale(1,0.25)
	CDWO E 5  a_setscale(1,1)
    CDWO EFGH 3 bright A_explode(random(10,50),64)
	CDWO HHHH 7 bright A_explode(random(10,50),64)
	TNT1 A 0 a_setscale(1,1.25)
	CDWO HHHHHH 6  bright A_explode(random(10,50),64)
    Goto death
  Death:
    TNT1 A 0
	TNT1 A 0 a_setscale(1,1)
    CDWO H 4 bright  bright A_explode(random(10,50),64)
	CDWO H 4 a_setscale(0.75,0.75)
	CDWO H 4 a_setscale(0.5,0.75)
	CDWO H 4 a_setscale(0.25,0.75)
	CDWO H 4 a_setscale(0.05,0.75)
    Stop
  }
}



ACTOR CacoARMSU
{
  Game Doom
  Radius 16
  Height 20
  Speed 0
  projectile
  +RANDOMIZE
  +NOGRAVITY
  +thruactors
  +FloorHugger
  Damagetype melee
  SeeSound "Forgotten/Pain"
  Scale 1
  Translation "192:207=250:254"
  States
  {
  Spawn:
  TNT1 A 3
  Riiise:
    CDWO EFGH 4 bright A_explode(random(10,50),64)
	CDWO HGG 4 bright A_explode(random(10,50),64)
	TNT1 A 0 a_setscale(1,1.25)
	CDWO HHGG 4  bright A_explode(random(10,50),64)
    Goto death
  Death:
    TNT1 A 0
	TNT1 A 0 a_setscale(1,1)
    CDWO HGEF 4 bright  bright A_explode(random(10,50),64)
	CDWO F 4 a_setscale(1,0.75)
	CDWO F 4 a_setscale(1,0.5)
	CDWO F 4 a_setscale(1,0.25)
    Stop
  }
}


ACTOR CacobaldBall
{
	Radius 6
	Height 8
	Speed 20
	FastSpeed 24
	Damage 5
	Projectile 
	+RANDOMIZE
	Damagetype melee
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
	States
	{
	Spawn:
		CEIE ABCDEF 4 Bright
		Loop
	Death:
		CEYX ABC 5 Bright
		Stop
	}
}

ACTOR CacobaldBall2
{
	Radius 5
	Height 7
	Speed 18
	Damage 5
	Projectile 
	+seekermissile
	scale 0.75
	Damagetype melee
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0
	Goto fly
	Fly:
	TNT1 A 0
	TNT1 A 0 A_jump(255,"A1","A2","A3")
	TNT1 A 0
	A1:
		CEIE ABCDEF 4 Bright  A_BishopMissileWeave
		Loop
			A2:
		CEIE ABCDEF 4 Bright A_CStaffMissileSlither
		Loop
					A3:
		CEIE ABCDEF 4 Bright //A_SetSpeed(30)
		Loop
	Death:
		CEYX ABC 5 Bright
		Stop
	}
}