#include "Actors/Bosses/CELTLORD"
#include "Actors/Bosses/PYROLORD"
#include "Actors/Bosses/THAMUZ"
#include "Actors/Bosses/ARCHON"
Actor BruiserDemonLord 3333
{
  //$Category Monsters
  Health 10000
  Radius 66
  Height 150
  Mass 10000
  Speed 27
  Scale 2
  PainChance 10
  DamageFactor "PlayerDamage", 1.0
  Damagefactor "PEXPLOSIVE", 0.3
  Damagefactor "EXPLOSIVE", 0.3
  Damagefactor "Fire", 0.2
  Damagefactor "PFire", 0.2
  Damagefactor "PBullet", 0.3
  Damagefactor "Bullet", 0.3
  Damagefactor "ice", 0.3
  MinMissileChance 30
  Monster
    +NOTARGET
  +FLOORCLIP 
  +DONTRIP
  +MISSILEMORE
  +NORADIUSDMG
  +BOSS
  +DONTMORPH
  +DONTHURTSPECIES
  +NOTARGET
  +AMBUSH
  +NOICEDEATH
  +QUICKTORETALIATE
  +TELESTOMP
  +DONTRIP
  +missilemore
  +missileevenmore
  MissileType BruiserBall
  SeeSound "superbaron/scream"
  PainSound "superbaron/pain"
  DeathSound "superbaron/death"
  ActiveSound "superbaron/act"
  MeleeSound "baron/melee"
  Obituary "%o was slaughtered by a Bruiserdemon."
  HitObituary "%o was cremated by a Bruiserdemon."
  MeleeDamage 100
  States
  {
  Spawn:
    BRUS AB 10 Bright A_Look 
    Loop
	Missile:
	 TNT1 A 0 A_FaceTarget
	 TNT1 A 0 A_Jump (256,"Missile1","Missile2","Missile3","Missile4","Missile5")
  See:
    BRUS AABBCCDD 3 Bright A_Chase
    Loop
  Melee:
    BRUS E 6 Bright A_FaceTarget
    BRUS F 6 Bright A_FaceTarget
    BRUS G 6 Bright A_ComboAttack
    Goto See
  Missile:
    BRUS E 0 Bright A_Jump(144, 8)
    BRUS EF 6 Bright A_FaceTarget
    BRUS G 6 Bright A_MissileAttack
    BRUS G 0 Bright A_Jump(96, 1)
    Goto See
    BRUS HI 6 Bright A_FaceTarget
    BRUS J 6 Bright A_MissileAttack
    Goto See
	Missile1:
    BRUS E 0 Bright A_Jump(96, 20)
    BRUS E 6 Bright A_FaceTarget
    BRUS F 4 Bright A_FaceTarget
    BRUS F 2 Bright A_Custommissile("BruiserBall2",80,0,-40,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,-30,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,-20,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,-10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,0,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall2",80,0,20,0)
    BRUS G 0 Bright A_Jump(96, 1)
    Goto See
	Missile2:
    BRUS E 0 Bright A_Jump(96, 20)
    BRUS E 6 Bright A_FaceTarget
    BRUS F 4 Bright A_FaceTarget
    BRUS F 2 Bright A_Custommissile("BruiserBall",80,0,-40,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,-30,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,-20,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,-10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,0,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,10,0)
    BRUS G 1 Bright A_Custommissile("BruiserBall",80,0,20,0)
    BRUS G 0 Bright A_Jump(96, 1)
	Goto see
	Missile3:
    BRUS H 6 Bright A_FaceTarget
    BRUS I 4 Bright A_FaceTarget
    BRUS I 2 Bright A_Custommissile("BruiserBall2",80,0,40,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,30,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,20,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,0,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,-10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall2",80,0,-20,0)
	Goto see
	Missile4:
    BRUS H 6 Bright A_FaceTarget
    BRUS I 4 Bright A_FaceTarget
    BRUS I 2 Bright A_Custommissile("BruiserBall",80,0,40,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,30,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,20,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,0,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,-10,0)
    BRUS J 1 Bright A_Custommissile("BruiserBall",80,0,-20,0)
    Goto See
	Missile5:
    BRUS KL 6 Bright A_FaceTarget
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",80,0,-15,0)
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",80,0,0,0)
    BRUS M 2 Bright A_Custommissile("BruiserFireSpawner",80,0,15,0)
    Goto See
  Pain:
    BRUS N 5 Bright A_Pain
     Goto See
  Death:
    BRUD A 6 Bright A_Scream
    BRUD BCD 4 Bright 
    BRUD EFG 4 Bright
    BRUD H 4 Bright A_Fall
    BRUD IJKLMNOP 4 Bright
    BRUD QRSTUV 4
    BRUD W -1   
    Stop
  }
}

Actor BruiserBall
{
  Radius 16
  Height 16
  Speed 18
  Damage 80
  Projectile
  +Randomize
  RenderStyle "ADD"
  Alpha 0.9
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Decal Scorch
  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 50
  Projectile
  +Randomize
  RenderStyle Add
  Alpha 0.9
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Decal BaronScorch
  States
  {
  Spawn: 
    BRB2 AB 6 Bright 
    Loop
  Death:
    BRB2 CDEFGHI 3 Bright
    Stop
  }
}

Actor BruiserFireSpawner
{
  Radius 8
  Height 8
  Speed 12
  Damage 50
  +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 80
  Projectile
  RenderStyle Add
  Alpha 0.9
  +NoClip
  +FloorHugger
  SeeSound "weapons/rocklx"
  States
  {
  Spawn:
    XXBF AB 3 Bright
    XXBF C 3 Bright A_Explode(48,128,0)
    XXBF DEFGHIJKLMNOPQRST 3 Bright
    Stop       
   }
}
ACTOR AnnihilatorBoss 30111 
{
Obituary "The Cyber Annihilator blew %o away with its rockets."
Health 30000 
Radius 40
Height 160 
scale 1.6 
Mass 1000 
Speed 23
PainChance 10 
MONSTER
+NOTARGET 
+FLOORCLIP 
+NORADIUSDMG 
+BOSS 
+MISSILEEVENMORE 
SeeSound "monster/annsit" 
PainSound "cyber/pain" 
DeathSound "monster/anndth" 
ActiveSound "cyber/active" 
States 
   {    
   Spawn: 
       ANNI AB 10 A_Look 
       Loop 
   See: 
       ANNI A 3 A_Playsound ("monster/anhoof")
       ANNI ABBCC 3 A_Chase 
       ANNI D 3 A_Playsound ("monster/anhoof") 
       ANNI D 3 A_Chase 
       Loop 
   Missile:
       ANNI E 0 A_Jump (128,11)
       ANNI E 6 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0) 
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0)
       ANNI E 0 A_Jump (128,1)
       Goto See
       ANNI E 6 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0) 
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0)  
       Goto See 
   Pain: 
       ANNI G 10 A_Pain 
       Goto See 
   Death: 
       ANNI H 10 Bright
       ANNI I 10 Bright A_Scream 
       ANNI JKL 10 Bright
       ANNI M 10 Bright A_NoBlocking 
       ANNI NO 10 Bright
       ANNI P 30 
       ANNI P -1 A_BossDeath 
   } 
}

