ACTOR HPToggled : inventory
{
Inventory.MaxAmount 1
+IGNORESKILL
}
ACTOR SuppressorAdded : inventory
{
Inventory.MaxAmount 1
+IGNORESKILL
}
ACTOR SnailMagAdded : inventory
{
Inventory.MaxAmount 1
+IGNORESKILL
}
ACTOR Pistolloaded : Ammo
{
 Inventory.MaxAmount 25
 Ammo.BackPackMaxAmount 25
 +IGNORESKILL
}
ACTOR HPloaded : Ammo
{
 Inventory.MaxAmount 25
 Ammo.BackPackMaxAmount 25
 +IGNORESKILL
}
ACTOR PistolSpawn : CustomInventory replaces pistol
{
	Inventory.Amount 0
	scale 0.6
	Inventory.Icon "590PA0"
	Inventory.PickupMessage "$GOT_SWPISTOL"
	Inventory.PickupSound "items/gunspickup"
	+DROPPED
	States
	{
	Spawn:
		590P A 10
		590P A 1 bright
		loop
	Pickup:
	    TNT1 A 0 A_JumpIfInventory("SuppressedPistolHP2", 1, 10) //Skips giving you the normal pistol if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("SuppressedPistol2", 1, 9) //Skips giving you the normal pistol if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("PolicePistol2", 1, 8) //Skips giving you the normal pistol if you have the upgrade
		TNT1 A 0 A_JumpIfInventory("PolicePistolHP2", 1, 7) //Skips giving you the normal pistol if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("SuppressedPistolHP", 1, 6) //Skips giving you the normal pistol if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("SuppressedPistol", 1, 5) //Skips giving you the normal pistol if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("PolicePistol", 1, 4) //Skips giving you the normal pistol if you have the upgrade
		TNT1 A 0 A_JumpIfInventory("PolicePistolHP", 1, 3) //Skips giving you the normal pistol if you have the upgrade
		TNT1 A 0 A_GiveInventory("PolicePistol")
		TNT1 A 0 A_Jump(256, 2)
		TNT1 A 0 A_GiveInventory("NineMilammo", 10)
		TNT1 A 0
		Stop
	}
}
ACTOR PistolBuild : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "590PB0"
	+DROPPED
	States
	{
	Spawn:
		590P B 10
		loop
	Pickup:
		TNT1 A 0 A_GiveInventory("SuppressedPistol")
		TNT1 A 2
		TNT1 A 0 A_GiveInventory("SuppressorAdded")
		TNT1 A 0 A_selectweapon("SuppressedPistol")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR PistolBuild2 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "590PB0"
	+DROPPED
	States
	{
	Spawn:
		590P B 10
		loop
	Pickup:
		TNT1 A 0 A_GiveInventory("PolicePistol2")
		TNT1 A 2
		TNT1 A 0 A_GiveInventory("SnailMagAdded")
		TNT1 A 0 A_selectweapon("PolicePistol2")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR PistolBuild3 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "590PB0"
	+DROPPED
	States
	{
	Spawn:
		590P B 10
		loop
	Pickup:
		TNT1 A 0 A_GiveInventory("SuppressedPistol2")
		TNT1 A 2
		TNT1 A 0 A_GiveInventory("SnailMagAdded")
		TNT1 A 0 A_selectweapon("SuppressedPistol2")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
actor PolicePistol: Weapon
{
 Weapon.SelectionOrder 2000
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "NineMilammo"
 Weapon.AmmoType1 "PistolLoaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL"
 Inventory.Icon "590GA0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SW5G B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SW5G B 0 a_JumpIfInventory("PistolLoaded",1,"LoadedReady")
  SW5G B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SW5G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SW5G D 0 a_JumpIfInventory("Pistolloaded",1,"readylamploaded")
     SW5G D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SW5G C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
  TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SW5G B 0 a_JumpIfInventory("PistolLoaded",12,"CheetReset")
  SW5G B 0 a_JumpIfInventory("pistolloaded",1,"Loadedselect")
  SW5G B 1 A_Raise
  SW5G B 0 A_Raise
  Loop
  CheetReset:
	SW5G B 0 A_takeinventory("PistolLoaded",25)
	SW5G B 0 A_giveinventory("PistolLoaded",11)
	SW5G B 0 a_JumpIfInventory("pistolloaded",1,"Loadedselect")
	SW5G B 1 A_Raise
	SW5G B 0 A_Raise
	Loop
 LoadedSelect:
  SW5G A 1 A_Raise
  SW5G A 0 A_Raise
  Loop
 Fire:
  SW5G A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SW5G A 0 a_JumpIfInventory("pistolloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SW5G A 0 a_JumpIfInventory("pistolloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("pistolloaded",1,1)
  Goto Empty
 FireReal1:
  SW5G A 0 A_gunflash
  SW5G A 0 A_PlayWeaponSound("weapons/popistol")
  SW5F A 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_Light2
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.2,1.2,-1,8,"hitpuff")
  SW5F B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5F A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SW5F C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SW5F E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SW5G B 1 a_refire("empty")
  goto ready
  SW5F D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SW5G C 0 A_gunflash("lampFlash")
  SW5G C 0 A_PlayWeaponSound("weapons/popistol")
  SW5O J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5O J 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.5,1.5,-1,8,"hitpuff")
  SW5O K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5O K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SW5O L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
   TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SW5O N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SW5G D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SW5O M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SW5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SW5G D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("pistolloaded",11,"Ready")
		TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadchamber")
		SW5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadlamp2")
        SW5G D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SW5G D 0 A_JumpIfInventory("pistolloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SW5G C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SW5G C 0 A_JumpIfInventory("pistolloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SW5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SW5E X 2 BRIGHT a_playsound("items/flashlighton")
	    SW5E Y 2 A_takeinventory("lightlit",1)
	    SW5E Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5E L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SW5R X 2 BRIGHT a_playsound("items/flashlighton")
	    SW5R Y 2 A_takeinventory("lightlit",1)
	    SW5R Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5R L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SW5E A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SW5E BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SW5E DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5E K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	work1b://fake reload
		TNT1 A 3
		SW5E DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5E K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SW5R A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SW5R BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SW5R DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5R K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	work2b: //fake reload
		TNT1 A 3
		SW5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5H K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",10,"ReloadDone")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",11,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",10,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",11,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SW5E NOPQR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SW5R NOPQRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SW5E NOPQR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O H 1 a_playsound("items/flashlighton")
		SW5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SW5R NOPQRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O H 1 a_playsound("items/flashlighton")
		SW5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"unlightLoaded")
	SW5O W 1 a_playsound("items/flashlighton")
	SW5O V 2 A_takeinventory("lightlit",1)
	SW5O UT 2
	SW5O S 1  a_playsound("weapons/pistolup")
    SW5O RQP 1  
	SW5O O 1 
    goto ready
  unlightloaded:
	SW5O I 1 a_playsound("items/flashlighton")
	SW5O H 2 A_takeinventory("lightlit",1)
	SW5O FG 2
	SW5O E 1  a_playsound("weapons/pistolup")
    SW5O DCB 1  
	SW5O A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SW5O O 0 A_JumpIfInventory("PistolLoaded",1,"LightLoaded")
	SW5O O 2 a_playsound("weapons/pistolup")
	SW5O PQRST 2 
	SW5O U 2 a_playsound("items/flashlighton")
	SW5O VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SW5O A 2 a_playsound("weapons/pistolup")
	SW5O BCDEF 2 
	SW5O G 1 a_playsound("items/flashlighton")
	SW5O HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
    "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SW5E O 0 a_JumpIfInventory("PistolLoaded",1,"user3Loaded")
    SW5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SW5E ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SW5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5R C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SW5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"punchLoaded")
        SW5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SW5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"LightMeleeLoaded")
        SW5E XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SW5R XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5O ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("PistolLoaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("PolicePistolHP")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("PolicePistolHP")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("PolicePistolHP")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("PolicePistolHP")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P A 10
       590P A 1 bright
		loop
 }
}
actor PolicePistolHP: PolicePistol
{
 Weapon.SelectionOrder 1800
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "Hollowpointammo"
 Weapon.AmmoType1 "HPloaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL"
 Inventory.Icon "590GA0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +CHEATNOTWEAPON
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SW5G B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SW5G B 0 a_JumpIfInventory("HPLoaded",1,"LoadedReady")
  SW5G B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SW5G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SW5G D 0 a_JumpIfInventory("HPloaded",1,"readylamploaded")
     SW5G D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SW5G C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SW5G B 0 a_JumpIfInventory("HPLoaded",12,"CheetReset")
  SW5F C 0 a_JumpIfInventory("hpLoaded",1,"Loadedselect")
  SW5F C 1 A_Raise
  SW5F C 0 A_Raise
  Loop
  CheetReset:
	SW5G B 0 A_takeinventory("HPLoaded",25)
	SW5G B 0 A_giveinventory("HPLoaded",11)
	SW5G B 0 a_JumpIfInventory("HPloaded",1,"Loadedselect")
	SW5G B 1 A_Raise
	SW5G B 0 A_Raise
	Loop
 LoadedSelect:
  SW5G A 1 A_Raise
  SW5G A 0 A_Raise
  Loop
 Fire:
  SW5G A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SW5G A 0 a_JumpIfInventory("HPloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SW5G A 0 a_JumpIfInventory("HPloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("HPloaded",1,1)
  Goto Empty
 FireReal1:
  SW5G A 0 A_gunflash
  SW5G A 0 A_PlayWeaponSound("weapons/popistol")
  SW5F A 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_Light2
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.2,1.2,-1,16,"HPhitpuff")
  SW5F B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5F A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SW5F C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SW5F E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SW5G B 1 a_refire("empty")
  goto ready
  SW5F D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SW5G C 0 A_gunflash("lampFlash")
  SW5G C 0 A_PlayWeaponSound("weapons/popistol")
  SW5O J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5O J 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.5,1.5,-1,16,"HPhitpuff")
  SW5O K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5O K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SW5O L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
   TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SW5O N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SW5G D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SW5O M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SW5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SW5G D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SW5G D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("HPloaded",11,"Ready")
		TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadchamber")
		SW5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadlamp2")
        SW5G D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SW5G D 0 A_JumpIfInventory("HPloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SW5G C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SW5G C 0 A_JumpIfInventory("HPloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SW5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SW5E X 2 BRIGHT a_playsound("items/flashlighton")
	    SW5E Y 2 A_takeinventory("lightlit",1)
	    SW5E Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5P K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5P L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5P M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SW5R X 2 BRIGHT a_playsound("items/flashlighton")
	    SW5R Y 2 A_takeinventory("lightlit",1)
	    SW5R Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H EFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5H L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SW5E A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SW5E BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SW5E DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5P KLMNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")	
		goto reloaddone
	work1b://fake reload
		TNT1 A 3
		SW5E DEFGHI 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SW5P KLMNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")	
		goto reloaddone
	Work2:
	    SW5R A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SW5R BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SW5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5H K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	work2b: //fake reload
		TNT1 A 3
		SW5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SW5R K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5H M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("HPloaded",10,"ReloadDone")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("HPloaded",11,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("HPloaded",10,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("HPloaded",11,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SW5E SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SW5H NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R QRSSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SW5P NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5E STTTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O H 1 a_playsound("items/flashlighton")
		SW5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SW5H NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SW5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SW5O H 1 a_playsound("items/flashlighton")
		SW5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"unlightLoaded")
	SW5O W 1 a_playsound("items/flashlighton")
	SW5O V 2 A_takeinventory("lightlit",1)
	SW5O UT 2
	SW5O S 1  a_playsound("weapons/pistolup")
    SW5O RQP 1  
	SW5O O 1 
    goto ready
  unlightloaded:
	SW5O I 1 a_playsound("items/flashlighton")
	SW5O H 2 A_takeinventory("lightlit",1)
	SW5O FG 2
	SW5O E 1  a_playsound("weapons/pistolup")
    SW5O DCB 1  
	SW5O A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SW5O O 0 A_JumpIfInventory("HPLoaded",1,"LightLoaded")
	SW5O O 2 a_playsound("weapons/pistolup")
	SW5O PQRST 2 
	SW5O U 2 a_playsound("items/flashlighton")
	SW5O VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SW5O A 2 a_playsound("weapons/pistolup")
	SW5O BCDEF 2 
	SW5O G 1 a_playsound("items/flashlighton")
	SW5O HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
    "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SW5E O 0 a_JumpIfInventory("HPLoaded",1,"user3Loaded")
    SW5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SW5E ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SW5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5R C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SW5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"punchLoaded")
        SW5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SW5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"LightMeleeLoaded")
        SW5E XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SW5R XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SW5O ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        TNT1 A 0 A_JumpIfInventory("HPloaded",1,"AltfireLoaded")
		SW5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,2)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		TNT1 A 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		TNT1 A 0 A_Giveinventory("PolicePistol")
		TNT1 A 0 A_Giveinventory("HPtoggled")
        SW5G B 1 A_selectWeapon("PolicePistol")
        goto ready
  AltfireLoaded:
        SW5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,2)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		TNT1 A 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		TNT1 A 0 A_Giveinventory("PolicePistol")
		TNT1 A 0 A_Giveinventory("HPtoggled")
        SW5G A 1 A_selectWeapon("PolicePistol")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P A 10
       590P A 1 bright
		loop
 }
}
actor SuppressedPistol: Weapon
{
 Weapon.SelectionOrder 2000
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "NineMilammo"
 Weapon.AmmoType1 "PistolLoaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL2"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL2"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL2"
 Inventory.Icon "590GB0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +CHEATNOTWEAPON
 +DROPPED
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
  States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SWSG B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SWSG B 0 a_JumpIfInventory("PistolLoaded",1,"LoadedReady")
  SWSG B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SWSG A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SWSG D 0 a_JumpIfInventory("Pistolloaded",1,"readylamploaded")
     SWSG D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SWSG C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
  TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SWSG B 0 a_JumpIfInventory("pistolloaded",1,"Loadedselect")
  SWSG B 1 A_Raise
  SWSG B 0 A_Raise
  Loop
 LoadedSelect:
  SWSG A 1 A_Raise
  SWSG A 0 A_Raise
  Loop
 Fire:
  SWSG A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SWSG A 0 a_JumpIfInventory("pistolloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SWSG A 0 a_JumpIfInventory("pistolloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("pistolloaded",1,1)
  Goto Empty
 FireReal1:
  SWSG A 0 A_gunflash
  SWSG A 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SWSF A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,8,"hitpuff")
  SWSF B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSF A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SWSF C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
  TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SWSF E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SWSG B 1 a_refire("empty")
  goto ready
  SWSF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SWSG C 0 A_gunflash("lampFlash")
  SWSG C 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SWSO J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,8,"hitpuff")
  SWSO K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSO K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SWSO L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
   TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SWSO N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SWSG D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SWSO M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SWSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SWSG D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("pistolloaded",11,"Ready")
		TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadchamber")
		SWSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadlamp2")
        SWSG D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SWSG D 0 A_JumpIfInventory("pistolloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SWSG C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SWSG C 0 A_JumpIfInventory("pistolloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SWSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SWSE X 2 BRIGHT a_playsound("items/flashlighton")
	    SWSE Y 2 A_takeinventory("lightlit",1)
	    SWSE Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SWSE L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SWSR X 2 BRIGHT a_playsound("items/flashlighton")
	    SWSR Y 2 A_takeinventory("lightlit",1)
	    SWSR Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSR L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SWSE A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SWSE BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SWSE DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SWSE K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	work1b://fake reload
		TNT1 A 3
		SWSE DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SWSE K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SWSR A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SWSR BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SWSR DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSR K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	work2b://fake reload
		TNT1 A 3
		SWSR D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSH KLL 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",10,"ReloadDone")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",11,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",10,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",11,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SWSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SWSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SWSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE STTTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO H 1 a_playsound("items/flashlighton")
		SWSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SWSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO H 1 a_playsound("items/flashlighton")
		SWSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"unlightLoaded")
	SWSO W 1 a_playsound("items/flashlighton")
	SWSO V 2 A_takeinventory("lightlit",1)
	SWSO UT 2
	SWSO S 1  a_playsound("weapons/pistolup")
    SWSO RQP 1  
	SWSO O 1 
    goto ready
  unlightloaded:
	SWSO I 1 a_playsound("items/flashlighton")
	SWSO H 2 A_takeinventory("lightlit",1)
	SWSO FG 2
	SWSO E 1  a_playsound("weapons/pistolup")
    SWSO DCB 1  
	SWSO A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SWSO O 0 A_JumpIfInventory("PistolLoaded",1,"LightLoaded")
	SWSO O 2 a_playsound("weapons/pistolup")
	SWSO PQRST 2 
	SWSO U 2 a_playsound("items/flashlighton")
	SWSO VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SWSO A 2 a_playsound("weapons/pistolup")
	SWSO BCDEF 2 
	SWSO G 1 a_playsound("items/flashlighton")
	SWSO HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
   "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SWSE O 0 a_JumpIfInventory("PistolLoaded",1,"user3Loaded")
    SWSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SWSE ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 1 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SWSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SWSR C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SWSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 1 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"punchLoaded")
        SWSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SWSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"LightMeleeLoaded")
        SWSE XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SWSR XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSO ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("PistolLoaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistolHP")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistolHP")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistolHP")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistolHP")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P B 10
       590P B 1 bright
		loop
 }
}
actor SuppressedPistolHP: SuppressedPistol
{
 Weapon.SelectionOrder 1800
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "Hollowpointammo"
 Weapon.AmmoType1 "HPloaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL2"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL2"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL2"
 Inventory.Icon "590GB0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +CHEATNOTWEAPON
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SWSG B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SWSG B 0 a_JumpIfInventory("HPloaded",1,"LoadedReady")
  SWSG B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SWSG A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SWSG D 0 a_JumpIfInventory("HPloaded",1,"readylamploaded")
     SWSG D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SWSG C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
 TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SWSF C 0 a_JumpIfInventory("hpLoaded",1,"Loadedselect")
  SWSF C 1 A_Raise
  SWSF C 0 A_Raise
  Loop
  LoadedSelect:
  SWSG A 1 A_Raise
  SWSG A 0 A_Raise
  Loop
 Fire:
  SWSG A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SWSG A 0 a_JumpIfInventory("HPloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SWSG A 0 a_JumpIfInventory("HPloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("HPloaded",1,1)
  Goto Empty
 FireReal1:
  SWSG A 0 A_gunflash
  SWSG A 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SWSF A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,16,"hitpuff")
  SWSF B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSF A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SWSF C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
  TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SWSF E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SWSG B 1 a_refire("empty")
  goto ready
  SWSF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SWSG C 0 A_gunflash("lampFlash")
  SWSG C 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SWSO J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,16,"hitpuff")
  SWSO K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSO K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SWSO L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
   TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SWSO N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SWSG D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SWSO M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SWSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SWSG D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SWSG D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("HPloaded",11,"Ready")
		TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadchamber")
		SWSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadlamp2")
        SWSG D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SWSG D 0 A_JumpIfInventory("HPloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SWSG C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SWSG C 0 A_JumpIfInventory("HPloaded",11,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SWSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SWSE X 2 BRIGHT a_playsound("items/flashlighton")
	    SWSE Y 2 A_takeinventory("lightlit",1)
	    SWSE Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSP K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SWSP L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSP M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SWSR X 2 BRIGHT a_playsound("items/flashlighton")
	    SWSR Y 2 A_takeinventory("lightlit",1)
	    SWSR Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR DEFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH H 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSH L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SWSE A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SWSE BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	work1b://fake reload
		TNT1 A 3
		SWSE DEFGHI 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SWSP K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSP LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSP NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SWSR A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SWSR BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SWSR DEFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH HIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSH K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	work2b://fake reload
		TNT1 A 3
		SWSR DEFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR HIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SWSR K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("HPloaded",10,"ReloadDone")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("HPloaded",11,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("HPloaded",10,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("HPloaded",11,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SWSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SWSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SWSP NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSE SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO H 1 a_playsound("items/flashlighton")
		SWSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SWSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SWSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SWSO H 1 a_playsound("items/flashlighton")
		SWSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("HPloaded",1,"unlightLoaded")
	SWSO W 1 a_playsound("items/flashlighton")
	SWSO V 2 A_takeinventory("lightlit",1)
	SWSO UT 2
	SWSO S 1  a_playsound("weapons/pistolup")
    SWSO RQP 1  
	SWSO O 1 
    goto ready
  unlightloaded:
	SWSO I 1 a_playsound("items/flashlighton")
	SWSO H 2 A_takeinventory("lightlit",1)
	SWSO FG 2
	SWSO E 1  a_playsound("weapons/pistolup")
    SWSO DCB 1  
	SWSO A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SWSO O 0 A_JumpIfInventory("HPloaded",1,"LightLoaded")
	SWSO O 2 a_playsound("weapons/pistolup")
	SWSO PQRST 2 
	SWSO U 2 a_playsound("items/flashlighton")
	SWSO VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SWSO A 2 a_playsound("weapons/pistolup")
	SWSO BCDEF 2 
	SWSO G 1 a_playsound("items/flashlighton")
	SWSO HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
   "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SWSE O 0 a_JumpIfInventory("HPLOADED",1,"user3Loaded")
    SWSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SW5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SWSE ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SWSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SWSR C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SWSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("HPloaded",1,"punchLoaded")
        SWSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SWSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("HPloaded",1,"LightMeleeLoaded")
        SWSE XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SWSR XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SWSO ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("HPloaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Pistolloaded",1,2)
        "----" # 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistol")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistol")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Pistolloaded",1,2)
        "----" # 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistol")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistol")
        goto ready
  FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P B 10
       590P B 1 bright
		loop
 }
}
actor PolicePistol2: Weapon
{
 Weapon.SelectionOrder 2000
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "NineMilammo"
 Weapon.AmmoType1 "PistolLoaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL3"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL3"
 Inventory.Icon "590GC0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SD5G B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SD5G B 0 a_JumpIfInventory("PistolLoaded",1,"LoadedReady")
  SD5G B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SD5G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SD5G D 0 a_JumpIfInventory("Pistolloaded",1,"readylamploaded")
     SD5G D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SD5G C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
 TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
   TNT1 A 0 A_TakeInventory("PolicePistolHP2",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SD5G B 0 a_JumpIfInventory("pistolloaded",1,"Loadedselect")
  SD5G B 1 A_Raise
  SD5G B 0 A_Raise
  Loop
 LoadedSelect:
  SD5G A 1 A_Raise
  SD5G A 0 A_Raise
  Loop
 Fire:
  SD5G A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SD5G A 0 a_JumpIfInventory("pistolloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SD5G A 0 a_JumpIfInventory("pistolloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("pistolloaded",1,1)
  Goto Empty
 FireReal1:
  SD5G A 0 A_gunflash
  SD5G A 0 A_PlayWeaponSound("weapons/popistol")
  SD5F A 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_Light2
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.2,1.2,-1,8,"hitpuff")
  SD5F B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5F A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SD5F C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SD5F E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SD5G B 1 a_refire("empty")
  goto ready
  SD5F D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SD5G C 0 A_gunflash("lampFlash")
  SD5G C 0 A_PlayWeaponSound("weapons/popistol")
  SD5O J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5O J 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.5,1.5,-1,8,"hitpuff")
  SD5O K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5O K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SD5O L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
   TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SD5O N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SD5G D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SD5O M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SD5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SD5G D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("pistolloaded",25,"Ready")
		TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadchamber")
		SD5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadlamp2")
        SD5G D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SD5G D 0 A_JumpIfInventory("pistolloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SD5G C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SD5G C 0 A_JumpIfInventory("pistolloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SD5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SD5E X 2 BRIGHT a_playsound("items/flashlighton")
	    SD5E Y 2 A_takeinventory("lightlit",1)
	    SD5E Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SD5E L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SD5R X 2 BRIGHT a_playsound("items/flashlighton")
	    SD5R Y 2 A_takeinventory("lightlit",1)
	    SD5R Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5R L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SD5E A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SD5E BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	work1b://fake reload
		TNT1 A 3
		SD5E DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SD5E K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SD5R A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SD5R BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SD5R DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5R NNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	work2b: //fake reload
		TNT1 A 3
		SD5R DE 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H FGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5H K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R NNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",24,"ReloadDone")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",25,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",24,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",25,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SD5E QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SD5R QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SD5E NOPQR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O H 1 a_playsound("items/flashlighton")
		SD5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SD5R NOPQRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O H 1 a_playsound("items/flashlighton")
		SD5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"unlightLoaded")
	SD5O W 1 a_playsound("items/flashlighton")
	SD5O V 2 A_takeinventory("lightlit",1)
	SD5O UT 2
	SD5O S 1  a_playsound("weapons/pistolup")
    SD5O RQP 1  
	SD5O O 1 
    goto ready
  unlightloaded:
	SD5O I 1 a_playsound("items/flashlighton")
	SD5O H 2 A_takeinventory("lightlit",1)
	SD5O FG 2
	SD5O E 1  a_playsound("weapons/pistolup")
    SD5O DCB 1  
	SD5O A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SD5O O 0 A_JumpIfInventory("PistolLoaded",1,"LightLoaded")
	SD5O O 2 a_playsound("weapons/pistolup")
	SD5O PQRST 2 
	SD5O U 2 a_playsound("items/flashlighton")
	SD5O VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SD5O A 2 a_playsound("weapons/pistolup")
	SD5O BCDEF 2 
	SD5O G 1 a_playsound("items/flashlighton")
	SD5O HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
    "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SD5E O 0 a_JumpIfInventory("PistolLoaded",1,"user3Loaded")
    SD5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SD5E ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SD5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5R C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SD5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"punchLoaded")
        SD5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SD5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"LightMeleeLoaded")
        SD5E XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SD5R XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5O ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("PistolLoaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("PolicePistolHP2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("PolicePistolHP2")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("PolicePistolHP2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("PolicePistolHP2")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P C 10
       590P C 1 bright
		loop
 }
}
actor PolicePistolHP2: PolicePistol
{
 Weapon.SelectionOrder 1800
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "Hollowpointammo"
 Weapon.AmmoType1 "HPloaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL3"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL3"
 Inventory.Icon "590GC0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +CHEATNOTWEAPON
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SD5G B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SD5G B 0 a_JumpIfInventory("HPLoaded",1,"LoadedReady")
  SD5G B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SD5G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SD5G D 0 a_JumpIfInventory("HPloaded",1,"readylamploaded")
     SD5G D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SD5G C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
  TNT1 A 0 A_TakeInventory("PolicePistol2",1)
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SD5F C 0 a_JumpIfInventory("hpLoaded",1,"Loadedselect")
  SD5F C 1 A_Raise
  SD5F C 0 A_Raise
  Loop
 LoadedSelect:
  SD5G A 1 A_Raise
  SD5G A 0 A_Raise
  Loop
 Fire:
  SD5G A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SD5G A 0 a_JumpIfInventory("HPloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SD5G A 0 a_JumpIfInventory("HPloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("HPloaded",1,1)
  Goto Empty
 FireReal1:
  SD5G A 0 A_gunflash
  SD5G A 0 A_PlayWeaponSound("weapons/popistol")
  SD5F A 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_Light2
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.2,1.2,-1,16,"HPhitpuff")
  SD5F B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5F A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SD5F C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
  TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SD5F E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SD5G B 1 a_refire("empty")
  goto ready
  SD5F D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SD5G C 0 A_gunflash("lampFlash")
  SD5G C 0 A_PlayWeaponSound("weapons/popistol")
  SD5O J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5O J 0 A_PlaySound("Distant/pistol",CHAN_BODY)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(1.5,1.5,-1,16,"HPhitpuff")
  SD5O K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5O K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SD5O L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters
   TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SD5O N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SD5G D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SD5O M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SD5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SD5G D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SD5G D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("HPloaded",25,"Ready")
		TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadchamber")
		SD5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadlamp2")
        SD5G D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SD5G D 0 A_JumpIfInventory("HPloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SD5G C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SD5G C 0 A_JumpIfInventory("HPloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SD5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SD5E X 2 BRIGHT a_playsound("items/flashlighton")
	    SD5E Y 2 A_takeinventory("lightlit",1)
	    SD5E Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SD5P L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SD5R X 2 BRIGHT a_playsound("items/flashlighton")
	    SD5R Y 2 A_takeinventory("lightlit",1)
	    SD5R Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H EFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5H L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SD5E A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SD5E BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	work1b://fake reload
		TNT1 A 3
		SD5E DEFGHI 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P J 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SD5P K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5P QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SD5R A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SD5R BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SD5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5H NNOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	work2b: //fake reload
		TNT1 A 3
		SD5R D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R NN 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SD5H OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("HPloaded",24,"ReloadDone")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("HPloaded",25,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("HPloaded",24,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("HPloaded",25,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("HollowpointAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("HollowpointAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SD5P SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SD5H QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5H TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SD5E QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5E SSSUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O H 1 a_playsound("items/flashlighton")
		SD5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SD5H NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5R TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SD5R CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SD5O H 1 a_playsound("items/flashlighton")
		SD5O I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"unlightLoaded")
	SD5O W 1 a_playsound("items/flashlighton")
	SD5O V 2 A_takeinventory("lightlit",1)
	SD5O UT 2
	SD5O S 1  a_playsound("weapons/pistolup")
    SD5O RQP 1  
	SD5O O 1 
    goto ready
  unlightloaded:
	SD5O I 1 a_playsound("items/flashlighton")
	SD5O H 2 A_takeinventory("lightlit",1)
	SD5O FG 2
	SD5O E 1  a_playsound("weapons/pistolup")
    SD5O DCB 1  
	SD5O A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SD5O O 0 A_JumpIfInventory("HPLoaded",1,"LightLoaded")
	SD5O O 2 a_playsound("weapons/pistolup")
	SD5O PQRST 2 
	SD5O U 2 a_playsound("items/flashlighton")
	SD5O VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SD5O A 2 a_playsound("weapons/pistolup")
	SD5O BCDEF 2 
	SD5O G 1 a_playsound("items/flashlighton")
	SD5O HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
    "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SD5E O 0 a_JumpIfInventory("HPLoaded",1,"user3Loaded")
    SD5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SD5E ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SD5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5R C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SD5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"punchLoaded")
        SD5E ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SD5R ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("HPLoaded",1,"LightMeleeLoaded")
        SD5E XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5E ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SD5R XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5R ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SD5O ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        TNT1 A 0 A_JumpIfInventory("HPloaded",1,"AltfireLoaded")
		SD5G B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,2)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		TNT1 A 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		TNT1 A 0 A_Giveinventory("PolicePistol2")
		TNT1 A 0 A_Giveinventory("HPtoggled")
        SD5G B 1 A_selectWeapon("PolicePistol2")
        goto ready
  AltfireLoaded:
        SD5G A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,2)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		TNT1 A 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		TNT1 A 0 A_Giveinventory("PolicePistol2")
		TNT1 A 0 A_Giveinventory("HPtoggled")
        SD5G A 1 A_selectWeapon("PolicePistol2")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P C 10
       590P C 1 bright
		loop
 }
}
actor SuppressedPistol2: Weapon
{
 Weapon.SelectionOrder 2000
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "NineMilammo"
 Weapon.AmmoType1 "PistolLoaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL4"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL4"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL4"
 Inventory.Icon "590GB0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +CHEATNOTWEAPON
 +DROPPED
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
  States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SDSG B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SDSG B 0 a_JumpIfInventory("PistolLoaded",1,"LoadedReady")
  SDSG B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SDSG A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SDSG D 0 a_JumpIfInventory("Pistolloaded",1,"readylamploaded")
     SDSG D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SDSG C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
  TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("PolicePistolHP2",1)
  TNT1 A 0 A_TakeInventory("PolicePistol2",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP2",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SDSG B 0 a_JumpIfInventory("pistolloaded",1,"Loadedselect")
  SDSG B 1 A_Raise
  SDSG B 0 A_Raise
  Loop
 LoadedSelect:
  SDSG A 1 A_Raise
  SDSG A 0 A_Raise
  Loop
 Fire:
  SDSG A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SDSG A 0 a_JumpIfInventory("pistolloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SDSG A 0 a_JumpIfInventory("pistolloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("pistolloaded",1,1)
  Goto Empty
 FireReal1:
  SDSG A 0 A_gunflash
  SDSG A 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SDSF A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,8,"hitpuff")
  SDSF B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSF A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SDSF C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
  TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SDSF E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SDSG B 1 a_refire("empty")
  goto ready
  SDSF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SDSG C 0 A_gunflash("lampFlash")
  SDSG C 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SDSO J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,8,"hitpuff")
  SDSO K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSO K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SDSO L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
   TNT1 A 0 a_JumpIfInventory("pistolloaded",1,3)
  SDSO N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SDSG D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SDSO M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SDSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SDSG D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("pistolloaded",25,"Ready")
		TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadchamber")
		SDSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("pistolloaded",1,"reloadlamp2")
        SDSG D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SDSG D 0 A_JumpIfInventory("pistolloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SDSG C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SDSG C 0 A_JumpIfInventory("pistolloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SDSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("NineMilammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SDSE X 2 BRIGHT a_playsound("items/flashlighton")
	    SDSE Y 2 A_takeinventory("lightlit",1)
	    SDSE Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SDSE L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SDSR X 2 BRIGHT a_playsound("items/flashlighton")
	    SDSR Y 2 A_takeinventory("lightlit",1)
	    SDSR Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSR L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SDSE A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SDSE BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	work1b://fake reload
		TNT1 A 3
		SDSE DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SDSE K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SDSR A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SDSR BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SDSR DEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSR K 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	work2b://fake reload
		TNT1 A 3
		SDSR D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH EFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSH K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR L 4 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",24,"ReloadDone")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",25,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",24,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("pistolloaded",25,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("NineMilAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("pistolloaded",1)
		TNT1 A 0 a_JumpIfInventory("NineMilAmmo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SDSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE SSSTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SDSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SDSE NOPQR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE STTTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO H 1 a_playsound("items/flashlighton")
		SDSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SDSR NOPQRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO H 1 a_playsound("items/flashlighton")
		SDSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"unlightLoaded")
	SDSO W 1 a_playsound("items/flashlighton")
	SDSO V 2 A_takeinventory("lightlit",1)
	SDSO UT 2
	SDSO S 1  a_playsound("weapons/pistolup")
    SDSO RQP 1  
	SDSO O 1 
    goto ready
  unlightloaded:
	SDSO I 1 a_playsound("items/flashlighton")
	SDSO H 2 A_takeinventory("lightlit",1)
	SDSO FG 2
	SDSO E 1  a_playsound("weapons/pistolup")
    SDSO DCB 1  
	SDSO A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SDSO O 0 A_JumpIfInventory("PistolLoaded",1,"LightLoaded")
	SDSO O 2 a_playsound("weapons/pistolup")
	SDSO PQRST 2 
	SDSO U 2 a_playsound("items/flashlighton")
	SDSO VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SDSO A 2 a_playsound("weapons/pistolup")
	SDSO BCDEF 2 
	SDSO G 1 a_playsound("items/flashlighton")
	SDSO HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
   "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SDSE O 0 a_JumpIfInventory("PistolLoaded",1,"user3Loaded")
    SDSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SDSE ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 1 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SDSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SDSR C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SDSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 1 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"punchLoaded")
        SDSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SDSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("PistolLoaded",1,"LightMeleeLoaded")
        SDSE XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SDSR XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSO ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("PistolLoaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistolHP2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistolHP2")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("HPLoaded",1,2)
        "----" # 0 A_JumpIfInventory("HollowpointAmmo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistolHP2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistolHP2")
        goto ready
   FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P B 10
       590P B 1 bright
		loop
 }
}
actor SuppressedPistolHP2: SuppressedPistol2
{
 Weapon.SelectionOrder 1800
 Weapon.AmmoUse1 1
 Weapon.AmmoUse2 1
 Weapon.AmmoGive2 0
 Weapon.AmmoType2 "Hollowpointammo"
 Weapon.AmmoType1 "HPloaded"
 weapon.slotnumber 2
 Inventory.Pickupmessage "$GOT_SWPISTOL4"
 Inventory.PickupSound "items/gunspickup"
 Obituary "$OBIT_SWPISTOL4"
 Weapon.BobStyle Alpha
 Weapon.BobSpeed 1.5
 Weapon.BobRangeX .2
 Weapon.BobRangeY .5
 weapon.upsound "weapons/pistolup"
 Tag "$WEAPON_SWPISTOL4"
 Inventory.Icon "590GB0"
 +AMMO_CHECKBOTH
 +AMMO_OPTIONAL
 +NOALERT
 +NOAUTOFIRE
 +DROPPED
 +CHEATNOTWEAPON
 +WEAPON.ALT_AMMO_OPTIONAL
 scale 0.7
 States
 {
 Ready:
  TNT1 A 0 A_TakeInventory("Punchimpact",1)
  SDSG B 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  SDSG B 0 a_JumpIfInventory("HPloaded",1,"LoadedReady")
  SDSG B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 LoadedReady:
  SDSG A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
 ReadyLamp:
     SDSG D 0 a_JumpIfInventory("HPloaded",1,"readylamploaded")
     SDSG D 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 ReadyLampLoaded:
     SDSG C 1 BRIGHT A_WeaponReady(WRF_ALLOWRELOAD|WRF_allowuser2|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
     loop
 Deselect:
  "----" #  0 A_LIGHT0
  "----" #  0 A_lower
  "----" #  1 A_Lower
  Loop
 Select:
 TNT1 A 0 A_TakeInventory("PolicePistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistolHP",1)
  TNT1 A 0 A_TakeInventory("SuppressedPistol2",1)
  TNT1 A 0 A_TakeInventory("PolicePistol",1)
   TNT1 A 0 A_TakeInventory("PolicePistol2",1)
   TNT1 A 0 A_TakeInventory("PolicePistolHP2",1)
  TNT1 A 0 a_JumpIfInventory("HPtoggled",1,"fakereload")
  SDSF C 0 a_JumpIfInventory("hpLoaded",1,"Loadedselect")
  SDSF C 1 A_Raise
  SDSF C 0 A_Raise
  Loop
  LoadedSelect:
  SDSG A 1 A_Raise
  SDSG A 0 A_Raise
  Loop
 Fire:
  SDSG A 0 a_JumpIfInventory("lightlit",1,"FireLamp")
  SDSG A 0 a_JumpIfInventory("HPloaded",1,"FireReal")
  Goto Reload
 Firelamp:
  SDSG A 0 a_JumpIfInventory("HPloaded",1,"FireLampReal")
  Goto Reload
 FireReal:
  TNT1 A 0 A_JumpIfInventory("HPloaded",1,1)
  Goto Empty
 FireReal1:
  SDSG A 0 A_gunflash
  SDSG A 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SDSF A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,16,"hitpuff")
  SDSF B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSF A 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  TNT1 A 0 A_Light0
  SDSF C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
  TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SDSF E 2 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SDSG B 1 a_refire("empty")
  goto ready
  SDSF D 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG A 0 a_refire("firereal")
  goto ready
 FirelampReal:
  SDSG C 0 A_gunflash("lampFlash")
  SDSG C 0 A_PlayWeaponSound("weapons/pistolSuppressed")
  SDSO J 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
  TNT1 A 0 A_FireBullets(0.8,0.8,-1,16,"hitpuff")
  SDSO K 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSO K 0 A_FireCustomMissile("pistolCasingSpawner",-10,0,15,0)
  SDSO L 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  TNT1 A 0 A_AlertMonsters(256)
   TNT1 A 0 a_JumpIfInventory("HPloaded",1,3)
  SDSO N 2 BRIGHT A_PlaySound("weapons/dryfire", CHAN_ITEM)
  SDSG D 1 BRIGHT a_refire("emptylamp")
  goto readylamp
  SDSO M 2 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG C 1 BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG C 0 a_refire("firelampreal")
  goto readylamp
 empty:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
 empty2:
  SDSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG B 0 a_refire("empty2")
  goto ready
 emptylamp:
  TNT1 A 0 A_PlaySound("weapons/dryfire", CHAN_ITEM)
  emptylamp2:
  SDSG D 2  BRIGHT A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  SDSG D 0  a_refire("emptylamp2")
  goto readylamp
 Reload:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"ReloadLamp")
		TNT1 A 0 A_JumpIfInventory("HPloaded",25,"Ready")
		TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadchamber")
		SDSG B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work1")
        Goto Ready
  ReloadLamp:
        TNT1 A 0 A_jumpifinventory("HPloaded",1,"reloadlamp2")
        SDSG D 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SDSG D 0 A_JumpIfInventory("HPloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp")
        Goto Readylamp
  ReloadLamp2:
        SDSG C 1 bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
		SDSG C 0 A_JumpIfInventory("HPloaded",25,"Readylamp")
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 ReloadChamber:
		SDSG A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH|WRF_ALLOWUSER1)
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"Work2")
        Goto Ready
 FakeReload:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work2b
 FakeReloadEmpty:
		TNT1 A 0 A_TakeInventory("HPtoggled",1)
		Goto work1b
 lampChamber:
        TNT1 A 0 A_JumpIfInventory("Hollowpointammo",1,"droplamp2")
        Goto Readylamp
 droplamp:
        SDSE X 2 BRIGHT a_playsound("items/flashlighton")
	    SDSE Y 2 A_takeinventory("lightlit",1)
	    SDSE Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE DEFGH 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSP K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SDSP L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSP M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop3
 droplamp2:
        SDSR X 2 BRIGHT a_playsound("items/flashlighton")
	    SDSR Y 2 A_takeinventory("lightlit",1)
	    SDSR Z 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR DEFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH H 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSH L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH M 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		goto reloadloop4
	Work1:
	    SDSE A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SDSE BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	work1b://fake reload
		TNT1 A 3
		SDSE DEFGHI 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipslide", CHAN_ITEM)
		SDSP JK 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSP LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSP NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
		goto reloaddone
	Work2:
	    SDSR A 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipout", CHAN_ITEM)
		SDSR BC 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 3
		SDSR D 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH EFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH HIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH KL 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	work2b: //fake reload
		TNT1 A 3
		SDSR DEFG 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR HIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR K 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR L 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH LM 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 A_PlaySound("weapons/pistolclipin", CHAN_ITEM)
		SDSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
		goto reloaddone2
	ReloadLoop:
		TNT1 A 0 a_JumpIfInventory("HPloaded",24,"ReloadDone")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop")
        Goto ReloadDone
	ReloadLoop2:
		TNT1 A 0 a_JumpIfInventory("HPloaded",25,"ReloadDone2")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop2")
        Goto ReloadDone2
	ReloadLoop3:
		TNT1 A 0 a_JumpIfInventory("HPloaded",24,"ReloadDone3")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop3")
        Goto ReloadDone3
	ReloadLoop4:
		TNT1 A 0 a_JumpIfInventory("HPloaded",25,"ReloadDone4")
		TNT1 A 0 A_TakeInventory("Hollowpointammo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_Giveinventory("HPloaded",1)
		TNT1 A 0 a_JumpIfInventory("Hollowpointammo",1,"Reloadloop4")
        Goto ReloadDone4
	ReloadDone:
		SDSP QQQR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSP ST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone2:
		SDSH QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSH TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		Goto Ready
	ReloadDone3:
		SDSP NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE QR 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSE STTTUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO H 1 a_playsound("items/flashlighton")
		SDSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
	ReloadDone4:
		SDSH NOP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR QRSS 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSR TUV 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		TNT1 A 2 
		SDSR CB 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO EFG 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
		SDSO H 1 a_playsound("items/flashlighton")
		SDSO I 1 A_giveinventory("lightlit",1)
		Goto Ready
  user2:
	TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
    TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	goto light
  unlight:
	TNT1 A 0 A_JumpIfInventory("HPloaded",1,"unlightLoaded")
	SDSO W 1 a_playsound("items/flashlighton")
	SDSO V 2 A_takeinventory("lightlit",1)
	SDSO UT 2
	SDSO S 1  a_playsound("weapons/pistolup")
    SDSO RQP 1  
	SDSO O 1 
    goto ready
  unlightloaded:
	SDSO I 1 a_playsound("items/flashlighton")
	SDSO H 2 A_takeinventory("lightlit",1)
	SDSO FG 2
	SDSO E 1  a_playsound("weapons/pistolup")
    SDSO DCB 1  
	SDSO A 1 A_takeinventory("lightlit",1)
    goto ready
  Light:
    SDSO O 0 A_JumpIfInventory("HPloaded",1,"LightLoaded")
	SDSO O 2 a_playsound("weapons/pistolup")
	SDSO PQRST 2 
	SDSO U 2 a_playsound("items/flashlighton")
	SDSO VW 2 
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
   LightLoaded:
	SDSO A 2 a_playsound("weapons/pistolup")
	SDSO BCDEF 2 
	SDSO G 1 a_playsound("items/flashlighton")
	SDSO HI 1
	TNT1 A 0 A_giveinventory("lightlit",1) 
    goto readylamp
  user3:
   "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
    SDSE O 0 a_JumpIfInventory("HPLOADED",1,"user3Loaded")
    SDSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SD5E C 0 a_playsound("items/flashlightload")
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SDSE ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto readylamp
 user3Loaded:
    SDSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	SDSR C 0 a_playsound("items/flashlightload")
	TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	MAGL O 0 A_takeinventory("BatteryReload",1)
	MAGL O 0 A_giveinventory("batteries",120)
	MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	SDSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_giveinventory("lightlit",1) 
	TNT1 A 0 a_playsound("items/flashlighton")
	goto ready
  USer1:
        TNT1 A 0 a_JumpIfInventory("lightlit",1,"LightMelee")
		TNT1 A 0 A_JumpIfInventory("HPloaded",1,"punchLoaded")
        SDSE ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockUL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  PunchBlockUL:
        WPUN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  PunchLoaded:
        SDSR ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(2, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblockL")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   PunchBlockL:
        WPUN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR CBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMelee:
        TNT1 A 0 A_JumpIfInventory("HPloaded",1,"LightMeleeLoaded")
        SDSE XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockUL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockUL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSE ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  LightMeleeLoaded:
        SDSR XYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        MAGL ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "MaglitePuff", 90)
	    MAGL D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		MAGL E 1 A_jumpifinventory("punchimpact", 1, "LightblockL")
		MAGL FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSR ZYX 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 LightBlockL:
        MAGL DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		SDSO ZYX 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
  Altfire:
        "----" # 0 A_JumpIfInventory("HPloaded",1,"AltfireLoaded")
		"----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Pistolloaded",1,2)
        "----" # 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistol2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistol2")
        goto ready
  AltfireLoaded:
        "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Pistolloaded",1,2)
        "----" # 0 A_JumpIfInventory("NineMilammo",1,1)
		goto ready
		"----" # 0 A_PlaySound("weapons/pistolup", CHAN_WEAPON)
		"----" # 0 A_Giveinventory("SuppressedPistol2")
		"----" # 0 A_Giveinventory("HPtoggled")
        "----" # 1 A_selectWeapon("SuppressedPistol2")
        goto ready
  FLASH:
        TNT1 A 2
		goto lightdone
  lampFlash:
        TNT1 A 2
		goto lightdone
 Spawn:
       590P B 10
       590P B 1 bright
		loop
 }
}