ACTOR LonghornBullet : FastProjectile
{
	Radius 4
	Height 4
	MissileHeight 8
	Speed 200
	Damage (9*random(1,3))
	Projectile
	ProjectileKickback 200
	+NOGRAVITY
	+FORCERADIUSDMG
	+EXTREMEDEATH
	+DONTBLAST
	-RIPPER
	Renderstyle Add
	Obituary "%o's cranium got devastasted by %k's Longhorn bullet."
	Scale 0.5
	//MissileType "LonghornTrail"
	Decal "LonghornChip"
	States
	{
	Spawn:
		//TRAC A 0 NoDelay A_ChangeVelocity(0, 0, -2, CVF_RELATIVE)
	//Looplet:
		/*
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",1)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",0)
		*/
		TRAC A 1 Bright //A_ChangeVelocity(0, 0, -0.25, CVF_RELATIVE)
		Loop
	Death:
		TNT1 A 0 A_Explode(5*random(1,3),56,0)
	Crash:
		TNT1 A 0 A_PlaySound("LeadBullet/Hit",4,0.2)
		//TNT1 A 0 A_SpawnItemEx("LonghornImpact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 1 A_SpawnItemEx("HuegPuff",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	XDeath:
		TNT1 A 0 A_SpawnItemEx("Blood")
		Stop
	}
}

Actor LonghornImpact
{
	RenderStyle Add
	Scale 0.035
	+NOINTERACTION
	States
	{
		Spawn:
			SHCK C 0 NoDelay A_SetScale(ScaleX + FRandom(0.1, 0.15))
			SHCK C 1 Bright A_FadeOut(0.15)
			Loop
	}
}

Actor LonghornTrail
{
	+NoInteraction
	States
	{
	Spawn:
		TNT1 A 0 NoDelay A_SpawnItemEx("LonghornTrailSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		TNT1 A 0 A_SpawnItemEx("BuellerPuff_Main", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		TNT1 A 0 A_SpawnItemEx("BuellerPuff_Flash", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		//TNT1 A 0 A_SpawnItemEx("BuellerPuff_Spark1", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		//TNT1 A 0 A_SpawnItemEx("BuellerPuff_Spark2", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		//TNT1 A 0 A_SpawnItemEx("HuegPuff_Shock", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		Stop
	}
}

Actor LonghornTrailSmoke
{
	+NoInteraction
	+ForceXYBillboard
	Alpha 0.0
	RenderStyle Translucent
	States
	{
	Spawn:
		TNT1 A 0 NoDelay A_Jump(255, "SpriteA", "SpriteB", "SpriteC", "SpriteD")
	SpriteA:
		DYMI A 0 A_Jump(255, "FadeIn")
		Goto SpriteA
	SpriteB:
		DYMI B 0 A_Jump(255, "FadeIn")
		Goto SpriteB
	SpriteC:
		DYMI C 0 A_Jump(255, "FadeIn")
		Goto SpriteC
	SpriteD:
		DYMI D 0 A_Jump(255, "FadeIn")
		Goto SpriteD
	FadeIn:
		"####" "#" 0 A_SetScale(FRandom(0.0325, 0.025))
		Goto RealFadeIn
	RealFadeIn:
		"####" "#" 1 A_FadeIn(FRandom(0.1, 0.05))
		"####" "#" 0 A_SetScale(ScaleX + FRandom(0.001, 0.002))
		"####" "#" 0 A_JumpIf(Alpha >= 0.5, "FadeOut")
		Loop
	FadeOut:
		"####" "#" 1 A_FadeOut(FRandom(0.025,0.075))
		"####" "#" 0 A_SetScale(ScaleX + FRandom(0.001, 0.0005))
		Loop
	}
}

//Inheritance Projectiles...
ACTOR LonghornInvisBullet : LonghornBullet
{
	MissileType ""
	Decal ""
	States
	{
	Spawn:
		//TNT1 A 0 NoDelay A_ChangeVelocity(0, 0, -2, CVF_RELATIVE)
	//Looplet:
		/*
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",1)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",0)
		*/
		TNT1 A 1 Bright //A_ChangeVelocity(0, 0, -0.25, CVF_RELATIVE)
		Loop
	Death:
		TNT1 A 0 
		Stop
	Crash:
		TNT1 A 0 
		Stop
	XDeath:
		TNT1 A 0 A_SpawnItemEx("Blood")
		Stop
	}
}

ACTOR LonghornRipperBullet : LonghornBullet
{
	+EXTREMEDEATH
	+RIPPER
	Damage (20*random(1,3))
	MissileType "LonghornTrail"
	States
	{
	Spawn:
		//TRAC A 0 NoDelay A_ChangeVelocity(0, 0, -2, CVF_RELATIVE)
	//Looplet:
		/*
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",1)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_ChangeFlag("EXTREMEDEATH",0)
		*/
		TRAC A 1 Bright //A_ChangeVelocity(0, 0, -0.25, CVF_RELATIVE)
		Loop
	Death:
		TNT1 A 0 A_Explode(25*random(1,3),56,0)
	Crash:
		TNT1 A 0 A_PlaySound("LeadBullet/Hit",4,0.2)
		TNT1 A 0 A_SpawnItemEx("LonghornImpact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 1 A_SpawnItemEx("HuegPuff",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop

	}
}