Actor KyleFusionCutter : Weapon 30003
{
     Weapon.AmmoType1 "PowerCells"
	 Weapon.AmmoType2 "PowerCells"
	 Weapon.AmmoUse1 1
	 Weapon.AmmoUse2 1
	 Weapon.AmmoGive1 50
	 Inventory.PickupMessage "Fusion Cutter"
     Inventory.PickupSound "ItemPickup"
	 Weapon.BobStyle InverseSmooth
	 Weapon.BobSpeed 0.9	 
	 +AMMO_OPTIONAL
	 +ALT_AMMO_OPTIONAL 
     States
	 {
	 Ready:
	    DF05 A 1 A_WeaponReady
		Loop
	//-------Spesial Select and Deselect animations, using offset------//	
	 Select:
	    NULL A 0 A_PlaySound("WeaponSelect")
		DF05 A 1 offset(27, 68)
		DF05 A 1 offset(21, 60)
		DF05 A 1 offset(15, 52)
		DF05 A 1 offset(9, 44)
		DF05 A 1 offset(3, 36)	
		DF05 AAAAAAAAAAAAAAAAAAAA 0 A_Raise
	    DF05 A 1 A_Raise
	    Goto Select+5
	  Deselect:
	    DF05 A 1 offset(3, 36)
		DF05 A 1 offset(9, 44)
		DF05 A 1 offset(15, 52)
		DF05 A 1 offset(21, 60)
		DF05 A 1 offset(27, 68)
		TNT1 A 0 A_TakeInventory("UseAmmo", 999)
		DF05 AAAAAAAAAAAAAAAAAAA 0 A_Lower
	    DF05 A 1 A_Lower
		Goto Deselect+6
	//-----------------------------------------------------------------//	
//--------------------------Right Fire----------------------------------------//		
	 Fire:
	    TNT1 A 0 A_JumpIfInventory("PowerWeaponsSuper", 1, "FastFire")
	    NULL A 0 A_JumpIfNoAmmo("OutOfAmmo")
	    NULL A 0 A_JumpIfInventory("FusionLeftRightCheck", 1, "FireLeft")
	    NULL A 0 A_JumpIfInventory("FusionFireChecker", 3, "Fire4")
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 2, "Fire3")
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 1, "Fire2")
	//-----------------------------------------------------------------//
	    DF05 B 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 B 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, -10)
		DF05 A 4
		Goto Ready
	 Fire2:	
	    DF05 C 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 C 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, -4, -2)
		DF05 A 4
		Goto Ready
	 Fire3:	
		DF05 D 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 D 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, 4, -4)
		DF05 A 4
		Goto Ready
	 Fire4:
	    DF05 E 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 E 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, 10, -6)
		DF05 A 4
		NULL A 0 A_TakeInventory("FusionFireChecker", 4)
		NULL A 0 A_GiveInventory("FusionLeftRightCheck", 1)
		Goto Ready
//----------------------------Left Fire---------------------------------------//		
	FireLeft:
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 1, "FireLeft2")
	//-----------------------------------------------------------------//    	
	    DF05 D 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 D 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, 4, -6)
		DF05 A 4
		Goto Ready
	 FireLeft2:	
		DF05 C 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 C 5 Bright A_FireCustomMissile("FusionMissile", 0, 1, -4, -4)
		DF05 A 4
		NULL A 0 A_TakeInventory("FusionFireChecker", 4)
		NULL A 0 A_TakeInventory("FusionLeftRightCheck", 1)
		Goto Ready
