
actor FirestormCrate
{
  obituary "%o ran into a Firestorm."
  radius 13
  height 8
  speed 0
  damage 0
  renderstyle Add
  alpha 0.75
  deathsound "weapons/rocklx"
  PROJECTILE
  -RANDOMIZE
  +STRIFEDAMAGE
  //+FULLVOLDEATH
  +NOEXTREMEDEATH
  +NODAMAGETHRUST
  DamageType "FireSpecial"
  Scale 2.0
  states
  {
  Spawn:
    PLS1 A 0 bright
    goto Death
    PLS1 A 0 bright A_SetShootable
    PLS1 A 0 bright A_Die
    Stop
  Death:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 0 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 bright A_Explode(100,1024,1)
    TNT1 A 0 bright A_Explode(800,256,1)
    TNT1 A 1 bright A_Explode(800,512,1)
    TNT1 AAAAAAAAAA 0 A_CustomMissile("FirestormDecay",0,0,random(-180,180),2,random(60,90))
    TNT1 AAAAAAAAAA 0 A_CustomMissile("FirestormDecay",0,0,random(-180,180),2,random(60,90))
    TNT1 AAAAAAAAAA 0 A_CustomMissile("FirestormDecay",0,0,random(-180,180),2,random(60,90))
    TNT1 AAAAAAAAAA 0 A_CustomMissile("FirestormDecay",0,0,random(-180,180),2,random(60,90))
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAA 5 bright A_Explode(32,512,1)
    stop
  }
}

actor FirestormDecay : FlameWallDecay
{
  DamageType "FireSpecial"
  Speed 16
  ReactionTime 20
}

actor BombCrate : BombPackKamikaze
{
  obituary "%o was too close to the poor guy that got the bomb crate."
  states
  {
  Spawn:
    PLS1 A 0 bright
    goto Death
    PLS1 A 0 bright A_SetShootable
    PLS1 A 0 bright A_Die
    Stop
  Death:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 0, 0, 32, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 0 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 bright A_Explode(100,2024,1)
    TNT1 A 0 bright A_Explode(800,512,1)
    TNT1 A 8 bright A_Explode(800,1024,1)
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 12, 16, 64, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 8 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 14, 32, 96, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 8 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 26, 48, 128, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 8 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 38, 72, 160, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 8 A_PlayWeaponSound("weapons/rocklx")
    stop
  }
}

actor BiohazardCrate
{
  obituary "%o was dumb enough to walk into the chemical blast."
  radius 13
  height 8
  speed 0
  damage 0
  renderstyle Add
  alpha 0.75
  deathsound "weapons/rocklx"
  PROJECTILE
  -RANDOMIZE
  +STRIFEDAMAGE
  //+FULLVOLDEATH
  +NOEXTREMEDEATH
  +NODAMAGETHRUST
  DamageType "Chemical"
  Scale 2.0
  states
  {
  Spawn:
    PLS1 A 0 bright
    goto Death
    PLS1 A 0 bright A_SetShootable
    PLS1 A 0 bright A_Die
    Stop
  Death:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("ExplosionMainLarge", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 0 A_PlayWeaponSound("weapons/rocklx")
    TNT1 A 0 bright A_Explode(100,1024,1)
    TNT1 A 0 bright A_Explode(800,256,1)
    TNT1 A 1 bright A_Explode(800,512,1)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-128,128), random(-128,128), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ChemicalWallDecay", random(-512,512), random(-512,512), random(4,256), 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAAAAAA 5 bright A_Explode(32,512,1)
    TNT1 AAAAAA 5 bright A_Explode(32,512,1)
    stop
  }
}

actor ChemicalWallDecay
{
  renderstyle None
  +NOBLOCKMAP
  //+NOGRAVITY
  Gravity 0.5
  DamageType "Chemical"
  obituary "%o was dumb enough to walk into the chemical blast."
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    TNT1 A 0 BRIGHT A_Explode(4,128,0)
    TNT1 AAA 5 A_SpawnItemEx("ChemicalDeathShot", random(-16,16), random(-16,16), random(8,16), 0, 0, random(1,3), 0, 128, 32)
    stop
  }
}
