public override void Save(StreamHandler writer) { writer.WriteGuid(Entity); writer.WriteUInt32(Model); writer.WriteByte((byte)Race); writer.WriteByte((byte)Gender); writer.WriteByte((byte)Class); writer.WriteByte(Skin); writer.WriteByte(Face); writer.WriteByte(Hair); writer.WriteByte(HairColor); writer.WriteByte(FaceFeatures); writer.WriteGuid(Guild); writer.WriteUInt32(Head); writer.WriteUInt32(Shoulders); writer.WriteUInt32(Body); writer.WriteUInt32(Chest); writer.WriteUInt32(Waist); writer.WriteUInt32(Legs); writer.WriteUInt32(Feet); writer.WriteUInt32(Wrists); writer.WriteUInt32(Hands); writer.WriteUInt32(Back); writer.WriteUInt32(Tabard); }
public void Write(StreamHandler Writer) { Writer.WriteGuid(TargetGuid); Writer.WriteByte((byte)MissCondition); if (MissCondition == CastMissReason.Reflect) { Writer.WriteByte(ReflectResult); } }
public override void Save(StreamHandler writer) { writer.WriteByte((byte)ContainerSlot); writer.WriteByte((byte)Slot); writer.WriteByte(CastId); writer.WriteUInt32(SpellId); writer.WriteGuid(ItemGuid); writer.WriteUInt32(GlyphSlot); writer.WriteByte(UnkFlags); TargetData.Write(writer); }
public override void Save(StreamHandler writer) { writer.WriteByte((byte)ContainerSlot); writer.WriteByte((byte)Slot); writer.WriteByte(CastId); writer.WriteUInt32(SpellId); writer.WriteGuid(ItemGuid); writer.WriteUInt32(GlyphSlot); writer.WriteByte(UnkFlags); TargetData.Write(writer); }
/// <summary> /// Writes the spline info into the current stream, /// advancing the current position by spline info's size. /// </summary> public static void WriteSplineInfo(this StreamHandler Writer, SplineInfo Info) { Writer.WriteUInt32((uint)Info.Flags); if ((Info.Flags & SplineFlags.FinalPoint) != SplineFlags.None) { Writer.WriteStruct <Vector3>(Info.FinalPoint); } if ((Info.Flags & SplineFlags.FinalTarget) != SplineFlags.None) { Writer.WriteGuid(Info.FinalGuid); } if ((Info.Flags & SplineFlags.FinalOrient) != SplineFlags.None) { Writer.WriteSingle(Info.FinalRotation); } Writer.WriteUInt32(Info.CurrentTime); Writer.WriteUInt32(Info.FullTime); Writer.WriteUInt32(Info.Unknown1); Writer.WriteSingle(Info.DurationMultiplier); Writer.WriteSingle(Info.UnknownFloat2); Writer.WriteSingle(Info.UnknownFloat3); Writer.WriteUInt32(Info.Unknown2); Writer.WriteInt32(Info.Points.Count); for (int i = 0; i < Info.Points.Count; ++i) { Writer.WriteStruct <Vector3>(Info.Points[i]); } Writer.WriteByte((byte)Info.SplineMode); Writer.WriteStruct <Vector3>(Info.EndPoint); }
protected override void PackedSave(StreamHandler writer) { writer.WriteGuid(PlayerGuid); }
public override void Save(StreamHandler writer) { writer.WriteGuid(this.Unit); }
protected sealed override void PackedSave(StreamHandler writer) { writer.WriteGuid(this.Guid); }
public override void Save(StreamHandler writer) { writer.WriteGuid(Entity); writer.WriteUInt32(Model); writer.WriteByte((byte)Race); writer.WriteByte((byte)Gender); writer.WriteByte((byte)Class); writer.WriteByte(Skin); writer.WriteByte(Face); writer.WriteByte(Hair); writer.WriteByte(HairColor); writer.WriteByte(FaceFeatures); writer.WriteGuid(Guild); writer.WriteUInt32(Head); writer.WriteUInt32(Shoulders); writer.WriteUInt32(Body); writer.WriteUInt32(Chest); writer.WriteUInt32(Waist); writer.WriteUInt32(Legs); writer.WriteUInt32(Feet); writer.WriteUInt32(Wrists); writer.WriteUInt32(Hands); writer.WriteUInt32(Back); writer.WriteUInt32(Tabard); }
/// <summary> /// Saves the current instance of SpellGo class to a StreamHandler. /// </summary> /// <param name="Writer">The StreamHandler to use.</param> public override void Save(StreamHandler Writer) { Writer.WritePackedGuid(Caster); Writer.WritePackedGuid(CastInvoker); Writer.WriteByte(CastId); Writer.WriteUInt32(SpellId); Writer.WriteUInt32((uint)Flags); Writer.WriteUInt32(Unk43); Writer.WriteUInt32(CastTime); Writer.WriteByte((byte)Hits.Count); foreach (WowGuid guid in Hits) Writer.WriteGuid(guid); Writer.WriteByte((byte)Misses.Count); foreach (MissData miss in Misses) miss.Write(Writer); TargetData.Write(Writer); if ((Flags & CastFlags.PredictedPower) != 0) Writer.WriteUInt32(PredictedPower); if ((Flags & CastFlags.RuneStates) != 0) { Writer.WriteByte((byte)RunesBefore); Writer.WriteByte((byte)RunesAfter); for (int i = 0; i < RuneCooldowns.Length; ++i) Writer.WriteByte((byte)RuneCooldowns[i]); } if ((Flags & CastFlags.Unk0x00020000) != 0) { Writer.WriteSingle(Unk0x20000_Float); Writer.WriteUInt32(Unk0x20000_UInt32); } if ((Flags & CastFlags.Ammo) != 0) { Writer.WriteUInt32(ProjectileDisplayId); Writer.WriteUInt32((uint)ProjectileInventoryType); } if ((Flags & CastFlags.Unk0x00080000) != 0) { Writer.WriteUInt32(Unk0x80000_UInt32_1); Writer.WriteUInt32(Unk0x80000_UInt32_2); } if ((TargetData.Flags & SpellCastTargetFlags.DestLocation) != 0) { Writer.WriteByte(DestLocationCounter); } if ((TargetData.Flags & SpellCastTargetFlags.Unk4) != 0) { Writer.WriteUInt32(Unk4_Count); foreach (var pair in Unk4_List) { Writer.WriteStruct(pair.Value); Writer.WriteGuid(pair.Key); if (pair.Key.IsEmpty) break; } } }
public void Write(StreamHandler Writer) { Writer.WriteGuid(TargetGuid); Writer.WriteByte((byte)MissCondition); if (MissCondition == CastMissReason.Reflect) Writer.WriteByte(ReflectResult); }
/// <summary> /// Saves the current ChatMessage to a stream using a StreamHandler. /// </summary> /// <param name="Writer"> /// Instance of StreamHandler used to save the current ChatMessage to a stream. /// </param> public override void Save(StreamHandler Writer) { Writer.WriteByte((byte)m_type); Writer.WriteUInt32((uint)m_language); Writer.WriteGuid(m_senderGUID); Writer.WriteUInt32(m_unknownUInt32); switch (m_type) { case ChatMessageType.MonsterSay: case ChatMessageType.MonsterParty: case ChatMessageType.MonsterYell: case ChatMessageType.MonsterWhisper: case ChatMessageType.MonsterEmote: case ChatMessageType.RaidBossEmote: case ChatMessageType.RaidBossWhisper: case ChatMessageType.BattleNet: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer && !m_targetGUID.IsPet) { Writer.WriteChatString(m_targetName ?? "<target>"); } if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); if (m_type == ChatMessageType.RaidBossEmote || m_type == ChatMessageType.RaidBossWhisper) { Writer.WriteSingle(m_displayTime); Writer.WriteBoolean(m_suspendEvent); } break; case ChatMessageType.BGSystemNeutral: case ChatMessageType.BGSystemAlliance: case ChatMessageType.BGSystemHorde: Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer) { Writer.WriteChatString(m_targetName); } if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; case ChatMessageType.Achievement: case ChatMessageType.GuildAchievement: Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); Writer.WriteUInt32(m_achievementId); break; case ChatMessageType.WhisperForeign: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; default: if (GameMasterMessage) Writer.WriteChatString(m_senderName ?? "<sender>"); if (m_type == ChatMessageType.Channel) Writer.WriteCString(m_channel ?? "<channel>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; } }
/// <summary> /// Saves the current ChatMessage to a stream using a StreamHandler. /// </summary> /// <param name="Writer"> /// Instance of StreamHandler used to save the current ChatMessage to a stream. /// </param> public override void Save(StreamHandler Writer) { Writer.WriteByte((byte)m_type); Writer.WriteUInt32((uint)m_language); Writer.WriteGuid(m_senderGUID); Writer.WriteUInt32(m_unknownUInt32); switch (m_type) { case ChatMessageType.MonsterSay: case ChatMessageType.MonsterParty: case ChatMessageType.MonsterYell: case ChatMessageType.MonsterWhisper: case ChatMessageType.MonsterEmote: case ChatMessageType.RaidBossEmote: case ChatMessageType.RaidBossWhisper: case ChatMessageType.BattleNet: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer && !m_targetGUID.IsPet) { Writer.WriteChatString(m_targetName ?? "<target>"); } if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); if (m_type == ChatMessageType.RaidBossEmote || m_type == ChatMessageType.RaidBossWhisper) { Writer.WriteSingle(m_displayTime); Writer.WriteBoolean(m_suspendEvent); } break; case ChatMessageType.BGSystemNeutral: case ChatMessageType.BGSystemAlliance: case ChatMessageType.BGSystemHorde: Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer) { Writer.WriteChatString(m_targetName); } if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; case ChatMessageType.Achievement: case ChatMessageType.GuildAchievement: Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); Writer.WriteUInt32(m_achievementId); break; case ChatMessageType.WhisperForeign: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; default: if (GameMasterMessage) { Writer.WriteChatString(m_senderName ?? "<sender>"); } if (m_type == ChatMessageType.Channel) { Writer.WriteCString(m_channel ?? "<channel>"); } Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; } }
/// <summary> /// Saves the current instance of SpellGo class to a StreamHandler. /// </summary> /// <param name="Writer">The StreamHandler to use.</param> public override void Save(StreamHandler Writer) { Writer.WritePackedGuid(Caster); Writer.WritePackedGuid(CastInvoker); Writer.WriteByte(CastId); Writer.WriteUInt32(SpellId); Writer.WriteUInt32((uint)Flags); Writer.WriteUInt32(Unk43); Writer.WriteUInt32(CastTime); Writer.WriteByte((byte)Hits.Count); foreach (WowGuid guid in Hits) { Writer.WriteGuid(guid); } Writer.WriteByte((byte)Misses.Count); foreach (MissData miss in Misses) { miss.Write(Writer); } TargetData.Write(Writer); if ((Flags & CastFlags.PredictedPower) != 0) { Writer.WriteUInt32(PredictedPower); } if ((Flags & CastFlags.RuneStates) != 0) { Writer.WriteByte((byte)RunesBefore); Writer.WriteByte((byte)RunesAfter); for (int i = 0; i < RuneCooldowns.Length; ++i) { Writer.WriteByte((byte)RuneCooldowns[i]); } } if ((Flags & CastFlags.Unk0x00020000) != 0) { Writer.WriteSingle(Unk0x20000_Float); Writer.WriteUInt32(Unk0x20000_UInt32); } if ((Flags & CastFlags.Ammo) != 0) { Writer.WriteUInt32(ProjectileDisplayId); Writer.WriteUInt32((uint)ProjectileInventoryType); } if ((Flags & CastFlags.Unk0x00080000) != 0) { Writer.WriteUInt32(Unk0x80000_UInt32_1); Writer.WriteUInt32(Unk0x80000_UInt32_2); } if ((TargetData.Flags & SpellCastTargetFlags.DestLocation) != 0) { Writer.WriteByte(DestLocationCounter); } if ((TargetData.Flags & SpellCastTargetFlags.Unk4) != 0) { Writer.WriteUInt32(Unk4_Count); foreach (var pair in Unk4_List) { Writer.WriteStruct(pair.Value); Writer.WriteGuid(pair.Key); if (pair.Key.IsEmpty) { break; } } } }
public override void Save(StreamHandler writer) { writer.WriteGuid(this.Unit); writer.WriteGuid(this.Victim); }
protected override void PackedSave(StreamHandler writer) { writer.WriteGuid(this.Unit); }
protected override void PackedSave(StreamHandler writer) { writer.WriteGuid(PlayerGuid); writer.WriteGuid(GuildGuid); }