actor Rocket2
{
  obituary "%o rode %k's rocket."
  radius 11
  height 8
  speed 15
  damage 50
  seesound "weapons/rocklf"
  deathsound "weapons/rocklx"
  PROJECTILE  
  +RANDOMIZE
  +ROCKETTRAIL
  +THRUGHOST
  Decal Scorch
  states
  {
  Spawn:
    MISL A 1 bright
    loop
  Death:
    MISL B 0 bright A_SetTranslucent (0.67,1)
    MISL B 8 bright A_Explode
    MISL C 6 bright
    MISL D 4 bright
    stop
  }
}

ACTOR HomRocket1
{
   Radius 8
   Height 11
   Speed 15
   Damage 50
   PROJECTILE
   DeathSound "weapons/hrlexp"
   ExplosionDamage 64
   ExplosionRadius 96
   +SeekerMissile
   +Rockettrail
   +THRUGHOST
   SeeSound "weapons/hrlfir"
   Decal Scorch
   States
   {
   Spawn:
      HMIS A 4 Bright A_SeekerMissile (25,35)
      HMIS A 4 Bright
      HMIS A 2 Bright A_SeekerMissile (10,25)
      HMIS A 2 Bright
      goto Spawn+2
   Death:
      BAL3 C 0 Bright A_SetTranslucent (0.67,1)
      BAL3 C 8 Bright A_Explode
      BAL3 DE 5 Bright
      stop
   }
}

 actor Uzi : Weapon 20002
{
	radius 20
	height 16
	inventory.pickupmessage "You got an Uzi."
	Weapon.SlotNumber 2
	Weapon.selectionorder 200
	Weapon.AmmoUse 1
	Weapon.Ammogive 30
	Weapon.Ammotype "Clip"
	inventory.icon "USMGA0"
	attacksound "uzifire"
	States
	{
	spawn:
		USMG A 1
		Loop
	ready:
		UZIG D 1 A_WeaponReady
		Loop
	deselect:
		UZIG D 1 A_Lower
		Loop
	select:
		UZIG D 1 A_Raise
		Loop
	fire:
		UZIG B 1 A_FireBullets(2,2,1,8)
		UZIG C 1
		UZIG A 2
		Goto Ready
	}
}
ACTOR Minigun : Weapon 20039
{
Weapon.SlotNumber 4
Weapon.selectionorder  40
radius 25
height 16
Weapon.AmmoType "Clip"
Weapon.AmmoGive 20
Weapon.AmmoUse 1
Weapon.Kickback 100
Inventory.PickupSound "misc/w_pkup"
Inventory.PickupMessage "Picked up a minigun!"
Obituary "%o was shredded by %k's minigun."
AttackSound "weapons/minigunfire"
SpawnID 214
States
	{
	Spawn:
		MNGN A -1
		Loop
	Ready:
		MNGG A 1 A_WeaponReady
		Loop
	Deselect:
		MNGG A 1 A_Lower
		Loop
	Select: 
		MNGG A 1 A_Raise 
		Loop 
	Fire: 
		MNGG A 0 A_GunFlash
		MNGG A 2 A_FireBullets(5.6, 0, 1, 5, "BulletPuff")
		MNGG B 2 A_FireBullets(5.6, 0, 1, 5, "BulletPuff")
		MNGG A 2 A_ReFire
		MNGG B 2
		MNGG A 4
		MNGG B 4
		MNGG A 8
		MNGG B 8
		goto Ready 
	Flash: 
		MNGF A 3 BRIGHT A_Light1 
		MNGF B 3 BRIGHT A_Light0
		Stop 
	}
}
Actor STGrenadeLauncher : Weapon 5324
{
  Radius 20
  Height 16
  Weapon.SlotNumber 5
  Weapon.SelectionOrder 2500
  +WEAPON.NOAUTOFIRE
  +WEAPON.NOAUTOAIM
  Weapon.AmmoUse 1
  Weapon.AmmoGive 2
  Weapon.AmmoType "RocketAmmo"
  Weapon.Kickback 100
  Inventory.PickupMessage "You got the grenade launcher!"
  Obituary "%o caught %k's grenade."
  SpawnID 163
  States
  {
  Spawn:
    GLAU A -1
    Stop
  Ready:
    GRLG A 1 A_WeaponReady
    Loop
  Deselect:
    GRLG A 1 A_Lower
    Loop
  Select:
    GRLG A 1 A_Raise
    Loop
  Fire:
    GRLG B 8 A_GunFlash
    GRLG B 12 A_FireCustomMissile("STGrenade", 0, 1, 0, 0, 0, 6.328125)
    GRLG B 0 A_ReFire
    Goto Ready
  Flash:
    GRLF A 3 Bright A_Light1
    GRLF B 4 Bright
    GRLF C 4 Bright A_Light2
    GRLF D 4 Bright A_Light2
    Goto LightDone
  }
}

