actor RocketBallRun : BallRunBase
{
	Radius 11
	Health 20
	Speed 20
	Species "Rockets"
	DeathSound "weapons/rocklx"
	Obituary "$OB_CYBORG"
	states
	{
		Spawn:
			CRRN A 0
			goto Jump
		Death:
			TNT1 A 0 A_ScreamAndUnblock
			TNT1 A 0 A_JumpIf(user_expired == 1, "DeathAnimation")
			TNT1 A 0 A_Explode
		DeathAnimation:
			RORE A 8 Bright
			RORE B 6 Bright
			RORE C 4 Bright
			stop
	}
}

actor PlayerRocketBallRun : RocketBallRun
{
	Species "PlayerProjectiles"
	states
	{
		Spawn:
			RORN A 0
			goto Jump
	}
}

actor RocketRB : RunBallProjectileBase replaces Rocket
{
	Species "Rockets"
	Radius 11
	Height 8
	Speed 20
	Damage 20
	+ROCKETTRAIL
	SeeSound "weapons/rocklf"
	DeathSound "weapons/rocklx"
	states
	{
		Idle:
			CMSL A 1 Bright
			loop
		Death:
			MISL B 8 Bright A_Explode
			MISL C 6 Bright
			MISL D 4 Bright
			Stop
	}
}

actor PlayerRocketRB : RocketRB
{
	Species "PlayerProjectiles"
	states
	{
		Idle:
			MISL A 1 Bright
			loop
	}
}

actor RocketLauncherRB : WeaponRunBall replaces RocketLauncher
{
	Weapon.SlotNumber 5
	Weapon.SelectionOrder 2500
	Weapon.AmmoUse 1
	Weapon.AmmoUse2 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "RocketAmmo"
	Weapon.AmmoType2 "RocketAmmo"
	+WEAPON.NOAUTOFIRE
	Inventory.PickupMessage "$GOTLAUNCHER"
	Tag "$TAG_ROCKETLAUNCHER"
	States
	{
		Ready:
			MISG A 1 A_WeaponReady
			Loop
		Deselect:
			MISG A 1 A_Lower
			Loop
		Select:
			MISG A 1 A_Raise
			Loop
		Fire:
			MISG B 8 A_GunFlash
			MISG B 12 A_FireCustomMissile("PlayerRocketRB")
			MISG B 0 A_ReFire
			Goto Ready
		AltFire:
			MISG B 8 A_GunFlash
			MISG B 12 A_FireCustomMissile("PlayerRocket")
			MISG B 0 A_ReFire
			Goto Ready
		Flash:
			MISF A 3 Bright A_Light1
			MISF B 4 Bright
			MISF CD 4 Bright A_Light2
			Goto LightDone
		Spawn:
			LAUN A 0
			goto Initialize
		Transform:
			RLRB A 0
			goto super::Transform
	}
}

actor PlayerRocket : Rocket
{
	Species "PlayerProjectiles"
	+THRUSPECIES
	+SHOOTABLE
	+NOBLOOD
	-NOBLOCKMAP
	+NOTARGETSWITCH
}