ACTOR 9mmSpawn
{
	Speed 20
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
  +THRUGHOST
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("9mmBrass",-2,0,random[RIDFX](80,100),2,random[RIDFX](40,80))
		Stop
	}
}

ACTOR 9mmSpawnLeft : 9mmSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("9mmBrass",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](40,80))
		Stop
	}
}

ACTOR 9mmBrass : ZCasing
{
   Height 2
   Radius 2
   Speed 6
   Scale 0.15
   +DOOMBOUNCE
   -NOGRAVITY
   +WINDTHRUST
   +CLIENTSIDEONLY
   +MOVEWITHSECTOR
   +MISSILE
   +NOBLOCKMAP
   -DROPOFF
   +NOTELEPORT
   +FORCEXYBILLBOARD
   +NOTDMATCH
   +GHOST
   +FLOORCLIP
   +THRUACTORS
  +THRUGHOST
  ThruBits 1
   Mass 4
   BounceFactor 0.3
   SeeSound "weapons/casing"
   States
   {
   Spawn:
      CAS1 FGHABCDEFGHABCDEFGH 3
      STOP

   Death:
      CAS1 I 0
      CAS1 A 0 A_Jump(256,"Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest7","Rest8")
      Goto Rest1
    Rest1:
      CAS1 I 400
      Stop
    Rest2:
      CAS1 J 400
      Stop
    Rest3:
      CAS1 K 400
      Stop
    Rest4:
      CAS1 L 400
      Stop
    Rest5:
      CAS1 M 400
      Stop
    Rest6:
      CAS1 I 400
      Stop
    Rest7:
      CAS1 J 400
      Stop
    Rest8:
      CAS1 K 400
      Stop
   }
}

ACTOR 50CaseSpawn
{
	Speed 20
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
  +THRUGHOST
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("EmptyBrass",-2,0,random[RIDFX](80,100),2,random[RIDFX](40,80))
		Stop
	}
}

ACTOR 50CaseSpawnLeft : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("EmptyBrass",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](40,80))
		Stop
	}
}

ACTOR 50CaseSpawnLeft2 : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("EmptyBrass2",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](40,80))
		Stop
	}
}

ACTOR 20mmSpawn : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("20mmBrass",-2,0,random[RIDFX](80,100),2,random[RIDFX](45,80))
		Stop
	}
}

ACTOR 20mmSpawnLeft : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("20mmBrass",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](45,80))
		Stop
	}
}

ACTOR 40mmSpawn : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("40mmBrass",-2,0,random[RIDFX](80,100),2,random[RIDFX](45,80))
		Stop
	}
}

ACTOR 40mmSpawnLeft : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("40mmBrass",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](45,80))
		Stop
	}
}

ACTOR 40mmSpawnLeft2 : 50CaseSpawn
{
	States
	{
	Spawn:
        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("40mmBrass2",-2,0,random[RIDFX](-80,-100),2,random[RIDFX](45,80))
		Stop
	}
}

ACTOR EmptyBrass : ZCasing
{
   Height 2
   Radius 2
   Speed 6
   Scale 0.15
   +DOOMBOUNCE
   -NOGRAVITY
   +WINDTHRUST
   +CLIENTSIDEONLY
   +MOVEWITHSECTOR
   +MISSILE
   +NOBLOCKMAP
   -DROPOFF
   +NOTELEPORT
   +FORCEXYBILLBOARD
   +NOTDMATCH
   +GHOST
   +FLOORCLIP
   +THRUACTORS
  +THRUGHOST
  ThruBits 1
   Mass 4
   BounceFactor 0.3
   SeeSound "weapons/casing"
   States
   {
   Spawn:
      CAS3 FGHABCDEFGHABCDEFGH 3
      STOP

   Death:
      CAS3 I 0
      CAS3 A 0 A_Jump(256,"Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest7","Rest8")
      Goto Rest1
    Rest1:
      CAS3 I 400
      Stop
    Rest2:
      CAS3 J 400
      Stop
    Rest3:
      CAS3 K 400
      Stop
    Rest4:
      CAS3 L 400
      Stop
    Rest5:
      CAS3 M 400
      Stop
    Rest6:
      CAS3 I 400
      Stop
    Rest7:
      CAS3 J 400
      Stop
    Rest8:
      CAS3 K 400
      Stop
   }
}