//----------------------------------------------------------------------------//
     //____________Weapon Supercharge!_____________//??)
	 FastFire:
	    NULL A 0 A_JumpIfNoAmmo("OutOfAmmo")
	    NULL A 0 A_JumpIfInventory("FusionLeftRightCheck", 1, "FastFireLeft")
	    NULL A 0 A_JumpIfInventory("FusionFireChecker", 3, "FastFire4")
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 2, "FastFire3")
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 1, "FastFire2")
	//-----------------------------------------------------------------//
	    DF05 B 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 B 2 Bright A_FireCustomMissile("FusionMissile", 0, 1, -10)
		DF05 A 2
		Goto Ready
	 FastFire2:	
	    DF05 C 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 C 2 Bright A_FireCustomMissile("FusionMissile", 0, 0, -4, -2)
		DF05 A 2
		Goto Ready
	 FastFire3:	
		DF05 D 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 D 2 Bright A_FireCustomMissile("FusionMissile", 0, 1, 4, -4)
		DF05 A 2
		Goto Ready
	 FastFire4:
	    DF05 E 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 E 2 Bright A_FireCustomMissile("FusionMissile", 0, 0, 10, -6)
		DF05 A 2
		NULL A 0 A_TakeInventory("FusionFireChecker", 4)
		NULL A 0 A_GiveInventory("FusionLeftRightCheck", 1)
		Goto Ready
	 	FastFireLeft:
		NULL A 0 A_JumpIfInventory("FusionFireChecker", 1, "FastFireLeft2")
	//-----------------------------------------------------------------//    	
	    DF05 D 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 D 2 Bright A_FireCustomMissile("FusionMissile", 0, 1, 4, -6)
		DF05 A 2
		Goto Ready
	    FastFireLeft2:	
		DF05 C 0 A_PlaySound("FusionFire")
		NULL A 0 A_GiveInventory("FusionFireChecker", 1)
	    DF05 C 2 Bright A_FireCustomMissile("FusionMissile", 0, 0, -4, -4)
		DF05 A 2
		NULL A 0 A_TakeInventory("FusionFireChecker", 4)
		NULL A 0 A_TakeInventory("FusionLeftRightCheck", 1)
		Goto Ready
	 
	 
	 
	 
	 //------------Out of Ammo------------//
	 OutOfAmmo:
	    DF05 A 2 A_WeaponReady
		DF05 A 0 A_PlaySound("FusionOut")
		Goto Ready
	//-------------------------------------//
	
//----------------------Alt-Fire----------------------------------------------//	
	AltFire:
	    TNT1 A 0 A_JumpIfInventory("PowerWeaponsSuper", 1, "FastAltFire")
	    NULL A 0 A_JumpIfNoAmmo("OutOfAmmo")
		NULL A 0 A_JumpIfInventory("PowerCells", 4, 4) //Go Here---
		NULL A 0 A_JumpIfInventory("PowerCells", 3, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 2, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 1, "Fire")//     |
	    DF05 F 0 A_PlaySound("FusionFire")//----------------------- 
		NULL A 0 A_FireCustomMissile("FusionMissile", 2, 1, -20, 0, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", 1, 1, -10, -2, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -1, 1, 0, -4, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -2, 1, 10, -6, 0)
		DF05 F 11 Bright
		DF05 A 6
		Goto Ready
		//--------Weapons Supercharge!--------//
		FastAltFire:
	    NULL A 0 A_JumpIfNoAmmo("OutOfAmmo")
		TNT1 A 0 A_JumpIfInventory("UseAmmo", 1, "FastAltFireUseAmmo")
		NULL A 0 A_JumpIfInventory("PowerCells", 4, 4) //Go Here---
		NULL A 0 A_JumpIfInventory("PowerCells", 3, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 2, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 1, "Fire")//     |
	    DF05 F 0 A_PlaySound("FusionFire")//----------------------- 
		NULL A 0 A_FireCustomMissile("FusionMissile", 2, 0, -20, 0, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", 1, 0, -10, -2, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -1, 0, 0, -4, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -2, 0, 10, -6, 0)
		TNT1 A 0 A_GiveInventory("UseAmmo", 1)
		DF05 F 5 Bright
		DF05 A 4
		Goto Ready
		FastAltFireUseAmmo:
	    NULL A 0 A_JumpIfNoAmmo("OutOfAmmo")
		NULL A 0 A_JumpIfInventory("PowerCells", 4, 4) //Go Here---
		NULL A 0 A_JumpIfInventory("PowerCells", 3, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 2, "Fire")//     |
		NULL A 0 A_JumpIfInventory("PowerCells", 1, "Fire")//     |
	    DF05 F 0 A_PlaySound("FusionFire")//----------------------- 
		NULL A 0 A_FireCustomMissile("FusionMissile", 2, 1, -20, 0, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", 1, 1, -10, -2, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -1, 1, 0, -4, 0)
		NULL A 0 A_FireCustomMissile("FusionMissile", -2, 1, 10, -6, 0)
		TNT1 A 0 A_TakeInventory("UseAmmo", 1)
		DF05 F 5 Bright
		DF05 A 4
		Goto Ready
		
//----------------------------------------------------------------------------//		
	Spawn:
	    DFW1 A -1
		Stop
		}
	    
		
}

Actor FusionFireChecker : Inventory { inventory.maxamount 5}
Actor FusionLeftRightCheck : Inventory { inventory.maxamount 1 }



Actor FusionMissile
{
	Radius 4
	Height 4
	Speed 60
	scale 1.0
	Damage (15)
	Projectile
	+NOGRAVITY
	DeathSound "BoltExplode"
	States
	{
	Spawn: 
		DFP1 ABCD 3 Bright
		Loop
	Death:
		DFP1 EFGHIJKL 3 Bright
		Stop
	XDeath:
		DFP1 EFGHIJKL 3 Bright
		Stop	
	}
}
