actor HellKnight_2 : HellKnight//RGAMonster
{
  Obituary "%o was splayed by a hell knight."
  HitObituary "%o was gutted by a hell knight."
  Health 550
  Radius 24
  Height 64
  Mass 1000
  Speed 9
  Scale 0.95
  PainChance 40
  PainChance "Dragon", 20
  PainChance "DragonF", 20
  PainChance "Dragonsplosion", 20
  PainChance "RGAFire", 20
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  PainChance "SewUpYou", 50
  PainChance "BuildFriendDamage", 50
  PainChance "ISABELLESROMANTICLOVE", 50
  SeeSound "knight/sight"
  PainSound "knight/pain"
  DeathSound "knight/death"
  ActiveSound "knight/active"
  MONSTER
  +FLOORCLIP
  +DONTHARMSPECIES
  Species "Bruisers"
  BloodColor "47 A0 37"//"DarkOliveGreen"
  //Translation "16:16=[255,202,151]:[255,202,151]", "17:47=[244,191,140]:[56,32,13]", "48:79=60:79", "80:111=64:79", "5:8=1:2", "187:188=13:14", "3:3=76:76"
  Translation "16:16=[255,214,174]:[255,210,174]", "17:47=[245,199,163]:[56,32,13]", "48:79=60:79", "80:111=64:79", "5:8=1:2", "187:188=13:14", "3:3=76:76"
  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.8
  DamageFactor "ExplosionF", 1.8
  DamageFactor "ExplosionC", 1.8
  DamageFactor "NormalExplode", 1.2
  DamageFactor "BuildFriendDamage", 1.2
  DamageFactor "SewUpYou", 1.2
  Tag "Hell Knight"
  States
  {
  Spawn:
    BOSS A 0
    BOSS A 0 A_CheckFlag("Friendly",2)
    BOSS A 0 Thing_SetSpecial(0,226,613,0,random(20,40))
    BOSS A 10
  Idle:
    BOSS AABB 10 A_Look
    Loop
  See:
    BOSS A 0 A_JumpIfInventory("MonHold",1,"Death")
    BOSS A 0 A_JumpIfInventory("BlindCheck",2,"SeeBlind")
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    loop
  SeeBlind:
	BOSS A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    BOSS AAB 3 A_Wander
	BOSS B 0 A_Jump(224,2)
    BOSS B 0 A_Pain
    BOSS B 3 A_Wander
    BOSS B 0 A_JumpIfInventory("BlindCheck",2,1)
    Goto See+6
    BOSS CCDD 3 A_Wander
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Goto See
  SeeBlind2:
    BOSS A 0 A_Jump(256,1,2,3)
    BOSS AAA 3
	BOSS A 0 A_Jump(224,2)
    BOSS A 0 A_Pain
    BOSS A 3
    BOSS A 0 A_JumpIfInventory("BlindCheck",2,1)
    Goto See+2
    BOSS A 0 A_Jump(256,1,2,3,4)
    BOSS AAAA 3
    Goto See
  MissileBlind:
    BOSS E 0
    BOSS E 0 A_Jump(19,"MissileBlind3")
    BOSS E 0 A_Jump(127,"MissileBlind2")
    BOSS EF 8
    BOSS G 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind2:
    BOSS ST 8
    BOSS U 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind3:
    BOSS PQ 11
    BOSS R 2 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS R 11 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  Missile:
  Melee:
    BOSS E 0
    BOSS E 0 A_Jump(23,"Melee3")
    BOSS E 0 A_Jump(127,"Melee2")
    BOSS E 0 A_JumpIfInTargetInventory("PowerInvisibility",1,4)
    BOSS EF 8 A_FaceTarget
    BOSS G 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
    BOSS EEEF 8 A_FaceTarget
    BOSS G 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
  Melee2:
    BOSS S 0 A_JumpIfInTargetInventory("PowerInvisibility",1,4)
    BOSS ST 8 A_FaceTarget
    BOSS U 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
    BOSS SSST 8 A_FaceTarget
    BOSS U 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
  Melee3:
    BOSS P 0 A_JumpIfInTargetInventory("PowerInvisibility",1,5)
    BOSS PQ 11 A_FaceTarget
    BOSS R 2 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS R 9 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS A 5
    Goto See
    BOSS PPPQ 11 A_FaceTarget
    BOSS R 2 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS R 9 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS A 5
    Goto See
  Pain.Stun3:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	Goto Pain
  Pain.Stun2:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	Goto Pain
  Pain.Stun:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	Goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    BOSS H 2
    BOSS H 6 A_Pain
    Goto See
  Pain:
    BOSS H 2
    BOSS H 2 A_Pain
    Goto See
  Death:
    BOSS I 0
    BOSS I 8 A_Jump(153,"Death2","Death3")
    BOSS J 8 A_Scream
    BOSS K 8
    BOSS L 8 A_NoBlocking
    BOSS MN 8
    BOSS OOO 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BOSS O 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    BOSS O -1
    Stop
  Death2:
    BS12 A 7
    BS12 B 7 A_Scream
    BS12 C 7
    BS12 D 7 A_NoBlocking
    BS12 EF 7
    BS12 GGG 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 G 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean2")
    BS12 G -1
    Stop
  Death3:
    BS12 H 6
    BS12 I 6 A_Scream
    BS12 J 6
    BS12 K 7 A_NoBlocking
    BS12 LM 8
    BS12 NNN 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1
    Stop
  Death.Knife:
    BS12 H 6
    BS12 I 6
    BS12 J 6
    BS12 K 0 A_NoBlocking
    BS12 K 7 A_PlaySound("body/splats")
    BS12 LM 8
    BS12 NNN 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" H 1
    "####" A 0 A_GiveInventory("MonHold",1)
	"####" A 0 A_Jump(128,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_Jump(28,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
	"####" D 0 A_Jump(152,"Death.Burnt")
	"####" D 0 A_GiveInventory("MonHold",1)
	goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    Wait
  Death.Burnt:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
	goto Death
  DeathClean:
    BOSS OOOOOO 5250 CanRaise
    BOSS OOOOOOOOO 2 A_FadeOut(0.1)
	Stop
  DeathClean2:
    BS12 GGGGGG 5250 CanRaise
    BS12 GGGGGGGGG 2 A_FadeOut(0.1)
	Stop
  DeathClean3:
    BS12 NNNNNN 5250 CanRaise
    BS12 NNNNNNNNN 2 A_FadeOut(0.1)
	Stop
  Raise:
    BOSS O 0
    BOSS O 0 A_ChangeFlag("FRIGHTENED",0)
	BOSS O 0 A_TakeInventory("MonHold",35)
    BOSS O 8 Thing_SetSpecial(0,226,613,0,random(10,20))
    BOSS NMLKJI 8
    Goto See
  }
}

actor HellSpectre : HellKnight_2
{
  Obituary "%o was splayed by a knight shade."
  HitObituary "%o was gutted by a knight shade."
  Health 450
  renderstyle Subtract//OptFuzzy
  alpha 0.2//0.35//0.5
  Translation "0:2=[255,255,255]:[232,240,248]", "3:3=[180,200,228]:[180,200,228]",
  "4:4=[0,0,0]:[0,0,0]", "5:8=[224,232,244]:[232,240,248]",
  "9:12=[208,200,224]:[240,232,255]", "13:15=[176,196,212]:[192,212,228]",
  "16:31=[0,41,81]:[99,134,162]", "32:47=[105,140,167]:[199,223,242]",
  "48:63=[32,108,156]:[112,160,200]", "64:79=[112,160,200]:[212,220,240]",
  "80:95=[64,132,180]:[128,172,208]", "96:111=[128,172,208]:[212,220,240]",
  "112:127=[136,0,144]:[244,232,248]", "128:143=[64,88,112]:[172,192,208]",
  "144:151=[94,124,156]:[188,204,228]", "152:159=[132,128,156]:[200,192,216]",
  "160:167=[0,0,140]:[140,212,255]", "168:175=[0,0,0]:[0,224,224]",
  "187:188=[176,196,212]:[184,204,220]", "176:191=[0,255,255]:[188,255,255]",
  "192:199=[24,24,0]:[228,228,0]", "200:207=[255,255,0]:[255,255,172]",
  "208:215=[0,0,0]:[0,128,228]", "216:223=[12,140,232]:[255,255,255]",
  "224:231=[0,0,0]:[0,0,255]", "232:235=[88,192,255]:[120,220,255]",
  "236:239=[176,196,216]:[208,228,244]", "240:247=[255,255,172]:[255,255,255]",
  "248:249=[0,96,188]:[0,24,180]", "250:250=[0,132,0]:[0,132,0]",
  "250:254=[0,255,0]:[144,255,148]", "255:255=[88,148,148]:[88,148,148]"
  //wth is even this? worst workaround colorflip for subtract render
  +SHADOW
  +CANTSEEK
  +BRIGHT
  Tag "Knight Shade"
  States
  {
  Spawn:
    BOSS A 0
    BOSS A 0 A_CheckFlag("Friendly",2)
    BOSS A 0 Thing_SetSpecial(0,226,613,0,random(20,40))
    BOSS A 0 A_GiveInventory("Perk2_ColdBlooded_PRO",1)
    BOSS A 10
  Idle:
    BOSS AABB 10 A_Look
    Loop
  }
}

actor StoneKnight : HellKnight_2
{
  Obituary "%o was smeared by a stone knight."
  HitObituary "%o was smashed by a stone knight."
  Health 700
  Radius 24
  Height 64
  Mass 1000
  Speed 8
  Scale 0.96
  ReactionTime 10
  MinMissileChance 211
  PainChance 10
  PainChance "Sniper", 20
  PainChance "Fire", 6
  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", 10
  PainChance "Stun2", 10
  PainChance "Stun3", 10
  PainChance "SewUpYou", 12
  PainChance "BuildFriendDamage", 12
  PainChance "ISABELLESROMANTICLOVE", 12
  SeeSound "stoneknight/sight"
  PainSound "stoner/sight"
  DeathSound "stoner/sight1"
  ActiveSound "stoner/sight"
  MONSTER
  +FLOORCLIP
  +DONTHARMSPECIES
  +NOBLOOD
  +NOICEDEATH
  Species "Bruisers"
  Translation "48:66=93:111", "67:78=5:8", "79:79=0:0", "144:149=106:111", "150:151=5:6",
			  "1:2=8:8", "16:47=[116,116,116]:[0,0,0]", "128:139=106:111", "140:143=5:8",
			  "236:237=108:111", "238:239=5:8", "80:94=107:111", "95:111=5:8", "5:8=0:0",
			  "112:123=196:207", "124:127=240:243", "187:188=7:8"
  DamageFactor "Explosion", 1.8
  DamageFactor "ExplosionF", 1.8
  DamageFactor "ExplosionC", 1.8
  DamageFactor "NormalExplode", 1.2
  DamageFactor "Fire", 0.68//0.36
  DamageFactor "Dragon", 0.36
  DamageFactor "DragonF", 0.45
  DamageFactor "Dragonsplosion", 0.3
  DamageFactor "RGAFire", 0.68//0.36
  DamageFactor "BuildFriendDamage", 1.2
  DamageFactor "SewUpYou", 1.2
  DropItem "StoneArmor" 64
  Tag "Stone Knight"
  States
  {
  Spawn:
    BOSS A 0
    BOSS A 0 A_CheckFlag("Friendly",2)
    BOSS A 0 Thing_SetSpecial(0,226,613,0,random(30,50))
    BOSS A 10
  Idle:
    BOSS AABB 10 A_Look
    Loop
  See:
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    loop
  Missile:
    BOSS E 0 A_JumpIfInventory("BreathWait",4,"Melee")
    BOSS E 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",4,0,0)) == 1, "Melee")
    BOSS E 0 A_Jump(15,"Missile2")
  Melee:
    BOSS E 0 A_Jump(127,"Melee2")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS A 7
    Goto See
  Melee2:
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS A 7
    Goto See
  Missile2:
    BOSS E 0 A_Jump(127,"Missile3")
    BOSS EF 7 A_JumpIfCloser(96,"Melee")
    BOSS G 0 A_PlayWeaponSound("brain/spit")
    BOSS G 0 A_GiveInventory("BreathWait",1)
    BOSS G 7 A_SpawnItemEx("StoneKnightCube",8,0,32,8,0,0,-24,SXF_SETMASTER)
    BOSS ST 7 A_JumpIfCloser(96,"Melee")
    BOSS U 0 A_PlayWeaponSound("brain/spit")
    BOSS U 0 A_GiveInventory("BreathWait",1)
    BOSS U 7 A_SpawnItemEx("StoneKnightCube",8,0,32,8,0,0,24,SXF_SETMASTER)
    BOSS A 7
    BOSS AABBCCDDAABBCCDD 3 A_Chase("Melee","")
    Goto See
  Missile3:
    BOSS ST 7 A_JumpIfCloser(96,"Melee")
    BOSS U 0 A_PlayWeaponSound("brain/spit")
    BOSS U 0 A_GiveInventory("BreathWait",1)
    BOSS U 7 A_SpawnItemEx("StoneKnightCube",8,0,32,8,0,0,24,SXF_SETMASTER)
    BOSS EF 7 A_JumpIfCloser(96,"Melee")
    BOSS G 0 A_PlayWeaponSound("brain/spit")
    BOSS G 0 A_GiveInventory("BreathWait",1)
    BOSS G 7 A_SpawnItemEx("StoneKnightCube",8,0,32,8,0,0,-24,SXF_SETMASTER)
    BOSS A 7
    BOSS AABBCCDDAABBCCDD 3 A_Chase("Melee","")
    Goto See
  Death.RGAFire:
    Stop
  Death.Dragonsplosion:
    Stop
  Death.Dragon:
    Stop
  Death.DragonF:
    Stop
  Death.Fire:
    Stop
  Pain.Stun3:
    Stop
  Pain.Stun2:
    Stop
  Pain.Stun:
    Stop
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    BOSS H 2
    BOSS H 8
    Goto See
  Pain:
    BOSS H 2
    BOSS H 4
    Goto See
  Death.Ice:
  Death:
    BOSS I 0
    BOSS I 8 A_Jump(153,"Death2","Death3")
    BOSS J 8 A_Scream
    BOSS K 8
    BOSS L 8 A_NoBlocking
    BOSS MN 8
    BOSS OOO 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BOSS O 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    BOSS O -1
    Stop
  Death2:
    BS12 A 7
    BS12 B 7 A_Scream
    BS12 C 7
    BS12 D 7 A_NoBlocking
    BS12 EF 7
    BS12 GGG 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 G 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean2")
    BS12 G -1
	Stop
  Death.Knife:
  Death3:
    BS12 H 6
    BS12 I 6 A_Scream
    BS12 J 6
    BS12 K 7 A_NoBlocking
    BS12 LM 8
    BS12 NNN 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1
    Stop
  Raise:
    BOSS O 0
    BOSS O 8 Thing_SetSpecial(0,226,613,0,random(15,25))
    BOSS NMLKJI 8
    Goto See
  }
}

actor BaronOfHell_2 : BaronOfHell//RGAMonster
{
  Obituary "%o was bruised by a baron of hell."
  HitObituary "%o was ripped open by a baron of hell."
  Health 1000
  Radius 24
  Height 64
  Mass 1000
  Speed 8
  PainChance 40
  PainChance "Dragon", 20
  PainChance "DragonF", 20
  PainChance "Dragonsplosion", 20
  PainChance "RGAFire", 20
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  PainChance "SewUpYou", 50
  PainChance "BuildFriendDamage", 50
  PainChance "ISABELLESROMANTICLOVE", 50
  SeeSound "baron/sight"
  PainSound "baron/pain"
  DeathSound "baron/death"
  ActiveSound "baron/active"
  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", 2.0
  DamageFactor "ExplosionF", 2.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "BuildFriendDamage", 1.4
  DamageFactor "SewUpYou", 1.4
  MONSTER
  +FLOORCLIP
  +BOSSDEATH
  +DONTHARMSPECIES
  Species "Bruisers"
  BloodColor "47 A0 37"//"DarkOliveGreen"
  Tag "Baron of Hell"
  States
  {
  Spawn:
    BOSS A 0
    BOSS A 0 A_CheckFlag("Friendly",2)
    BOSS A 0 Thing_SetSpecial(0,226,613,0,random(40,60))
    BOSS A 15
  Idle:
    BOSS AABB 10 A_Look
    Loop
  See:
    BOSS A 0 A_JumpIfInventory("MonHold",1,"Death")
    BOSS A 0 A_JumpIfInventory("BlindCheck",4,"SeeBlind")
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    loop
  SeeBlind:
	BOSS A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    BOSS AAB 3 A_Wander
	BOSS B 0 A_Jump(224,2)
    BOSS B 0 A_Pain
    BOSS B 3 A_Wander
    BOSS B 0 A_JumpIfInventory("BlindCheck",4,1)
    Goto See+6
    BOSS CCDD 3 A_Wander
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Goto See
  SeeBlind2:
    BOSS A 0 A_Jump(256,1,2,3)
    BOSS AAA 3
	BOSS A 0 A_Jump(224,2)
    BOSS A 0 A_Pain
    BOSS A 3
    BOSS A 0 A_JumpIfInventory("BlindCheck",4,1)
    Goto See+2
    BOSS A 0 A_Jump(256,1,2,3,4)
    BOSS AAAA 3
    Goto See
  MissileBlind:
    BOSS E 0
    BOSS E 0 A_Jump(127,"MissileBlind2","MissileBlind3")
    BOSS E 0 A_Jump(127,4)
    BOSS EF 8
    BOSS G 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
    BOSS ST 8
    BOSS U 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind2:
    BOSS E 0 A_Jump(127,7)
    BOSS EF 8
    BOSS G 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS ST 8
    BOSS U 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
    BOSS ST 8
    BOSS U 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS EF 8
    BOSS G 8 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind3:
    BOSS PQ 11
    BOSS R 2 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS R 11 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  Missile:
    BOSS E 0 A_Jump(45,"Missile2","Missile3")
  Melee:
    BOSS E 0
    BOSS E 0 A_Jump(47,"Melee3")
    BOSS E 0 A_Jump(127,"Melee2")
    BOSS E 0 A_Jump(127,4)
    BOSS EF 8 A_FaceTarget
    BOSS G 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
    BOSS ST 8 A_FaceTarget
    BOSS U 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
  Melee2:
    BOSS E 0 A_Jump(127,7)
    BOSS EF 8 A_FaceTarget
    BOSS G 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    BOSS ST 8 A_FaceTarget
    BOSS U 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
    BOSS ST 8 A_FaceTarget
    BOSS U 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    BOSS EF 8 A_FaceTarget
    BOSS G 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    Goto See
  Melee3:
    BOSS PQ 11 A_FaceTarget
    BOSS R 2 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS R 9 A_CustomComboAttack("BaronBall2",32,25,"baron/melee")
    BOSS A 5
    Goto See
  Missile2:
    BOSS E 14 A_FaceTarget
    BOSS F 0 A_FaceTarget
    BOSS F 7 A_CustomMissile("BaronBall2",32,0,-10)
    BOSS F 7 A_CustomMissile("BaronBall2",32,0)
    BOSS G 0 A_FaceTarget
    BOSS G 14 A_CustomMissile("BaronBall2",32,0,10)
    BOSS A 7
    Goto See
  Missile3:
    BOSS S 14 A_FaceTarget
    BOSS T 0 A_FaceTarget
    BOSS T 7 A_CustomMissile("BaronBall2",32,0,10)
    BOSS T 7 A_CustomMissile("BaronBall2",32,0)
    BOSS U 0 A_FaceTarget
    BOSS U 14 A_CustomMissile("BaronBall2",32,0,-10)
    BOSS A 7
    Goto See
  Pain.Stun3:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	Goto Pain
  Pain.Stun2:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	Goto Pain
  Pain.Stun:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	Goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    BOSS H 2
    BOSS H 6 A_Pain
    Goto See
  Pain:
    BOSS H 2
    BOSS H 2 A_Pain
    Goto See
  Death:
    BOSS I 0
    BOSS I 8 A_Jump(153,"Death2","Death3")
    BOSS J 8 A_Scream
    BOSS K 8
    BOSS L 8 A_NoBlocking
    BOSS MMN 4
    BOSS NNOOO 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BOSS O 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    BOSS O -1 A_BossDeath
    Stop
  Death2:
    BS12 A 7
    BS12 B 7 A_Scream
    BS12 C 7
    BS12 D 7 A_NoBlocking
    BS12 EF 7
    BS12 GGGGG 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 G 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean2")
    BS12 G -1 A_BossDeath
    Stop
  Death3:
    BS12 H 6
    BS12 I 6 A_Scream
    BS12 J 6
    BS12 K 7 A_NoBlocking
    BS12 LM 8
    BS12 NNNNN 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1 A_BossDeath
    Stop
  Death.Knife:
    BS12 H 6
    BS12 I 6
    BS12 J 6
    BS12 K 0 A_NoBlocking
    BS12 K 7 A_PlaySound("body/splats")
    BS12 LM 8
    BS12 NNNNN 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" H 1
    "####" A 0 A_GiveInventory("MonHold",1)
	"####" A 0 A_Jump(128,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_Jump(26,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
	"####" D 0 A_Jump(136,"Death.Burnt")
	"####" D 0 A_GiveInventory("MonHold",1)
	goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    Wait
  Death.Burnt:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
	goto Death
  DeathClean:
    BOSS O 5250 CanRaise A_BossDeath
    BOSS OOOOO 5250 CanRaise
    BOSS OOOOOOOOO 2 A_FadeOut(0.1)
	Stop
  DeathClean2:
    BS12 G 5250 CanRaise A_BossDeath
    BS12 GGGGG 5250 CanRaise
    BS12 GGGGGGGGG 2 A_FadeOut(0.1)
	Stop
  DeathClean3:
    BS12 N 5250 CanRaise A_BossDeath
    BS12 NNNNN 5250 CanRaise
    BS12 NNNNNNNNN 2 A_FadeOut(0.1)
	Stop
  Raise:
    BOSS O 0
    BOSS O 0 A_ChangeFlag("FRIGHTENED",0)
    BOSS O 0 A_TakeInventory("MonHold",35)
    BOSS O 8 Thing_SetSpecial(0,226,613,0,random(20,30))
    BOSS NMLKJI 8
    Goto See
  }
}

ACTOR LordPurg : BaronOfHell_2
{
  Speed 9
  Health 1250
  Scale 1.03
  PainChance 25
  PainChance "Dragon", 13
  PainChance "DragonF", 13
  PainChance "Dragonsplosion", 13
  PainChance "RGAFire", 13
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  PainChance "SewUpYou", 33
  PainChance "BuildFriendDamage", 33
  PainChance "ISABELLESROMANTICLOVE", 33
  +BOSSDEATH
  SeeSound "baron/sight"
  PainSound "baron/pain"
  DeathSound "baron/death"
  ActiveSound "baron/active"
  DamageFactor "Explosion", 2.0
  DamageFactor "ExplosionF", 2.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "BuildFriendDamage", 1.4
  DamageFactor "SewUpYou", 1.4
  Obituary "%o was slain by a lord of purgatory."
  HitObituary "%o was torn apart by a lord of purgatory."
  Translation "48:70=57:79", "75:78=7:8", "71:74=1:2", "79:79=0:0", "148:151=5:8", "1:2=8:8", "16:47=[255,0,0]:[0,0,0]", "128:143=72:79", "236:239=72:79"
  Tag "Lord of Purgatory"
  States
  {
  Spawn:
    BOSS A 0
    BOSS A 0 A_CheckFlag("Friendly",2)
    BOSS A 0 Thing_SetSpecial(0,226,613,0,random(45,70))
    BOSS A 15
  Idle:
    BOSS AABB 10 A_Look
    Loop
  See:
    BOSS A 0 A_JumpIfInventory("MonHold",1,"Death")
    BOSS A 0 A_JumpIfInventory("BlindCheck",5,"SeeBlind")
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS AABBCCDDAABBCCDD 3 A_Chase
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Loop
  SeeBlind:
	BOSS A 0 A_Jump(128,"MissileBlind","SeeBlind2","SeeBlind2")
    BOSS AAB 3 A_Wander
	BOSS B 0 A_Jump(224,2)
    BOSS B 0 A_Pain
    BOSS B 3 A_Wander
    BOSS B 0 A_JumpIfInventory("BlindCheck",5,1)
    Goto See+6
    BOSS CCDD 3 A_Wander
    BOSS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Goto See
  SeeBlind2:
    BOSS A 0 A_Jump(256,1,2,3)
    BOSS AAA 3
	BOSS A 0 A_Jump(224,2)
    BOSS A 0 A_Pain
    BOSS A 3
    BOSS A 0 A_JumpIfInventory("BlindCheck",5,1)
    Goto See+2
    BOSS A 0 A_Jump(256,1,2,3,4)
    BOSS AAAA 3
    Goto See
  Pain.Stun3:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
	Goto Pain
  Pain.Stun2:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
	Goto Pain
  Pain.Stun:
    BOSS H 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
	Goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    BOSS H 2
    BOSS H 6 A_Pain
    Goto See
  Pain:
    BOSS H 2
    BOSS H 2 A_Pain
    Goto See
  MissileBlind:
    BOSS E 0 A_Jump(127,"MissileBlind2")
    BOSS EF 7
    BOSS G 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS ST 7
    BOSS U 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS E 0 A_Jump(159,"MissileBlind3","See")
    BOSS EF 7
    BOSS G 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind2:
    BOSS ST 7
    BOSS U 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS EF 7
    BOSS G 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS S 0 A_Jump(159,"MissileBlind3","See")
    BOSS ST 7
    BOSS U 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  MissileBlind3:
    BOSS PQ 8
    BOSS R 2 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    BOSS R 7 A_CustomMissile("BaronBall2",32,0,random(-1500,1500)/100.00,2,random(-750,750)/100.00)
    Goto See
  Missile:
    BOSS E 0 A_Jump(91,"Missile2","Missile3")
  Melee:
    BOSS E 0 A_Jump(127,"Melee2")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    BOSS E 0 A_Jump(159,"Melee3","See")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    Goto See
  Melee2:
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    BOSS S 0 A_Jump(159,"Melee3","See")
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BaronBall2",32,35,"baron/melee")
    Goto See
  Melee3:
    BOSS PQ 10 A_FaceTarget
    BOSS R 2 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    BOSS R 8 A_CustomComboAttack("BaronBall2",32,30,"baron/melee")
    BOSS A 5
    Goto See
  Missile2:
    BOSS E 12 A_FaceTarget
    BOSS F 0 A_FaceTarget
    BOSS F 6 A_CustomMissile("BaronBall2",32,0,-10)
    BOSS F 6 A_CustomMissile("BaronBall2",32,0)
    BOSS G 0 A_FaceTarget
    BOSS G 12 A_CustomMissile("BaronBall2",32,0,10)
    BOSS G 0 A_Jump(175,"See")
    BOSS S 12 A_FaceTarget
    BOSS T 0 A_FaceTarget
    BOSS T 6 A_CustomMissile("BaronBall2",32,0,10)
    BOSS T 6 A_CustomMissile("BaronBall2",32,0)
    BOSS U 0 A_FaceTarget
    BOSS U 12 A_CustomMissile("BaronBall2",32,0,-10)
    Goto See
  Missile3:
    BOSS S 12 A_FaceTarget
    BOSS T 0 A_FaceTarget
    BOSS T 6 A_CustomMissile("BaronBall2",32,0,10)
    BOSS T 6 A_CustomMissile("BaronBall2",32,0)
    BOSS U 0 A_FaceTarget
    BOSS U 12 A_CustomMissile("BaronBall2",32,0,-10)
    BOSS U 0 A_Jump(175,"See")
    BOSS E 12 A_FaceTarget
    BOSS F 0 A_FaceTarget
    BOSS F 6 A_CustomMissile("BaronBall2",32,0,-10)
    BOSS F 6 A_CustomMissile("BaronBall2",32,0)
    BOSS G 0 A_FaceTarget
    BOSS G 12 A_CustomMissile("BaronBall2",32,0,10)
    Goto See
  Death:
    SPID I 0 A_GiveToTarget("RandomKillstreakRare",1)
    BOSS I 0
    BOSS I 8 A_Jump(153,"Death2","Death3")
    BOSS J 8 A_Scream
    BOSS K 8
    BOSS L 8 A_NoBlocking
    BOSS MMN 4
    BOSS NNOOOO 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BOSS O 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    BOSS O -1 A_BossDeath
    Stop
  Death2:
    SPID I 0 A_GiveToTarget("RandomKillstreakRare",1)
    BS12 A 7
    BS12 B 7 A_Scream
    BS12 C 7
    BS12 D 7 A_NoBlocking
    BS12 EF 7
    BS12 GGGGGG 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 G 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean2")
    BS12 G -1 A_BossDeath
    Stop
  Death3:
    SPID I 0 A_GiveToTarget("RandomKillstreakRare",1)
    BS12 H 6
    BS12 I 6 A_Scream
    BS12 J 6
    BS12 K 7 A_NoBlocking
    BS12 LM 8
    BS12 NNNNNN 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1 A_BossDeath
    Stop
  Death.Knife:
    SPID I 0 A_GiveToTarget("RandomKillstreakRare",1)
    BS12 H 6
    BS12 I 6
    BS12 J 6
    BS12 K 0 A_NoBlocking
    BS12 K 7 A_PlaySound("body/splats")
    BS12 LM 8
    BS12 NNNNNN 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BS12 N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean3")
    BS12 N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" H 0 A_GiveToTarget("RandomKillstreakRare",1)
    "####" H 1
    "####" A 0 A_GiveInventory("MonHold",1)
	"####" A 0 A_Jump(128,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_Jump(26,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
	"####" D 0 A_JumpIfInventory("MonHold",6,"Death.Burnt")
	"####" D 0 A_Jump(136,"Death.Burnt")
	"####" D 0 A_GiveInventory("MonHold",1)
	goto Death.FireCont
  Death.Ice:
    "####" # 0 A_GiveToTarget("RandomKillstreakRare",1)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    Wait
  Death.Burnt:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
	goto Death
  Raise:
    BOSS O 0
    BOSS O 0 A_ChangeFlag("FRIGHTENED",0)
	BOSS O 0 A_TakeInventory("MonHold",35)
    BOSS O 8 Thing_SetSpecial(0,226,613,0,random(23,34))
    BOSS NMLKJI 8
    Goto See
  }
}

actor Mechbaron : BaronOfHell_2
{
  Obituary "%o was blown away by a mechbaron."
  HitObituary "%o was smashed to bits by a mechbaron."
  Health 1400//1350
  Radius 24
  Height 64
  Mass 1000
  Speed 8
  Scale 1.04
  PainChance 20
  PainChance "Dragon", 10
  PainChance "DragonF", 10
  PainChance "Dragonsplosion", 10
  PainChance "RGAFire", 10
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  PainChance "SewUpYou", 25
  PainChance "BuildFriendDamage", 25
  PainChance "ISABELLESROMANTICLOVE", 25
  meleedamage 10
  SeeSound "bruiser/sight"
  PainSound "baron/pain"
  DeathSound "bruiser/death"
  ActiveSound "baron/active"
  DamageFactor "Explosion", 2.0
  DamageFactor "ExplosionF", 2.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "BuildFriendDamage", 1.4
  DamageFactor "SewUpYou", 1.4
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  +BOSSDEATH
  BloodColor "Red"
  DropItem "LauncherSpawner" 16
  Tag "mechbaron"
  States
  {
  Spawn:
    BRUS A 0
    BRUS A 0 A_CheckFlag("Friendly",2)
    BRUS A 0 Thing_SetSpecial(0,226,613,0,random(70,90))
    BRUS A 15
  Idle:
    BRUS AABB 10 A_Look
    Loop
  See:
    BRUS A 0 A_JumpIfInventory("MonHold",1,"Death")
    BRUS A 0 A_JumpIfInventory("BlindCheck",5,"SeeBlind")
    BRUS AABB 3 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 3 A_Chase
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AABB 3 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 3 A_Chase
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AABB 3 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 3 A_Chase
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AABB 3 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 3 A_Chase
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Loop
  SeeBlind:
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AA 5 A_Chase("","")
    BRUS BB 5 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 5 A_Chase
    BRUS A 0 A_JumpIfInventory("BlindCheck",5,1)
	Goto See+6
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AA 5 A_Chase("","")
    BRUS BB 5 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 5 A_Chase
    BRUS A 0 A_JumpIfInventory("BlindCheck",5,1)
	Goto See+11
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AA 5 A_Chase("","")
    BRUS BB 5 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 5 A_Chase
    BRUS A 0 A_JumpIfInventory("BlindCheck",5,1)
	Goto See+16
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AA 5 A_Chase("","")
    BRUS BB 5 A_Chase
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 5 A_Chase
    BRUS D 0 A_SpawnItemEx("GoatStepDamage",0,0,32,0,0,0,0,0,0)
    Goto See
  Missile:
    BRUS E 0 A_Jump(127,"Missile2")
    BRUS E 0 A_JumpIfInTargetInventory("Perk2_ColdBlooded_PRO",1,"MissileDumb")
    BRUS E 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumb")
    BRUS E 0 A_JumpIfInventory("BlindCheck",2,"MissileDumb")
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissileLock",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissileLock",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 0 A_CPosRefire
    BRUS E 0 A_Jump(159,2)
    BRUS E 12
	Goto See
  MissileCont:
    BRUS E 0 A_JumpIfInTargetInventory("Perk2_ColdBlooded_PRO",1,"MissileDumbCont")
    BRUS E 0 A_JumpIfInTargetInventory("PowerInvisibility",1,"MissileDumbCont")
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissileLock",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissileLock",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12
    Goto See
  MissileDumb:
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 0 A_CPosRefire
    BRUS E 0 A_Jump(159,"MissileCont")
    BRUS E 12
	Goto See
  MissileDumbCont:
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,CMF_OFFSETPITCH,random(-100,100)/100.00)
    BRUS E 12
    Goto See
  Missile2:
    HECT H 0 BRIGHT A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",4,0,0)) == 1, "Melee")
    BRUS G 0 A_JumpIfInventory("BreathWait",3,"Melee")
    BRUS G 0 A_Jump(19,"Missile3")
  Melee:
    BRUS GH 7 A_FaceTarget
    BRUS I 7 A_CustomComboAttack("BlueBaronBall",32,45,"baron/melee")
    BRUS I 0 A_Jump(88,"See")
    BRUS GH 7 A_FaceTarget
    BRUS I 7 A_CustomComboAttack("BlueBaronBall",32,45,"baron/melee")
    BRUS I 0 A_Jump(176,"See")
    BRUS GH 7 A_FaceTarget
    BRUS I 7 A_CustomComboAttack("BlueBaronBall",32,45,"baron/melee")
    Goto See
  Missile3:
    BRUS GH 7 A_JumpIfCloser(96,"Melee")
    BRUS I 0 A_PlayWeaponSound("brain/spit")
    BRUS I 0 A_GiveInventory("BreathWait",1)
    BRUS I 7 A_SpawnItemEx("BruiserCube",8,15,32,8,0,0,0,SXF_SETMASTER)
    BRUS A 0 A_Playsound("bruiser/walk")
    BRUS AABB 3 A_Chase("Melee","")
    BRUS C 0 A_Playsound("bruiser/walk")
    BRUS CCDD 3 A_Chase("Melee","")
    Goto See
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    BRUS H 2
    BRUS H 6 A_Pain
    Goto See
  Pain:
    BRUS H 2
    BRUS H 2 A_Pain
    Goto See
  Death:
  XDeath:
    BRUS K 0 A_GiveToTarget("RandomKillstreakRare",1)
    BRUS K 6 BRIGHT A_Scream
    BRUS L 6 BRIGHT
    BRUS L 0 BRIGHT Radius_Quake(1,18,0,6,0)
    BRUS MN 6 BRIGHT A_SpawnItemEx("ExplosionMain2",random(-5,5),random(-5,5),random(20,40))
    BRUS O 6 BRIGHT A_NoBlocking
    BRUS PQR 6 BRIGHT A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BRUS SS 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    BRUS T 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    BRUS T -1 A_BossDeath
    Stop
	BRUS T 5250 CanRaise A_BossDeath
	BRUS TTTTTT 5250 CanRaise
	BRUS TTTTTTTTT 2 A_FadeOut(0.1)
	Stop
  Death.RGAFire:
    BRUS A 0 A_GiveToTarget("RandomKillstreakRare",1)
  Death.Dragonsplosion:
    BRUS A 0 A_GiveToTarget("RandomKillstreakRare",1)
  Death.Dragon:
    BRUS A 0 A_GiveToTarget("RandomKillstreakRare",1)
  Death.DragonF:
    BRUS A 0 A_GiveToTarget("RandomKillstreakRare",1)
  Death.Fire:
    "####" H 0 A_GiveToTarget("RandomKillstreakRare",1)
    "####" H 1
    "####" A 0 A_GiveInventory("MonHold",1)
	"####" A 0 A_Jump(128,"Death")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" C 0 A_Playsound("bruiser/walk")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_Playsound("bruiser/walk")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" C 0 A_Playsound("bruiser/walk")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" A 0 A_Playsound("bruiser/walk")
	"####" A 0 A_Jump(26,"Death")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" C 0 A_Playsound("bruiser/walk")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" A 0 A_Playsound("bruiser/walk")
    "####" AA 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" C 0 A_Playsound("bruiser/walk")
    "####" CC 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlareBig", random(-2,2), random(-2,2), random(14,26), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Playsound("bruiser/walk")
	"####" D 0 A_JumpIfInventory("MonHold",6,"Death")
	"####" D 0 A_Jump(136,"Death")
	"####" D 0 A_GiveInventory("MonHold",1)
	goto Death.FireCont
  Death.Ice:
    "####" # 0 A_GiveToTarget("RandomKillstreakRare",1)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    Wait
  Raise:
    BRUS T 0
    BRUS T 0 A_ChangeFlag("FRIGHTENED",0)
	BRUS T 0 A_TakeInventory("MonHold",35)
    BRUS T 6 Thing_SetSpecial(0,226,613,0,random(35,45))
    BRUS SRQPONMLK 6
    Goto See
  Death.Knife:
    Stop
  Death.Burnt:
    Stop
  Death2:
    Stop
  Death3:
    Stop
  DeathClean:
    Stop
  DeathClean2:
    Stop
  DeathClean3:
    Stop
  }
}

actor BlueBaronBall : BaronBall2
{
  Radius 6
  Height 12
  Speed 15
  FastSpeed 25
  Damage (22)
  RenderStyle Add
  Alpha 1
  PROJECTILE
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Translation "124:127=240:247", "112:123=196:207"
  States
  {
  Spawn:
    HKBL AAAABBBB 1 BRIGHT A_SpawnItemEx("ImpactSparkDBlue", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    HKBL CCCCCCCCC 0 BRIGHT A_SpawnItemEx("ImpactSpark2DBlue", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    HKBL CDE 6 BRIGHT
    Stop
  }
}

actor BaronMissile
{
  Obituary "%o was blown away by a mechbaron."
  Radius 10
  Height 8
  Speed 15
  Damage (30)
  //RenderStyle Add
  //Alpha 0.6
  Scale 0.4//0.3
  PROJECTILE
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  Decal RevenantScorch
  DamageType "NormalExplode"
  translation "128:143=80:111", "144:151=96:111", "48:75=84:111", "76:79=5:6", "112:123=84:107", "124:127=5:6", "152:159=96:111", "1:2=5:6"
  States
  {
  Spawn:
    MISL A 0 BRIGHT
    MISL A 1 BRIGHT A_PlaySoundEx("rpg/fly2","Body",1)
    MISL A 1 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    Goto Spawn+2
  Death:
    TNT1 A 0 A_PlaySoundEx("blanksnd","Body")
    TNT1 A 0 Radius_Quake(2,11,0,5,0)
    TNT1 A 0 A_Explode(15,112,0)
    TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-1,4), 0, 128, 0)
    TNT1 A 10 A_SpawnItemEx("ExplosionMain2",0,0,0,0,0,0,0,128,0)
    TNT1 A 5
    Stop
  }
}

actor BaronMissileLock : BaronMissile
{
  +SEEKERMISSILE
  States
  {
  Spawn:
    MISL A 0 BRIGHT
    MISL A 1 BRIGHT A_PlaySoundEx("rpg/fly2","Body",1)
    MISL A 0 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    MISL A 1 BRIGHT A_SpawnItemEx("FlightSmokePuff",-20,0,2,0,0,0,0,128,0)
    MISL A 0 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    MISL A 1 BRIGHT A_SpawnItemEx("FlightSmokePuff",-20,0,2,0,0,0,0,128,0)
    MISL A 0 BRIGHT A_SeekerMissile(2,3,SMF_PRECISE)
    Goto Spawn+2
  Death:
    TNT1 A 0 Radius_Quake(2,11,0,5,0)
    TNT1 A 0 A_Explode(15,112,0)
    TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-1,4), 0, 128, 0)
    TNT1 A 10 A_SpawnItemEx("ExplosionMain2",0,0,0,0,0,0,0,128,0)
    TNT1 A 5
    Stop
  }
}

actor StoneKnightCube
{
  Radius 24
  Height 32
  Speed 8
  Scale 0.5
  reactiontime 12
  Damage (2)
  damagetype "Normal"
  SeeSound "brain/cube"
  DeathSound "misc/teleport"
  Projectile
  BounceType "Hexen"
  +RIPPER
  +THRUGHOST
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    BOSF A 3 BRIGHT A_Countdown
    BOSF AA 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF B 3 BRIGHT A_Countdown
    BOSF BB 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF C 3 BRIGHT A_Countdown
    BOSF CC 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF D 3 BRIGHT A_Countdown
    BOSF DD 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    Loop
  Death:
    TNT1 A 0 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 1 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_TARGET)
    TNT1 A 0 A_Jump(96,"SpawnShot")
    TNT1 A 0 A_Jump(64,"SpawnDemon")
    TNT1 A 0 A_Jump(128,"SpawnImp")
    TNT1 A 5 A_SpawnItemEx("Zombieman_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  SpawnShot:
    TNT1 A 5 A_SpawnItemEx("ShotgunGuy_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  SpawnDemon:
    TNT1 A 5 A_SpawnItemEx("Demon_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  SpawnImp:
    TNT1 A 5 A_SpawnItemEx("DoomImp_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}

actor BruiserCube
{
  Radius 24
  Height 32
  Speed 8
  Scale 0.5
  reactiontime 12
  Damage (2)
  damagetype "Normal"
  SeeSound "brain/cube"
  DeathSound "misc/teleport"
  Projectile
  BounceType "Hexen"
  +RIPPER
  +THRUGHOST
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    BOSF A 3 BRIGHT A_Countdown
    BOSF AA 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF B 3 BRIGHT A_Countdown
    BOSF BB 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF C 3 BRIGHT A_Countdown
    BOSF CC 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    BOSF D 3 BRIGHT A_Countdown
    BOSF DD 0 BRIGHT A_SpawnItemEx("FireFlare2", -8, 0, 4, 0, random(-1,1), random(-1,1), 0, 128, 24)
    Loop
  Death:
    TNT1 A 0 A_SpawnItemEx("ResurrectionFire",0,0,0,0,0,0,0,128,0)
    TNT1 A 1 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_TARGET)
    TNT1 A 0 A_Jump(96,"SpawnChain")
    TNT1 A 0 A_Jump(128,"SpawnCaco")
    TNT1 A 5 A_SpawnItemEx("Revenant_Spawner2",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  SpawnChain:
    TNT1 A 5 A_SpawnItemEx("ChaingunGuy_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  SpawnCaco:
    TNT1 A 5 A_SpawnItemEx("Cacodemon_Spawner",0,0,0,0,0,0,random(0,359),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0)
    TNT1 A 15 A_AlertMonsters(16,2)
    Stop
  }
}

actor HellKnight_2Stealth : HellKnight_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
}

actor StoneKnightStealth : StoneKnight
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Missile:
  Melee:
    BOSS E 0 A_Jump(127,"Melee2")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    Goto See
  Melee2:
    BOSS ST 7 A_FaceTarget
    BOSS U 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    BOSS EF 7 A_FaceTarget
    BOSS G 7 A_CustomComboAttack("BlueBaronBall",32,25,"skeleton/melee")
    Goto See
  Missile2:
    Stop
  Missile3:
    Stop
  }
}

actor BaronOfHell_2Stealth : BaronOfHell_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
}

actor LordPurgStealth : LordPurg
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
}

actor MechbaronStealth : Mechbaron
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Missile:
    BRUS E 0 A_Jump(111,"Melee")
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,0,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,0,random(-100,100)/100.00)
    BRUS E 0 A_CPosRefire
    BRUS E 0 A_Jump(159,2)
    BRUS E 12
	Goto See
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,0,random(-100,100)/100.00)
    BRUS E 12 A_FaceTarget
    BRUS F 0 BRIGHT A_PlayWeaponSound("m79/firealt")
    BRUS F 8 BRIGHT A_CustomMissile("BaronMissile",32,15,random(-200,200)/100.00,0,random(-100,100)/100.00)
    BRUS E 12
    Goto See
  Missile2:
    Stop
  Missile3:
    Stop
  }
}

