ACTOR FlamePrimary : Ammo
{
  Inventory.Amount 1
  Inventory.MaxAmount 200
  Ammo.BackpackAmount 50
  Inventory.Icon "ROCKA0"
  +INVENTORY.IGNORESKILL
}

ACTOR FlamethrowerHeatState : Inventory
{
	Inventory.MaxAmount 60
}

ACTOR FlamethrowerFX
{
	+NOBLOCKMAP
	+THRUACTORS
	Speed 5
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 1
	TNT1 AAAA 0 A_SpawnItemEx("CasingSpark",random(-1,1),2+random(-1,1),7.5+random(-1,1),random(1,3),random(-3,3),random(-3,3))
	TNT1 AAAA 0 A_SpawnItemEx("CasingSmoke",random(-1,1),2+random(-2,2),7.5+random(-2,2),random(1,4),random(-1,1),random(1,3))
	Stop
	}
}

ACTOR FlamethrowerPuff
{
  Radius 2
  Height 4
  Speed 55
  Damage 1
  DamageType Fire
  Projectile
  +RANDOMIZE
  +RIPPER
  +BLOODLESSIMPACT
  -BLOODSPLATTER
  RenderStyle Add
  Alpha 0.8
  Scale 0.5
  Obituary "%o was set on fire by %k's flamethrower." // "%o was melted by %k's plasma gun."
  States
  {
  Fizz:
	TNT1 A 1
	Stop
  Spawn:
	TRID C 0
	TRID C 0 A_AlertMonsters
  Looping:
	FIR2 A 0 A_JumpIf(waterlevel > 0,"Fizz")
	FIR2 A 0 A_Explode(1,10)
	FIR2 A 1 bright A_SpawnItemEx("DragonFXFlameTiny",0,0,0,random(-1,1),random(-1,1),random(-1,1))
	FIR2 A 0 A_JumpIf(waterlevel > 0,"Fizz")
	FIR2 A 0 A_Explode(1,10)
	FIR2 B 1 bright A_SpawnItemEx("DragonFXFlameTiny",0,0,0,random(-1,1),random(-1,1),random(-1,1))
	FIR2 A 0 A_JumpIf(waterlevel > 0,"Fizz")
	FIR2 A 0 A_Explode(1,10)
	FIR2 C 1 bright A_SpawnItemEx("DragonFXFlameTiny",0,0,0,random(-1,1),random(-1,1),random(-1,1))
	FIR2 A 0 A_JumpIf(waterlevel > 0,"Fizz")
	FIR2 A 0 A_Explode(1,10)
	FIR2 D 1 bright A_SpawnItemEx("DragonFXFlameTiny",0,0,0,random(-1,1),random(-1,1),random(-1,1))
	FIR2 A 0 A_JumpIf(waterlevel > 0,"Fizz")
	FIR2 A 0 A_Explode(1,10)
	FIR2 E 1 bright A_SpawnItemEx("DragonFXFlameTiny",0,0,0,random(-1,1),random(-1,1),random(-1,1))
  Death:
    TRID A 0 A_Stop
	TRID A 0 A_SpawnItemEx("DragonFXSpawn",0,0,0)
	TNT1 A 1
    Stop
  }
}


