private void TargetInfo2Button_Click(object sender, EventArgs e)
 {
     try
     {
         TargetInfo2Button.Enabled = false;
         InformationArea.Text      = "";
         if (ObjectManager.Target.IsValid)
         {
             string flightStatusText = "";
             if (ObjectManager.Target.GetDescriptor <UnitNPCFlags>(Descriptors.UnitFields.NpcFlags).HasFlag(UnitNPCFlags.Taxi))
             {
                 if (ObjectManager.Target.UnitFlightMasteStatus != UnitFlightMasterStatus.None)
                 {
                     flightStatusText = "Flight Master Status: " + ObjectManager.Target.UnitFlightMasteStatus + Environment.NewLine;
                 }
             }
             string questStatusText = "";
             if (ObjectManager.Target.GetDescriptor <UnitNPCFlags>(Descriptors.UnitFields.NpcFlags).HasFlag(UnitNPCFlags.QuestGiver))
             {
                 var questStatusFlag =
                     (QuestGiverStatus)Memory.WowMemory.Memory.ReadInt(ObjectManager.Target.GetBaseAddress + (uint)Addresses.Quests.QuestGiverStatus);
                 if (questStatusFlag > 0x0)
                 {
                     questStatusText = "Quest Giver Status: " + questStatusFlag + Environment.NewLine;
                 }
             }
             InformationArea.Text =
                 "Name: " + ObjectManager.Target.Name + Environment.NewLine +
                 "BaseAddress: " + ObjectManager.Target.GetBaseAddress + Environment.NewLine +
                 "Entry: " + ObjectManager.Target.Entry + Environment.NewLine +
                 "Position: " + ObjectManager.Target.Position + Environment.NewLine +
                 "Faction: " + (Npc.FactionType)Enum.Parse(typeof(Npc.FactionType), ObjectManager.Me.PlayerFaction, true) + Environment.NewLine +
                 "ContinentId: " + Usefuls.ContinentNameByContinentId(Usefuls.ContinentId) + " (" + Usefuls.ContinentId + ")" + Environment.NewLine +
                 "IsDead : " + ObjectManager.Target.IsDead + Environment.NewLine +
                 "IsTrivial : " + ObjectManager.Target.IsTrivial + Environment.NewLine +
                 "UnitClassification : " + ObjectManager.Target.UnitClassification + Environment.NewLine +
                 "UnitFlag: " + ObjectManager.Target.GetDescriptor <UnitFlags>(Descriptors.UnitFields.Flags) + Environment.NewLine +
                 "UnitFlag2: " + ObjectManager.Target.GetDescriptor <UnitFlags2>(Descriptors.UnitFields.Flags2) + Environment.NewLine +
                 "UnitFlag3: " + ObjectManager.Target.GetDescriptor <UnitFlags3>(Descriptors.UnitFields.Flags3) + Environment.NewLine +
                 "StateAnimID: " + ObjectManager.Target.GetDescriptor <StateAnimID>(Descriptors.UnitFields.StateAnimID) + Environment.NewLine +
                 "NPCFlag: " + ObjectManager.Target.GetDescriptor <UnitNPCFlags>(Descriptors.UnitFields.NpcFlags) + Environment.NewLine +
                 questStatusText + flightStatusText +
                 "MovementStatus: " + ObjectManager.Target.MovementStatus + Environment.NewLine +
                 "DynamicFlag: " + ObjectManager.Target.GetDescriptor <UnitDynamicFlags>(Descriptors.ObjectFields.DynamicFlags) + Environment.NewLine +
                 "IsBlacklisted: " + nManagerSetting.IsBlackListed(ObjectManager.Target.Guid) + Environment.NewLine +
                 "IsInBlacklistedArea: " + nManagerSetting.IsBlackListedZone(ObjectManager.Target.Position) + Environment.NewLine;
             if (ObjectManager.Target.GetDescriptor <UnitNPCFlags>(Descriptors.UnitFields.NpcFlags).HasFlag(UnitNPCFlags.Taxi))
             {
                 InformationArea.Text += "If you have the TaxiWindow opened while requesting those informations, TaxiNodes will be dumped to DebugLog" + Environment.NewLine;
                 Gossip.ExportTaxiInfo();
             }
         }
     }
     catch (Exception ex)
     {
         Logging.WriteError("DeveloperToolsMainFrame > TargetInfo2Button_Click(object sender, EventArgs e): " + ex);
     }
     TargetInfo2Button.Enabled = true;
 }