// --------------------------------------------------------------------------
//
//	Beretta M92FS
//
// --------------------------------------------------------------------------

ACTOR DualBeretta : BaseWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive1 10
	Weapon.AmmoGive2 0
	Weapon.AmmoType1 "Magazine9mm"
	Weapon.AmmoType2 "DualBerettaAmmo"
	Weapon.SelectionOrder 15000
	Weapon.UpSound "weapons/weaponholster"
	-WEAPON.CHEATNOTWEAPON
	+POWERED_UP
	Weapon.SisterWeapon "Beretta"
	Inventory.PickupSound "weapons/pistolup"
	Inventory.Pickupmessage "You got the Pistol!"
	Obituary "%o was shot down by %k's Berettas."
	tag "Dual Pistols"
	Scale 0.6
	States
	{
	Spawn:
		BERT A -1
		Stop

	Select:
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist",1,"PuristGun")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1001,1)==0,"VanillaGun")
		TNT1 A 0 A_Giveinventory("GoSpecial",1)
		TNT1 A 0 A_Giveinventory("PistolSelected",1)
		TNT1 A 0 A_Takeinventory("Unloading",1)
		TNT1 A 0 A_Takeinventory("Reloading",1)
		TNT1 A 0 A_TakeInventory("TossGrenade",1)
		TNT1 A 0 A_Takeinventory("WeapSpecial",1)
		TNT1 A 0 A_Takeinventory("SwitchFlashlight",1)
		TNT1 A 0 A_Takeinventory("Taunting",1)
		TNT1 A 0 A_Takeinventory("IdleCounter",200)
		TNT1 A 0 A_Takeinventory("FireSeq",5)
		TNT1 A 4
		TNT1 A 0 A_Raise
		Wait
		
	Deselect:
		TNT1 A 0 A_PlaySound("weapons/changing")
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,16)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,8)
		2BES ABCDEF 1
		TNT1 A 0 A_Jump(256,14)
		3BES ABCDEF 1
		TNT1 A 0 A_Jump(256,7)
		4BES ABCDEF 1
		TNT1 A 0 A_Takeinventory("PistolFlashlightON",1)
		TNT1 A 0 A_GunFlash("FlashlightTurnOFF")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1028)==2, 2)
		TNT1 A 0 A_Takeinventory("PowerWeaponLevel2",1)
		TNT1 A 0 A_Takeinventory("PistolSelected",1)
		TNT1 A 0 A_Lower
		Wait
		
	StopLeft:
		TNT1 A 0
		Stop
		
	Ready:
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		TNT1 A 0 A_PlaySound("weapons/pistolup",5)
	Ready1:
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,16)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,8)
		2BES FEDCBA 1
		TNT1 A 0 A_Jump(256,14)
		3BES FEDCBA 1
		TNT1 A 0 A_Jump(256,7)
		4BES FEDCBA 1
		TNT1 A 0
	Ready2:
		TNT1 A 0 //A_GunFlash
	Ready3:
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
		TNT1 A 0 A_JumpIfInventory("WeapSpecial",1,"WeapSpecial")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"WeapSpecial")
		TNT1 A 0 A_JumpIfInventory("StartDualWield",1,"DualWield")
		TNT1 A 0 A_JumpIfInventory("IdleCounter",200,"PlayerIsIdle")
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,4)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,2)
		2BEF A 1 A_WeaponReady
		Goto Ready3
		3BEF A 1 A_WeaponReady
		Goto Ready3
		4BEF A 1 A_WeaponReady
		Goto Ready3
		
