/// <summary>Used for any PeriodicAura (repeating ticks)</summary> /// <param name="extra">Always seems to be one</param> public static void SendPeriodicAuraLog(IPacketReceiver client, WorldObject caster, WorldObject target, uint spellId, uint extra, AuraTickFlags flags, int amount) { using (RealmPacketOut packet = new RealmPacketOut((PacketId)RealmServerOpCode.SMSG_PERIODICAURALOG, 32)) { caster.EntityId.WritePacked((BinaryWriter)packet); target.EntityId.WritePacked((BinaryWriter)packet); packet.WriteUInt(spellId); packet.WriteUInt(extra); packet.WriteUInt((uint)flags); packet.WriteUInt(amount); target.SendPacketToArea(packet, true, false, Locale.Any, new float?()); } }
/// <summary> /// Used for any PeriodicAura (repeating ticks) /// </summary> /// <param name="extra">Always seems to be one</param> public static void SendPeriodicAuraLog(IPacketReceiver client, WorldObject caster, WorldObject target, uint spellId, uint extra, AuraTickFlags flags, int amount) { // TODO: Update struct using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PERIODICAURALOG, 32)) { caster.EntityId.WritePacked(packet); target.EntityId.WritePacked(packet); packet.WriteUInt(spellId); packet.WriteUInt(extra); packet.WriteUInt((uint)flags); packet.WriteUInt(amount); target.SendPacketToArea(packet, true, false); } }
/// <summary> /// Used for Periodic leech effects, mostly Cannibalism /// </summary> /// <returns></returns> public static void SendPeriodicDamage(WorldObject caster, WorldObject target, uint spellId, AuraTickFlags type, int amount) { using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PERIODICAURALOG, 32)) { caster.EntityId.WritePacked(packet); target.EntityId.WritePacked(packet); packet.WriteUInt(spellId); packet.WriteUInt(1); // count packet.WriteUInt((uint)type); packet.WriteUInt(amount); target.SendPacketToArea(packet, true); } }
/// <summary> /// Used for any PeriodicAura (repeating ticks) /// </summary> /// <param name="extra">Always seems to be one</param> public static void SendPeriodicAuraLog(IPacketReceiver client, WorldObject caster, WorldObject target, uint spellId, uint extra, AuraTickFlags flags, int amount) { // TODO: Update struct for 3.0.2 using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PERIODICAURALOG, 32)) { caster.EntityId.WritePacked(packet); target.EntityId.WritePacked(packet); packet.WriteUInt(spellId); packet.WriteUInt(extra); packet.WriteUInt((uint)flags); packet.WriteUInt(amount); target.SendPacketToArea(packet, true); } }
/// <summary> /// Used for Periodic leech effects, mostly Cannibalism /// </summary> /// <returns></returns> public static void SendPeriodicDamage(WorldObject caster, WorldObject target, uint spellId, AuraTickFlags type, int amount) { using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_PERIODICAURALOG, 32)) { caster.EntityId.WritePacked(packet); target.EntityId.WritePacked(packet); packet.WriteUInt(spellId); packet.WriteUInt(1); // count packet.WriteUInt((uint)type); packet.WriteUInt(amount); target.SendPacketToArea(packet, true, false); } }