// --------------------------------------------------------------------------
//
//	Plasma Rifle
//
// --------------------------------------------------------------------------

ACTOR DualUPlasmaRifle : BaseWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive1 10
	Weapon.AmmoGive2 0
	Weapon.AmmoType1 "AmmoCell"
	Weapon.AmmoType2 "DualPlasmaRifleAmmo"
	Weapon.SelectionOrder 95
	-WEAPON.CHEATNOTWEAPON
	+POWERED_UP
	Weapon.SisterWeapon "U_PlasmaRifle"
	Inventory.PickupSound "PLSDRAW"
	Inventory.PickupMessage "You got the Plasma Rifle!"
	tag "Dual Plasma Rifles"
	Scale 0.8
	States
	{
	Spawn:
		PROI A -1
		Stop

	Select:
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist",1,"PuristGun")
		TNT1 A 0 A_Giveinventory("HasPlasmaWeapon",1)
		TNT1 A 0 A_Giveinventory("PlasmaGunSelected",1)
		TNT1 A 0 A_Giveinventory("GoSpecial",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 3
		TNT1 A 0 A_Raise
		Wait

	Deselect:
		DPRS GFEDCBA 1
		TNT1 A 0 A_Takeinventory("HasPlasmaWeapon",1)
		TNT1 A 0 A_TakeInventory("PlasmaGunSelected",1)
		TNT1 A 0 A_TakeInventory("PlasmaAltfireCharged",1)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1028)==2, 2)
		TNT1 A 0 A_Takeinventory("PowerWeaponLevel2",1)
		TNT1 A 0 A_Lower
		Wait

	Ready:
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		TNT1 A 0 A_PlaySound("PLSDRAW")
	Ready1:
		DPRS ABCDEFG 1
	Ready2:
		TNT1 A 0 //A_GunFlash
	Ready3:
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		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("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		//TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
		TNT1 A 0 A_JumpIfInventory("StartDualWield",1,"DualWield")
		TNT1 A 0 A_JumpIfInventory("IdleCounter",200,"PlayerIsIdle")
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",2,2)
		DPRI C 1 A_WeaponReady
		Loop
		DPRI A 1 A_WeaponReady
		Loop
		
// --------------------------------------------------------------------------
//
//	Fire
//
// --------------------------------------------------------------------------

	SmokeFlash:
		TNT1 AAAAAA 3 A_FireCustomMissile("SmokeSpawner",0,0,-15,2)
		Stop

	Fire:
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",2,1)
		Goto Dryfire
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_PlaySound("PLSM9",1)
		TNT1 A 0 A_FireCustomMissile("GunFireSmoke",0,0,5,0,0,0)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRX A 1 A_FireCustomMissile("U_PlasmaBall",frandom(-3,3),0,0,0,0,frandom(-3,3))
		DPRX B 1 A_FireCustomMissile("Shakeyourassminor",0,0,0,0)
		TNT1 A 0 A_TakeInventory("DualPlasmaRifleAmmo",1)
		TNT1 A 0 A_PlaySound("PLSM9",5)
		TNT1 A 0 A_FireCustomMissile("GunFireSmoke",0,0,-5,0,0,0)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		DPRX C 1 A_FireCustomMissile("U_PlasmaBall",frandom(-3,3),0,0,0,0,frandom(-3,3))
		DPRX D 1 A_FireCustomMissile("Shakeyourassminor",0,0,0,0)
		TNT1 A 0 A_TakeInventory("DualPlasmaRifleAmmo",1)
		TNT1 A 0 A_ReFire
		DPRX GH 1
		TNT1 A 0 A_PlaySound("PLSCOOL",1)
		
		DPRI B 1
		DPRK AB 1
		TNT1 A 0 A_GunFlash("SmokeFlash")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK CDE 1
		DPRK EEEE 3 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK EED 1
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK CBA 1		
		//DPRI BBB 1
		//TNT1 A 0 A_GunFlash("SmokeFlash")
		//DPRI BBBBBB 3 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		//DPRI BBB 1
		//TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",2,"Ready2")
		Goto Ready2

	Hold:
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",2,1)
		Goto Dryfire
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_PlaySound("PLSM9",1)
		TNT1 A 0 A_FireCustomMissile("GunFireSmoke",0,0,5,0,0,0)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRX E 1 A_FireCustomMissile("U_PlasmaBall",frandom(-3,3),0,0,0,0,frandom(-3,3))
		DPRX F 1 A_FireCustomMissile("Shakeyourassminor",0,0,0,0)
		TNT1 A 0 A_TakeInventory("DualPlasmaRifleAmmo",1)
		TNT1 A 0 A_PlaySound("PLSM9",5)
		TNT1 A 0 A_FireCustomMissile("GunFireSmoke",0,0,-5,0,0,0)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		DPRX C 1 A_FireCustomMissile("U_PlasmaBall",frandom(-3,3),0,0,0,0,frandom(-3,3))
		DPRX D 1 A_FireCustomMissile("Shakeyourassminor",0,0,0,0)
		TNT1 A 0 A_TakeInventory("DualPlasmaRifleAmmo",1)
		TNT1 A 0 A_ReFire
		DPRX GH 1
		TNT1 A 0 A_PlaySound("PLSCOOL",1)
		
		DPRI B 1
		DPRK AB 1
		TNT1 A 0 A_GunFlash("SmokeFlash")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK CDE 1
		DPRK EEEE 3 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK EED 1
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		DPRK CBA 1	
		//DPRI BBB 1
		//TNT1 A 0 A_GunFlash("SmokeFlash")
		//DPRI BBBBBB 3 A_FireCustomMissile("SmokeSpawner",0,0,15,2)
		//DPRI BBB 1
		//TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",2,"Ready2")
		Goto Ready2

// Charging up secondary -------------------------------------------------------

	ChargeShake:
		TNT1 A 1 A_SetPitch(pitch - 0.2)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		TNT1 A 1 A_SetPitch(pitch + 0.3)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		TNT1 A 1 A_SetPitch(pitch - 0.3)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		TNT1 A 1 A_SetPitch(pitch + 0.2)
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,-10,0)
		Loop
		
	StopShake:
		TNT1 A 1
		Stop
		
	Smoke:
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,15,5)
		TNT1 A 1 A_FireCustomMissile("SmokeSpawner",0,0,-15,5)
		TNT1 A 1
		Stop

	AltFire:
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",20,1)
		Goto Dryfire
		TNT1 A 0 A_GunFlash("ChargeShake")
		TNT1 A 0 A_PlaySound("PLSCHARG")
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_TakeInventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_TakeInventory("DualPlasmaRifleAmmo",1)

		TNT1 A 0 A_Giveinventory("PlasmaAltfireCharged",1)
		TNT1 A 0 A_PlaySound("PLSFULL",5,0.8,1)
		TNT1 A 0 A_Refire

