/// <summary> /// Correct 3.0.9 /// </summary> public static void SendSpellMiss(SpellCast cast, bool display, ICollection <MissedTarget> missedTargets) { using (var packet = new RealmPacketOut(RealmServerOpCode.SMSG_SPELLLOGMISS, 34)) { packet.Write(cast.Spell.Id); packet.Write(cast.CasterReference.EntityId); packet.Write(display); // TODO: test this value. Its a bool that seems to determine whether to display this packet in the combat log packet.Write(missedTargets.Count); foreach (var miss in missedTargets) { packet.Write(miss.Target.EntityId); packet.Write((byte)miss.Reason); } cast.SendPacketToArea(packet); } }
/// <summary>Correct 3.0.9</summary> public static void SendSpellMiss(SpellCast cast, bool display, ICollection <MissedTarget> missedTargets) { using (RealmPacketOut packet = new RealmPacketOut((PacketId)RealmServerOpCode.SMSG_SPELLLOGMISS, 34)) { packet.Write(cast.Spell.Id); packet.Write((ulong)cast.CasterReference.EntityId); packet.Write(display); packet.Write(missedTargets.Count); foreach (MissedTarget missedTarget in (IEnumerable <MissedTarget>)missedTargets) { packet.Write((ulong)missedTarget.Target.EntityId); packet.Write((byte)missedTarget.Reason); } cast.SendPacketToArea(packet); } }