Actor BAR : Weapon
{
  obituary "%o was begded down by %k's BAR."
  Weapon.SelectionOrder 100  
  inventory.pickupmessage "You got the BAR!"
  weapon.ammotype "BARClip"
  weapon.ammouse 1
  weapon.ammogive2 999
  weapon.ammogive1 999
  weapon.ammotype2 "BARAmmo"
  States
  {
  Ready:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	BARA A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	BARA A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    BARA A 1 A_Weaponready
	loop
  Deselect: 
    BARA A 0 A_Lower
    BARA A 0 A_Lower
    BARA A 1 A_Lower
    loop
  Select:
    BARA A 0 A_Raise
    BARA A 0 A_Raise
    BARA A 1 A_Raise
    loop
  Fire:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    BARA A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
    BARA A 1
	BARA B 2 bright A_FireBullets (7,7.5,1,random(1650,1650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 3 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 4 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_deadshot:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletapdeadshot")
    BARA A 1
	BARA B 2 bright A_FireBullets (3.5,2.5,1,random(1650,1650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 3 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 4 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_Doubletapdeadshot:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1
	BARA B 1 bright A_FireBullets (3.5,2.5,1,random(1650,1650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 2 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_Doubletap:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1
	BARA B 1 bright A_FireBullets (7,7.5,1,random(1650,1650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 2 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Reload_speed:
	BARA A 0 A_TakeInventory("IsReloading",1)
    BARA A 0 A_jumpifinventory("BARclip", 20,"ready")
	BARA A 0 A_jumpifinventory("BARAmmo", 1, 1)
	goto ready+1
	BARA A 0 A_playsound("BAR/out")
	BARA A 1 offset(0,40)
	BARA A 1 offset(0,44)
	BARA A 1 offset(0,48)
	BARA A 1 offset(0,52)
	BARA A 1 offset(0,56)
	BARA A 1 offset(0,60)
	BARA A 1 offset(0,64)
	BARA A 10 offset(0,64)
    Goto Reload2_speed
  Reload2_speed:
    BARA A 0 A_Giveinventory("BARclip",1)
	BARA A 0 A_Takeinventory("BARammo",1)
    BARA A 0 A_jumpifinventory("BARclip",20,"reloaddone_speed")
	BARA A 0 A_jumpifinventory("BARammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
    BARA A 0 A_playsound("BAR/in")
	BARA A 7 offset(0,64)
	BARA A 0 A_playsound("BAR/bolt")
	BARA A 5 offset(0,64)
    BARA A 1 offset(0,64)
	BARA A 1 offset(0,60)
	BARA A 1 offset(0,56)
	BARA A 1 offset(0,52)
	BARA A 1 offset(0,48)
	BARA A 1 offset(0,44)
	BARA A 1 offset(0,40)
	goto ready
  Reload:
	BARA A 0 A_TakeInventory("IsReloading",1)
    BARA A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    BARA A 0 A_jumpifinventory("BARclip", 20,"ready")
	BARA A 0 A_jumpifinventory("BARAmmo", 1, 1)
	goto ready+1
	BARA A 0 A_playsound("BAR/out")
	BARA A 2 offset(0,40)
	BARA A 2 offset(0,44)
	BARA A 2 offset(0,48)
	BARA A 2 offset(0,52)
	BARA A 2 offset(0,56)
	BARA A 2 offset(0,60)
	BARA A 2 offset(0,64)
	BARA A 20 offset(0,64)
    Goto Reload2
  Reload2:
    BARA A 0 A_Giveinventory("BARclip",1)
	BARA A 0 A_Takeinventory("BARammo",1)
    BARA A 0 A_jumpifinventory("BARclip",20,"reloaddone")
	BARA A 0 A_jumpifinventory("BARammo",1,"reload2")
	goto reloaddone
  Reloaddone:
    BARA A 0 A_playsound("BAR/in")
	BARA A 15 offset(0,64)
	BARA A 0 A_playsound("BAR/bolt")
	BARA A 10 offset(0,64)
    BARA A 2 offset(0,64)
	BARA A 2 offset(0,60)
	BARA A 2 offset(0,56)
	BARA A 2 offset(0,52)
	BARA A 2 offset(0,48)
	BARA A 2 offset(0,44)
	BARA A 2 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:
    TNT1 A 2 bright
    Stop
  Spawn:
    BARS A -1
    stop
  }
}

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

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

Actor PAPBAR : Weapon
{
  obituary "%o was begded down by %k's BAR."
  Weapon.SelectionOrder 100  
  inventory.pickupmessage "You got the BAR!"
  weapon.ammotype "PAPBARClip"
  weapon.ammouse 1
  weapon.ammogive2 999
  weapon.ammogive1 999
  weapon.ammotype2 "PAPBARAmmo"
  States
  {
  Ready:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload") 
	BARA A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	BARA A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    BARA A 1 A_Weaponready
	loop
  Deselect: 
    BARA A 0 A_Lower
    BARA A 0 A_Lower
    BARA A 1 A_Lower
    loop
  Select:
    BARA A 0 A_Raise
    BARA A 0 A_Raise
    BARA A 1 A_Raise
    loop
  Fire:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 0 A_jumpifinventory("deadshot",1,"Fire_deadshot")
    BARA A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletap")
    BARA A 1
	BARA B 2 bright A_FireBullets (3.5,4,1,random(2650,2650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 3 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_deadshot:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 0 A_jumpifinventory("Doubletap",1,"Fire_Doubletapdeadshot")
    BARA A 1
	BARA B 2 bright A_FireBullets (1.6,2,1,random(2650,2650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 3 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_Doubletap:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1
	BARA B 1 bright A_FireBullets (3.5,4,1,random(2650,2650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 2 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Fire_Doubletapdeadshot:
    BARA A 0 A_JumpIfInventory("IsReloading",1,"Reload")
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1
	BARA B 1 bright A_FireBullets (1.6,2,1,random(2650,2650),"BulletPuff")
	TNTT A 0 A_FireCustomMissile("BulletCasingSpawner",0,0,-6,2)
    BARA B 2
    BARA C 2 A_PlaySound("BAR/Fire")
    BARA A 1
    BARA A 3 
    BARA A 0 A_jumpifnoammo("Reload")
    BARA A 1 A_REFIRE 
    BARA A 0 A_jumpifnoammo("Reload")
    goto ready
  Reload_speed:
	BARA A 0 A_TakeInventory("IsReloading",1)
    BARA A 0 A_jumpifinventory("PAPBARclip", 30,"ready")
	BARA A 0 A_jumpifinventory("PAPBARAmmo", 1, 1)
	goto ready+1
	BARA A 0 A_playsound("BAR/out")
	BARA A 1 offset(0,40)
	BARA A 1 offset(0,44)
	BARA A 1 offset(0,48)
	BARA A 1 offset(0,52)
	BARA A 1 offset(0,56)
	BARA A 1 offset(0,60)
	BARA A 1 offset(0,64)
	BARA A 10 offset(0,64)
    Goto Reload2_speed
  Reload2_speed:
    BARA A 0 A_Giveinventory("PAPBARclip",1)
	BARA A 0 A_Takeinventory("PAPBARammo",1)
    BARA A 0 A_jumpifinventory("PAPBARclip",30,"reloaddone_speed")
	BARA A 0 A_jumpifinventory("PAPBARammo",1,"reload2_speed")
	goto reloaddone_speed
  Reloaddone_speed:
    BARA A 0 A_playsound("BAR/in")
	BARA A 7 offset(0,64)
	BARA A 0 A_playsound("BAR/bolt")
	BARA A 5 offset(0,64)
    BARA A 1 offset(0,64)
	BARA A 1 offset(0,60)
	BARA A 1 offset(0,56)
	BARA A 1 offset(0,52)
	BARA A 1 offset(0,48)
	BARA A 1 offset(0,44)
	BARA A 1 offset(0,40)
	goto ready
  Reload:
	BARA A 0 A_TakeInventory("IsReloading",1)
    BARA A 0 A_jumpifinventory("Speedcola", 1,"Reload_speed")
    BARA A 0 A_jumpifinventory("PAPBARclip", 30,"ready")
	BARA A 0 A_jumpifinventory("PAPBARAmmo", 1, 1)
	goto ready+1
	BARA A 0 A_playsound("BAR/out")
	BARA A 2 offset(0,40)
	BARA A 2 offset(0,44)
	BARA A 2 offset(0,48)
	BARA A 2 offset(0,52)
	BARA A 2 offset(0,56)
	BARA A 2 offset(0,60)
	BARA A 2 offset(0,64)
	BARA A 20 offset(0,64)
    Goto Reload2
  Reload2:
    BARA A 0 A_Giveinventory("PAPBARclip",1)
	BARA A 0 A_Takeinventory("PAPBARammo",1)
    BARA A 0 A_jumpifinventory("PAPBARclip",30,"reloaddone")
	BARA A 0 A_jumpifinventory("PAPBARammo",1,"reload2")
	goto reloaddone
  Reloaddone:
    BARA A 0 A_playsound("BAR/in")
	BARA A 15 offset(0,64)
	BARA A 0 A_playsound("BAR/bolt")
	BARA A 10 offset(0,64)
    BARA A 2 offset(0,64)
	BARA A 2 offset(0,60)
	BARA A 2 offset(0,56)
	BARA A 2 offset(0,52)
	BARA A 2 offset(0,48)
	BARA A 2 offset(0,44)
	BARA A 2 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:
    TNT1 A 2 bright
    Stop
  Spawn:
    BARS A -1
    stop
  }
}

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

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