ACTOR DukeExplosiveBarrel1 19100
{
  Health 10
  Radius 12
  Height 34
  +SOLID
  +SHOOTABLE
  +NOBLOOD
  +ACTIVATEMCROSS
  +DONTGIB
  +NOICEDEATH
  Obituary "%o went boom."
  scale 0.6
  States
  {
  Spawn:
    TANK A -1
    Loop
  Death:
    TANK A 5
    TANK B 5 BRIGHT
    TANK C 5 BRIGHT 
    TANK C 1 A_SpawnItemEx("BarrelBlast",0,0,16,0,0,0,0,0,0)
    stop
  }
}

ACTOR DukeExplosiveBarrel2 : DukeExplosiveBarrel1 19101
{
  States
  {
  Spawn:
    BEX1 ABE 5
    Loop
  Death:
    BEX1 A 5
    BEX1 B 5 BRIGHT
    BEX1 C 5 BRIGHT 
    BEX1 C 1 A_SpawnItemEx("BarrelBlast",0,0,16,0,0,0,0,0,0)
    stop
  }
}

ACTOR DukeExplosiveBarrel3 : DukeExplosiveBarrel1 19102
{
  States
  {
  Spawn:
    BEX2 A -1
    Loop
  Death:
    BEX2 A 5
    BEX2 A 5 BRIGHT
    BEX2 B 5 BRIGHT 
    BEX2 B 1 A_SpawnItemEx("BarrelBlast",0,0,16,0,0,0,0,0,0)
    stop
  }
}

actor ExplosiveBarrelSpawner : RandomSpawner Replaces ExplosiveBarrel
{
  DropItem "DukeExplosiveBarrel1", 256, 192
  DropItem "DukeExplosiveBarrel2", 256, 64
  DropItem "DukeExplosiveBarrel3", 256, 64
}

actor BarrelBlast
{
  +FOILINVUL
  radius 1
  height 1
  speed 0
  +NOCLIP
  PROJECTILE
  scale 0.75
  DamageType "Explosion"
  states
  {
  Spawn:
    RPGB A 0
    RPGB A 0 A_CustomMissile ("RPGExplosion", 30, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    RPGB AAAAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    RPGB A 0 A_SPawnItem("ExplosionAirDisplacementEffect")
    RPGB A 0 A_PlaySound("rpg/blowup")
    RPGB A 0 A_PlayWeaponSound("rpg/blowup")
    RPGB A 0 Radius_Quake(2, 8, 0, 12, 0)
    TNT1 A 2
    RPGB A 0 A_Explode(150,200)
    TNT1 A 10
    stop
  }
}