Actor BruiserDemon : BaronofHell 30082
{
  //$Title "Bruiser Demon"
  //$Category XV117Monsters
  Health 800
  Radius 24//43spriteW(110%=47)
  Height 81//74spriteH(110%=81)
  Scale 1.0
  Mass 1060
  Speed 6
  PainChance 25
  Monster
  Species "Bruisers"
  +boss
  +FloorClip
  +MISSILEMORE
  +DONTHARMSPECIES
  MissileType BruiserBall
  SeeSound "superbaron/scream"
  PainSound "superbaron/pain"
  DeathSound "superbaron/death"
  ActiveSound "superbaron/act"
  MeleeSound "baron/melee"
  Damagefactor "Fire" ,0.0
  Painchance "beartrap", 255
  Damagefactor "Flames", 0.0	
  DamageFactor "Use", 0.0
  DamageFactor "Stealth", 0.0
  DropItem "powderspawner" 50
  DropItem "powderspawner" 50
  DropItem "powderspawner" 100
	DropItem "fireessence" 190
  Obituary "%o was slaughtered by an Infernal Viscount."
  HitObituary "%o was cremated by an Infernal Viscount."
  Tag "Infernal Viscount"
  MeleeDamage 20
  PainChance "Acid", 255
  Painchance "shock", 256
  PainChance "ChainCut", 200
  PainChance "ChainSaw", 200
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 ACS_NamedExecuteWithResult("RADARSIGNAL",0)
	TNT1 A 0 A_GiveInventory("TargetIsABaronOfHell")
	//
	TNT1 A 0 A_JumpIf(x == 304, "ReplaceForBoss1")
	TNT1 A 0 A_JumpIf(x == 528, "ReplaceForBoss2")
	TNT1 A 0 A_Checkceiling("SpawnnoSpace")
	//
	
	Look:
    BRUS AB 10 Bright A_Look 
    Loop
	
	 SpawnNO:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("BaronofHell2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		Stop
		
	ReplaceForBoss1:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("BaronBoss1",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG  | SXF_TRANSFERPOINTERS ,0, tid)
		TNT1 A 10 
		Stop	
		
	ReplaceForBoss2:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("BaronBoss2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG | SXF_TRANSFERPOINTERS ,0, tid)
		TNT1 A 10 
		Stop		
		
	SpawnnoSpace:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("hellknight2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG  | SXF_TRANSFERPOINTERS ,0, tid)
		TNT1 A 10 
		Stop	
  See:
    BRUS AABBCCDD 3 Bright A_Chase
	TNT1 A 0 A_JumpIfintargetInventory("predatormode", 1, "Look")
    Loop
  Melee:
    BRUS E 6 Bright A_FaceTarget
    BRUS F 6 Bright A_FaceTarget
	TNT1 A 0 a_checkproximity("Parried","Axeparry",80.0,1,CPXF_NOZ)
    BRUS G 6 Bright A_ComboAttack
    Goto See
  Missile:
    BRUS E 0 Bright A_Jump(96, 8)//BruiserBall2
    BRUS EF 8 Bright A_FaceTarget
    BRUS G 8 Bright A_MissileAttack
    BRUS G 0 Bright A_Jump(128, 1)//2nd MissileAttack
    Goto See
    BRUS HI 8 Bright A_FaceTarget
    BRUS J 8 Bright A_MissileAttack
    Goto See
    BRUS E 0 Bright A_Jump(64, 20)//BruiserFire
    BRUS E 8 Bright A_FaceTarget
    BRUS F 8 Bright A_FaceTarget
    BRUS F 1 Bright A_Custommissile("BruiserBall2",41,0,-40,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,-30,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,-20,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,-10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,0,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",41,0,20,0)
    BRUS G 0 Bright A_Jump(128, 1)//2nd BruiserBall2
    Goto See
    BRUS H 8 Bright A_FaceTarget
    BRUS I 8 Bright A_FaceTarget
    BRUS I 1 Bright A_Custommissile("BruiserBall2",41,0,40,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,30,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,20,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,0,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,-10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",41,0,-20,0)
    Goto See
    BRUS KL 8 Bright A_FaceTarget
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",16,0,-15,0)
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",16,0,0,0)
    BRUS M 1 Bright A_Custommissile("BruiserFireSpawner",16,0,15,0)
    Goto See

Pain.Beartrap:
		TNT1 A 0 A_giveinventory("istrapped",1)
		TNT1 A 0 a_changeflag("NOPAIN",1)
		TNT1 A 0 a_changeflag("DONTHRUST",1)
		TNT1 A 0 a_spawnitem("beartraptriggered",0,0)
		BRUS N 3 a_scream
		TNT1 A 0 
	Trapped:
		BRUS A 35 
		TNT1 A 0 a_jump(160,2)
		BRUS N 3 a_scream
		TNT1 A 0 a_checkproximity(1, "beartraptriggered", 50,1)
		GOTO SEE
		TNT1 A 0 a_jump(30, "breakfree")
		TNT1 A 0 a_jump(70, "Missiletrapped")
		TNT1 A 0 a_checkproximity("Trapped", "beartraptriggered", 50,1)
		TNT1 A 0 A_TAKEinventory("istrapped",1)
		TNT1 A 0 a_changeflag("NOPAIN",0)
		TNT1 A 0 a_changeflag("DONTHRUST",0)
		goto SEE
		
	Breakfree:
		BRUS KL 5
		TNT1 A 0 A_PlaySound("CLAP", 1)
		TNT1 A 0 A_KILLCHILDREN("CRUSH",0,"BEARTRAPTRIGGERED")
		TNT1 A 0 A_SPAWNITEMEX("BEARTRAPRIP",0,0,0, 15)
		KNRJ M 17
		goto SEE
		
	MISSILETRAPPED:
    BRUS KL 8 Bright A_FaceTarget
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",16,0,-15,0)
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",16,0,0,0)
    BRUS M 1 Bright A_Custommissile("BruiserFireSpawner",16,0,15,0)
    Goto TRAPPED

	
PAIN.SYRINGE2:
	TNT1 A 0 A_CHANGEFLAG("FORCEINFIGHTING",1)
	TNT1 A 0 A_CHANGEFLAG("DOHARMSPECIES",1)
	TNT1 A 0 A_CHANGEFLAG("DONTHARMSPECIES",0)
	TNT1 A 0 A_CHANGEFLAG("DONTHARMCLASS",0)
	TNT1 A 0 A_CHANGEFLAG("NOINFIGHTSPECIES",0)
	TNT1 A 0 A_CHANGEFLAG("NOINFIGHTING",0)
	TNT1 A 0 A_CLEARTARGET
	TNT1 A 0 A_EXPLODE(1,270,XF_NOTMISSILE | XF_EXPLICITDAMAGETYPE,0,270,0,0,"bulletpuff","frenzytrigger")
	goto see
PAIN.FRENZYTRIGGER:
	TNT1 A 0 Healthing(1)
	TNT1 A 0 A_CHANGEFLAG("FORCEINFIGHTING",1)
	TNT1 A 0 A_CHANGEFLAG("DOHARMSPECIES",1)
	TNT1 A 0 A_CHANGEFLAG("DONTHARMSPECIES",0)
	TNT1 A 0 A_CHANGEFLAG("DONTHARMCLASS",0)
	TNT1 A 0 A_CHANGEFLAG("NOINFIGHTSPECIES",0)
	TNT1 A 0 A_CHANGEFLAG("NOINFIGHTING",0)
  goto See
	
	Parried:
		TNT1 A 0 A_JumpIfintargetInventory("isdoomguy", 1, "Parry2")
		TNT1 A 0 A_JumpIfintargetInventory("LARGESTAMINA", 1, 2)
		TNT1 A 0 A_JumpifintargetInventory("UsedStamina",30,"CounterParry")
		TNT1 A 0 A_JumpifintargetInventory("UsedStamina",1930,"CounterParry")
		goto Parry2
	CounterParry:
		TNT1 A 0 A_startsound("KICKWALL",800)
		TNT1 A 0 A_givetotarget("triptoken",1)
		TNT1 A 0 A_takefromtarget("axedurability",20)
		TNT1 A 0 A_givetotarget("usedstamina",200)
		TNT1 A 0 A_CustomMissile("KnockAttack",10,0,0,0)
		goto See
	Parry2:
		TNT1 A 0 A_CHANGEFLAG("NOPAIN",1)
		TNT1 A 0 A_startsound("PARRIED",801)
		TNT1 A 0 A_givetotarget("usedstamina",70)
		TNT1 A 0 A_givetotarget("parrytoken",1)
		TNT1 A 0 A_takefromtarget("axedurability",8)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_SpawnItemex ("parryeffect", 6, 0,30,0,0,0,0, SXF_SETMASTER)
		BRUS N 15 Bright A_Pain
		BRUS N 15 Bright A_Pain
		goto pain.acid
	
	PAIN.SYRINGE1:
	TNT1 A 0 A_JUMPIFinventory("syringedonce",1,3)
	TNT1 A 0 A_JUMPIFHEALTHLOWER(400,2)
	TNT1 A 0 A_GIVEINVENTORY("syringedonce",1)
	goto pain.acid
	tnt1 a 0 givebody(800)
	TNT1 A 0 A_CHANGEFLAG("FRIENDLY",1)
	Pain.Acid:
	BRUS N 15 Bright A_Pain
	BRUS N 15 Bright A_Pain
  Pain:
    BRUS N 5 Bright A_Pain
	TNT1 A 0 A_CHANGEFLAG("NOPAIN",0)
     Goto See


	 Death.Beartrap:
		TNT1 A 0 A_checkproximity("Death","beartrapTriggered",40,1)
		TNT1 A 0 a_spawnitem("beartrap",0,0)
		goto Death

Death.ChainCut:
Death.Chainsaw:
TNT1 A 0 A_SpawnItemEx("HealthPlusFatalityBonus", 0, 0, 4, random (-1, 1), random (-1, 1), 5)
TNT1 AA 0 A_SpawnItemEx("ArmorGem", 0, 0, 32, random (-1, 1), random (-1, 1), 5)
TNT1 A 0 A_SpawnItemEx("HealthPlusFatalityBonus", 0, 0, 20, random (-1, 1), random (-1, 1), 8)
TNT1 A 0 A_SpawnItemEx("Armorgem", 0, 0, 20, random (-1, 1), random (-1, 1), 8)
		
Death:
    BRUD A 6 Bright A_Scream
	TNT1 AAAA 0 A_CustomMissile ("BloodMistBig", 30, 0, random (0, 360), 2, random (30, 90))
	 TNT1 AAAA 0 A_CustomMissile ("BruiserFire", 30, 0, random (0, 360), 2, random (30, 90))
    BRUD BCD 4 Bright 
	TNT1 AAAA 0 A_CustomMissile ("BloodMistBig", 30, 0, random (0, 360), 2, random (30, 90))
    BRUD EFG 4 Bright
    BRUD H 4 Bright A_Fall
	TNT1 AAAAAA 0 A_CustomMissile ("Xdeath1", 40, 0, random (0, 360), 2, random (0, 160))
	TNT1 AAAAA 0 A_CustomMissile ("Guts2", 32, 0, random (0, 360), 2, random (0, 160))
    BRUD IJKLMNOP 4 Bright
    TNT1 AAA 0 A_CustomMissile ("RocketSmokeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
    TNT1 AAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random (0, 360), 2, random (0, 360))
    BRUD QRSTUV 4
	TNT1 AAA 0 A_CustomMissile ("RocketSmokeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
    TNT1 AAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random (0, 360), 2, random (0, 360))
    BRUD W -1   
    Stop
	
	XDeath:
	death.RailgunBig:
	    BRUD A 6 Bright A_Scream
		TNT1 AAAA 0 A_CustomMissile ("Brutal_LiquidBlood2", 26, 0, random (0, 360), 2, random (30, 60))
		TNT1 AAAA 0 A_CustomMissile ("Brutal_LiquidBlood2", 26, 0, random (0, 360), 2, random (10, 40))
		 TNT1 AAAA 0 A_CustomMissile ("BruiserFire", 30, 0, random (0, 360), 2, random (30, 90))
		TNT1 AAAA 0 A_CustomMissile ("Brutal_LiquidBlood2", 6, 0, random (0, 360), 2, random (30, 60))
		TNT1 A 0 A_PlaySound ("misc/xdeath4")
		TNT1 AAAA 0 A_CustomMissile ("XDeath1", 32, 0, random (0, 360), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("BloodMistBig", 30, 0, random (0, 360), 2, random (30, 90))
    BRUD BCD 4 Bright 
	TNT1 AAA 0 A_CustomMissile ("XDeath3", 42, 0, random (170, 190), 2, random (10, 60))
		TNT1 A 0 A_CustomMissile ("XDeath2", 42, 0, random (170, 190), 2, random (10, 60))
		TNT1 A 0 A_CustomMissile ("XDeath4", 42, 0, random (170, 190), 2, random (10, 60))
    BRUD EFG 4 Bright
    BRUD H 4 Bright A_Fall
	TNT1 AAAAAA 0 A_CustomMissile ("Xdeath1", 40, 0, random (0, 360), 2, random (0, 160))
	TNT1 AAAAA 0 A_CustomMissile ("Guts2", 32, 0, random (0, 360), 2, random (0, 160))
    BRUD IJKLMNOP 4 Bright
    TNT1 AAA 0 A_CustomMissile ("RocketSmokeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
    TNT1 AAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random (0, 360), 2, random (0, 360))
    BRUD QRSTUV 4
	TNT1 AAA 0 A_CustomMissile ("RocketSmokeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
    TNT1 AAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random (0, 360), 2, random (0, 360))
    BRUD W -1   
    Stop
  }
}

Actor BruiserBall
{
  Radius 16
  Height 16
  Speed 18
  Damage 5
  Projectile
  +Randomize
  RenderStyle "ADD"
  Alpha 0.9
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  DamageType Fire
  Decal Scorchsmaller
  States
  {
  Spawn: 
    BRBA AABB 2 Bright A_SpawnItemEx("BruiserBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    BRBA KLMNOPQRSTUVWX 3 Bright
    Stop
  }
}

Actor BruiserBall2
{
  Radius 8
  Height 8
  Speed 10
  Damage 5
  Projectile
  +Randomize
  RenderStyle Add
  Alpha 0.9
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  DamageType Fire
  Decal BaronScorch
  States
  {
  Spawn: 
    BRB2 AB 6 Bright 
    Loop
  Death:
    BRB2 CDEFGHI 3 Bright
    Stop
  }
}

Actor BruiserFireSpawner
{
  Radius 8
  Height 8
  Speed 12
  Damage 0
  +Ripper
  +FloorHugger
  +BloodlessImpact
  Projectile
  MissileType BruiserFire
  Missileheight 0
  States
  {
  Spawn: 
    TNT1 A 3 Bright A_MissileAttack
    TNT1 A 3
    TNT1 A 3
    Loop
  Death:  
    TNT1 A 6
    Stop
  }
}

Actor BruiserBallTrail
{
  Radius 1
  Height 1
  Speed 0
  Projectile
  RenderStyle Add
  Alpha 0.70
  +NoClip
  States
  {
  Spawn:
    BRBA CDEFGHIJ 4 Bright
    Stop       
  }
}

Actor BruiserFire
{
  Radius 1
  Height 1
  Speed 0
  Damage 5
  Projectile
  SeeSound "vile/firecrkl"
  RenderStyle Add
  Alpha 0.9
  +NoClip
  +FloorHugger
  DamageType Fire
  States
  {
  Spawn:
    XXBF AB 3 Bright Radius_Quake (3, 8, 0, 15, 0)//(intensity, duration, damrad, tremrad, tid)
    XXBF C 3 Bright A_Explode(28,128,0) 
    XXBF DEFGHIJKLMNOPQRST 3 Bright
    Stop       
   }
}