// Holding Charge --------------------------------------------------------------

	AltHold:
		TNT1 A 0 A_JumpIfInventory("PlasmaAltfireCharged",1,2)
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",20,"AltFire")
		Goto Dryfire
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Cancel")
		DPRC E 1
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Cancel")
		DPRC F 1
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Cancel")
		DPRC G 1
		TNT1 A 0 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Cancel")
		DPRC H 1
		TNT1 A 0 A_Refire

// Let Fly ---------------------------------------------------------------------

		TNT1 A 0 A_TakeInventory("PlasmaAltfireCharged",1)
		TNT1 A 0 A_GunFlash("StopShake")
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_PlaySound("PLSALTFR",1)
		TNT1 A 0 A_PlaySound("PLSM9",5)
		
		DPRC I 1 A_Recoil(2)
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,-15,0,0,frandom(-3,3))
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,15,0,0,frandom(-3,3))
		TNT1 AAAAA 0 A_FireCustomMissile("PlasmaBallAlt1",frandom(-6,6),0,-1,0,0,frandom(-6,6))
		TNT1 AA 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		DPRC D 1 A_Recoil(2)
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,-15,0,0,frandom(-3,3))
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,15,0,0,frandom(-3,3))
		TNT1 AAAAA 0 A_FireCustomMissile("PlasmaBallAlt2",frandom(-6,6),0,-1,0,0,frandom(-6,6))
		TNT1 AA 0 A_FireCustomMissile("ShakeYourAssMinor",0,0,0,0)
		DPRC I 1 A_Recoil(2)
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,-15,0,0,frandom(-3,3))
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,15,0,0,frandom(-3,3))
		TNT1 AAAAA 0 A_FireCustomMissile("PlasmaBallAlt3",frandom(-6,6),0,-1,0,0,frandom(-6,6))
		TNT1 AA 0 A_FireCustomMissile("ShakeYourAssDouble",0,0,0,0)
		DPRC D 1 A_Recoil(2)
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,-15,0,0,frandom(-3,3))
		TNT1 AA 0 A_FireCustomMissile("GunFireSmoke",frandom(-4,4),0,15,0,0,frandom(-3,3))
		TNT1 AAAAA 0 A_FireCustomMissile("PlasmaBallAlt4",frandom(-6,6),0,-1,0,0,frandom(-6,6))
		TNT1 AA 0 A_FireCustomMissile("ShakeYourAssQuad",0,0,0,0)
				
		TNT1 A 0 A_AlertMonsters
		TNT1 AA 0 A_FireCustomMissile("PlasmaFlareSpawn",-5,0,0,0)
		DPRC JKL 1 A_SetPitch(pitch + 1.0)
		DPRC KJ 1 A_SetPitch(pitch - 0.7)
		//DPRI BBB 1 A_SetPitch(pitch - 0.6)
		DPRI B 1 A_SetPitch(pitch - 0.6)//
		DPRK AB 1 A_SetPitch(pitch - 0.6)//
		TNT1 A 0 A_GunFlash("Smoke")
		//DPRI BBB 1 A_SetPitch(pitch - 0.5)
		DPRK CDE 1 A_SetPitch(pitch - 0.5)//
		TNT1 A 0 A_PlaySound("PLSCOOL",5)
		//DPRI BBBBBBBBBBB 3
		DPRK EEEEEEEEEE 3//
		//DPRI BBB 1
		DPRK EEDCBA 1//
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",1,"Ready2")
		Goto Reload

