actor Cacodemon_2 : Cacodemon//RGAMonster
{
  Obituary "%o was smitten by a cacodemon."
  HitObituary "%o got too close to a cacodemon."
  Health 400
  Radius 31
  Height 56
  Mass 400
  Speed 8
  Scale 0.94//96
  PainChance 128
  PainChance "Dragon", 64
  PainChance "DragonF", 64
  PainChance "Dragonsplosion", 64
  PainChance "RGAFire", 64
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  SeeSound "caco/sight"
  PainSound "caco/pain"
  DeathSound "caco/death"
  ActiveSound "caco/active"
  AttackSound "demon/melee"
  MONSTER
  +FLOAT
  +NOGRAVITY
  +DONTHARMSPECIES
  +NOICEDEATH
  species "Cacodemon"
  BloodColor "Blue"
  Tag "Cacodemon"
  DamageFactor "RGABullet", 1.3
  DamageFactor "Shotgungib", 1.0
  DamageFactor "Shotgun", 1.0
  DamageFactor "Dragon", 1.2
  DamageFactor "DragonF", 1.2
  DamageFactor "Dragonsplosion", 1.0
  DamageFactor "Rifle", 1.45
  DamageFactor "Sniper", 1.6
  DamageFactor "Knife", 2.15
  DamageFactor "LMG", 1.8
  DamageFactor "BigPistol", 1.9
  DamageFactor "Cyber", 1.9
  DamageFactor "Stun", 1.2
  DamageFactor "Stun2", 1.2
  DamageFactor "Stun3", 1.2
  DamageFactor "BarrelBoom", 2.0
  DamageFactor "ScriptedMarine", 0.6
  DamageFactor "Step", 10.0
  DamageFactor "Revive", 0.0
  DamageFactor "Explosion", 1.7
  DamageFactor "ExplosionF", 1.7
  DamageFactor "ExplosionC", 1.7
  DamageFactor "NormalExplode", 1.1
  DamageFactor "BuildFriendDamage", 1.2
  DamageFactor "SewUpYou", 1.2
  States
  {
  Spawn:
    HEAD A 0
    HEAD A 0 A_CheckFlag("Friendly","Idle")
    HEAD A 0 Thing_SetSpecial(0,226,613,0,random(12,24))
  Idle:
    HEAD A 10 A_Look
    Loop
  See2:
    HEAD A 0 A_JumpIfInventory("BlindCheck",2,"SeeBlind")
    HEAD AAA 3 A_Chase("Melee","")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAA 3 A_Chase("Melee","")
    HEAD A 0 A_ScaleVelocity(0.9)
  See:
    HEAD A 0 A_JumpIfInventory("BlindCheck",2,"SeeBlind")
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AA 3 A_Chase("","Missile")
    HEAD AA 3 A_Chase
    HEAD A 0 A_ScaleVelocity(0.9)
    goto see+1
  SeeBlind:
	HEAD A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    HEAD AAA 3 A_Wander
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3 A_Wander
    HEAD A 0 A_JumpIfInventory("BlindCheck",2,1)
    goto See+1
    HEAD AAAA 3 A_Wander
    goto See
  SeeBlind2:
    HEAD A 0 A_Jump(256,1,2,3)
    HEAD AAA 3
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3
    HEAD A 0 A_JumpIfInventory("BlindCheck",2,1)
    goto See+1
    HEAD A 0 A_Jump(256,1,2,3,4)
    HEAD AAAA 3
    goto See
  MissileBlind:
    HEAD BC 5
    HEAD D 5 BRIGHT A_CustomMissile("CacodemonBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    goto See2
  Melee:
  Missile:
    HEAD B 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumb2")
    HEAD BC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("CacodemonBall2",32,35)
    goto See2
  MissileDumb2:
    HEAD BBBC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("CacodemonBall2",32,35)
    goto See2
  Pain.Stun3:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	goto Pain
  Pain.Stun2:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	goto Pain
  Pain.Stun:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	goto Pain
  Pain:
    HEAD E 3
    HEAD E 3 A_Pain
    HEAD F 6
    goto See
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD L 0 A_CheckFlag("Boss",3)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    HEAD L 0 A_Jump(24,5)
    HEAD LL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
	HEAD L 0 A_Jump(256,1,2,3)
    HEAD LLLLLL 85 CanRaise
    HEAD L 0 A_PlayWeaponSound("brain/spit")
    HEAD L 10 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 15 A_SpawnItemEx("CacolanternRes",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    Stop
  DeathClean:
    HEAD LLLLLL 5250 CanRaise
	HEAD LLLLLLLLL 2 A_FadeOut(0.1)
	Stop
  Raise:
    HEAD L 8 A_UnSetFloorClip
    HEAD K 8 Thing_SetSpecial(0,226,613,0,random(6,12))
    HEAD JIHG 8
    goto See
  }
}

ACTOR Cacolantern_2 : Cacodemon_2
{
  Health 500
  Scale 0.95//97
  Obituary "%o was seared by a cacolantern."
  HitObituary "%o was gnawed on by a cacolantern."
  Translation "168:183=208:223", "184:188=232:235", "189:191=42:47", "16:31=208:223", "32:39=232:235", "40:47=36:47"
  Tag "Cacolantern"
  States
  {
  Spawn:
    HEAD A 0
    HEAD A 0 A_CheckFlag("Friendly","Idle")
    HEAD A 0 Thing_SetSpecial(0,226,613,0,random(20,40))
  Idle:
    HEAD A 10 A_Look
    Loop
  See2:
    HEAD A 0 A_JumpIfInventory("BlindCheck",3,"SeeBlind")
    HEAD AAAA 3 A_Chase("Melee","")
    HEAD A 0 A_ScaleVelocity(0.9)
  See:
    HEAD A 0 A_JumpIfInventory("BlindCheck",3,"SeeBlind")
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AA 3 A_Chase("","Missile")
    HEAD AA 3 A_Chase
    HEAD A 0 A_ScaleVelocity(0.9)
    goto see+1
  SeeBlind:
	HEAD A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    HEAD AAA 3 A_Wander
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3 A_Wander
    HEAD A 0 A_JumpIfInventory("BlindCheck",3,1)
    goto See+1
    HEAD AAAA 3 A_Wander
    goto See
  SeeBlind2:
    HEAD A 0 A_Jump(256,1,2,3)
    HEAD AAA 3
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3
    HEAD A 0 A_JumpIfInventory("BlindCheck",3,1)
    goto See+1
    HEAD A 0 A_Jump(256,1,2,3,4)
    HEAD AAAA 3
    goto See
  MissileBlind:
    HEAD BC 5
    HEAD D 5 BRIGHT A_CustomMissile("CacolanternBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    goto See2
  Melee:
  Missile:
    HEAD B 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumb2")
    HEAD BC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("CacolanternBall2",32,40)
    Goto See2
  MissileDumb2:
    HEAD BBBC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("CacolanternBall2",32,40)
    Goto See2
  Pain.Stun3:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	goto Pain
  Pain.Stun2:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	goto Pain
  Pain.Stun:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	goto Pain
  Pain:
    HEAD E 3
    HEAD E 3 A_Pain
    HEAD F 6
    goto See
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD L 0 A_CheckFlag("Boss",3)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    HEAD L 0 A_Jump(22,6)
    HEAD LLL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
	HEAD L 0 A_Jump(256,1,2,3)
    HEAD LLLLLL 85 CanRaise
    HEAD L 0 A_PlayWeaponSound("brain/spit")
    HEAD L 10 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 15 A_SpawnItemEx("BlueCacodemonRes",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    Stop
  DeathClean:
    HEAD LLLLLL 5250 CanRaise
	HEAD LLLLLLLLL 2 A_FadeOut(0.1)
	Stop
  Raise:
    HEAD L 8 A_UnsetFloorClip
    HEAD K 8 Thing_SetSpecial(0,226,613,0,random(10,20))
    HEAD JIHG 8
    Goto See
  }
}

actor CacolanternBall2 : CacodemonBall2
{
  Speed 20
  FastSpeed 30
  Damage (18)
  +FORCEXYBILLBOARD
  Translation "168:191=192:207", "160:167=196:199", "224:231=192:192", "232:235=200:207", "253:253=174:174", "208:223=192:199", "16:47=192:207", "48:79=192:207", "13:15=240:242"
  States
  {
  Spawn:
    BAL2 AAAABBBB 1 bright A_SpawnItemEx("ImpactSparkBlue", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    BAL2 CCCCCCCCC 0 BRIGHT A_SpawnItemEx("ImpactSpark2Blue", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    BAL2 CDE 6 BRIGHT
    Stop
  }
}

actor BlueCacodemon : Cacodemon_2
{
  Obituary "%o was frozen solid by a bluodemon."
  HitObituary "%o felt a bluodemon's icy breath."
  Health 600
  Scale 0.96
  BloodColor "Red"
  Translation "168:187=192:207", "188:191=240:247", "192:207=168:191", "240:247=47:47", "16:39=192:207", "40:47=240:247", "160:167=200:207", "232:235=240:247", "208:223=192:207"
  Tag "Bluodemon"
  DamageFactor "Ice", 0.5
  States
  {
  Spawn:
    HEAD A 0
    HEAD A 0 A_CheckFlag("Friendly","Idle")
    HEAD A 0 Thing_SetSpecial(0,226,613,0,random(25,45))
  Idle:
    HEAD A 10 A_Look
    Loop
  See2:
    HEAD A 0 A_JumpIfInventory("BlindCheck",4,"SeeBlind")
    HEAD AA 3 A_Chase("Melee","")
    HEAD A 0 A_ScaleVelocity(0.9)
  See:
    HEAD A 0 A_JumpIfInventory("BlindCheck",4,"SeeBlind")
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AA 3 A_Chase("","Missile")
    HEAD AA 3 A_Chase
    HEAD A 0 A_ScaleVelocity(0.9)
    goto see+1
  SeeBlind:
	HEAD A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    HEAD AAA 3 A_Wander
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3 A_Wander
    HEAD A 0 A_JumpIfInventory("BlindCheck",4,1)
    goto See+1
    HEAD AAAA 3 A_Wander
    goto See
  SeeBlind2:
    HEAD A 0 A_Jump(256,1,2,3)
    HEAD AAA 3
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3
    HEAD A 0 A_JumpIfInventory("BlindCheck",4,1)
    goto See+1
    HEAD A 0 A_Jump(256,1,2,3,4)
    HEAD AAAA 3
    goto See
  MissileBlind:
    HEAD BC 5
    HEAD D 5 BRIGHT A_CustomMissile("IceCacolanternBall",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
	HEAD D 0 A_Jump(191,"See")
    HEAD BC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomMissile("IceCacolanternBall",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    goto See2
  Melee:
  Missile:
    HEAD B 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumb2")
    HEAD BC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("IceCacolanternBall",32,45,none,"Ice",0)
	HEAD D 0 A_Jump(127,"See")
    HEAD BC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("IceCacolanternBall",32,45,none,"Ice",0)
    goto See2
  MissileDumb2:
    HEAD BBBC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("IceCacolanternBall",32,45,none,"Ice",0)
	HEAD D 0 A_Jump(127,"See")
    HEAD BBC 5 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("IceCacolanternBall",32,45,none,"Ice",0)
    goto See2
  Pain.Stun3:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	goto Pain
  Pain.Stun2:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	goto Pain
  Pain.Stun:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	goto Pain
  Pain:
    HEAD E 3
    HEAD E 3 A_Pain
    HEAD F 6
    goto See
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD L 0 A_CheckFlag("Boss",3)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    HEAD L 0 A_Jump(20,7)
    HEAD LLLL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
	HEAD L 0 A_Jump(256,1,2,3)
    HEAD LLLLLL 85 CanRaise
    HEAD L 0 A_PlayWeaponSound("brain/spit")
    HEAD L 10 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 15 A_SpawnItemEx("AbaddonRes",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    Stop
  DeathClean:
    HEAD LLLLLL 5250 CanRaise
	HEAD LLLLLLLLL 2 A_FadeOut(0.1)
	Stop
  Raise:
    HEAD L 8 A_UnSetFloorClip
    HEAD K 8 Thing_SetSpecial(0,226,613,0,random(13,22))
    HEAD JIHG 8
    goto See
  }
}

actor IceCacolanternBall : CacolanternBall2
{
  Speed 15
  FastSpeed 25
  DamageType "Ice"
  Damage (32)
  +FORCEXYBILLBOARD
  Translation "168:191=192:207", "160:167=196:199", "224:231=192:192", "232:235=200:207", "250:254=200:207", "208:223=192:199", "16:47=192:207", "48:79=192:207", "13:15=240:242"
}

ACTOR Abaddon_2 : Cacolantern_2
{
  Health 750
  Speed 9
  Scale 0.97//99
  PainChance 80
  PainChance "Dragon", 40
  PainChance "DragonF", 40
  PainChance "Dragonsplosion", 40
  PainChance "RGAFire", 40
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  Obituary "%o was charred by an abaddon."
  HitObituary "%o became food for an abaddon."
  BloodColor "Red"
  Translation "191:191=0:0", "183:190=5:8", "168:182=104:111", "160:167=104:111", "216:223=104:111", "16:39=88:111", "40:47=5:8", "192:207=168:191", "240:247=40:47", "112:127=168:191", "48:71=80:111", "72:79=5:8"
  Tag "Abaddon"
  States
  {
  Spawn:
    HEAD A 0
    HEAD A 0 A_CheckFlag("Friendly","Idle")
    HEAD A 0 Thing_SetSpecial(0,226,613,0,random(30,50))
  Idle:
    HEAD A 10 A_Look
    Loop
  See2:
    Stop
  See:
    HEAD A 0 A_JumpIfInventory("BlindCheck",5,"SeeBlind")
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AAAA 3 A_Chase("","Missile")
    HEAD A 0 A_ScaleVelocity(0.9)
    HEAD AA 3 A_Chase("","Missile")
    HEAD AA 3 A_Chase
    HEAD A 0 A_ScaleVelocity(0.9)
    goto see+1
  SeeBlind:
	HEAD A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    HEAD AAA 3 A_Wander
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3 A_Wander
    HEAD A 0 A_JumpIfInventory("BlindCheck",5,1)
    goto See+1
    HEAD AAAA 3 A_Wander
    goto See
  SeeBlind2:
    HEAD A 0 A_Jump(256,1,2,3)
    HEAD AAA 3
	HEAD A 0 A_Jump(224,2)
    HEAD A 0 A_Pain
    HEAD A 3
    HEAD A 0 A_JumpIfInventory("BlindCheck",5,1)
    goto See+1
    HEAD A 0 A_Jump(256,1,2,3,4)
    HEAD AAAA 3
    goto See
  MissileBlind:
    HEAD BC 4
    HEAD D 5 BRIGHT A_CustomMissile("AbaddonBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
	HEAD D 0 A_Jump(127,"See")
    HEAD BC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomMissile("AbaddonBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    goto See
  Melee:
  Missile:
    HEAD B 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumb2")
    HEAD BC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
    HEAD BC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
	HEAD D 0 A_Jump(127,"See")
    HEAD BC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
    Goto See
  MissileDumb2:
    HEAD BBBC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
    HEAD BBC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
	HEAD D 0 A_Jump(127,"See")
    HEAD BBC 4 A_FaceTarget
    HEAD D 5 BRIGHT A_CustomComboAttack("AbaddonBall2",32,25)
    Goto See
  Pain.Stun3:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	goto Pain
  Pain.Stun2:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	goto Pain
  Pain.Stun:
    HEAD E 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	goto Pain
  Pain:
    HEAD E 3
    HEAD E 3 A_Pain
    HEAD F 6
    goto See
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD L 0 A_CheckFlag("Boss",3)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    HEAD L 0 A_Jump(18,8)
    HEAD LLLLL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
	HEAD L 0 A_Jump(256,1,2,3)
    HEAD LLLLLL 85 CanRaise
    HEAD L 0 A_PlayWeaponSound("brain/spit")
    HEAD L 10 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 15 A_SpawnItemEx("StoneAbaddonRes",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    Stop
  DeathClean:
    HEAD LLLLLL 5250 CanRaise
	HEAD LLLLLLLLL 2 A_FadeOut(0.1)
	Stop
  Raise:
    HEAD L 8 A_UnSetFloorClip
    HEAD K 8 Thing_SetSpecial(0,226,613,0,random(15,25))
    HEAD JIHG 8
    Goto See
  }
}

ACTOR StoneAbaddon : Cacolantern_2
{
  Health 2500//2000//1250
  Speed 10//9
  Scale 0.99//0.98//1.00
  Mass 800
  MinMissileChance 180
  PainChance 5
  PainChance "Sniper", 25
  PainChance "Dragon", 3
  PainChance "DragonF", 3
  PainChance "Dragonsplosion", 3
  PainChance "RGAFire", 3
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 5
  PainChance "Stun2", 5
  PainChance "Stun3", 5
  SeeSound "caco/sightgod"
  PainSound "caco/paingod"
  Obituary "%o was scorched by an ascended cacodemon."
  HitObituary "%o was crunched by an ascended cacodemon."
  Translation "168:191=80:111", "160:167=104:111", "216:223=104:111", "16:43=96:111", "44:47=5:8", "192:207=168:191", "240:247=40:47", "112:127=168:191", "48:75=88:111", "76:79=5:8"
  +QUICKTORETALIATE
  +NOBLOOD
  -COUNTKILL
  +MISSILEMORE
  +NOICEDEATH
  +DONTMORPH
  DamageFactor "Explosion", 2.0
  DamageFactor "ExplosionF", 2.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "Fire", 0.77//0.8
  DamageFactor "Dragon", 0.54//0.8
  DamageFactor "DragonF", 0.63//0.8
  DamageFactor "Dragonsplosion", 0.45//0.67
  DamageFactor "RGAFire", 0.77//0.8
  Tag "Ascended Cacodemon"
  States
  {
  Spawn:
    HEAD A 0 BRIGHT
    HEAD A 0 BRIGHT A_CheckFlag("Friendly","Idle")
    HEAD A 0 BRIGHT Thing_SetSpecial(0,226,613,0,random(100,150))//50,75))
  Idle:
    HEAD A 4 BRIGHT A_Look
    HEAD AAAA 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    Loop
  See2:
    Stop
  See:
    HEAD A 0 BRIGHT A_ScaleVelocity(0.9)
    HEAD AA 2 BRIGHT A_Chase
    HEAD AA 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD A 0 BRIGHT A_Jump(244,"See")
    HEAD A 0 BRIGHT ThrustThing(angle*256/360+64, random(-15,15), 0, 0)
    Loop
  Pain.Stun3:
    Stop
  Pain.Stun2:
    Stop
  Pain.Stun:
    Stop
  Pain.Explosion:
    Stop
  Pain.ExplosionF:
    Stop
  Pain.ExplosionC:
    Stop
  Pain.RGAFire:
  Pain.Dragon:
  Pain.DragonF:
  Pain.Dragonsplosion:
  Pain.Fire:
    HEAD E 0 BRIGHT A_Jump(240,2)
    HEAD E 0 BRIGHT ThrustThing(angle*256/360+64, random(-20,20), 0, 0)
    HEAD E 3 BRIGHT A_Jump(8,"Missile")
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD E 3 BRIGHT A_Pain
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD F 3 BRIGHT
    HEAD FFF 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    Goto See
  Pain.Sniper:
    HEAD E 0 BRIGHT ThrustThing(angle*256/360+64, random(-20,20), 0, 0)
    HEAD E 3 BRIGHT A_Jump(32,"Missile")
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD E 3 BRIGHT A_Pain
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD F 3 BRIGHT
    HEAD FFF 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    Goto See
  Pain:
    HEAD E 0 BRIGHT A_Jump(96,2)
    HEAD E 0 BRIGHT ThrustThing(angle*256/360+64, random(-20,20), 0, 0)
    HEAD E 3 BRIGHT A_Jump(16,"Missile")
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD E 3 BRIGHT A_Pain
    HEAD EEE 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD F 3 BRIGHT
    HEAD FFF 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    Goto See
  Missile:
    HEAD E 0 BRIGHT A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",4,0,0)) == 1, "Melee")
    HEAD E 0 BRIGHT A_Jump(16,"Missile2")
  Melee:
    HEAD B 0 BRIGHT A_JumpIfCloser(96,3)
    HEAD B 0 BRIGHT A_Jump(192,2)
    HEAD B 0 BRIGHT ThrustThing(angle*256/360+64, random(-15,15), 0, 0)
    HEAD B 2 BRIGHT A_FaceTarget
  MeleeCont:
    HEAD C 0 BRIGHT A_Jump(63,"Melee2")
    HEAD C 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 3 BRIGHT A_CustomComboAttack("AbaddonBall2",32,23)
    HEAD DDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD BC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 3 BRIGHT A_CustomComboAttack("AbaddonBall2",32,23)
    HEAD DDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD BC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 3 BRIGHT A_CustomComboAttack("AbaddonBall2",32,23)
    HEAD DDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_Jump(63,"Melee")
    Goto See
  Melee2:
    HEAD B 0 BRIGHT A_PlaySound("caco/sightgod",2)
    HEAD B 0 BRIGHT A_Jump(32,2)
    HEAD B 0 BRIGHT A_JumpIfCloser(320,"Melee3")
    HEAD B 2 BRIGHT A_FaceTarget
    HEAD BBBB 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD BC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD CC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD CC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 4 BRIGHT A_CustomMissile("AbaddonBall3",32)
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 4 BRIGHT
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 3 BRIGHT
    HEAD DDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD C 3 BRIGHT
    HEAD CCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD B 3 BRIGHT
    HEAD BBB 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_Jump(63,"Melee")
    Goto See
  Melee3:
    HEAD B 2 BRIGHT A_FaceTarget
    HEAD BBBB 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD BC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD CC 2 BRIGHT A_FaceTarget
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD C 0 BRIGHT A_PlaySoundEx("dragon/fire",1)
    HEAD DDDD 1 BRIGHT A_CustomMissile("VileFlamerFire",32,0,random(-1000,1000)/100.00)
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_FaceTarget
    HEAD DDDD 1 BRIGHT A_CustomMissile("VileFlamerFire",32,0,random(-1000,1000)/100.00)
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_FaceTarget
    HEAD DDDD 1 BRIGHT A_CustomMissile("VileFlamerFire",32,0,random(-1000,1000)/100.00)
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_FaceTarget
    HEAD DDDD 1 BRIGHT A_CustomMissile("VileFlamerFire",32,0,random(-1000,1000)/100.00)
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 4 BRIGHT
    HEAD DDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD C 4 BRIGHT
    HEAD CCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD B 4 BRIGHT
    HEAD BBBB 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_Jump(63,"Melee")
    Goto See
  Missile2:
    HEAD B 4 BRIGHT A_JumpIfCloser(96,"Melee")
    HEAD BBBBBB 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD C 4 BRIGHT A_JumpIfCloser(96,"MeleeCont")
    HEAD CCCCCC 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD D 0 BRIGHT A_PlayWeaponSound("brain/spit")
    HEAD D 0 BRIGHT A_SpawnItemEx("StoneKnightCube",8,0,24,8,0,0,-10,SXF_SETMASTER)
    HEAD D 8 BRIGHT A_SpawnItemEx("StoneKnightCube",8,0,24,8,0,0,10,SXF_SETMASTER)
    HEAD DDDDDD 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    goto See
  Death.Ice:
    "####" # 0 A_GiveToTarget("RandomKillstreak",1)
  Death:
    SPID I 0 A_GiveToTarget("RandomKillstreak",1)
    HEAD G 4 BRIGHT A_NoGravity
    HEAD GGGG 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD G 3 BRIGHT
    HEAD GGG 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD H 4 BRIGHT
    HEAD HHHH 0 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD H 3 BRIGHT
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_NoGravity
    TNT1 A 0 A_Stop
    TNT1 AAAAAAA 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    TNT1 AAAAAAA 0 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    TNT1 A 0 Radius_Quake(1,30,0,6,0)
    TNT1 A 6 A_SpawnItemEx("ExplosionMain",0,0,28,0,0,0,0,128,0)
	TNT1 A 0 A_Jump(256,1,2,3)
	TNT1 AAA 3
    TNT1 A 6 A_SpawnItemEx("ExplosionMain",0,0,28,0,0,0,0,128,0)
	TNT1 A 0 A_Jump(256,1,2,3)
	TNT1 AAA 3
    TNT1 A 6 A_SpawnItemEx("ExplosionMain2",0,0,28,0,0,0,0,128,0)
	TNT1 A 0 A_Jump(256,1,2,3)
	TNT1 AAA 3
    TNT1 A 6 A_SpawnItemEx("ExplosionMain2",0,0,28,0,0,0,0,128,0)
	TNT1 A 0 A_Jump(256,1,2,3)
	TNT1 AAA 3
    TNT1 A 30 A_SpawnItemEx("ExplosionMain3",0,0,28,0,0,0,0,128,0)
    Stop
  Crash:
    Stop
  Raise:
    Stop
  }
}

actor AbaddonBall2 : CacodemonBall2
{
  Speed 20
  FastSpeed 30
  Damage (18)
  +FORCEXYBILLBOARD
}
actor AbaddonBall3 : CacodemonBall2
{
  Speed 15
  FastSpeed 15
  Damage (32)
  Scale 0.9//2.5
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    8BLX B 1 BRIGHT A_SpawnItemEx("FireFlare",random(-10,10),random(-10,10),random(-20,0),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    Loop
  Death:
    TNT1 A 0 BRIGHT Radius_Quake(3,12,0,12,0)
    TNT1 A 0 BRIGHT A_Explode(48,288,0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,3), 0, 128, 0)
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain",0,0,0,0,0,0,0,128,0)
    TNT1 A 25
    Stop
  }
}

actor CacolanternRes
{
  Scale 0.95//97
  Translation "168:183=208:223", "184:188=232:235", "189:191=42:47", "16:31=208:223", "32:39=232:235", "40:47=36:47"
  States
  {
  Spawn:
    HEAD LKJIH 6
    TNT1 A 5 A_SpawnItemEx("Cacolantern_2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}
actor BlueCacodemonRes
{
  Scale 0.96
  Translation "168:187=192:207", "188:191=240:247", "192:207=168:191", "240:247=47:47", "16:39=192:207", "40:47=240:247", "160:167=200:207", "232:235=240:247", "208:223=192:207"
  States
  {
  Spawn:
    HEAD LKJIH 6
    TNT1 A 5 A_SpawnItemEx("BlueCacodemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}
actor AbaddonRes
{
  Scale 0.97//99
  Translation "191:191=0:0", "183:190=5:8", "168:182=104:111", "160:167=104:111", "216:223=104:111", "16:39=88:111", "40:47=5:8", "192:207=168:191", "240:247=40:47", "112:127=168:191", "48:71=80:111", "72:79=5:8"
  States
  {
  Spawn:
    HEAD LKJIH 6
    TNT1 A 5 A_SpawnItemEx("Abaddon_2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}
actor StoneAbaddonRes
{
  Scale 0.98//1.00
  Translation "168:191=80:111", "160:167=104:111", "216:223=104:111", "16:43=96:111", "44:47=5:8", "192:207=168:191", "240:247=40:47", "112:127=168:191", "48:75=88:111", "76:79=5:8"
  States
  {
  Spawn:
    HEAD LLL 8 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD K 0 A_Explode(20,70,0)
    HEAD K 0 A_SpawnItemEx("ExplosionMain3",0,0,28,0,0,0,0,128,0)
    HEAD KJ 8 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD I 0 A_Explode(30,100,0)
    HEAD I 0 A_SpawnItemEx("ExplosionMain2",0,0,28,0,0,0,0,128,0)
    HEAD IH 8 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    HEAD G 0 A_Explode(40,130,0)
    HEAD G 0 A_SpawnItemEx("ExplosionMain",0,0,28,0,0,0,0,128,0)
    HEAD G 8 BRIGHT A_SpawnItemEx("FireFlare",random(-25,25),random(-25,25),random(0,40),random(-2,2),random(-2,2),random(-1,4),0,128,0)
    TNT1 A 5 A_SpawnItemEx("StoneAbaddon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}

actor Cacodemon_2Stealth : Cacodemon_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD LL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
  }
}

actor Cacolantern_2Stealth : Cacolantern_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD LLL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
  }
}

actor BlueCacodemonStealth : BlueCacodemon
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Ice:
  Death:
    HEAD G 0
    HEAD G 8 A_Scream
    HEAD G -1
	Stop
  Crash:
    HEAD HIJ 4
    HEAD K 4 A_NoBlocking
    HEAD L 0 A_SetFloorClip
    HEAD LLLL 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    HEAD L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    HEAD L -1
    Stop
  }
}