Actor STGrenade
{
  Radius 8
  Height 8
  Speed 25
  Damage 100
  Gravity 0.25
  Projectile
  -NoGravity
  +DoomBounce
  +DehExplosion
  +GrenadeTrail
  //+ExplodeOnDeath
  SeeSound "Weapons/GrBnce"
  DeathSound "Weapons/GrenLX"
  DamageType Fire
  States
  {
  Spawn:
    SGRN A 0 Bright
    SGRN A 0 Bright A_StopSound
    SGRN A 0 Bright A_PlaySound("Weapons/GrenLF")
    SGRN A 1 Bright
    Goto Spawn+3
  Death:
    MISL B 0 Bright A_ChangeFlag("NoGravity", 1)
    MISL B 8 Bright A_Explode
    MISL C 6 Bright
    MISL D 4 Bright
    stop
  }
}
Actor STRailgun : Weapon 4532
{   
    SpawnID 164
	Radius 20
	Height 16
	Weapon.SlotNumber 6
	Weapon.Selectionorder 1000
	Weapon.AmmoUse 10
	Weapon.AmmoGive 40
	Weapon.AmmoType "Cell"
	Inventory.Pickupmessage "You got the railgun!"
	Obituary "%o was railed by %k."
	Decal RailScorch
	Tag "Railgun"
	States
	{
	Ready:
		RLGG A 1 A_WeaponReady
		Loop
	Deselect:
		RLGG A 1 A_Lower
		Loop
	Select:
		RLGG A 1 A_Raise
		Loop
	Fire:
		RLGF A 3 A_FireRailgun
		RLGF B 3
		RLGG B 12
		RLGG B 6 A_CheckForReload(4, "Reloaded")
		RLGG C 6
		RLGG D 6 A_PlaySound("Railout")
		RLGG EFG 6 
		RLGG H 6 A_ResetReloadCounter
		RLGG I 3 A_PlaySound("Railin")
		RLGG J 3 A_PlaySound("RailBuzz")
	Reloaded:
		RLGG A 0 A_ReFire
		Goto Ready
	Flash:
		TNT1 A 3 bright A_Light1
		TNT1 A 3 bright A_Light2
		TNT1 A 0 bright A_Light0
		Goto LightDone
	Spawn:
		RLGP A -1
		Stop
	}
}
Actor Afrit
{
  Health 800
  Speed 6
  Radius 24
  Height 72
  PainChance 50
  Mass 500
  SeeSound "Baron/Sight"
  PainSound "Baron/Pain"
  DeathSound "Baron/Death"
  ActiveSound "Baron/Active"
  Monster
  +NoGravity
  +NoBlood
  +Float
  +DontHurtSpecies
  Obituary "%o was scorched by an Afrit"
  HitObituary "%o found the Afrit too hot to handle."
  Damagefactor "HellFire", 0.0
  States
  {
  Spawn:
    FRIT A 0
    FRIT A 0 A_CustomMissile("OrbitComet", 44, 0, 0, 2, 0)
    FRIT A 0 A_CustomMissile("OrbitComet2", 44, 0, 180, 2, 0)
    FRIT AABB 4 Bright A_Look
    Goto Spawn+3
  Idle:
    FRIT ABCD 4 Bright A_Look
    Loop
  See:
    FRIT AABBCCDD 2 Bright A_Chase
    Loop
  Melee:
    TNT1 A 0 A_Jump(64, "Melee2")
    FRIT ST 6 Bright A_FaceTarget
    FRIT U 6 Bright A_CustomComboAttack("AfritBall", 44, 10, "Baron/Melee")
    Goto See
  Melee2:
    FRIT E 6 Bright A_FaceTarget
    FRIT F 6 Bright A_CustomMissile("HellFire", 44)
    FRIT G 6 Bright A_FaceTarget
    Goto See
  Missile:
    TNT1 A 0 A_Jump(64, "Missile3")
    TNT1 A 0 A_Jump(128, "Missile2")
    FRIT ST 6 Bright A_FaceTarget
    FRIT U 6 Bright A_CustomComboAttack("AfritBall", 44, 10, "Baron/Melee")
    Goto See
  Missile2:
    FRIT EF 6 Bright A_FaceTarget
    FRIT G 6 Bright A_CustomMissile("Comet", 44)
    Goto See
  Missile3:
    FRIT E 6 Bright A_FaceTarget
    FRIT F 6 Bright A_CustomMissile("Hellfire", 44)
    FRIT G 6 Bright A_FaceTarget
    Goto See
  Pain:
    FRIT H 4 Bright
    FRIT H 4 Bright A_Pain
    Goto See
  Death:
    TNT1 A 0 A_NoGravity
    FRIT I 6 Bright A_Scream
    FRIT J 5 Bright A_NoBlocking
    FRIT KLMNOPQR 4 Bright
    Stop
  }
}

