Actor HellGuardian : HellKnight~
{
  Health 1100
  Scale 1.1
  Bloodcolor Red
  PainChance 50
  PainChance "SoulToxic", 10
  PainChance "FatFlamer", 10
  PainChance "FiendFire", 10
  DropItem "LifeEssence" 180
  DropItem "ArmorBonusMax" 180
  DropItem "ArmorPlate" 120
  SeeSound "HellGuardian/sight"
  DeathSound "HellGuardian/death"
  Obituary "%o was branded by a Hell Guardian."
  HitObituary "%o was denied by a Hell Guardian."
  MeleeSound "baron/melee"
  Tag "\c[j7]Hell Guardian\c-"
  var int user_shield;
  States
  {
  Spawn:
    HGUA A 14 A_Look
	HGUI A 14 A_Look
    Loop
  See:
	TNT1 A 0 A_ChangeFlag("NORADIUSDMG",0)
    HGUA AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
	HGUA CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
    Loop
  Missile:
	TNT1 A 0 A_Jump(128,"BruiserBall","ShieldAttack","ShieldAttackBarrage")
  Normal:
    HGUA EF 8 A_FaceTarget
    HGUA G 2 Bright A_CustomMissile("HellGuardianBall",32)
    HGUA G 0 A_CustomMissile("HellGuardianBall",32,0,6)
    HGUA G 6 Bright A_CustomMissile("HellGuardianBall",32,0,-6)
    Goto See  
  BruiserBall:
    HGUA EF 8 A_FaceTarget
    HGUA G 8 Bright A_CustomMissile("HellGuardianBBall",32)
    Goto See 
  ShieldAttack:
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA I 6 Bright A_CustomMissile("HellGuardianShieldRipper",32)
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	Goto See
  ShieldAttackBarrage:
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA I 6 Bright A_CustomMissile("HellGuardianShieldRipper",32)
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 3 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA I 6 Bright A_CustomMissile("HellGuardianShieldRipper",32)
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 3 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA I 6 Bright A_CustomMissile("HellGuardianShieldRipper",32)
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	Goto See
  Melee: 
    HGUA EF 8 A_FaceTarget 
    HGUA G 8 A_ComboAttack
    Goto See
  Pain:
    HGUA J 6 A_Pain 
	TNT1 A 0 A_Jump(64,"ShieldUp")
    Goto See 
  ShieldUp:
	TNT1 A 0 A_ChangeFlag("NORADIUSDMG",1)
	TNT1 A 0 A_SetUserVar("user_shield",random(0,10))
	TNT1 A 0 A_JumpIf(user_shield >= 15,"ShieldDown")	 
	TNT1 A 0 A_SetUserVar("user_shield",user_shield+1)
	TNT1 A 0 A_SpawnItemEx("HellGuardianShieldHitbox",25,0,10,0,0,0,0,SXF_NOCHECKPOSITION)
	HGUA H 6 A_FaceTarget
	Goto ShieldUp+2
  ShieldDown:
	TNT1 A 0 A_Jump(128,"See")
	TNT1 A 0 A_JumpIfTargetInLOS("ShieldAttack")
	Goto See
  XDeath:
  Death: 
    HGUA K 5 A_SpawnItemEx("HellGuardianShield",0,0,25,6,0,0,60,128)
    HGUA L 5 A_Scream
    HGUA M 5 A_Fall 
    HGUA N 5 A_SpawnItem("BodyCrash",0,0,0,0) 
    HGUA OPQRS 5  
    HGUA T -1 
    Stop 
  Raise: 
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    HGUA QPONMLK 5 
    Goto See 
  } 
}

ACTOR HellGuardianBall : BaronBall
{
  Damage 10
  Speed 20
  States
  {
  Spawn:
    HWFB AB 1 Bright A_SpawnItemEx("HellGuardianBallTrail",0,0,0,0,0,0,0,128,0)
    Loop
  Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("YellowParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("KaboomGoldBabySent", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    HWFB CDE 3 Bright
    Stop
  }
}

ACTOR HellGuardianBallTrail : BFG9500Trail
{
  Scale 0.85
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 1
    HWFB AB 1 A_FadeOut(0.25)
    Goto Spawn+3
  }
}

ACTOR HellGuardianBBall : BBall2
{
  States
  {
  Spawn: 
    HWF2 AB 2 Bright A_SpawnItemEx("HellGuardianBBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("YellowParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("KaboomGoldBabySent", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    HWF2 KLMNOPQRSTUVWX 3 Bright
    Stop
  }
}

ACTOR HellGuardianBBallTrail : BruiserBallTrail
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
    HWF2 CDEFGHIJ 3 Bright A_FadeOut
    Stop       
  }
}

Actor HellGuardianShieldRipper
{
  Radius 6
  Height 8
  Speed 25
  Damage 2
  Projectile
  RenderStyle Add
  +RIPPER
  +BLOODLESSIMPACT
  +THRUSPECIES
  Damagetype "NobleComet"
  Species "HellGuardianShield"
  Alpha 0.8
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  DECAL Scorch
  States
  {
  Spawn:
	TNT1 A 0 A_Explode(5,80)
    TNT1 A 1 Bright A_SpawnItem("HellGuardianShieldRipperTrail")
    Loop
  Death:
    TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
    GRBA AIJKLMN 3 Bright
    Stop
  }
}

ACTOR HellGuardianShieldRipperTrail : BFG9500Trail
{
  -CLIENTSIDEONLY
  -NOINTERACTION
  +NOGRAVITY
  Damagetype "NobleComet"
  Scale 0.65
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_Explode(5,80)
	GRBA GHIJKLM 1 A_FadeOut(0.05)
	Stop
  }
}

Actor HellGuardianShieldHitbox
{
  Radius 20
  Height 40
  Mass 0x7FFFFFFF
  +SHOOTABLE
  +INVULNERABLE
  +NOGRAVITY
  +DONTRIP
  //+REFLECTIVE   ew
  Species "HellGuardianShield"
  States
  {
  Spawn:
	TNT1 A 6 NoDelay
	Stop
  }
}

Actor HellGuardianShield
{
  Radius 8
  Height 8
  Speed 6
  Bouncetype Doom
  +DROPOFF
  +MISSILE
  //+REFLECTIVE   I'm sorry what
  States
  {
  Spawn:
    HWSH ABCDEFGH 3
    Loop
  Death:
    HWSH I -1
    Loop
  }
}