actor UAC_Machinegun : Weapon
{
  weapon.ammotype "UACClip"
  weapon.ammotype2 "UACAmmo"
  weapon.ammouse 1
  weapon.ammogive2 999
  weapon.ammogive1 999
  states
  {
  Ready:
    AK47 A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	AK47 A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    UACM A 1 A_WeaponReady 
    loop
  Deselect: 
    UACM A 0 A_Lower
    UACM A 0 A_Lower
    UACM A 1 A_Lower
    loop
  Select:
    UACM A 0 A_Raise
    UACM A 0 A_Raise
    UACM A 1 A_Raise
    loop
  Fire:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    UACF A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 5 bright A_FireBullets (4.2,2.5,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 5 bright A_FireBullets (4.2,2.5,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshot:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletapdeadshot")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 5 bright A_FireBullets (2.1,1.3,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 5 bright A_FireBullets (2.1,1.3,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletapdeadshot:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 3 bright A_FireBullets (2.1,1.3,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 3 bright A_FireBullets (2.1,1.3,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletap:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 3 bright A_FireBullets (4.2,2.5,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 3 bright A_FireBullets (4.2,2.5,1,random(1000,1000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Reload:
	UACM A 0 A_TakeInventory("IsReloading",1)
    AKRE A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    UACM A 0 A_jumpifinventory("UACclip", 25,"ready")
	UACM A 0 A_jumpifinventory("UACAmmo", 1, 1)
	goto ready+1
	UACM G 0 A_playsound("UAC/clipout")
	UACM BC 4
	UACM C 20
    Goto Reload2
  Reload2:
    UACM A 0 A_Giveinventory("UACclip",1)
	UACM A 0 A_Takeinventory("UACammo",1)
    UACM A 0 A_jumpifinventory("UACclip",25,"reloaddone")
	UACM A 0 A_jumpifinventory("UACammo",1,"reload2")
	goto reloaddone
  Reloaddone:
    UACM D 4
    UACM D 0 A_playsound("UAC/clipin")
	UACM E 4
    UACM EB 4
	goto ready
  Reload_speed:
	UACM A 0 A_TakeInventory("IsReloading",1)
    UACM A 0 A_jumpifinventory("UACclip", 25,"ready")
	UACM A 0 A_jumpifinventory("UACAmmo", 1, 1)
	goto ready+1
	UACM G 0 A_playsound("UAC/clipout")
	UACM BC 2
	UACM C 10
    Goto Reload2_speed
  Reload2_speed:
    UACM A 0 A_Giveinventory("UACclip",1)
	UACM A 0 A_Takeinventory("UACammo",1)
    UACM A 0 A_jumpifinventory("UACclip",25,"reloaddone_speed")
	UACM A 0 A_jumpifinventory("UACammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
    UACM D 2
    UACM D 0 A_playsound("UAC/clipin")
	UACM E 2
    UACM EB 2
	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
  Spawn:
	UCSP A -1
	loop
  }
}

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

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


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

actor PAPUAC_Machinegun : Weapon
{
  weapon.ammotype "PAPUACClip"
  weapon.ammotype2 "PAPUACAmmo"
  weapon.ammouse 1
  weapon.ammogive2 999
  weapon.ammogive1 999
  states
  {
  Ready:
    AK47 A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	AK47 A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    UACM A 1 A_WeaponReady 
    loop
  Deselect: 
    UACM A 0 A_Lower
    UACM A 0 A_Lower
    UACM A 1 A_Lower
    loop
  Select:
    UACM A 0 A_Raise
    UACM A 0 A_Raise
    UACM A 1 A_Raise
    loop
  Fire:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    UACF A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 3 bright A_FireBullets (4.2,2.5,1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 3 bright A_FireBullets (4.2,2.5,1,random(2000,2000),"BulletPuff",0)
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_deadshot:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletapdeadshot")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 3 bright A_FireBullets (1,1,1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 3 bright A_FireBullets (1,1,1,random(2000,2000),"BulletPuff",0)
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletapdeadshot:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 2 bright A_FireBullets (1,1,1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 1 bright A_FireBullets (1,1,1,random(2000,2000),"BulletPuff",0)
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Fire_Doubletap:
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	TNTT A 0 A_playsound("UAC/fire")
    UACF A 2 bright A_FireBullets (4.2,2.5,1,random(2000,2000),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
	TNTT A 0 A_playsound("UAC/fire")
    UACF B 1 bright A_FireBullets (4.2,2.5,1,random(2000,2000),"BulletPuff",0)
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    UACF A 0 A_jumpifnoammo("Reload")
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	UACF B 0 A_ReFire
    UACF A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
    UACF A 0 A_jumpifnoammo("Reload")
	goto ready
  Reload:
	UACM A 0 A_TakeInventory("IsReloading",1)
    AKRE A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    UACM A 0 A_jumpifinventory("PAPUACclip", 35,"ready")
	UACM A 0 A_jumpifinventory("PAPUACAmmo", 1, 1)
	goto ready+1
	UACM G 0 A_playsound("UAC/clipout")
	UACM BC 4
	UACM C 20
    Goto Reload2
  Reload2:
    UACM A 0 A_Giveinventory("PAPUACclip",1)
	UACM A 0 A_Takeinventory("PAPUACammo",1)
    UACM A 0 A_jumpifinventory("PAPUACclip",35,"reloaddone")
	UACM A 0 A_jumpifinventory("PAPUACammo",1,"reload2")
	goto reloaddone
  Reloaddone:
    UACM D 4
    UACM D 0 A_playsound("UAC/clipin")
	UACM E 4
    UACM EB 4
	goto ready
  Reload_speed:
	UACM A 0 A_TakeInventory("IsReloading",1)
    UACM A 0 A_jumpifinventory("PAPUACclip", 35,"ready")
	UACM A 0 A_jumpifinventory("PAPUACAmmo", 1, 1)
	goto ready+1
	UACM G 0 A_playsound("UAC/clipout")
	UACM BC 2
	UACM C 10
    Goto Reload2_speed
  Reload2_speed:
    UACM A 0 A_Giveinventory("PAPUACclip",1)
	UACM A 0 A_Takeinventory("PAPUACammo",1)
    UACM A 0 A_jumpifinventory("PAPUACclip",35,"reloaddone_speed")
	UACM A 0 A_jumpifinventory("PAPUACammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
    UACM D 2
    UACM D 0 A_playsound("UAC/clipin")
	UACM E 2
    UACM EB 2
	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
  Spawn:
    UCSO A -1
	loop
  }
}

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