Actor AfritBall
{
  Radius 6
  Height 8
  Speed 15
  Damage 8
  Projectile
  RenderStyle Add
  Alpha 0.8
  SeeSound "Imp/Attack"
  DeathSound "Imp/ShotX"
  Decal BaronScorch
  States
  {
  Spawn:
    FRTM AB 5 Bright
    Loop
  Death:
    FRTM CDE 6 Bright
    Stop
  }
}

Actor Comet
{
  Radius 6
  Height 8
  Speed 10
  Damage 5
  SpawnID 250
  Scale 0.55
  Projectile
  SeeSound "Afrit/CometFire"
  DeathSound "Afrit/CometHit"
  Decal Scorch
  States
  {
  Spawn:
    COMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("CometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    COMT D 3 Bright A_SpawnItemEx("CometDeathGlow", 0, 0, 0, 0, 0, 0, 0, 128)
    COMT E 3 Bright A_Explode(80, 80, 0)
    TNT1 A 0 A_SpawnItemEx("CometDeath", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor CometTail
{
  Projectile
  +NoClip
  RenderStyle Add
  Alpha 0.4
  States
  {
  Spawn:
    FRTB ABCDEFGHI 1 Bright
    Stop
  }
}

Actor CometDeathGlowA : CometTail
{
  Scale 2.0
  Alpha 0.6
  States
  {
  Spawn:
    FRTB ABCDEFGHI 3 Bright
    Stop
  }
}

Actor CometDeathA
{
  Projectile
  RenderStyle Add
  +NoClip
  Alpha 0.7
  States
  {
  Spawn:
    COMT FGHI 3 Bright
    Stop
  }
}

Actor OrbitComet : Comet
{
  SeeSound ""
  +NoClip
  Scale 0.28
  Speed 5
  States
  {
  Spawn:
    COMT AABBCC 1 Bright A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 0 A_CustomMissile("OrbitComet", 0, 0, 75)
    TNT1 A 0 A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor OrbitComet2 : OrbitComet
{
  States
  {
  Spawn:
    COMT AABBCC 1 Bright A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 0 A_CustomMissile("OrbitComet2", 0, 0, -75)
    TNT1 A 0 A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor OrbitCometTail : CometTail
{
  Scale 0.5
}

Actor HellFire
{
  +NoBlockMap
  +Painless
  +BloodlessImpact
  +Missile
  +DropOff
  States
  {
  Spawn:
    TNT1 A 1
    Loop
  Death:
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 0, -180)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 16, -175)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 32, -170)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, -16, -185)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, -32, -190)
    TNT1 A 10 Bright A_PlaySound("Afrit/Hellfire")
    Stop
  }
}

Actor HellFire1
{
  +Ripper
  +NoExplodeFloor
  +Painless
  +BloodlessImpact
  +Missile
  +DropOff
  Speed 2
  States
  {
  Spawn:
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     Stop
  }
}

Actor HellFire2
{
  +Ripper
  +NoExplodeFloor
  +BloodlessImpact
  +DropOff
  +Randomize
  Scale 1.5
  Speed 1
  RenderStyle Add
  Alpha 0.67
  Damagetype "HellFire"
  Obituary "%o was scorched by an Afrit"
  States
  {
  Spawn:
    TNT1 A 8
    FRTF A 3 Bright
    FRTF BC 3 Bright A_Explode(3, 64)
    TNT1 A 0 A_Explode(3, 64)
    TNT1 A 0 A_Jump(191, 4)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, 24, 0)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, 0, 0)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, -24, 0)
    FRTF DEFGHIJKLMNO 3 Bright
    Stop
  }
}
ACTOR UACBattleRifle : Weapon
{
	 Inventory.PickupMessage "Picked up the UAC Standard Battle Rifle."
	 Obituary "%o was anihilated by %k's BattleRifle."
	 Weapon.SelectionOrder 1900
	 Weapon.AmmoUse 1
	 Weapon.SlotNumber 4
	 Weapon.AmmoGive 40
	 Weapon.AmmoType1 "Clip"
	 Decal "BulletChip"
	 AttackSound "weapons/UACBR"
	 States
	 {
	 Spawn:
		UACR C -1
		Loop
	 Ready:
		UACR A 1 A_WeaponReady (WRF_ALLOWRELOAD)
		Loop
	 Select:
		UACR A 1 A_Raise
		Loop
	 Deselect:
		UACR A 1 A_Lower
		Loop
	 Fire: 
		TNT1 A 0 A_Gunflash
		UACR A 2 A_FireBullets(3, 2, 1, 6, "BulletPuff")
		UACR B 2 
		UACR A 2 A_CheckForReload(20, "Fired")
		Goto Reload+1
	 Reload:
		UACR F 0 A_CheckforReload(1,"Ready",true)
		UACR F 2 A_CheckReload
		UACR G 2
		UACR H 2
		UACR I 2
		UACR O 2 A_Playsound ("UACMO")
		UACR N 2
		UACR M 2
		UACR L 3
		UACR K 4
		UACR J 6 A_Playsound ("CLOTH")
		UACR K 4
		UACR L 3
		UACR M 2
		UACR N 2 A_Playsound ("UACMI")
		UACR O 2
		UACR P 2
		UACR I 2 
		UACR H 2 
		UACR G 2 A_ResetReloadCounter
		UACR F 2 A_ReFire
		Goto Ready
	Flash:
        UACR D 1 Bright A_Light0
        UACR E 1 Bright A_Light1
        Goto LightDone
	Fired:
		UACR A 2 A_ReFire
		Goto Ready
	}
}
Actor BFG10K : DoomWeapon 13245
{
  Radius 20
  Height 20
  Weapon.Selectionorder 2000
  Weapon.SlotNumber 7
  Weapon.AmmoUse 5
  Weapon.AmmoGive 40
  Weapon.AmmoType "Cell"
  Weapon.Kickback 100
  Inventory.Pickupmessage "You got the BFG10000!  Hell, yes!"
  Obituary "%o was blasted by %k's BFG10K"
  Tag "BFG10K"
  +Weapon.NoAutoFire
  Decal BFGLightning
  States
  {
  Spawn:
    BFG2 A -1
    Stop
  Ready:
    BG2G A 0 A_PlaySound ("Weapons/BFG10KIdle")
    BG2G A 1 A_WeaponReady
    BG2G A 1 A_WeaponReady
    BG2G A 1 A_WeaponReady
    BG2G B 1 A_WeaponReady
    BG2G B 1 A_WeaponReady
    BG2G B 1 A_WeaponReady
    BG2G C 1 A_WeaponReady
    BG2G C 1 A_WeaponReady
    BG2G C 1 A_WeaponReady
    BG2G D 1 A_WeaponReady
    BG2G D 1 A_WeaponReady
    BG2G D 1 A_WeaponReady
    Loop
  Deselect:
    BG2G E 1 A_Lower
    Loop
  Select:
    BG2G E 1 A_Raise
    Loop
  Fire:
    BG2G E 20 A_PlaySound("Weapons/BFG10KF")
    BG2G F 4
    BG2G G 1
    BG2G H 1
    BG2G I 1
    BG2G J 1
    Goto Hold
  Hold:
    BG2G K 2 A_GunFlash
    BG2G L 2 A_FireBullets(0, 0, 1, 0, "BFG10kShot")
    BG2G M 2
    BG2G N 0 A_ReFire
    BG2G O 35 A_PlaySound("Weapons/BFG10KCool")
    Goto Ready
  Flash:
    TNT1 A 2 Bright A_Light1
    TNT1 A 3 bright
    Goto LightDone
  }
}


