ACTOR NapalmLoaded : Ammo
{
 Inventory.MaxAmount 9
 +IGNORESKILL
}
ACTOR NapalmMaxxed : Ammo
{
 Inventory.MaxAmount 12
 +IGNORESKILL
}
ACTOR NapalmSpawn : CustomInventory replaces rocketlauncher
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "LAUNA0"
	Inventory.PickupMessage "$GOT_NAPALMGUN"
	Inventory.PickupSound "items/gunspickup"
	States
	{
	Spawn:
		LAUP A 10
		LAUP A 1 bright
		loop
	Pickup:
	    TNT1 A 0 A_JumpIfInventory("NapalmGun3", 1, 4) //Skips giving you the normal blaster if you have the upgrade
		TNT1 A 0 A_JumpIfInventory("NapalmGun2", 1, 3) //Skips giving you the normal blaster if you have the upgrade
		TNT1 A 0 A_GiveInventory("NapalmGun")
		TNT1 A 0 A_Jump(256, 2)
		TNT1 A 0 A_GiveInventory("NapalmAmmo", 6)
		TNT1 A 0
		Stop
	}
}
ACTOR NapalmBuild2 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "LAUPA0"
	+DROPPED
	States
	{
	Spawn:
		LAUP A 10
		loop
	Pickup:
		TNT1 A 0 A_GiveInventory("napalmgun2")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("Napalmgun2")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR NapalmBuild3 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "LAUPA0"
	+DROPPED
	States
	{
	Spawn:
		LAUP A 10
		loop
	Pickup:
		TNT1 A 0 A_GiveInventory("napalmgun3")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("Napalmgun3")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR NapalmGun : Weapon
{
  SpawnID 29
  Radius 20
  Height 16
  Weapon.BobStyle Alpha
	Weapon.BobSpeed 1.5
	Weapon.BobRangeX .2
	Weapon.BobRangeY .5
  Weapon.Selectionorder 2500
  +WEAPON.NOAUTOAIM //That just looked ridiculous
  +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
  +NOALERT
  Weapon.AmmoUse1 1
  Weapon.AmmoUse2 1
 Weapon.AmmoGive2 6
 Weapon.AmmoType1 "NapalmLoaded"
 Weapon.AmmoType2 "NapalmAmmo"
 weapon.upsound "weapons/napalmup"
  Weapon.Kickback 100
  Weapon.SlotNumber 5 
  scale 0.8
  Inventory.PickupMessage "$GOT_NAPALMGUN"
  Tag "$WEAPON_NAPALMGUN"
  Inventory.PickupSound "items/gunspickup"
  Inventory.Icon "LAUNA0"
  States
  {
  Spawn:
    LAUP A 10
	LAUP A 1 bright
    loop
  Ready:
    NPLM A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
    Loop
  Deselect:
    NPLM A 0 A_lower
    NPLM A 1 A_Lower
    Loop
  Select: 
    MR1G A 0 A_takeinventory("lightlit",1)
    NPLM A 0 a_JumpIfInventory("NapalmLoaded",7,"CheetReset")
    NPLM A 1 A_Raise
	NPLM A 0 A_Raise
    Loop
  CheetReset:
    NPLM A 1 A_Raise
	NPLM A 0 A_takeinventory("NapalmLoaded",9)
	NPLM A 0 A_giveinventory("NapalmLoaded",6)
	NPLM A 0 A_Raise
	Loop
  Fire:
    TNT1 A 0 a_JumpIfInventory("NapalmLoaded",1,1)
    Goto Reload
	NPLM A 0 A_PlaySound("weapons/flamestart", CHAN_WEAPON, 1.5)
  FireReal:
    TNT1 A 0 a_JumpIfInventory("NapalmLoaded",1,2)
    NPLM A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
    Goto Reload
    TNT1 A 0 A_TakeInventory("NapalmLoaded",1,TIF_NOTAKEINFINITE)
    NPLM A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    NPL3 A 0 A_PlaySound("weapons/flamestream", CHAN_item, 1)
	TNT1 A 0 A_FireProjectile("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	NPLM U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	NPLM V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	TNT1 A 0 A_AlertMonsters
	NPLM U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	NPLM V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	NPLM U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
	NPLM V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
    NPLM U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	TNT1 A 0 A_FireProjectile ("FireStream", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
    NPLM I 2 A_refire("firereal")
	NPLM J 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	NPL2 A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
	NPLM K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	NPLM L 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ready
   Reload:
		NPLM A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("NapalmLoaded",6,"Ready")
        TNT1 A 0 A_JumpIfInventory("NapalmAmmo",1,"Work1")
        Goto Ready
	Work1:
		NPLM MNOP 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_PlaySound("weapons/boomerreload", CHAN_ITEM, 1.5)
		NPLM QRSST 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("NapalmLoaded",6,"ReloadDone")
		TNT1 A 0 A_Giveinventory("NapalmLoaded",1)
		TNT1 A 0 A_TakeInventory("NapalmAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 a_JumpIfInventory("NapalmAmmo",1,"Reloadloop")
        Goto ReloadDone
 ReloadDone:
  NPLM TTTTTTTT 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  NPLM SRQPONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  NPLM A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
	 User1:
        NPLM WXYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		NPLM ZYXW 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  }
}
ACTOR NapalmGun2 : Napalmgun
{
  +CHEATNOTWEAPON
   +WEAPON.ALT_AMMO_OPTIONAL
  Weapon.Selectionorder 2200
  weapon.Ammogive1 6
  Weapon.AmmoGive2 3
  Weapon.SlotNumber 5 
  Inventory.PickupMessage "$GOT_NAPALMGUN2"
  Tag "$WEAPON_NAPALMGUN2"
  Inventory.Icon "LAUNB0"
  States
  {
  Spawn:
    LA2P A 10
	LA2P A 1 bright
    loop
  Ready:
    NPL2 A 0 a_JumpIfInventory("NapalmMaxxed",12,"ReadyCharged")
    NPL2 A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
    Loop
  ReadyCharged:
    NPL3 A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
    Loop
  Deselect:
    NPL2 A 0 A_lower
    NPL2 A 1 A_Lower
    Loop
  Select: 
    MR1G A 0 A_takeinventory("lightlit",1)
    TNT1 A 0 A_TakeInventory("NapalmGun",1)
    NPL2 A 1 A_Raise
	NPL2 A 0 A_Raise
    Loop
  Fire:
   "####" A 0 a_JumpIfInventory("NapalmLoaded",1,"1")
    Goto Reload
    "####" A 0 A_PlaySound("weapons/flamestart", CHAN_WEAPON, 1.5)
  FireReal:
     "####" A 0 a_JumpIfInventory("NapalmMaxxed",12,"FireCharged")
    NPL2 A 0 a_JumpIfInventory("NapalmLoaded",1,"firesequence")
	NPL2 A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
    Goto Reload
   Firecharged:
    NPL3 A 0 a_JumpIfInventory("NapalmLoaded",1,"firesequence")
	NPL3 A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
    Goto Reload
  firesequence:
    "####" A 0 A_TakeInventory("NapalmLoaded",1,TIF_NOTAKEINFINITE)
    "####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    "####" A 0 A_PlaySound("weapons/flamestream", CHAN_item, 1)
	"####" A 0 A_FireProjectile("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" A 0 A_AlertMonsters
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	"####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamMega", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
	"####" a 0 A_Giveinventory("Napalmmaxxed",1)
	"####" I 2 A_refire("firereal")
	"####" J 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
	"####" K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" L 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ready
   Reload:
		"####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 0 A_JumpIfInventory("NapalmLoaded",9,"Ready")
        "####" A 0 A_JumpIfInventory("NapalmAmmo",1,"Work1")
        Goto Ready
	Work1:
		"####" MNOP 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 0 A_PlaySound("weapons/boomerreload", CHAN_ITEM, 1.5)
		"####" QRSST 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	ReloadLoop:
		"####" A 0 a_JumpIfInventory("NapalmLoaded",9,"ReloadDone")
		"####" A 0 A_Giveinventory("NapalmLoaded",1)
		"####" A 0 A_TakeInventory("NapalmAmmo",1,TIF_NOTAKEINFINITE)
		"####" A 0 a_JumpIfInventory("NapalmAmmo",1,"Reloadloop")
        Goto ReloadDone
 ReloadDone:
  "####" TTTTTTTT 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
 "####" SRQPONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  "####" A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
	User1:
        "####" WXYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 3
       TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		NPL2 ZYXW 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Altfire:
       "####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
       "####" A 0 A_JumpIfInventory("NapalmMaxxed",12,"AltfireReal")
	   "####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	   goto ready
 AltfireReal:
        "####" A 0 A_playsound("weapons/napalmburst", CHAN_AUTO, 1)
        "####" A 0 A_TakeInventory("NapalmMaxxed",12)
		 "####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
		"####" A 0 A_FireProjectile("Napalmblast", 25, 0, 10, -5, 0, Random(1, -1))
		 NPL3 B 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 "####" A 0 A_FireProjectile("Napalmblast", 0, 0, 10, -5, 0, Random(1, -1))
		 NPL3 C 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		  "####" A 0 A_FireProjectile("Napalmblast", -25, 0, 10, -5, 0, Random(1, -1))
		 NPL3 DEFGHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 NPL3 IJKLM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 goto ready 
  }
}
ACTOR NapalmGun3 : Napalmgun
{
  +CHEATNOTWEAPON
   +WEAPON.ALT_AMMO_OPTIONAL
  Weapon.Selectionorder 2100
  weapon.Ammogive1 6
  Weapon.AmmoGive2 3
  Weapon.SlotNumber 5 
  Inventory.PickupMessage "$GOT_NAPALMGUN3"
  Tag "$WEAPON_NAPALMGUN3"
  Inventory.Icon "LAUNC0"
  States
  {
  Spawn:
    LA3P A 10
	LA3P A 1 bright
    loop
  Ready:
    NPL4 A 0 a_JumpIfInventory("NapalmMaxxed",9,"ReadyCharged")
    NPL4 A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
    Loop
  ReadyCharged:
    NPL5 A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
    Loop
  Deselect:
    NPL4 A 0 A_lower
    NPL4 A 1 A_Lower
    Loop
  Select: 
    MR1G A 0 A_takeinventory("lightlit",1)
    TNT1 A 0 A_TakeInventory("NapalmGun",1)
	TNT1 A 0 A_TakeInventory("NapalmGun2",1)
    NPL4 A 1 A_Raise
	NPL4 A 0 A_Raise
    Loop
  Fire:
   "####" A 0 a_JumpIfInventory("NapalmLoaded",1,"1")
    Goto Reload
    "####" A 0 A_PlaySound("weapons/flamestart", CHAN_WEAPON, 1.5)
  FireReal:
     "####" A 0 a_JumpIfInventory("NapalmMaxxed",9,"FireCharged")
    NPL4 A 0 a_JumpIfInventory("NapalmLoaded",1,"firesequence")
	NPL4 A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
    Goto Reload
   Firecharged:
    NPL5 A 0 a_JumpIfInventory("NapalmLoaded",1,"firesequence")
	NPL5 A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
    Goto Reload
  firesequence:
    "####" A 0 A_TakeInventory("NapalmLoaded",1,TIF_NOTAKEINFINITE)
    "####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    "####" A 0 A_PlaySound("weapons/flamestream", CHAN_item, 1)
	"####" A 0 A_FireProjectile("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" A 0 A_AlertMonsters
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	"####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
	"####" V 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10, -5, 0, Random(1, -1))
	"####" U 2 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
    "####" A 0 A_FireProjectile ("FirestreamHIPRES", Random(1, -1), 0, 10,-5, 0, Random(1, -1))
	"####" a 0 A_Giveinventory("Napalmmaxxed",1)
	"####" I 2 A_refire("firereal")
	"####" J 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound("weapons/flamestop", CHAN_WEAPON, 1.5)
	"####" K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" L 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ready
   Reload:
		"####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 0 A_JumpIfInventory("NapalmLoaded",9,"Ready")
        "####" A 0 A_JumpIfInventory("NapalmAmmo",1,"Work1")
        Goto Ready
	Work1:
		"####" MNOP 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 0 A_PlaySound("weapons/boomerreload", CHAN_ITEM, 1.5)
		"####" QRSST 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	ReloadLoop:
		"####" A 0 a_JumpIfInventory("NapalmLoaded",9,"ReloadDone")
		"####" A 0 A_Giveinventory("NapalmLoaded",1)
		"####" A 0 A_TakeInventory("NapalmAmmo",1,TIF_NOTAKEINFINITE)
		"####" A 0 a_JumpIfInventory("NapalmAmmo",1,"Reloadloop")
        Goto ReloadDone
 ReloadDone:
  "####" TTTTTTTT 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
 "####" SRQPONM 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  "####" A 0 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
  goto ready
	User1:
        "####" WXYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"####" A 3
       TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		NPL4 ZYXW 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  Altfire:
       "####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
       "####" A 0 A_JumpIfInventory("NapalmMaxxed",9,"AltfireReal")
	   "####" A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	   goto ready
 AltfireReal:
        "####" A 0 A_playsound("weapons/napalmburst", CHAN_AUTO, 1)
        "####" A 0 A_TakeInventory("NapalmMaxxed",12)
		 "####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
		"####" A 0 A_FireProjectile("HyperNapalmblast", 25, 0, 10, -5, 0, Random(1, -1))
		 NPL4 B 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 "####" A 0 A_FireProjectile("HyperNapalmblast", 0, 0, 10, -5, 0, Random(1, -1))
		 NPL4 C 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		  "####" A 0 A_FireProjectile("HyperNapalmblast", -25, 0, 10, -5, 0, Random(1, -1))
		 NPL4 DEFGHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 NPL4 IJKLM 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		 goto ready 
  }
}