//==============================================================================
// Blutorden Weapon Casings
//==============================================================================

ACTOR FKCasingBasis //(Creds to TheRailGunner)
{
	PROJECTILE
	-NOGRAVITY
	-NOBLOCKMAP
	+BOUNCEONACTORS
	+FORCEXYBILLBOARD
	Mass 10
	BounceType Doom
	BounceFactor 0.5
	WallBounceFactor 0.2
}

//==============================================================================
// Light casing spawner	
//==============================================================================

ACTOR FKLightCasingSpawn
{
	Speed 25
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKLightCasing",-5,12,random(-80,-100),2,random(45,80))
		Stop
	}
}

//==============================================================================
// Light casing actor	
//==============================================================================

ACTOR FKLightCasing : FKCasingBasis
{ 
	Radius 3
	Height 3
	Speed 9
	Scale 0.09
   	WallBounceSound "weapons/generic/fkcasbnc"
	BounceSound 	"weapons/generic/fkcasbnc"
	DeathSound		"weapons/generic/fkcasdth"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CasingToggle")==0,"Vanish")
		FKCS ABCDEFGH 1 A_SpawnItemEx("CasingSmokes",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Death1","Death2")
	Death1:
		FKCS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKCS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8
		FKCS CCCCCC 1 A_Fadeout(0.1)
		Stop
	Death2:
		FKCS GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKCS GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8
		FKCS GGGGGG 1 A_Fadeout(0.1)
		Stop
	Vanish:
		TNT1 A 0 A_StopSound(2)
		Stop
	}
}

ACTOR FKLightCasingL : FKLightCasingSpawn
{
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKLightCasing",-2,-23,frandom(-80,-100),2,frandom(45,80))
		Stop
	}
}

//==============================================================================
// Shotgun casing spawner	
//==============================================================================

ACTOR FKShellCasingSpawn
{
	Speed 20
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKShellCasing",-5,10,random(-80,-100),2,random(45,80))
		Stop
	}
}


ACTOR FKShellCasingL : FKShellCasingSpawn
{
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKShellCasing",-2,-10,frandom(-80,-100),2,frandom(45,80))
		Stop
	}
}

//==============================================================================
// Shotgun casing actor	
//==============================================================================

ACTOR FKShellCasing : FKCasingBasis
{
	Height 8
	Radius 4
	Speed 9
	Scale 0.13
	WallBounceSound "weapons/generic/fkshlbnc"
	BounceSound 	"weapons/generic/fkshlbnc"
	DeathSound		"weapons/generic/fkshldth"
	States
   {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CasingToggle")==0,"Vanish")
		FKSH ABCDEFGH 2 A_SpawnItemEx("CasingSmokes",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Death1","Death2")
	Death1:
		FKSH CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKSH CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8
		FKSH CCCCCC 1 A_Fadeout(0.1)
		Stop
	Death2:
		FKSH GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKSH GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8
		FKSH GGGGGG 1 A_Fadeout(0.1)
		Stop
     Vanish:
		TNT1 A 0 A_StopSound(2)
		Stop
   }
}

//==============================================================================
// Heavy casing spawner	
//==============================================================================

ACTOR FKHeavyCasingSpawn
{
	Speed 25
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKHeavyCasing",-5,10,random(-80,-100),2,random(45,80))
		Stop
	}
}

ACTOR FKHeavyCasingL : FKHeavyCasingSpawn
{
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKHeavyCasing",-2,-10,frandom(-80,-100),2,frandom(45,80))
		Stop
	}
}

//==============================================================================
// Heavy casing actor	
//==============================================================================

ACTOR FKHeavyCasing : FKCasingBasis
{ 
	Radius 3
	Height 3
	Speed 9
	Scale 0.1
   	WallBounceSound "weapons/generic/fkcasbnc"
	BounceSound 	"weapons/generic/fkcasbnc"
	DeathSound		"weapons/generic/fkcasdth"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CasingToggle")==0,"Vanish")
		FKRF ABCDEFGH 1  A_SpawnItemEx("CasingSmokes",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Death1","Death2")
	Death1:
		FKRF CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKRF CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8
		FKRF CCCCCC 1 A_Fadeout(0.1)
		Stop
	Death2:
		FKRF GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKRF GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8
		FKRF GGGGGG 1 A_Fadeout(0.1)
		Stop
	Vanish:
		TNT1 A 0 A_StopSound(2)
		Stop
	}
}


//==============================================================================
// Explosive casing spawner	
//==============================================================================

ACTOR FKExplosiveCasingSpawn
{
	Speed 25
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKExplosiveCasing",-5,12,random(-80,-100),2,random(45,80))
		Stop
	}
}

//==============================================================================
// Explosive casing actor	
//==============================================================================

ACTOR FKExplosiveCasing : FKCasingBasis
{ 
	Radius 3
	Height 3
	Speed 9
	Scale 0.16
   	WallBounceSound "weapons/generic/fkhvybnc"
	BounceSound 	"weapons/generic/fkhvybnc"
	DeathSound		"weapons/generic/fkhvydth"
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CasingToggle")==0,"Vanish")
		FKEX ABCDEFGH 1 A_SpawnItemEx("CasingSmokes",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		TNT1 A 0
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Death1","Death2")
	Death1:
		FKEX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKEX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8
		FKEX CCCCCC 1 A_Fadeout(0.1)
		Stop
	Death2:
		FKEX GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx("CasingSmokesEnd",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)
		FKEX GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8
		FKEX GGGGGG 1 A_Fadeout(0.1)
		Stop
	Vanish:
		TNT1 A 0 A_StopSound(2)
		Stop
	}
}

ACTOR FKExplosiveCasingL : FKExplosiveCasingSpawn
{
	States
	{
	Spawn:
        TNT1 A 0
		TNT1 A 1 A_CustomMissile("FKExplosiveCasing",-2,-23,frandom(80,100),2,frandom(40,80))
		Stop
	}
}