// --------------------------------------------------------------------------
//
//	Fire
//
// --------------------------------------------------------------------------

	Fire:
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,"FireSilencer")
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,"FireFlashlight")
		TNT1 A 0 A_JumpIfInventory("FireSeq",1,"FireContinue")
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1)
		TNT1 A 0 A_ZoomFactor(0.98)
		2BEF B 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.6)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		2BEF C 1
		TNT1 A 0 A_Setpitch(pitch+0.1)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",5)
		TNT1 A 0 A_ZoomFactor(0.98)
		2BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		2BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		TNT1 A 0 A_GiveInventory("FireSeq", 1)
		2BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		2BEF G 1 A_WeaponReady
		TNT1 A 0 A_Setpitch(pitch+0.1)
		2BEF H 1 A_WeaponReady
		TNT1 A 0 A_Setpitch(pitch+0.1)
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		2BEF A 7 A_WeaponReady
		Goto Ready2
		
	FireContinue:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1)
		TNT1 A 0 A_ZoomFactor(0.98)
		2BEF I 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		2BEF J 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",5)
		TNT1 A 0 A_ZoomFactor(0.98)
		2BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		2BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		2BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		2BEF G 1 A_WeaponReady(WRF_NOSECONDARY)
		TNT1 A 0 A_Setpitch(pitch+0.1)
		2BEF H 1 A_WeaponReady(WRF_NOSECONDARY)
		TNT1 A 0 A_Setpitch(pitch+0.1)
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		2BEF A 7 A_WeaponReady
		Goto Ready2

	FireFlashlight:
		TNT1 A 0 A_JumpIfInventory("FireSeq",1,"FireContinue")
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1)
		TNT1 A 0 A_ZoomFactor(0.98)
		3BEF B 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.6)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		3BEF C 1
		TNT1 A 0 A_Setpitch(pitch+0.1)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",5)
		TNT1 A 0 A_ZoomFactor(0.98)
		3BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		3BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		TNT1 A 0 A_GiveInventory("FireSeq", 1)
		3BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		3BEF G 1 A_WeaponReady
		TNT1 A 0 A_Setpitch(pitch+0.1)
		3BEF H 1 A_WeaponReady
		TNT1 A 0 A_Setpitch(pitch+0.1)
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		3BEF A 7 A_WeaponReady
		Goto Ready2
		
	FireFlashlightContinue:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1)
		TNT1 A 0 A_ZoomFactor(0.98)
		3BEF I 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		3BEF J 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",5)
		TNT1 A 0 A_ZoomFactor(0.98)
		3BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.5)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		3BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		3BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		3BEF G 1 A_WeaponReady(WRF_NOSECONDARY)
		TNT1 A 0 A_Setpitch(pitch+0.1)
		3BEF H 1 A_WeaponReady(WRF_NOSECONDARY)
		TNT1 A 0 A_Setpitch(pitch+0.1)
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		3BEF A 7 A_WeaponReady
		Goto Ready2

	FireSilencer:
		TNT1 A 0 A_JumpIfInventory("FireSeq",1,"FireSilencerContinue")
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1,0.3)
		TNT1 A 0 A_PlaySound("SPIFIR",5)
		TNT1 A 0 A_ZoomFactor(0.99)
		4BEF B 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.4)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		4BEF C 1
		TNT1 A 0 A_Setpitch(pitch+0.1)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1,0.3)
		TNT1 A 0 A_PlaySound("SPIFIR",5)
		TNT1 A 0 A_ZoomFactor(0.99)
		4BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.3)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		4BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		TNT1 A 0 A_GiveInventory("FireSeq", 1)
		4BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		4BEF G 1 A_WeaponReady
		4BEF H 1 A_WeaponReady
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		4BEF A 7 A_WeaponReady
		Goto Ready2
		
	FireSilencerContinue:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",2,1)
		Goto Reload
		//Fire right gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1,0.3)
		TNT1 A 0 A_PlaySound("SPIFIR",5)
		TNT1 A 0 A_ZoomFactor(0.99)
		4BEF I 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.3)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		4BEF J 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,21,-8)
		//Fire left gun
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,0,45)
		TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,-15,0)
		TNT1 A 0 A_PlaySound("PISFIRE",1,0.3)
		TNT1 A 0 A_PlaySound("SPIFIR",5)
		TNT1 A 0 A_ZoomFactor(0.99)
		4BEF D 1 BRIGHT
		TNT1 A 0 A_Setpitch(pitch-0.3)
		TNT1 A 0 A_FireBullets(2.4,2.4,-1,9,"HitPuff",1)
		TNT1 A 0 A_FireCustomMissile("Tracer",frandom(-2,2),0,-15,0,0,frandom(-2,2))
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		4BEF E 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,-9,-8)
		//Contine
		4BEF F 1
		TNT1 A 0 A_Setpitch(pitch+0.2)
		//Refire
		4BEF G 1 A_WeaponReady(WRF_NOSECONDARY)
		4BEF H 1 A_WeaponReady(WRF_NOSECONDARY)
		//End
		TNT1 A 0 A_TakeInventory("FireSeq", 1)
		4BEF A 7 A_WeaponReady
		Goto Ready2

