ACTOR SFortRocketLauncher : RocketLauncher
{
  Weapon.SelectionOrder 400
  Weapon.AmmoType "RocketAmmo"
  Weapon.AmmoType2 "RocketAmmo"
  Weapon.AmmoUse2 1
  Weapon.AmmoGive2 0
  Inventory.RestrictedTo "RocketeerPlayer"
  Tag "Rocket Launcher"
  -WEAPON.NOAUTOFIRE
  +WEAPON.NOAUTOAIM
  +WEAPON.NOLMS
  +WEAPON.ALLOW_WITH_RESPAWN_INVUL
  States
  {
  Ready:
    MISG A 1 A_WeaponReady(WRF_ALLOWRELOAD)
	Loop
  Deselect:
    MISG A 0 A_Lower
	Loop
  Select:
    MISG A 1 A_Raise
	Loop
  Fire:
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
	TNT1 A 0 A_FireCustomMissile("SFortRocket",0,1)
	TNT1 A 0 A_PlaySound("weapons/rlfire")
    MISG A 3 Bright A_GunFlash
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad")
	MISG B 9 Bright //A_FireCustomMissile("SFortRocket",0,1)
	MISG B 4
	MISG A 4
    MISG B 0 A_Refire
	Goto Ready
  AltFire:
	TNT1 A 0 A_TakeInventory("PowerInvulnerable",1)
	TNT1 A 0 A_FireCustomMissile("SFortFastRocket",0,1)
	TNT1 A 0 A_PlaySound("weapons/rlfire2")
    MISG A 3 Bright A_GunFlash
	TNT1 A 0 A_JumpIfInventory("PowerQuadDamage",1,"Quad2")
	MISG B 9 Bright //A_FireCustomMissile("SFortRocket",0,1)
	MISG B 9
	MISG A 8
    MISG B 0 A_Refire
	Goto Ready
  Quad:
    TNT1 A 0 A_Playsound("misc/qdmg",CHAN_AUTO)
	Goto Fire+5 //+3
  Quad2:
    TNT1 A 0 A_Playsound("misc/qdmg",CHAN_AUTO)
	Goto AltFire+5 //+3
  Flash:
    MISF A 3 Bright A_Light1
    MISF B 3 Bright
    MISF CD 3 Bright A_Light2
    Goto LightDone
  Reload:
	TNT1 A 0 A_Print("$INFO_ROCKETEER",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	Goto Ready
  }
}

ACTOR SFortRocket : Rocket
{
  ProjectileKickBack 200
  Damage (0)
  Radius 11
  Height 4
  Speed 30
  DamageType "Rocket"
  Decal Scorch
  Decal BigScorch
  SelfObituary "%o got too close to %p own rocket."
  +CANBLAST
  States
  {
  Death:
	TNT1 A 0 A_PlaySound("weapons/debris",CHAN_BODY)
	MISL B 8 Bright A_Explode(128,128,1,0,32)
	MISL C 6 Bright
	MISL D 4 Bright
	Stop
  }
}

ACTOR SFortFastRocket : SFortRocket
{
  ProjectileKickback 300
  Speed 45
}

ACTOR RocketeerFist : SFortFist
{
	Inventory.RestrictedTo "RocketeerPlayer"
	States
	{
	Reload:
	  TNT1 A 0 A_Print("$INFO_ROCKETEER",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	  Goto Ready
	}
}

ACTOR RocketeerPistol : SFortPistol
{
	Inventory.RestrictedTo "RocketeerPlayer"
	States
	{
	Reload:
	  TNT1 A 0 A_Print("$INFO_ROCKETEER",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	  Goto Ready
	}
}

ACTOR RocketeerSuperShotgun : SFortSuperShotgun
{
	Inventory.RestrictedTo "RocketeerPlayer"
	States
	{
	Reload:
	  TNT1 A 0 A_Print("$INFO_ROCKETEER",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	  Goto Ready
	}
}

ACTOR RocketeerMachinegun : SFortMachinegun
{
	Inventory.RestrictedTo "RocketeerPlayer"
	States
	{
	Reload:
	  TNT1 A 0 A_Print("$INFO_ROCKETEER",0.0625)//TNT1 A 0 ACS_NamedExecuteAlways("ClassInfo_Enter",0)
	  Goto Ready
	}
}