ACTOR FlameLoad : Ammo
{
	Inventory.MaxAmount 50
	+IGNORESKILL
}

ACTOR FlameAmmo : Ammo replaces RocketBox
{
   Radius 40
   Height 16
   Inventory.PickupMessage "A petrol canister."
   Inventory.Amount 40
   Inventory.MaxAmount 175
   Ammo.BackpackAmount 10
   Ammo.BackpackMaxAmount 350
   ConversationID 184
   Inventory.Icon FAMOA0
   Scale 0.8
   States
   {
   Spawn:
      FAMO A -1
      Stop
   }
}

ACTOR Flamebolt
{ 
    Damage 1
    Alpha 0.90
    RenderStyle Add
    Speed 25
    ExplosionDamage 2
    ExplosionRadius 64
	Radius 16
	Scale 0.1
    PROJECTILE
    +Ripper
    +FIREDAMAGE
    +STRIFEDAMAGE
    SeeSound "weapons/flamer"
	DamageType Fire
	Decal Scorch
    States
  {
  Spawn:
     FBLX A 2 BRIGHT A_SetScale(0.15,0.15)
	 FBLX B 2 BRIGHT A_SetScale(0.2,0.2)
	 FBLX C 2 BRIGHT A_SetScale(0.25,0.25)
	 FBLX D 2 BRIGHT A_SetScale(0.3,0.3)
     FBLX E 0 BRIGHT A_Explode
	 FBLX E 2 BRIGHT A_SetScale(0.35,0.35)
     FBLX F 2 BRIGHT A_SetScale(0.4,0.4)
	 FBLX G 2 BRIGHT A_SetScale(0.5,0.5)
	 FBLX H 2 BRIGHT A_SetScale(0.6,0.6)
	 FBLX I 2 BRIGHT A_SetScale(0.7,0.7)
	 FBLX J 2 BRIGHT A_SetScale(0.85,0.85)
	 FBLX K 2 BRIGHT A_SetScale(1.0,1.0)
     Stop
  Death:
     FBLX A 1 Bright A_Explode
     FBLX BCDEFGHIJK 1 BRIGHT
     Stop
  }
}

ACTOR EnemyFlamerShot : Flamebolt
{
	-Ripper
	DamageType "Enemy"
}

ACTOR Flameball
{ 
   Damage 30
   Alpha 0.90
   RenderStyle Add
   Speed 20
   Radius 16
   PROJECTILE
   +FIREDAMAGE
   SeeSound "weapons/napalm"
   DamageType Fire
   Decal Scorch
   States
   {
   Spawn:
      FBAL ABC 3 BRIGHT
      Loop
   Death:
      FBLX A 0 BRIGHT A_PlaySound("weapons/nebxpl")
      FBLX A 2 BRIGHT A_Explode(96,128)
      FBLX BCDEFGHIJK 2 BRIGHT
      Stop
   }
}

ACTOR EnemyFlamebolt : Flameball
{
	DamageType "Enemy"
	Damage 8
	Scale 0.5
	States
   {
   Spawn:
      FBAL ABC 3 BRIGHT
      Loop
   Death:
      FBLX A 0 BRIGHT A_PlaySound("weapons/nebxpl")
      FBLX A 2 BRIGHT A_Explode(8,64)
      FBLX BCDEFGHIJK 2 BRIGHT
      Stop
   }
}

ACTOR EnemyFlamebolt2 : Flameball
{
	DamageType "Enemy"
	Damage 5
	Scale 0.35
	+STRIFEDAMAGE
	States
   {
   Spawn:
      FBAL ABC 3 BRIGHT
      Loop
   Death:
      FBLX A 0 BRIGHT A_PlaySound("weapons/nebxpl")
      FBLX ABCDEFGHIJK 2 BRIGHT
      Stop
   }
}
	

