public void SendPointOfInterest(uint id) { PointOfInterest pointOfInterest = Global.ObjectMgr.GetPointOfInterest(id); if (pointOfInterest == null) { Log.outError(LogFilter.Sql, "Request to send non-existing PointOfInterest (Id: {0}), ignored.", id); return; } GossipPOI packet = new GossipPOI(); packet.Id = pointOfInterest.Id; packet.Name = pointOfInterest.Name; Locale locale = _session.GetSessionDbLocaleIndex(); if (locale != Locale.enUS) { PointOfInterestLocale localeData = Global.ObjectMgr.GetPointOfInterestLocale(id); if (localeData != null) { ObjectManager.GetLocaleString(localeData.Name, locale, ref packet.Name); } } packet.Flags = pointOfInterest.Flags; packet.Pos = pointOfInterest.Pos; packet.Icon = pointOfInterest.Icon; packet.Importance = pointOfInterest.Importance; _session.SendPacket(packet); }
public static void HandleGossipPoi(Packet packet) { LastGossipPOIEntry++; var gossipPOI = new GossipPOI(); gossipPOI.Flags = (uint)packet.ReadInt32E <UnknownFlags>("Flags"); var pos = packet.ReadVector2("Coordinates"); gossipPOI.Icon = packet.ReadUInt32E <GossipPOIIcon>("Icon"); gossipPOI.Importance = packet.ReadUInt32("Data"); gossipPOI.Name = packet.ReadCString("Icon Name"); gossipPOI.PositionX = pos.X; gossipPOI.PositionY = pos.Y; Storage.GossipPOIs.Add(LastGossipPOIEntry, gossipPOI, packet.TimeSpan); }
public static void HandleGossipPoi(Packet packet) { LastGossipPOIEntry++; var gossipPOI = new GossipPOI(); gossipPOI.Flags = (uint)packet.ReadEnum <UnknownFlags>("Flags", TypeCode.Int32); var pos = packet.ReadVector2("Coordinates"); gossipPOI.Icon = packet.ReadEnum <GossipPOIIcon>("Icon", TypeCode.UInt32); gossipPOI.Data = packet.ReadUInt32("Data"); gossipPOI.IconName = packet.ReadCString("Icon Name"); gossipPOI.XPos = pos.X; gossipPOI.YPos = pos.Y; Storage.GossipPOIs.Add(LastGossipPOIEntry, gossipPOI, packet.TimeSpan); }
public static void HandleGossipPoi(Packet packet) { ++LastGossipPOIEntry; var gossipPOI = new GossipPOI(); gossipPOI.Flags = (uint)packet.ReadBits("Flags", 14); var bit84 = packet.ReadBits(6); var pos = packet.ReadVector2("Coordinates"); gossipPOI.Icon = packet.ReadEnum <GossipPOIIcon>("Icon", TypeCode.UInt32); gossipPOI.Importance = packet.ReadUInt32("Data"); gossipPOI.Name = packet.ReadWoWString("Icon Name", bit84); gossipPOI.PositionX = pos.X; gossipPOI.PositionY = pos.Y; Storage.GossipPOIs.Add(LastGossipPOIEntry, gossipPOI, packet.TimeSpan); }