// Cancel Charge ---------------------------------------------------------------

	Cancel:
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_PlaySound("plscool",5)

		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC A 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC B 1 A_Giveinventory("DualPlasmaRifleAmmo",1)
		DPRC C 1 A_FireCustomMissile("PlasmaFlareSpawn",0,0,10,0)
		DPRC D 1 A_Giveinventory("DualPlasmaRifleAmmo",1)

		TNT1 A 0 A_GunFlash("StopShake")
		TNT1 A 0 A_TakeInventory("Reloading",1)
		TNT1 A 0 A_PlaySound("BEPBEP",5,1.2)
		TNT1 A 0 A_ClearReFire
		Goto Ready2
	
// --------------------------------------------------------------------------
//
//	Reload and unload
//
// --------------------------------------------------------------------------
		
	Reload:
		TNT1 A 0 A_TakeInventory("Reloading",1)
		TNT1 A 0 A_ClearReFire
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",100,"Ready2")
		TNT1 A 0 A_JumpIfInventory("AmmoCell",1,1)
		Goto Ready2
		TNT1 A 0 A_JumpIfInventory("TurboReload",1,"ReloadLoop")
		TNT1 A 0 A_JumpIfInventory("HasUnloaded_DualPlasma",1,4)
		TNT1 A 0 A_PlaySound("BEPBEP",5)
		DPRI CB 4 A_WeaponReady(WRF_NOFIRE)
		DPRS GFEDCBA 1
		TNT1 A 0 A_JumpIfInventory("HasUnloaded_DualPlasma",1,3)
		TNT1 AA 0 A_FireCustomMissile("PlasmaCaseSpawn",-210,0,20,-20)
		TNT1 A 0 A_TakeInventory("HasUnloaded_DualPlasma",1)
		TNT1 A 5
		TNT1 A 0 A_PlaySound("PLREADY",1)
		DPRR ABCDE 1
		DPRR F 5
		DPRR GHIJ 1
		DPRR K 5
		DPRR JLMNOPQR 1
		TNT1 A 5
		TNT1 A 0 A_PlaySound("PLREADY",5)
		DPRQ ABCDE 1
		DPRQ F 5
		DPRQ GHIJ 1
		DPRQ K 5
		DPRQ JLMNOPQR 1
		TNT1 A 5
		
	ReloadLoop:
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifleAmmo",100,"ReloadDone")
		TNT1 A 0 A_JumpIfInventory("AmmoCell",1,1)
		Goto ReloadDone
		TNT1 A 0 A_Giveinventory("DualPlasmaRifleAmmo",1)
		TNT1 A 0 A_TakeInventory("AmmoCell",1)
		Goto ReloadLoop
		
	ReloadDone:
		DPRS ABCDEFG 1
		TNT1 A 0 A_ClearReFire
		TNT1 A 0 A_Refire
		Goto Ready2

// --------------------------------------------------------------------------
//
//	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_JumpIfInventory("TurboReload",1,"ReloadLoop")
		TNT1 A 0 A_JumpIfInventory("AmmoCell",1,"Reload")
		TNT1 A 0 A_PlaySound("BEP",5)
		DPRI C 4 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto Ready2

	PuristGun:
		TNT1 A 0 A_TakeInventory("DualUPlasmaRifle",1)
		Goto Deselect

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

	Taunt:
		DPRI 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
		DPRI A 20
		TNT1 A 0 A_Takeinventory("Taunting",1)
		Goto Ready2

	KickFlash:
		DPRK ABCDE 1
		DPRK E 6
		DPRK EDCBA 1
		DPRI A 1
		Stop
		
	AirKickFlash:
		DPRK ABCDE 1
		DPRK E 8
		DPRK EDCBA 1
		DPRI A 1
		Stop
		
	GrenadeFlash:
		DPRS GFEDCBA 1
		Stop
	}
}

ACTOR HasUnloaded_DualPlasma : Inventory { Inventory.MaxAmount 1 }

ACTOR DualPlasmaRifleAmmo: Ammo
{
	+INVENTORY.IGNORESKILL
	Inventory.Amount 0
	Inventory.MaxAmount 100
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 100
	Inventory.Icon "PROIA0"
}