actor FAMAS : Weapon
{
  Game Doom
  Weapon.SelectionOrder 500
  weapon.ammotype "FAMASClip"
  weapon.ammouse 1
  weapon.ammogive2 250
  weapon.ammogive1 30
  weapon.ammotype2 "FAMASAmmo"
  Obituary "$OB_MPPISTOL" // "%o was tickled by %k's pea shooter."
  Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED" // "Picked up a pistol."
  States
  {
  Ready:
	FAMS A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload") 	
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    FAMS A 1 A_WeaponReady
    Loop
  Deselect:
    FAMS A 0 A_Lower
    FAMS A 0 A_Lower
    FAMS A 1 A_Lower
    Loop
  Select:
    FAMS A 0 A_Raise
    FAMS A 0 A_Raise
    FAMS A 1 A_Raise
    Loop
  Fire:
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    FAMS A 0 A_JumpIfInventory("doubletap",1,"Fire_doubletap")	
    FAMS A 0 A_JumpIfNoAmmo("Reload") 
    FAMS A 2
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,2.2,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 2
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,2.2,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 2
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,5.3,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 2
    FAMS C 0 A_JumpIfNoAmmo("Reload")
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")	 
    FAMS A 15 	 
    FAMS A 3 A_ReFire
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")	
    FAMS B 0 A_JumpIfNoAmmo("Reload") 
    Goto Ready
  Fire_doubletap:
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    FAMS A 0 A_JumpIfNoAmmo("Reload") 
    FAMS A 1
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,2.2,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 1
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,2.2,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 1
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(2.2,5.3,1,random(350,350),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 1
    FAMS C 0 A_JumpIfNoAmmo("Reload")
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")	 
    FAMS A 7 
    FAMS A 2 A_ReFire
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")	
    FAMS B 0 A_JumpIfNoAmmo("Reload") 
    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
  Reload:
	FAMS A 0 A_TakeInventory("IsReloading",1)
    FAMS A 0 A_JumpIfInventory("speedcola", 1, "Reload_speed")
    FAMS A 0 A_JumpIfInventory("FAMASclip", 30, "Ready")
    FAMS A 0 A_JumpIfInventory("FAMASammo", 1, 1)
	goto ready
    FAMS A 0 A_playsound("FAMAS/clipout")
    FAMS A 2 offset(0,38)
    FAMS A 2 offset(0,42)
    FAMS A 2 offset(0,46)
    FAMS A 2 offset(0,50)
    FAMS A 2 offset(0,54)
    FAMS A 2 offset(0,58)
    FAMS A 2 offset(0,62)
    FAMS A 2 offset(0,66)
    FAMS A 15 offset(0,66)
	goto reloadworking
  reloadworking:
    TNT1 A 0 A_GiveInventory("FAMASclip",1)
    TNT1 A 0 A_TakeInventory("FAMASammo",1)
    TNT1 A 0 A_JumpIfInventory("FAMASclip", 30,"ReloadDone")
    TNT1 A 0 A_JumpIfInventory("FAMASammo",1,"Reloadworking")
    goto reloaddone
  Reloaddone:
    FAMS A 25 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipin")
    FAMS A 25 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipbolt")
    FAMS A 2 offset(0,66)
    FAMS A 2 offset(0,62)
    FAMS A 2 offset(0,58)
    FAMS A 2 offset(0,54)
    FAMS A 2 offset(0,50)
    FAMS A 2 offset(0,46)
    FAMS A 2 offset(0,42)
    FAMS A 2 offset(0,38)
	goto ready
  Reload_speed:
	FAMS A 0 A_TakeInventory("IsReloading",1)
    FAMS A 0 A_JumpIfInventory("FAMASclip", 30, "Ready")
    FAMS A 0 A_JumpIfInventory("FAMASammo", 1, 1)
	goto ready
    FAMS A 0 A_playsound("FAMAS/clipout")
    FAMS A 1 offset(0,38)
    FAMS A 1 offset(0,42)
    FAMS A 1 offset(0,46)
    FAMS A 1 offset(0,50)
    FAMS A 1 offset(0,54)
    FAMS A 1 offset(0,58)
    FAMS A 1 offset(0,62)
    FAMS A 1 offset(0,66)
    FAMS A 7 offset(0,66)
	goto reloadworking_speed
  reloadworking_speed:
    TNT1 A 0 A_GiveInventory("FAMASclip",1)
    TNT1 A 0 A_TakeInventory("FAMASammo",1)
    TNT1 A 0 A_JumpIfInventory("FAMASclip", 30,"ReloadDone_speed")
    TNT1 A 0 A_JumpIfInventory("FAMASammo",1,"Reloadworking_speed")
    goto reloaddone_speed
  Reloaddone_speed:
    FAMS A 12 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipin")
    FAMS A 12 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipbolt")
    FAMS A 1 offset(0,66)
    FAMS A 1 offset(0,62)
    FAMS A 1 offset(0,58)
    FAMS A 1 offset(0,54)
    FAMS A 1 offset(0,50)
    FAMS A 1 offset(0,46)
    FAMS A 1 offset(0,42)
    FAMS A 1 offset(0,38)
	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:
    TNTA A 1 Bright A_Light1
    Goto LightDone
  Spawn:
    FAMS W -1
    Stop
  }
}

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


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


actor PAPFAMAS : Weapon
{
  Game Doom
  Weapon.SelectionOrder 1900
  weapon.ammotype "PAPFAMASClip"
  weapon.ammouse 1
  weapon.ammogive2 250
  weapon.ammogive1 30
  weapon.ammotype2 "FAMASAmmo"
  Obituary "$OB_MPPISTOL" // "%o was tickled by %k's pea shooter."
  Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED" // "Picked up a pistol."
  States
  {
  Ready:
	FAMS A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    FAMS A 1 A_WeaponReady
    Loop
  Deselect:
    FAMS A 0 A_Lower
    FAMS A 0 A_Lower
    FAMS A 1 A_Lower
    Loop
  Select:
    FAMS A 0 A_Raise
    FAMS A 0 A_Raise
    FAMS A 1 A_Raise
    Loop
  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
  Fire:
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    FAMS A 0 A_JumpIfInventory("doubletap",1,"Fire_doubletap")	
    FAMS A 0 A_JumpIfNoAmmo("Reload") 
    FAMS A 2
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(1,1,1,random(1650,1650),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1
    FAMS C 1
	FAMS C 0 A_refire
    FAMS B 0 A_JumpIfNoAmmo("Reload") 
    Goto Ready
  Fire_doubletap:
    FAMS A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    FAMS A 0 A_JumpIfNoAmmo("Reload") 
    FAMS A 1
	FAMS B 0 A_Gunflash
	FAMS B 0 A_PlaySound("famas/fire")
    FAMS B 0 A_FireBullets(1,1,2,random(1650,1650),"bulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,3,2)
    FAMS B 1 
    FAMS C 1	
    FAMS B 0 A_JumpIfNoAmmo("Reload") 
    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
  Reload:
	FAMS A 0 A_TakeInventory("IsReloading",1)
    FAMS A 0 A_JumpIfInventory("speedcola", 1, "Reload_speed")
    FAMS A 0 A_JumpIfInventory("PAPFAMASclip", 30, "Ready")
    FAMS A 0 A_JumpIfInventory("FAMASammo", 1, 1)
	goto ready
    FAMS A 0 A_playsound("FAMAS/clipout")
    FAMS A 2 offset(0,38)
    FAMS A 2 offset(0,42)
    FAMS A 2 offset(0,46)
    FAMS A 2 offset(0,50)
    FAMS A 2 offset(0,54)
    FAMS A 2 offset(0,58)
    FAMS A 2 offset(0,62)
    FAMS A 2 offset(0,66)
    FAMS A 15 offset(0,66)
	goto reloadworking
  reloadworking:
    TNT1 A 0 A_GiveInventory("PAPFAMASclip",1)
    TNT1 A 0 A_TakeInventory("FAMASammo",1)
    TNT1 A 0 A_JumpIfInventory("PAPFAMASclip", 30,"ReloadDone")
    TNT1 A 0 A_JumpIfInventory("FAMASammo",1,"Reloadworking")
    goto reloaddone
  Reloaddone:
    FAMS A 25 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipin")
    FAMS A 25 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipbolt")
    FAMS A 2 offset(0,66)
    FAMS A 2 offset(0,62)
    FAMS A 2 offset(0,58)
    FAMS A 2 offset(0,54)
    FAMS A 2 offset(0,50)
    FAMS A 2 offset(0,46)
    FAMS A 2 offset(0,42)
    FAMS A 2 offset(0,38)
	goto ready
  Reload_speed:
	FAMS A 0 A_TakeInventory("IsReloading",1)
    FAMS A 0 A_JumpIfInventory("PAPFAMASclip", 30, "Ready")
    FAMS A 0 A_JumpIfInventory("FAMASammo", 1, 1)
	goto ready
    FAMS A 0 A_playsound("FAMAS/clipout")
    FAMS A 1 offset(0,38)
    FAMS A 1 offset(0,42)
    FAMS A 1 offset(0,46)
    FAMS A 1 offset(0,50)
    FAMS A 1 offset(0,54)
    FAMS A 1 offset(0,58)
    FAMS A 1 offset(0,62)
    FAMS A 1 offset(0,66)
    FAMS A 7 offset(0,66)
	goto reloadworking_speed
  reloadworking_speed:
    TNT1 A 0 A_GiveInventory("PAPFAMASclip",1)
    TNT1 A 0 A_TakeInventory("FAMASammo",1)
    TNT1 A 0 A_JumpIfInventory("PAPFAMASclip", 30,"ReloadDone_speed")
    TNT1 A 0 A_JumpIfInventory("FAMASammo",1,"Reloadworking_speed")
    goto reloaddone_speed
  Reloaddone_speed:
    FAMS A 12 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipin")
    FAMS A 12 offset(0,66)
    FAMS A 0 A_playsound("FAMAS/clipbolt")
    FAMS A 1 offset(0,66)
    FAMS A 1 offset(0,62)
    FAMS A 1 offset(0,58)
    FAMS A 1 offset(0,54)
    FAMS A 1 offset(0,50)
    FAMS A 1 offset(0,46)
    FAMS A 1 offset(0,42)
    FAMS A 1 offset(0,38)
	goto ready
  Flash:
    TNTA A 1 Bright A_Light1
    Goto LightDone
  Spawn:
    FAMS W -1
    Stop
  }
}

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