actor PPSH-41 : Weapon
{
  Game Doom
  Weapon.SelectionOrder 1500
  weapon.ammotype "PPSHClip"
  weapon.ammouse 1
  weapon.ammogive 71
  weapon.ammogive2 355
  weapon.ammotype2 "PPSHAmmo"
  Obituary "$OB_MPPISTOL" // "%o was tickled by %k's pea shooter."
  Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED" // "Picked up a pistol."
  States
  {
  Ready:
	PPSH A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload")
	PPSH A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")  
    PPSH A 1 A_WeaponReady
    Loop
  Deselect: 
    PPSH A 0 A_Lower
    PPSH A 0 A_Lower
    PPSH A 1 A_Lower
    loop
  Select:
    PPSH A 0 A_Raise
    PPSH A 0 A_Raise
    PPSH A 1 A_Raise
    loop
  Fire:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    PPSH A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
    PPSH A 2 A_playsound("PPSH/FIRE")
    PPSH B 2 bright A_FireBullets (3,2.2,-1,random(1950,1950),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 2
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletap:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 1 A_playsound("PPSH/FIRE")
    PPSH B 1 bright A_FireBullets (3,2.2,-1,random(1950,1950),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 1
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshot:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 0 A_jumpifinventory("Doubletap",1,"Fire_deadshotDoubletap")
    PPSH A 2 A_playsound("PPSH/FIRE")
    PPSH B 2 bright A_FireBullets (1.7,1,-1,random(950,950),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 2
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshotDoubletap:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 1 A_playsound("PPSH/FIRE")
    PPSH B 1 bright A_FireBullets (1.7,1,-1,random(950,950),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 1
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Reload:
	PPSH A 0 A_TakeInventory("IsReloading",1)
    PPSH A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    PPSH A 0 A_jumpifinventory("PPSHClip", 71,"ready")
	PPSH A 0 A_jumpifinventory("PPSHammo", 1, 1)
	goto ready
	PPSH A 1 A_playsound("PPSH/clipout")
	PPSH A 2 offset(0,40)
	PPSH A 2 offset(0,44)
	PPSH A 2 offset(0,48)
	PPSH A 2 offset(0,52)
	PPSH A 2 offset(0,56)
	PPSH A 2 offset(0,60)
	PPSH A 2 offset(0,64)
    Goto Reload2
  Reload2:
    AKRE A 0 A_Giveinventory("PPSHClip",1)
	AKRE A 0 A_Takeinventory("PPSHammo",1)
    AKRE A 0 A_jumpifinventory("PPSHClip",71,"reloaddone")
	AKRE A 0 A_jumpifinventory("PPSHammo",1,"reload2")
	goto reloaddone
  Reloaddone:
	PPSH A 20 offset(0,64)
	PPSH A 1 A_playsound("PPSH/clipin")
	PPSH A 20 offset(0,64)
	PPSH A 1 A_playsound("PPSH/bolt")
	PPSH A 2 offset(0,64)
	PPSH A 2 offset(0,60)
	PPSH A 2 offset(0,56)
	PPSH A 2 offset(0,52)
	PPSH A 2 offset(0,48)
	PPSH A 2 offset(0,44)
	PPSH A 2 offset(0,40)
	goto ready
  Reload_speed:
	PPSH A 0 A_TakeInventory("IsReloading",1)
    PPSH A 0 A_jumpifinventory("PPSHClip", 71,"ready")
	PPSH A 0 A_jumpifinventory("PPSHammo", 1, 1)
	goto ready
	PPSH A 1 A_playsound("PPSH/clipout")
	PPSH A 1 offset(0,40)
	PPSH A 1 offset(0,44)
	PPSH A 1 offset(0,48)
	PPSH A 1 offset(0,52)
	PPSH A 1 offset(0,56)
	PPSH A 1 offset(0,60)
	PPSH A 1 offset(0,64)
    Goto Reload2_speed
  Reload2_speed:
    AKRE A 0 A_Giveinventory("PPSHClip",1)
	AKRE A 0 A_Takeinventory("PPSHammo",1)
    AKRE A 0 A_jumpifinventory("PPSHClip",71,"reloaddone_speed")
	AKRE A 0 A_jumpifinventory("PPSHammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
	PPSH A 10 offset(0,64)
	PPSH A 1 A_playsound("PPSH/clipin")
	PPSH A 10 offset(0,64)
	PPSH A 1 A_playsound("PPSH/bolt")
	PPSH A 1 offset(0,64)
	PPSH A 1 offset(0,60)
	PPSH A 1 offset(0,56)
	PPSH A 1 offset(0,52)
	PPSH A 1 offset(0,48)
	PPSH A 1 offset(0,44)
	PPSH A 1 offset(0,40)
	goto ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
  Flash:
    TNTT A 0
	stop
  Spawn:
    GEWE Z -1
	stop
  }
}


actor PPSHClip : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 71
    ammo.backpackamount 0
    ammo.backpackmaxamount 71
    +IGNORESKILL
}

actor PPSHAmmo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 355
    inventory.maxamount 355
    ammo.backpackamount 355
    ammo.backpackmaxamount 355
    +IGNORESKILL
    inventory.pickupmessage "Got Colt45 rounds!"  
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}

actor PAPPPSHClip : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 115
    ammo.backpackamount 0
    ammo.backpackmaxamount 115
    +IGNORESKILL
}

actor PAPPPSHAmmo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 700
    inventory.maxamount 700
    ammo.backpackamount 700
    ammo.backpackmaxamount 700
    +IGNORESKILL
    inventory.pickupmessage "Got Colt45 rounds!"  
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}

actor PAPPPSH-41 : Weapon
{
  Game Doom
  Weapon.SelectionOrder 1500
  weapon.ammotype "PAPPPSHClip"
  weapon.ammouse 1
  weapon.ammogive 115
  weapon.ammogive2 700
  weapon.ammotype2 "PAPPPSHAmmo"
  Obituary "$OB_MPPISTOL" // "%o was tickled by %k's pea shooter."
  Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED" // "Picked up a pistol."
  States
  {
  Ready:
	PPSH A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload")
	PPSH A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")  
    PPSH A 1 A_WeaponReady
    Loop
  Deselect: 
    PPSH A 0 A_Lower
    PPSH A 0 A_Lower
    PPSH A 1 A_Lower
    loop
  Select:
    PPSH A 0 A_Raise
    PPSH A 0 A_Raise
    PPSH A 1 A_Raise
    loop
  Fire:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    PPSH A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
    PPSH A 2 A_playsound("PPSH/FIRE")
    PPSH B 1 bright A_FireBullets (1.2,1.1,-1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 2
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletap:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 1 A_playsound("PPSH/FIRE")
    PPSH B 1 bright A_FireBullets (1.2,1.1,-1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 1
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshot:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 0 A_jumpifinventory("Doubletap",1,"Fire_deadshotDoubletap")
    PPSH A 2 A_playsound("PPSH/FIRE")
    PPSH B 2 bright A_FireBullets (1,1,-1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 2
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshotDoubletap:
    PPSH A 0
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
    PPSH A 1 A_playsound("PPSH/FIRE")
    PPSH B 1 bright A_FireBullets (1,1,-1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    PPSH A 1
    PPSH A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    PPSH A 0 A_jumpifnoammo("Reload")
	goto ready
  Reload:
	PPSH A 0 A_TakeInventory("IsReloading",1)
    PPSH A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    PPSH A 0 A_jumpifinventory("PAPPPSHClip", 115,"ready")
	PPSH A 0 A_jumpifinventory("PAPPPSHammo", 1, 1)
	goto ready
	PPSH A 1 A_playsound("PPSH/clipout")
	PPSH A 2 offset(0,40)
	PPSH A 2 offset(0,44)
	PPSH A 2 offset(0,48)
	PPSH A 2 offset(0,52)
	PPSH A 2 offset(0,56)
	PPSH A 2 offset(0,60)
	PPSH A 2 offset(0,64)
    Goto Reload2
  Reload2:
    AKRE A 0 A_Giveinventory("PAPPPSHClip",1)
	AKRE A 0 A_Takeinventory("PAPPPSHammo",1)
    AKRE A 0 A_jumpifinventory("PAPPPSHClip",115,"reloaddone")
	AKRE A 0 A_jumpifinventory("PAPPPSHammo",1,"reload2")
	goto reloaddone
  Reloaddone:
	PPSH A 20 offset(0,64)
	PPSH A 1 A_playsound("PPSH/clipin")
	PPSH A 20 offset(0,64)
	PPSH A 1 A_playsound("PPSH/bolt")
	PPSH A 2 offset(0,64)
	PPSH A 2 offset(0,60)
	PPSH A 2 offset(0,56)
	PPSH A 2 offset(0,52)
	PPSH A 2 offset(0,48)
	PPSH A 2 offset(0,44)
	PPSH A 2 offset(0,40)
	goto ready
  Reload_speed:
	PPSH A 0 A_TakeInventory("IsReloading",1)
    PPSH A 0 A_jumpifinventory("PAPPPSHClip", 115,"ready")
	PPSH A 0 A_jumpifinventory("PAPPPSHammo", 1, 1)
	goto ready
	PPSH A 1 A_playsound("PPSH/clipout")
	PPSH A 1 offset(0,40)
	PPSH A 1 offset(0,44)
	PPSH A 1 offset(0,48)
	PPSH A 1 offset(0,52)
	PPSH A 1 offset(0,56)
	PPSH A 1 offset(0,60)
	PPSH A 1 offset(0,64)
    Goto Reload2_speed
  Reload2_speed:
    AKRE A 0 A_Giveinventory("PAPPPSHClip",1)
	AKRE A 0 A_Takeinventory("PAPPPSHammo",1)
    AKRE A 0 A_jumpifinventory("PAPPPSHClip",115,"reloaddone_speed")
	AKRE A 0 A_jumpifinventory("PAPPPSHammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
	PPSH A 10 offset(0,64)
	PPSH A 1 A_playsound("PPSH/clipin")
	PPSH A 10 offset(0,64)
	PPSH A 1 A_playsound("PPSH/bolt")
	PPSH A 1 offset(0,64)
	PPSH A 1 offset(0,60)
	PPSH A 1 offset(0,56)
	PPSH A 1 offset(0,52)
	PPSH A 1 offset(0,48)
	PPSH A 1 offset(0,44)
	PPSH A 1 offset(0,40)
	goto ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
  Flash:
    TNTT A 0
	stop
  Spawn:
    GEWE Z -1
	stop
  }
}