ACTOR Pyrolight : Weapon replaces RocketLauncher
{
   Weapon.SelectionOrder 195
   Inventory.PickupSound "misc/w_pkup"
   Inventory.PickupMessage "You got the Pyrolight!"
   Weapon.Kickback 20
   Weapon.AmmoType1 "FlameLoad"
   Weapon.AmmoType2 "FlameAmmo"
   Weapon.AmmoGive1 0
   Weapon.AmmoGive2 25
   Weapon.AmmoUse1 1
   Weapon.AmmoUse2 10
   Weapon.SlotNumber 7
   Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.2
	Weapon.BobRangeY 0.5
	Weapon.BobRangeX 0.7
   ConversationID 190
   +Weapon.Ammo_Optional
   +Weapon.Alt_Ammo_Optional
   Tag "PyroLight"
   Scale 0.5
   States
   {
   Spawn:
      FLMT A -1
      Loop
   Ready:
      FFTR A 1 A_WeaponReady(WRF_ALLOWRELOAD)
      Loop
   Deselect:
	FFTR A 0 A_Lower
      FFTR A 1 A_Lower
      Loop
   Select:
	FFTR A 0 A_Raise
      FFTR A 1 A_Raise
      Loop
   Fire:
		FFTF A 0 A_JumpIfNoAmmo("Dryfire")
	FFTF A 0 A_Light2
      FFTF A 1 Offset(0,35) BRIGHT A_FireCustomMissile("Flamebolt", 0, 1, 0, 0)
	  FFTF A 1 Offset(0,36) BRIGHT
      FFTR A 0 A_Refire
      FFTR A 20 A_GunFlash
      Goto Ready
   Flash:
      FFTF B 2 A_PlaySound("weapons/steam")
      FFTF CDEF 2 A_Light0
      Stop
   AltFire:
		FFTR A 0 A_JumpIfInventory("FlameLoad",10,"AltfireReal")
		FFTR A 1
		Goto Reload
	AltfireReal:
		FFTF A 0 A_TakeInventory("FlameLoad",10,TIF_NOTAKEINFINITE)
		FFTF A 0 A_PlaySound("weapons/napalm")
      FFTF A 1 BRIGHT A_FireCustomMissile("Flameball", 0, 0, 0, 0)
      FFTF A 1 Offset(0,34)
	  FFTF A 1 Offset(0,36)
	  FFTR A 1 Offset(0,40)
	  FFTR A 1 Offset(0,44)
	  FFTR A 1 Offset(0,45)
	  FFTR A 1 Offset(0,43)
	  FFTR A 1 Offset(0,40)
	  FFTR A 1 Offset(0,36)
      FFTR A 11 Offset(0,32) A_GunFlash
      Goto Ready
	 Dryfire:
		FFTR B 1
		Goto Reload
	Reload:
		FFTR B 0 A_JumpIfInventory("FlameLoad",50,2)
		FFTR B 0 A_JumpIfInventory("FlameAmmo",1,2)
		FFTR B 1
		Goto Ready
		FFTR B 0 A_Jump(128,2)
		FFTR B 0 A_PlaySound("*taunt", CHAN_VOICE)
		FFTR B 1 Offset(0,35) A_PlaySound("reloads/flamer",CHAN_ITEM)
		FFTR B 1 Offset(0,38)
		FFTR B 1 Offset(0,40)
		FFTR B 1 Offset(0,42)
		FFTR B 1 Offset(0,44)
		FFTR B 1 Offset(0,47)
		FFTR B 1 Offset(0,50)
		FFTR B 1 Offset(0,52)
		FFTR B 1 Offset(-1,54)
		FFTR B 1 Offset(-2,56)
		FFTR B 1 Offset(-3,58)
		FFTR B 1 Offset(-4,58)
		FFTR B 1 Offset(-4,57)
		FFTR B 1 Offset(-4,56)
		FFTR B 1 Offset(-4,55)
		FFTR B 1 Offset(-3,54)
		FFTR B 1 Offset(-3,53)
		FFTR B 1 Offset(-3,52)
		FFTR B 1 Offset(-3,51)
		FFTR B 1 Offset(-3,52)
		FFTR B 1 Offset(-3,53)
		FFTR B 1 Offset(-3,55)
		FFTR B 1 Offset(-3,56)
	ReloadWork:
		FFTR B 0 A_TakeInventory("FlameAmmo",1,TIF_NOTAKEINFINITE)
		FFTR B 0 A_GiveInventory("FlameLoad",1)
		FFTR B 0 A_JumpIfInventory("FlameLoad",50,"ReloadFinish")
		FFTR B 0 A_JumpIfInventory("FlameAmmo",1,"ReloadWork")
	ReloadFinish:
		FFTR B 1 Offset(-3,57)
		FFTR B 1 Offset(-3,59)
		FFTR B 1 Offset(-3,61)
		FFTR B 1 Offset(-3,63)
		FFTR B 1 Offset(-3,65)
		FFTR B 1 Offset(-3,67)
		FFTR B 1 Offset(-3,65)
		FFTR B 1 Offset(-3,64)
		FFTR B 1 Offset(-3,63)
		FFTR B 1 Offset(-3,62)
		FFTR B 1 Offset(-3,58)
		FFTR B 1 Offset(-3,55)
		FFTR B 1 Offset(-2,53)
		FFTR B 1 Offset(-2,51)
		FFTR B 1 Offset(-2,49)
		FFTR B 1 Offset(-2,48)
		FFTR B 1 Offset(-2,46)
		FFTR B 1 Offset(-2,45)
		FFTR B 1 Offset(-1,44)
		FFTR B 1 Offset(-1,46)
		FFTR B 1 Offset(-1,47)
		FFTR B 1 Offset(0,49)
		FFTR B 1 Offset(0,47)
		FFTR B 1 Offset(0,45)
		FFTR B 1 Offset(0,44)
		FFTR B 1 Offset(0,42)
		FFTR B 1 Offset(0,40)
		FFTR B 1 Offset(0,38)
		FFTR B 1 Offset(0,37)
		FFTR B 1 Offset(0,36)
		FFTR B 1 Offset(0,35)
		FFTR B 1 Offset(0,34)
		FFTR B 1 Offset(0,33)
		FFTR B 1 Offset(0,32)
		FFTR B 1 Offset(2,34)
		FFTR B 1 Offset(4,36)
		FFTR B 1 Offset(6,38)
		FFTR B 1 Offset(8,40)
		FFTR B 1 Offset(8,41)
		FFTR B 1 Offset(8,42)
		FFTR B 1 Offset(8,43)
		FFTR B 1 Offset(8,44)
		FFTR B 1 Offset(8,45)
		FFTR B 1 Offset(8,46)
		FFTR B 1 Offset(8,47)
		FFTR B 1 Offset(8,48)
		FFTR B 1 Offset(8,47)
		FFTR B 1 Offset(8,46)
		FFTR B 1 Offset(8,45)
		FFTR B 1 Offset(8,44)
		FFTR B 1 Offset(8,43)
		FFTR A 1 Offset(8,44)
		FFTR A 1 Offset(9,45)
		FFTR A 1 Offset(10,46)
		FFTR A 1 Offset(9,47)
		FFTR A 1 Offset(8,48)
		FFTR A 1 Offset(7,47)
		FFTR A 1 Offset(6,46)
		FFTR A 1 Offset(5,45)
		FFTR A 1 Offset(6,44)
		FFTR A 1 Offset(7,43)
		FFTR A 1 Offset(8,42)
		FFTR A 1 Offset(4,40)
		FFTR A 1 Offset(3,35)
		FFTR A 1 Offset(2,34)
		FFTR A 1 Offset(1,33)
		Goto Ready
	}
}