actor RadarActive : Inventory
{
   Inventory.Amount 0
   Inventory.MaxAmount 1
}

ACTOR TrackerToggle : Inventory
{
	+UNDROPPABLE
	-INVBAR
	Inventory.MaxAmount 2
}

ACTOR Tracker : weapon
{
 Tag "Motion Tracker"
 weapon.selectionorder 3900
 weapon.slotnumber 8
 +NOALERT
 +WEAPON.DONTBOB
 +INVENTORY.UNDROPPABLE
 states
 {
  Select:
	WRAD A 0 A_Raise
	WRAD AA 1 A_Raise
	loop
  Deselect:
	TNT1 A 0 A_GunFlash("FlashEnd")
	TNT1 A 0 A_TakeInventory("TrackerToggle", 2)
	TNT1 A 0 A_TakeInventory("RadarActive", 1)
	QRAD A 0 A_Lower
	QRAD A 1 A_Lower
	loop
  Ready:
	TNT1 A 0 A_JumpIfInventory("TrackerToggle", 1, "TurnedOn")
	TNT1 A 0 A_TakeInventory("RadarActive", 1)
	QRAD A 1 A_WeaponReady
    Goto RealReady
  RealReady:
	TNT1 A 0 A_JumpIfInventory("TrackerToggle", 1, "TurnedOn")
	QRAD A 1 A_WeaponReady
	Loop
  TurnedOn:
	TNT1 A 0 A_GiveInventory("RadarActive", 1)
	TNT1 A 0 A_GunFlash
	QRAD A 23 A_WeaponReady
	TNT1 A 0 A_JumpIfInventory("TrackerToggle", 1, 1)
	Goto Ready
	TNT1 A 0
	Loop
  Fire:
	TNT1 A 0 A_GiveInventory("RadarActive", 1)
	TNT1 A 0 A_GunFlash
	QRAD A 23
    Goto Ready
  AltFire:
	QRAD A 15
	TNT1 A 0 A_JumpIfInventory("TrackerToggle", 1, 2)
	TNT1 A 0 A_GiveInventory("TrackerToggle", 1)
	Goto Ready
	TNT1 A 0 A_TakeInventory("TrackerToggle", 1)
	Goto Ready
  Flash:
	TNT1 A 0 A_PlaySound("DET")
	TNT1 A 0 ACS_ExecuteAlways(801, 0, 1)
	QRAD B 2 BRIGHT
	QRAD C 2 BRIGHT
	QRAD D 2 BRIGHT
	QRAD E 2 BRIGHT
	QRAD F 2 BRIGHT
	QRAD G 2 BRIGHT
	TNT1 A 0 ACS_ExecuteAlways(801, 0, 0)
	QRAD H 2 BRIGHT
	QRAD I 2 BRIGHT
	QRAD A 22
	goto lightdone
  FlashEnd:
	goto lightdone
  }
}