Actor Satanic_HellfireDevice : Weapon Replaces RocketLauncher
{
	SpawnID 28
    Weapon.SelectionOrder 5
	Weapon.Kickback 	20
	Weapon.AmmoType1 	"Satanic_HellfireDeviceAmmo"
	Weapon.AmmoGive 	10
	Weapon.AmmoUse1 	1
	Inventory.PickupSound "Satanic/Weapons/GetFlamer"
	Inventory.PickupMessage "you now wield the infernal destruction of a hellfire device."
	Tag "Hellfire Device"
	//+NO_AUTO_SWITCH
	Scale 0.5
	States
	{
	Spawn:
		FLMT A -1
		Loop
	Ready:
		FFTR A 1 A_WeaponReady
		Goto Ready
	Deselect:
		TNT1 A 0 A_TakeInventory("WeapWithNoTertChecker",1)
		TNT1 A 0 A_Light0
	DeseLoop:
		FFTR A 0 A_Lower
		FFTR A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_GiveInventory("WeapWithNoTertChecker",1)
		TNT1 A 0 A_JumpIfInventory("PWCIsOff",1,"DefXHair")
		TNT1 A 0 A_SetCrosshair(15)
		Goto SeLoop
	DefXHair:	
		TNT1 A 0 A_SetCrosshair(0)
	SeLoop:	
		FFTR A 0 A_Raise
		FFTR A 1 A_Raise
		Loop
	Fire:
		FFTF A 0 A_Light2
		FFTF A 2 Bright A_FireCustomMissile("Satanic_HellfireDeviceBoltBasic",0,1,0,1)
		FFTF A 2 Bright A_FireCustomMissile("Satanic_HellfireDeviceBoltBasic",0,1,0,1)
		FFTF A 2 Bright A_FireCustomMissile("Satanic_HellfireDeviceBoltBasic",0,1,0,1)
		FFTF A 2 Bright A_FireCustomMissile("Satanic_HellfireDeviceBolt",0,1,0,1)
		FFTF A 2 A_Refire
		FFTR A 0 A_Light0
		FFTR A 11 A_GunFlash
		Goto Ready
	AltFire:
		FFTF A 0 A_JumpIfInventory("Satanic_HellfireDeviceAmmo",15,1)
		Goto Ready
		FFTF A 0 A_TakeInventory("Satanic_HellfireDeviceAmmo",15)
		FFTF A 16 Bright A_FireCustomMissile("Satanic_HellfireDeviceAltFireBolt",0,1,0,1)
		FFTR A 16 A_GunFlash
		Goto Ready
	Flash:
		FFTF B 2 A_PlaySound("Satanic/Weapons/Steam")
		FFTF BCDEF 4
		Stop
	}
}

Actor Satanic_HellfireDeviceBoltBasic
{ 
	Radius			12
	Damage			8
	ExplosionDamage	3
    ExplosionRadius 64
	SeeSound "Satanic/Weapons/Flamer"
	RenderStyle	Add
	DamageType	Fire
	Speed		30
	Alpha		0.5
	Scale 		0.5
	    
    PROJECTILE
    +RIPPER
	+RANDOMIZE
	+STRIFEDAMAGE
	-NOGRAVITY
	+LOWGRAVITY
	+BLOODLESSIMPACT 
	    
    States
	{
	Spawn:
		TOZS A 2 Bright 
		TOZS B 2 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS C 2 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS D 2 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS E 2 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 2 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		Goto Death
	Death:
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		Stop
	}
}

Actor Satanic_HellfireDeviceBolt : Satanic_HellfireDeviceBoltBasic
{ 
	States
	{
	Death:
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		Stop
  }
}

Actor Satanic_HellfireDeviceAltFireBolt
{ 
	Radius			12
	Damage			256
	ExplosionDamage	256
	ExplosionRadius	256
	SeeSound "Satanic/Weapons/BloodMagicShot"
	RenderStyle	Add
	DamageType	Fire
	Speed		64
	Alpha		0.5
	Scale 		0.5
	PROJECTILE
   	+BLOODLESSIMPACT
	States
	{
	Spawn:
		TOZS A 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS B 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS C 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS D 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS E 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 1 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS A 0 Bright A_Explode
		Loop
	Death:
		TOZS F 0 A_SpawnItem("Satanic_SmokeSpawner")
		TOZS F 0 A_Detonate
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		TOZS F 0 A_CustomMissile("Satanic_FireStarter",0,0,Random(-360,360),0,0)
		Stop
  }
}

Actor Satanic_HellfireDeviceBoltSecondary
{ 
	RenderStyle	Add
	Speed		2
	Alpha		0.4
	Scale		0.5
	PROJECTILE
    +RIPPER
	+RANDOMIZE
	+BLOODLESSIMPACT
	-SOLID
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckSight("SpawnNoLight")
		FIRE A 3 Bright Light("firelight")
		FIRE B 3 Bright Light("firelight")
		FIRE C 3 Bright Light("firelight") A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE D 3 Bright Light("firelight") A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE E 3 Bright Light("firelight")
		FIRE F 3 Bright Light("firelight")
		Stop
	SpawnNoLight:
		FIRE A 3 Bright 
		FIRE B 3 Bright 
		FIRE C 3 Bright A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE D 3 Bright A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE E 3 Bright 
		FIRE F 3 Bright
		Stop
	}
}

Actor Satanic_HellfireDeviceBoltSecondaryNoLight : Satanic_HellfireDeviceBoltSecondary
{ 
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckSight("SpawnNoLight")
		FIRE A 3 Bright
		FIRE B 3 Bright
		FIRE C 3 Bright A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE D 3 Bright A_CustomMissile("Satanic_HellfireDeviceBoltTertiary",0,0,Random(-360,360),0,0)
		FIRE E 3 Bright 
		FIRE F 3 Bright
		Stop
	}
}

Actor Satanic_HellfireDeviceBoltTertiary
{ 
	RenderStyle	Add
	Speed		2
	Alpha		0.3
	Scale		0.7
	PROJECTILE
	+RIPPER
	+RANDOMIZE
	+BLOODLESSIMPACT
	-SOLID
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckSight("SpawnNoLight")
		FIRE ABCD 4 Bright Light("firelight")
		FIRE E 4 Bright Light("firelight")
		FIRE F 4 Bright Light("firelight")
		Stop
	SpawnNoLight:
		FIRE ABCD 4 Bright 
		FIRE E 4 Bright 
		FIRE F 4 Bright
		Stop
	}
}

Actor Satanic_HellfireDeviceBoltTertiaryNoLight : Satanic_HellfireDeviceBoltTertiary
{ 
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckSight("SpawnNoLight")
		FIRE ABCD 4 Bright 
		FIRE E 4 Bright
		FIRE F 4 Bright
		Stop
	SpawnNoLight:
		FIRE ABCD 4 Bright 
		FIRE E 4 Bright 
		FIRE F 4 Bright
		Stop
	}
}