ACTOR EmptyBrass2 : EmptyBrass
{
   States
   {
   Death:
      CAS3 I 0
      CAS3 A 0 A_Jump(256,"Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest7","Rest8")
      Goto Rest1
    Rest1:
      CAS3 I 70
      Stop
    Rest2:
      CAS3 J 70
      Stop
    Rest3:
      CAS3 K 70
      Stop
    Rest4:
      CAS3 L 70
      Stop
    Rest5:
      CAS3 M 70
      Stop
    Rest6:
      CAS3 I 70
      Stop
    Rest7:
      CAS3 J 70
      Stop
    Rest8:
      CAS3 K 70
      Stop
   }
}

ACTOR 20mmBrass: EmptyBrass
{
Gravity 0.8
Speed 12
Scale 0.25
}


ACTOR 40mmBrass: EmptyBrass
{
Gravity 0.8
Speed 12
Scale 0.5
}

ACTOR 40mmBrass2: EmptyBrass2
{
Gravity 0.8
Speed 12
Scale 0.5
}

ACTOR EmptyClip
{
   Height 2
   Radius 2
   Speed 4
   Scale 0.9
   +DOOMBOUNCE
   - NOGRAVITY
   +WINDTHRUST
   +CLIENTSIDEONLY
   +MOVEWITHSECTOR
   +MISSILE
   +NOBLOCKMAP
   -DROPOFF
   +NOTELEPORT
   +FORCEXYBILLBOARD
   +NOTDMATCH
   +GHOST
  +THRUGHOST
  ThruBits 1
   Mass 1
   States
   {
   Spawn:
      TNT1 A 7 NoDelay A_PlaySound("NULL")
      ECLI ABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGH 4
      Stop
   Death:
	  TNT1 A 0
      ECLI G 400
		Stop
   }
}

ACTOR EmptyClipSpawn
{
	Speed 20
	PROJECTILE
	+NOCLIP
  +THRUGHOST
	States
	{
	Spawn:
		TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("EmptyClip",1,0,random[RIDFX](85,95),2,1)
		Stop
	}
}

ACTOR ShotCaseSpawn : 50CaseSpawn
{
	States
	{
	Spawn:
	        TNT1 A 0 NoDelay
		TNT1 A 1 A_CustomMissile("ShotgunCasing",0,0,random[RIDFX](80,100),2,random[RIDFX](40,60))
		Stop
	}
}

Actor SSGCaseSpawner : ShotcaseSpawn
{
	States
	{
	Spawn:
		TNT1 A 0 NoDelay
		TNT1 A 0 Thing_ChangeTID(0,390)
		TNT1 A 1
		Goto Death
	Death:
		TNT1 A 1 A_CustomMissile("ShotgunCasing",0,0,random[RIDFX](-80,-100),2,random[RIDFX](50,70))
		Stop
	}
}

ACTOR ShotgunCasing : ZCasing
{
   Height 12
   Radius 9
   Speed 6
   Scale 0.15
   +DOOMBOUNCE
   - NOGRAVITY
   +WINDTHRUST
   +CLIENTSIDEONLY
   +MOVEWITHSECTOR
   +MISSILE
   +NOBLOCKMAP
   -DROPOFF
   +NOTELEPORT
   +FORCEXYBILLBOARD
   +NOTDMATCH
   +GHOST
  +THRUGHOST
  ThruBits 1
   Mass 1
   BounceFactor 0.3
   SeeSound "weapons/shell"
   States
   {
    Spawn:
      CAS2 ABCDEFGHABCDEFGHABCDEFGH 3
      Stop
   Death:
	  TNT1 A 0
      CAS2 A 0 A_Jump(256,"Rest1","Rest2","Rest3","Rest4","Rest5","Rest6","Rest7","Rest8")
      Goto Rest1
    Rest1:
      CAS2 I 400
	Stop
    Rest2:
      CAS2 J 400
	Stop
    Rest3:
      CAS2 K 400
	Stop
    Rest4:
      CAS2 L 400
	Stop
    Rest5:
      CAS2 M 400
	Stop
    Rest6:
      CAS2 I 400
	Stop
    Rest7:
      CAS2 J 400
	Stop
    Rest8:
      CAS2 K 400
	Stop
   }
}