public override void Write() { _worldPacket.WriteUInt8((byte)SlashCmd); _worldPacket.WriteUInt32((uint)_Language); _worldPacket.WritePackedGuid(SenderGUID); _worldPacket.WritePackedGuid(SenderGuildGUID); _worldPacket.WritePackedGuid(SenderAccountGUID); _worldPacket.WritePackedGuid(TargetGUID); _worldPacket.WriteUInt32(TargetVirtualAddress); _worldPacket.WriteUInt32(SenderVirtualAddress); _worldPacket.WritePackedGuid(PartyGUID); _worldPacket.WriteUInt32(AchievementID); _worldPacket.WriteFloat(DisplayTime); _worldPacket.WriteBits(SenderName.GetByteCount(), 11); _worldPacket.WriteBits(TargetName.GetByteCount(), 11); _worldPacket.WriteBits(Prefix.GetByteCount(), 5); _worldPacket.WriteBits(Channel.GetByteCount(), 7); _worldPacket.WriteBits(ChatText.GetByteCount(), 12); _worldPacket.WriteBits((byte)_ChatFlags, 14); _worldPacket.WriteBit(HideChatLog); _worldPacket.WriteBit(FakeSenderName); _worldPacket.WriteBit(Unused_801.HasValue); _worldPacket.FlushBits(); _worldPacket.WriteString(SenderName); _worldPacket.WriteString(TargetName); _worldPacket.WriteString(Prefix); _worldPacket.WriteString(Channel); _worldPacket.WriteString(ChatText); if (Unused_801.HasValue) { _worldPacket.WriteUInt32(Unused_801.Value); } }