ACTOR DarkRocketLauncher: Weapon Replaces RocketLauncher {
	Weapon.SelectionOrder 2500
	Weapon.AmmoUse 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "RocketAmmo"
	+WEAPON.NOAUTOFIRE
	Inventory.PickupMessage "$GOTLAUNCHER"
	Tag "$TAG_ROCKETLAUNCHER"
	
	States {
		Ready:
		RKTL A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
 
		Deselect:
		RKTL A 1 A_Lower
		Loop
		
		Select:
		RKTL A 1 A_Raise
		Loop
		
		Fire:
		RKTL B 4 A_GunFlash
		RKTL C 3 A_PlaySound("weapon/rocketfire",CHAN_WEAPON,1)
 		RKTL C 1 A_Recoil (9)
		RKTL C 24 A_FireCustomMissile("DarkRocket",0,1,0)
		RKTL B 4
		RKTL B 0 A_ReFire
		Goto Ready
		
	AltFire:
		SHIE EFG 1
		TNT1 A 0 A_ReFire
		SHIE G 0 A_AlertMonsters
		SHIE GI 1
		TNT1 A 0   A_firecustommissile("ThrownShieldsaw")
	   SHEILD_THROWN:
	    TNT1 A 0 A_JUMPIFINVENTORY("SHEILD_TOKEN",1,"READY_1")
		SHIE J 1
		LOOP
		READY_1:
		SHID A 3 A_TAKEINVENTORY("SHEILD_TOKEN",1)
		Goto Ready
	AltHold:
	    TNT1 A 0 A_JumpIfHealthLower(25,"READY")
	    TNT1 A 0 A_SetReflective
		SHIE H 4 A_GiveInventory("PowerShieldsawBlock")
		TNT1 A 0 A_ReFire
		SHIE GFE 1 A_UnSetReflective
		Goto Ready	
 
		Flash:
		LRKT A 4 Bright A_Light2
		LRKT B 5 Bright A_Light2
		LRKT C 12 Bright A_Light2
		Goto LightDone
 
		Spawn:
		RKTP A -1
		Stop
		
		Reload:
		FIST B 2
		FIST C 2 
		FIST D 4 A_CUSTOMPUNCH(100,1,0,"Blood_punch")
		FIST C 2
		FIST B 2 A_Refire
		Goto Ready
  }
}

ACTOR DarkRocket
{
	Radius 8
	Height 8
	Speed 20
	Damage 20
	Projectile
	+RANDOMIZE
	+DEHEXPLOSION
	+ROCKETTRAIL
	SeeSound "weapons/rocklf"
	DeathSound "weapon/rocketexplosion"
	Obituary "$OB_MPROCKET" // "%o rode %k's rocket."
	
	States {
		Spawn:
		RCKT A 1 Bright
		Loop
		
		Death:
		MISL B 8 Bright A_Explode
		MISL C 6 Bright
		MISL D 4 Bright
		Stop
	}
}