Beispiel #1
0
        public override void ParseFromNetworkMessage(NetworkMessage message)
        {
            StatementId  = message.ReadUInt32();
            SpeakerName  = message.ReadString();
            SpeakerLevel = message.ReadUInt16();
            MessageMode  = (MessageModeType)message.ReadByte();
            switch (MessageMode)
            {
            case MessageModeType.Say:
            case MessageModeType.Whisper:
            case MessageModeType.Yell:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.PrivateFrom:
                break;

            case MessageModeType.Channel:
            case MessageModeType.ChannelHighlight:
            {
                ChannelId = message.ReadUInt16();
            }
            break;

            case MessageModeType.Spell:
            case MessageModeType.Potion:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.NpcFromStartBlock:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.NpcFrom:
                break;

            case MessageModeType.GamemasterBroadcast:
                break;

            case MessageModeType.GamemasterChannel:
            {
                ChannelId = message.ReadUInt16();
            }
            break;

            case MessageModeType.GamemasterPrivateFrom:
                break;

            case MessageModeType.BarkLow:
            case MessageModeType.BarkLoud:
            {
                Position = message.ReadPosition();
            }
            break;

            default:
                throw new Exception("[ServerPackets.Talk.ParseFromNetworkMessage] Invalid MessageMode: " + MessageMode.ToString());
            }
            Text = message.ReadString();
        }
Beispiel #2
0
        public override void ParseFromNetworkMessage(NetworkMessage message)
        {
            StatementId = message.ReadUInt32();
            SpeakerName = message.ReadString();
            if (Client.VersionNumber >= 125010109 && StatementId != 0)
            {
                IsTraded = message.ReadBool();
            }
            SpeakerLevel = message.ReadUInt16();
            MessageMode  = (MessageModeType)message.ReadByte();
            switch (MessageMode)
            {
            case MessageModeType.Say:
            case MessageModeType.Whisper:
            case MessageModeType.Yell:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.PrivateFrom:
                break;

            case MessageModeType.Channel:
            case MessageModeType.ChannelHighlight:
            {
                ChannelId = message.ReadUInt16();
            }
            break;

            case MessageModeType.Spell:
            case MessageModeType.Potion:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.NpcFromStartBlock:
            {
                Position = message.ReadPosition();
            }
            break;

            case MessageModeType.NpcFrom:
                break;

            case MessageModeType.GamemasterBroadcast:
                break;

            case MessageModeType.GamemasterChannel:
            {
                ChannelId = message.ReadUInt16();
            }
            break;

            case MessageModeType.GamemasterPrivateFrom:
                break;

            case MessageModeType.BarkLow:
            case MessageModeType.BarkLoud:
            {
                Position = message.ReadPosition();
            }
            break;

            default:
                Client.Logger.Warning("[ServerPackets.Talk.ParseFromNetworkMessage] Invalid MessageMode: " + MessageMode.ToString());
                break;
            }
            Text = message.ReadString();
        }
Beispiel #3
0
        public override void AppendToNetworkMessage(NetworkMessage message)
        {
            message.Write((byte)ServerPacketType.Talk);
            message.Write(StatementId);
            message.Write(SpeakerName);
            message.Write(SpeakerLevel);
            message.Write((byte)MessageMode);
            switch (MessageMode)
            {
            case MessageModeType.Say:
            case MessageModeType.Whisper:
            case MessageModeType.Yell:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.PrivateFrom:
                break;

            case MessageModeType.Channel:
            case MessageModeType.ChannelHighlight:
            {
                message.Write(ChannelId);
            }
            break;

            case MessageModeType.Spell:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.NpcFromStartBlock:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.NpcFrom:
                break;

            case MessageModeType.GamemasterBroadcast:
                break;

            case MessageModeType.GamemasterChannel:
            {
                message.Write(ChannelId);
            }
            break;

            case MessageModeType.GamemasterPrivateFrom:
                break;

            case MessageModeType.BarkLow:
            case MessageModeType.BarkLoud:
            {
                message.Write(Position);
            }
            break;

            default:
                throw new Exception("[ServerPackets.Talk.AppendToNetworkMessage] Invalid MessageMode: " + MessageMode.ToString());
            }
            message.Write(Text);
        }
Beispiel #4
0
        public override void AppendToNetworkMessage(NetworkMessage message)
        {
            message.Write((byte)ServerPacketType.Talk);
            message.Write(StatementId);
            message.Write(SpeakerName);
            if (Client.VersionNumber >= 125010109 && StatementId != 0)
            {
                message.Write(IsTraded);
            }
            message.Write(SpeakerLevel);
            message.Write((byte)MessageMode);
            switch (MessageMode)
            {
            case MessageModeType.Say:
            case MessageModeType.Whisper:
            case MessageModeType.Yell:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.PrivateFrom:
                break;

            case MessageModeType.Channel:
            case MessageModeType.ChannelHighlight:
            {
                message.Write(ChannelId);
            }
            break;

            case MessageModeType.Spell:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.NpcFromStartBlock:
            {
                message.Write(Position);
            }
            break;

            case MessageModeType.NpcFrom:
                break;

            case MessageModeType.GamemasterBroadcast:
                break;

            case MessageModeType.GamemasterChannel:
            {
                message.Write(ChannelId);
            }
            break;

            case MessageModeType.GamemasterPrivateFrom:
                break;

            case MessageModeType.BarkLow:
            case MessageModeType.BarkLoud:
            {
                message.Write(Position);
            }
            break;

            default:
                Client.Logger.Warning("[ServerPackets.Talk.AppendToNetworkMessage] Invalid MessageMode: " + MessageMode.ToString());
                break;
            }
            message.Write(Text);
        }