ACTOR Binocular : BrutalWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	YScale 0.6
	XScale 0.8
	Weapon.SelectionOrder 2500
	Weapon.AmmoType1 "NapalmStrikes"
	Weapon.AmmoType2 "ArtilleryStrikes"
    AttackSound "None"
    Inventory.PickupSound "CLIPIN"
    +WEAPON.NOAUTOAIM
    +WEAPON.NOALERT
	+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	Tag "Binoculars"
    Scale 0.8
	States
	{
 	Spawn:
		WM14 B 1
		WM14 B -1
		Stop	
	
	Ready:
	Ready3:
		BINO A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		BINO A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		BINO A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		Loop
		
	Ready2:
		BINO D 1 A_WeaponReady(WRF_ALLOWRELOAD)
		BINO D 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
        BINO D 0 A_JumpIfInventory("Reloading",1,"Reload")
		BINO D 0 A_JumpIfInventory("Kicking",1,"DoKick")
		Loop	
	
		
	Deselect:
		BINO A 0
		BINO A 0 A_TakeInventory("TossGrenade", 1)
        BINO A 0 A_TakeInventory("Reloading",1)
		BINO A 0 A_TakeInventory("Unloading",1)
        BINO A 0 A_ZoomFactor(1.0)
		BINO AAAAA 1 A_Lower
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Wait
		
	Select:
		BINO A 0
		BINO AAAAA 1 A_Raise
		TNT1 AAAAAAAAA 0 A_Raise
		Goto Ready3

	Drop:
		RIFF A 0
		TNT1 A 0 A_TakeInventory("DropWeapon", 1)
		RIFF A 0 A_SpawnItemEx("XM21Weapon", 0, 0, 30, 10, 0, 2)
		TNT1 A 0 A_TakeInventory("XM21", 1)
		TNT1 A 0 A_TakeInventory("Slot2Weapon", 1)
		Goto Ready
	
    Fire:
		TNT1 A 0
		TNT1 A 0 A_JumpIFInventory("SniperAim", 1, "CheckType")
		BINO A 1
		Goto Ready3

	CheckType:
		BINO D 1
		TNT1 A 0 A_JumpIfInventory("FireMissionType", 1, "Artillery")
     Napalm:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("NapalmStrikes", 1, 2)
		Goto NoNapalm
		TNT1 AA 0
		TNT1 A 0 A_JumpIfInventory("FireMission", 1, "NoFireMission")
        BINO D 0 A_FireCustomMissile("NapalmMarker", 0, 0, 0, 0, 0, 0)
		BINO D 15
		TNT1 A 0 A_JumpIfInventory("FailedMark", 1, "Failed")
		TNT1 A 0 A_PlaySound("NAPAL2", 6)
		Goto Ready2
  

    Failed:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FailedMark", 1)
		TNT1 A 0 A_Print("You must select an area with an open sky.", 3)
		Goto Ready2

	NoNapalm:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FailedMark", 1)
		TNT1 A 0 A_Print("You don't have Napalm Bombardment missions to request.", 3)
		Goto Ready2

	NoFireMission:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FailedMark", 1)
		TNT1 A 0 A_Print("You can't request another fire mission until the current one is finished.", 3)
		Goto Ready2


	Artillery:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("ArtilleryStrikes", 1, 2)
		Goto NoArtillery
		TNT1 AA 0
		TNT1 A 0 A_JumpIfInventory("FireMission", 1, "NoFireMission")
        BINO D 0 A_FireCustomMissile("ArtilleryMarker", 0, 0, 0, 0, 0, 0)
		BINO D 15
		TNT1 A 0 A_JumpIfInventory("FailedMark", 1, "Failed")
		//TNT1 A 0 A_PlaySound("NAPAL2", 6)
		Goto Ready2
  

	NoArtillery:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FailedMark", 1)
		TNT1 A 0 A_Print("You don't have artillery fire missions to request.", 3)
		Goto Ready2

    AltFire:
		TNT1 A 0
		TNT1 A 0 A_JumpIFInventory("SniperAim", 1, "StopAlt")
		TNT1 A 0 A_GiveInventory("SniperAim", 1)
		TNT1 A 0 A_ZoomFactor(8.0)
		BINO BC 1
		Goto Ready2
		
	StopAlt:
		TNT1 A 0 A_ZoomFactor(1.0)
		BINO CB 1
		TNT1 A 0 A_TakeInventory("SniperAim", 1)
		Goto Ready3
			
		
	NoAmmo:
		BINO A 0
		BINO A 0 A_ZoomFactor(1.0)
		BINO A 0 A_Takeinventory("Zoomed",1)
		BINO A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_PlaySound("weapons/empty", 4)
	NoAmmo2:
		BINO A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
        BINO A 0 A_JumpIfInventory("Reloading",1,"Reload")
		BINO A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		BINO A 5 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOPRIMARY)
		BINO A 0 A_JumpIfInventory("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("NoAutoReload", 1, "NoAmmo2")
		BINO A 0 A_JumpIfInventory("762NATO",1,"Reload")
		Goto Ready3


  Reload:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("Reloading", 1)
		TNT1 A 0 A_JumpIFInventory("FireMissionType", 1, "ChangeArt")
		TNT1 A 0 A_GiveInventory("FireMissionType", 1)
		TNT1 A 0 A_Print("Artillery Strikes selected.", 1)
		BINO D 1
		Goto Ready2
		
	ChangeArt:
		BINO D 1
		TNT1 A 0 A_TakeInventory("FireMissionType", 1)
		TNT1 A 0 A_Print("Napalm Strikes selected.", 1)
		Goto Ready2
	}
}