Actor BFG10kShot
{
  Radius 11
  Height 8
  Speed 20
  Damage 160
  DamageType BFG10K
  +NoBlockMap
  +NoGravity
  +ActivateImpact
  +ActivatePCross
  +NoTeleport
  +PuffOnActors
  +PuffGetsOwner
  +ForceRadiusDmg
  Renderstyle Add
  Alpha 0.75
  SeeSound "Weapons/BFG10KX"
  AttackSound "Weapons/BFG10KX"
  States
  {
  Spawn:
    BFE1 A 0 Bright
    BFE1 A 3 Bright A_Explode(160, 128, 1)
    BFE1 BCDEF 3 Bright
    Stop
  }
}
ACTOR ExplosiveSuperShotgun : Weapon 21345
{
	Tag "Explosive Super Shotgun"
	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType "Shell"
	Decal MiniScorch
	Inventory.PickupMessage "Picked up an explosive Super Shotgun"
	Obituary "%o was blown and holed by an explosive Super Shotgun"
	Weapon.SlotNumber 3
	Weapon.SlotPriority 3
	Weapon.SelectionOrder 3000
	States
	{
	Ready:
		SHTE A 1 A_WeaponReady
		Loop
	Deselect:
		SHTE A 1 A_Lower
		Loop
	Select:
		SHTE A 1 A_Raise
		Loop
	Fire:
		SHTE A 3
		SHTE A 0 A_PlayWeaponSound("Weapons/EXPSSGFire")
		SHTE A 0 A_GunFlash
		SHTE A 0 A_Recoil (5)
		SHTE M 2 A_FireBullets (11.2, 7.1, 16, 5, "PelletExploShot")
		SHTE N 2
		SHTE O 2
		SHTE B 4
		SHTE C 3
		SHTE D 7 A_CheckReload
		SHTE E 3 A_PlaySound("Weapons/EXPSSGOpen")
		SHTE F 4
		SHTE G 3
		SHTE H 4
		SHTE I 3 A_PlaySound("Weapons/EXPSSGLoad")
		SHTE J 4
		SHTE K 3
		SHTE L 3
		SHTE E 3 A_PlaySound("Weapons/EXPSSGClose")
		SHTE B 3
		SHTE A 5 A_ReFire
		Goto Ready
	Spawn:
		SGNE A -1
		Stop
	Flash:
		TNT1 A 4 Bright A_Light1
		TNT1 A 3 Bright A_Light2
		Goto LightDone
	}
}
	
