Actor CasingSpawner 10001
{
  Radius 1
  Height 1
  +NoClip
  +ClientSideOnly
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_GiveInventory("CasingSpawnerCheck", Args[0])
    TNT1 A 0 A_JumpIf(Args[2] == 1, "ShotgunSpawning")
    TNT1 A 0 A_JumpIf(Args[2] > 1, "RifleSpawning")
  BulletSpawning:
    TNT1 A 1 A_JumpIfInventory("CasingSpawnerCheck", 1, 1)
    Goto Death
    TNT1 A 0 A_TakeInventory("CasingSpawnerCheck", 1)
    TNT1 A 0 A_SpawnItemEx("DeadBulletCasing", Random(-Args[1], Args[1]), Random(-Args[1], Args[1]), 0, 0, 0, 0, Random(0, 360), 128)
    Loop
  ShotgunSpawning:
    TNT1 A 1 A_JumpIfInventory("CasingSpawnerCheck", 1, 1)
    Goto Death
    TNT1 A 0 A_TakeInventory("CasingSpawnerCheck", 1)
    TNT1 A 0 A_SpawnItemEx("DeadShotgunCasing", Random(-Args[1], Args[1]), Random(-Args[1], Args[1]), 0, 0, 0, 0, Random(0, 360), 128)
    Loop
  RifleSpawning:
    TNT1 A 1 A_JumpIfInventory("CasingSpawnerCheck", 1, 1)
    Goto Death
    TNT1 A 0 A_TakeInventory("CasingSpawnerCheck", 1)
    TNT1 A 0 A_SpawnItemEx("DeadRifleCasing", Random(-Args[1], Args[1]), Random(-Args[1], Args[1]), 0, 0, 0, 0, Random(0, 360), 128)
    Loop
  Death:
    TNT1 A 1
    Stop
  }
}

Actor CasingSpawnerCheck : Inventory { }

Actor DeadBulletCasing
{
+ClientSideOnly
+NoClip

  Height 1
  Radius 1
  Scale 0.45	
  Mass 1
  States
  {
  Spawn:
    CAS2 A 0
    CAS2 A 0 A_Jump(192, 2, 3, 4)
    CAS2 A 175
    Stop
    CAS2 B 175
    Stop
    CAS2 C 175
    Stop
    CAS2 D 175
    Stop
  }
}

Actor DeadShotgunCasing
{
+ClientSideOnly
+NoClip
  Height 1
  Radius 1
  Scale 0.45	
  Mass 1
  States
  {
  Spawn:
    CAS1 A 0
    CAS1 A 0 A_Jump(192, 2, 3, 4, 5, 6, 7, 8)
    CAS1 A 175
    Stop
    CAS1 B 175
    Stop
    CAS1 C 175
    Stop
    CAS1 D 175
    Stop
    CAS1 E 175
    Stop
    CAS1 F 175
    Stop
    CAS1 G 175
    Stop
    CAS1 H 175
    Stop
  }
}

Actor DeadRifleCasing
{
+ClientSideOnly
+NoClip
  Height 1
  Radius 1
  Scale 0.45	
  Mass 1
  States
  {
  Spawn:
    CAS7 A 0
    CAS7 A 0 A_Jump(192, 2, 3, 4, 5, 6)
    CAS7 A 175
    Stop
    CAS7 B 175
    Stop
    CAS7 C 175
    Stop
    CAS7 D 175
    Stop
    CAS7 E 175
    Stop
    CAS7 F 175
    Stop
  }
}