// --------------------------------------------------------------------------
//
//	Reload and unload 75%
//
// --------------------------------------------------------------------------
		
	Reload:
		TNT1 A 0 A_TakeInventory("Reloading",1)
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",32,"Ready2")//Don't reload if magazine is full,and there is a bullet in the chamber.
		TNT1 A 0 A_JumpIfInventory("Magazine9mm",1,1)//Do we have any ammo to reload with?
		Goto DryFire
		TNT1 A 0 A_JumpIfInventory("TurboReload",1,"ReloadLoop")
		TNT1 A 0 A_GiveInventory("Pumping",1)
		
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,16)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,8)
		2BES ABCDEF 1
		TNT1 A 0 A_Jump(256,14)
		3BES ABCDEF 1
		TNT1 A 0 A_Jump(256,7)
		4BES ABCDEF 1
		TNT1 A 0 A_PlaySound("FASTPISR",1)
		TNT1 A 3
		//BERR ZYWXABBCCDDEE 1
		TNT1 A 0 A_JumpIfInventory("HasUnloaded_DualPistol",1,3)
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",1,2)
		TNT1 A 0 A_FireCustomMissile("EmptyMag9mm",5,0,8,-4)
		TNT1 A 25
		//BERR FFFFFFFFFFFFGG 1
		//BERR HIJ 2
		//BERR KKLLLLMMNNOQP 1
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",31,"ReloadLoop2")//If we have 31 ammo,just reload that one bullet.
		TNT1 A 0 A_PlaySound("PistolReload1",5)
		TNT1 A 10
		//BERR ZYWXABBCCDDEE 1
		TNT1 A 0 A_JumpIfInventory("HasUnloaded_DualPistol",1,3)
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",1,2)
		TNT1 A 0 A_FireCustomMissile("EmptyMag9mm",5,0,8,-4)
		TNT1 A 25
		//BERR FFFFFFFFFFFFGG 1
		//BERR HIJ 2
		//BERR KKLLLLMMNNOQP 1
		TNT1 A 0 A_TakeInventory("Reloading",1)
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",1,"ReloadLoop2")
		Goto ReloadLoop

	ReloadLoop:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",30,"ReloadDone")
		TNT1 A 0 A_JumpIfInventory("Magazine9mm",1,1)
		Goto ReloadDone
		TNT1 A 0 A_Giveinventory("DualBerettaAmmo",1)
		TNT1 A 0 A_Takeinventory("Magazine9mm",1)
		Goto ReloadLoop
		
	ReloadLoop2:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",32,"ReloadDone")
		TNT1 A 0 A_JumpIfInventory("Magazine9mm",1,1)
		Goto ReloadDone
		TNT1 A 0 A_Giveinventory("DualBerettaAmmo",1)
		TNT1 A 0 A_Takeinventory("Magazine9mm",1)
		Goto ReloadLoop2
		
	ReloadDone:
		TNT1 A 0 A_Takeinventory("Reloading",1)
		TNT1 A 0 A_TakeInventory("HasUnloaded_DualPistol",1)
		TNT1 A 0 A_JumpIfInventory("TurboReload",1,1)
		Goto Ready1
		TNT1 A 0 A_Refire
		Goto Ready2

	Unload:
		TNT1 A 0 A_Takeinventory("Unloading",1)
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",1,1)//Check if we have any ammo to unload.
		Goto DryFire
		TNT1 A 0 A_GiveInventory("Pumping",1)
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,16)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,8)
		2BES ABCDEF 1
		TNT1 A 0 A_Jump(256,14)
		3BES ABCDEF 1
		TNT1 A 0 A_Jump(256,7)
		4BES ABCDEF 1
		TNT1 A 0 A_PlaySound("FASTPISR")
		TNT1 A 35
		//BERR PQONNMMLKK 1
		//BERR JIH 2
		//BERR GGFFFFFFFFFFFFEEDDIIJJKKLLLLMMNNOQP 1  //51
		TNT1 A 0 A_PlaySound("PistolReload1")
		TNT1 A 35
		//BERR PQONNMMLKK 1
		//BERR JIH 2
		//BERR GGFFFFFFFFFFFFEEDDIIJJKKLLLLMMNNOQP 1
		
	UnloadLoop:
		TNT1 A 0 A_JumpIfInventory("DualBerettaAmmo",1,1)
		Goto UnloadDone
		TNT1 A 0 A_Takeinventory("DualBerettaAmmo",1)
		TNT1 A 0 A_Giveinventory("Magazine9mm",1)
		Goto UnloadLoop
	
	UnloadDone:
		TNT1 A 0 A_GiveInventory("HasUnloaded_DualPistol",1)
		TNT1 A 0 A_Takeinventory("Unloading",1)
		Goto Ready1