ACTOR PelletExploShot
{
	Radius 11
	Height 8
	Speed 30
	+NoBlockMap
	+NoGravity
	+ActivateImpact
	+ActivatePCross
	+NoTeleport
	+PuffOnActors
	+PuffGetsOwner
	+ForceRadiusDmg
	+FORCEXYBILLBOARD
	RenderStyle Translucent
	Alpha 0.7
	Scale 0.2
	Damage 150
	States
	{
	Spawn:
		EXPX A 0 Bright 
		EXPX A 3 Bright	A_Explode(10, 32, 1)
		EXPX B 3 Bright	
		EXPX C 3 Bright 
		EXPX D 3 Bright
		EXPX E 3 Bright
		EXPX F 3 Bright
		Stop
	}
}





ACTOR ExpShell : Ammo
{
	Inventory.PickupMessage "Picked up some explosive shells."
	Inventory.Amount 4
	Inventory.MaxAmount 50
	Ammo.BackpackAmount 4
	Ammo.BackpackMaxAmount 100
	Inventory.Icon "EHELA0"
	States
	{
	Spawn:
		EHEL A -1
		Stop
	}
}

ACTOR ExpShellBox : ExpShell
{
	Inventory.PickupMessage "Picked up a box of explosive shells."
	Inventory.Amount 16
	Inventory.MaxAmount 50
	Ammo.BackpackAmount 16
	Ammo.BackpackMaxAmount 100
	States
	{
	Spawn:
		EBOX A -1
		Stop
	}
}