Actor HoeRevMissile : BaronMissileLock
{
  Speed 25
  Damage (30)
  DamageType "ExplosionF"
  +SEEKERMISSILE
  +MTHRUSPECIES
  +DONTHARMSPECIES
  States
  {
  Spawn:
    MISL A 0 BRIGHT
    MISL A 1 BRIGHT A_PlaySoundEx("rpg/fly2","Body",1)
    MISL A 0 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    MISL A 1 BRIGHT A_SpawnItemEx("FlightSmokePuff",-20,0,2,0,0,0,0,128,0)
    MISL A 0 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    MISL A 1 BRIGHT A_SpawnItemEx("FlightSmokePuff",-20,0,2,0,0,0,0,128,0)
    MISL A 0 BRIGHT A_SeekerMissile(4,6,SMF_PRECISE)
    Goto Spawn+2
  Death:
    TNT1 A 0 A_PlaySoundEx("blanksnd","Body")
    TNT1 A 0 BRIGHT Radius_Quake(2,10,0,3,0)
    TNT1 A 0 BRIGHT A_Explode(45,104,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 A 0 A_SpawnItemEx("ExplosionMain2",0,0,0,0,0,0,0,128,0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(208,1)
    Stop
  }
}
Actor HoeRevMissileDumb : HoeRevMissile
{
  -SEEKERMISSILE
  States
  {
  Spawn:
    MISL A 0 BRIGHT
    MISL A 1 BRIGHT A_PlaySoundEx("rpg/fly2","Body",1)
    MISL A 1 BRIGHT A_SpawnItemEx("MissileExhaust2",-20,0,2,0,0,0,0,128,0)
    Goto Spawn+2
  }
}