ACTOR "Flamethrower" : Weapon 11452
{
  +WEAPON.NOAUTOAIM
  Weapon.AmmoUse 0
  Weapon.AmmoGive 50
  Weapon.AmmoType "FlamePrimary"
  Obituary "\cJ%k \cG> \cKFlamethrower \cG> \cJ%o"
  Inventory.Pickupmessage "You picked up the M2 Flamethrower."
  Inventory.PickupSound "m79/open"
	//$Category ZT2 - Weapons
	//$Title Flammenwerfer
	//$Sprite PPSHF0
  Tag "M2 Flamethrower"
  Weapon.BobStyle Smooth
  Weapon.BobSpeed 2.5
  Weapon.BobRangeX 0.5
  Weapon.BobRangeY 0.3
  Scale 0.75
  States
  {
  Ready:
	PPSS A 0 A_JumpIfInventory("DoBlocking",1,"QuickMelee")
	PPSS A 0 A_JumpIfInventory("QuickGrenading",1,"ToGrenade")
	PPSS A 0 A_StopSoundEx("Weapon")
    Goto FlameCheckIdle
  ToGrenade:
	TNT1 A 0 A_JumpIfInventory("QuickGrenading",1,2)
	TNT1 A 0 A_Print("Why the fuck are you getting this?")
	GoTo Ready
	TNT1 A 0 A_JumpIfInventory("Type97Primary", 1, 3)
	TNT1 A 0 A_TakeInventory("QuickGrenading",999)
	TNT1 A 0 A_Print("No Grenades Left!")
	GoTo Ready
	ZFLP DCBA 1
	TNT1 A 0 A_TakeInventory("QuickGrenading",999)
	TNT1 AAA 3
	97FI ABC 1
	97FI D 1
	97FI D 1 A_WeaponReady(WRF_NOPRIMARY | WRF_NOSECONDARY)
	//97FI D 0 A_JumpIfInventory("QuickGrenading",1,1)
	//97FI D 0 A_ReFire
	97FI E 0 A_PlaySoundEx("type97/pinpull","SoundSlot6")
	97FI EG 1
	97FI I 3
	97FI J 0 A_PlaySoundEx("type97/throw","SoundSlot6")
	97FI JKL 1
	TNT1 A 0 A_TakeInventory("Type97Primary",1)
	FRGN A 0 A_FireCustomMissile("Thrown97",random(-200,200)/100.00,0,0,16,0,random(-150,150)/100.00)
	TNT1 AAA 3
	ZFLP ABCD 1
	TNT1 A 0 A_TakeInventory("QuickGrenading",999)
	Goto Ready
  QuickMelee:
	ZFLP DCBA 1
	TNT1 AAA 3
	MCFI E 1
	MCFI E 0 A_PlaySoundEx("machete/fire","Weapon")
	MCFI FG 1
    MCFI H 0 A_CustomPunch(2*random(1, 10), TRUE, 0, "ZTMeleePuff")
	MCFI HIJ 1
	MCFI K 2
	TNT1 AAA 3
	ZFLP ABCD 1
	TNT1 A 0 A_TakeInventory("DoBlocking",1)
	Goto Ready
  ToReady:
	NULL A 0
	Goto Ready
	NULL AAA 0
	Goto Ready
  Deselect:
	 ZFLP DCBA 1
     TNT1 AAAAAAAAAA 0 A_Lower
	 TNT1 A 1 A_Lower
     Goto Deselect+4
  Select:
	 TNT1 A 0 A_SetCrosshair(19)
	 TNT1 AA 0 A_Raise
	 TNT1 A 1 A_WeaponReady
	 TNT1 A 0 A_PlaySoundEx("cloth/melee","SoundSlot6")
	 Goto SelectAnim
  SelectAnim:
	 ZFLP ABCD 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
	 Goto Ready
  Fire:
	 PPFI A 0 A_JumpIfInventory("FlamePrimary",1,1)
	 Goto ToReady+2
	 TNT1 A 0
	 TNT1 A 0 A_JumpIf(waterlevel > 2, "InWater")
	 TNT1 A 0 A_PlaySoundEx("flamethrower/fire","SoundSlot6")
	 TNT1 A 0 A_PlaySoundEx("flamethrower/loop","Weapon",true)
	 Goto FlameCheck
	 
  InWater:
	 ZFLI A 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
	 Goto Ready
	 
  //=======================================================================================
  // FLAME STATES: IDLING
  //=======================================================================================
	 
  FlameCheckIdle:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",33,"Flame11Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",30,"Flame10Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",27,"Flame9Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",24,"Flame8Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",21,"Flame7Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",18,"Flame6Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",15,"Flame5Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",12,"Flame4Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",9,"Flame3Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",6,"Flame2Idle")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",3,"Flame1Idle")
	Goto Flame1Idle
	 
  Flame1Idle:
    ZFLI A 1 A_WeaponReady
	Goto FlameCheckIdle
  Flame2Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame3Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame4Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame5Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame6Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame7Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame8Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI H 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame9Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI I 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame10Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI J 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  Flame11Idle:
	ZFLI A 0 A_TakeInventory("FlamethrowerHeatState",1)
    ZFLI K 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	Goto FlameCheckIdle
  //=======================================================================================
  // FLAME STATES: FIRING
  //=======================================================================================
  
  Overheat:
	ZFLI A 0 A_StopSoundEx("Weapon")
	ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	Goto Ready
  
  FlameCheck:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("FlamePrimary",1,1)
	Goto Ready
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",36,"Overheat")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",33,"Flame11")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",30,"Flame10")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",27,"Flame9")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",24,"Flame8")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",21,"Flame7")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",18,"Flame6")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",15,"Flame5")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",12,"Flame4")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",9,"Flame3")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",6,"Flame2")
	TNT1 A 0 A_JumpIfInventory("FlamethrowerHeatState",3,"Flame1")
	Goto Flame1
  
  Flame0:
	 ZFLI A 1 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Flame1
  Flame1:
	 TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+0.75)
	 ZFLI A 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI A 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-0.75)
	 ZFLI A 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI A 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame2:
	 TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+0.75)
	 ZFLI B 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI B 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-0.75)
	 ZFLI B 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI B 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI B 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI B 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame3:
	 TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+0.75)
	 ZFLI C 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI C 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-0.75)
	 ZFLI C 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI C 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI C 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI C 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame4:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	ZFLI A 0 A_SetPitch(Pitch+0.75)
	 ZFLI D 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI D 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-0.75)
	 ZFLI D 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI D 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI D 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI D 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame5:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+0.75)
	 ZFLI E 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI E 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-0.75)
	 ZFLI E 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI E 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI E 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI E 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame6:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+1.0)
	 ZFLI F 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI F 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-1.0)
	 ZFLI F 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI F 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI F 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI F 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	
  Flame7:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+1.2)
	 ZFLI G 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI G 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-1.2)
	 ZFLI G 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI G 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI G 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI G 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame8:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+1.4)
	 ZFLI H 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI H 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-1.4)
	 ZFLI H 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI H 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI H 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI H 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame9:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+1.6)
	 ZFLI I 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI I 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-1.6)
	 ZFLI I 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI I 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI I 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI I 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready

  Flame10:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+1.8)
	 ZFLI J 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI J 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-1.8)
	 ZFLI J 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI J 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI J 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI J 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
	 
  Flame11:
	TNT1 A 0 A_JumpIf(waterlevel > 2, "Ready")
	 ZFLI A 0 A_SetPitch(Pitch+2.0)
	 ZFLI K 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI A 0 A_GiveInventory("FlamethrowerHeatState",1)
	 ZFLI K 0 A_TakeInventory("FlamePrimary",1)
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerPuff")
	 ZFLI A 0 A_FireCustomMissile("FlamethrowerFX")
	 ZFLI A 0 A_SetPitch(Pitch-2.0)
	 ZFLI K 1 Offset(4,36) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI K 0 A_ReFire("FlameCheck")
	 ZFLI A 0 A_StopSoundEx("Weapon")
	 ZFLI A 0 A_PlaySoundEx("flamethrower/stop","SoundSlot6")
	 ZFLI K 2 Offset(2,34) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 ZFLI K 0 Offset(0,32) A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 Goto Ready
  
  //=======================================================================================
  
  Spawn:
    ZFLS Z -1
    Stop
  }
}