public static Npc FindNearestQuesterById(int entry) { WoWUnit unit = ObjectManager.GetNearestWoWUnit(ObjectManager.GetWoWUnitByEntry(entry, true), ObjectManager.Me.Position, false, false, true); if (unit.IsValid && unit.GetDistance <= 60f && unit.IsNpcQuestGiver && (unit.CanTurnIn || unit.HasQuests)) { var npc = new Npc { Entry = unit.Entry, Name = unit.Name, ContinentId = Usefuls.ContinentNameMpq, Position = unit.Position, Type = Npc.NpcType.QuestGiver, Faction = ObjectManager.Me.PlayerFaction.ToLower() == "horde" ? Npc.FactionType.Horde : Npc.FactionType.Alliance }; return(npc); } if (ImportedQuesters) { return(QuestersDB.GetNpcNearbyByEntry(entry)); } if (Profile.Questers.Count > 0) { QuestersDB.AddNpcRange(Profile.Questers); } ImportedQuesters = true; return(QuestersDB.GetNpcNearbyByEntry(entry)); }
public static Npc FindQuesterById(int entry) { if (!ImportedQuesters) { if (Profile.Questers.Count > 0) { QuestersDB.AddNpcRange(Profile.Questers); } ImportedQuesters = true; } return(QuestersDB.GetNpcByEntry(entry)); }