// --------------------------------------------------------------------------
//
//	Misc.
//
// --------------------------------------------------------------------------

	DualWield:
		TNT1 A 0 A_Takeinventory("StartDualWield",1)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1028)==2, "Ready2")
		TNT1 A 0 A_Takeinventory("PowerSphere2",1)
		Goto Deselect

	DryFire:
		TNT1 A 0 A_PlaySound("weapons/empty2")
		Goto Ready2

	PuristGun:
		TNT1 A 0 A_TakeInventory("DualBeretta",1)
		TNT1 A 0 A_GiveInventory("ClassicPistol",1)
		Goto Deselect
	
	VanillaGun:
		TNT1 A 0 A_TakeInventory("DualBeretta",1)
		Goto Deselect

	WeapSpecial:
		TNT1 A 0 A_TakeInventory("WeapSpecial",1)
		TNT1 A 0 A_TakeInventory("SwitchFlashlight",1)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,1)//Check if we have a flashlight.
		Goto Ready2
		TNT1 A 0 A_PlaySound("flashlight/click",5)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlightON",1,3)//Turn on or off?
		
		TNT1 A 0 A_Giveinventory("PistolFlashlightON",1)
		TNT1 A 0 A_GunFlash("FlashlightTurnON")
		Goto Ready2
		
		TNT1 A 0 A_TakeInventory("PistolFlashlightON",1)
		TNT1 A 0 A_GunFlash("FlashlightTurnOFF")
		Goto Ready2

	FlashlightTurnOFF:
		TNT1 A 0
		Stop

	FlashlightTurnON:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==0, "FlashlightOnSimple")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==1, "FlashlightOnLQ")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==2, "FlashlightOnHQ")
		Stop

	FlashlightOnHQ:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ1", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ2", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ3", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ4", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ5", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ6", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ7", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ8", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ9", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ10", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ11", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ12", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ13", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ14", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ15", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ16", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ17", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ18", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ19", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ20", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ21", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ22", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ23", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ24", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ25", 0, 0, 0, 0)
		//Goto Flash
		Loop

	FlashlightOnLQ:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ1", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ2", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ3", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ4", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ5", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ6", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ7", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ8", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ9", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ10", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ11", 0, 0, 0, 0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ12", 0, 0, 0, 0)
		//Goto Flash
		Loop

	FlashlightOnSimple:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamSimple",0,0,0,0)
		//Goto Flash
		Loop


// --------------------------------------------------------------------------
//
//	End stuff
//
// --------------------------------------------------------------------------

	Taunt:
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,6)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,3)
		2BEF A 5
		TNT1 A 0 A_Jump(256,4)
		3BEF A 5
		TNT1 A 0 A_Jump(256,2)
		4BEF A 5
		TNT1 A 0 A_PlaySound("FUCK",2)
		TNT1 A 0 A_FireCustomMissile("Taunter",0,0,-1,0)
		TNT1 A 0 A_FireCustomMissile("Taunter",-9,0,-1,0)
		TNT1 A 0 A_FireCustomMissile("Taunter",9,0,-1,0)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,6)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,3)
		2BEF A 20
		TNT1 A 0 A_Jump(256,4)
		3BEF A 20
		TNT1 A 0 A_Jump(256,2)
		4BEF A 20
		TNT1 A 0 A_Takeinventory("Taunting",1)
		Goto Ready2

	KickFlash:
		TNT1 A 1 A_TakeInventory("PistolFlashlightON",1)
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,"SilencerKickFlash")
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,"FlashlightKickFlash")
		2BES ABCDE 1
		2BES F 6
		2BES EDCBA 1
		2BEF A 1
		Stop

	AirKickFlash:
		TNT1 A 1 A_TakeInventory("PistolFlashlightON",1)
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,"SilencerAirKickFlash")
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,"FlashlightAirKickFlash")
		2BES ABCDE 1
		2BES F 8
		2BES EDCBA 1
		2BEF A 1
		Stop

	FlashlightKickFlash:
		3BES ABCDE 1
		3BES F 6
		3BES EDCBA 1
		3BEF A 1
		Stop

	FlashlightAirKickFlash:
		3BES ABCDE 1
		3BES F 8
		3BES EDCBA 1
		3BEF A 1
		Stop

	SilencerKickFlash:
		4BES ABCDE 1
		4BES F 6
		4BES EDCBA 1
		4BEF A 1
		Stop

	SilencerAirKickFlash:
		4BES ABCDE 1
		4BES F 8
		4BES EDCBA 1
		4BEF A 1
		Stop

	GrenadeFlash:
		TNT1 A 1 A_TakeInventory("PistolFlashlightON",1)
		TNT1 A 0 A_JumpIfInventory("PistolSilencerAmmo",1,14)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlight",1,7)
		2BES ABCDEF 1
		Stop
		3BES ABCDEF 1
		Stop
		4BES ABCDEF 1
		Stop
	}
}

ACTOR DualBerettaAmmo: Ammo
{
	+INVENTORY.IGNORESKILL
	Inventory.Amount 0
	Inventory.MaxAmount 32
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 32
   	Inventory.Icon "BERTI0"
}

ACTOR HasUnloaded_DualPistol : Inventory { Inventory.MaxAmount 1 }