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; }