public void HandlePlayerChangeDifficulty(Parser packet)
        {
            var type = (DifficultyChangeType)packet.ReadInt32();
            WriteLine("Change Type: " + type);

            switch (type)
            {
                case DifficultyChangeType.PlayerDifficulty1:
                {
                    var difficulty = packet.ReadByte();
                    WriteLine("Player Difficulty: " + difficulty);
                    break;
                }
                case DifficultyChangeType.SpellDuration:
                {
                    var duration = packet.ReadInt32();
                    WriteLine("Spell Duration: " + duration);
                    break;
                }
                case DifficultyChangeType.Time:
                {
                    var time = packet.ReadInt32();
                    WriteLine("Time: " + time);
                    break;
                }
                case DifficultyChangeType.MapDifficulty:
                {
                    var difficulty = (MapDifficulty)packet.ReadInt32();
                    WriteLine("Map Difficulty: " + difficulty);
                    break;
                }
            }
        }
        public void HandleContactList(Parser packet)
        {
            var flags = (ContactListFlag)packet.ReadInt32();
            WriteLine("List Flags: " + flags);

            var count = packet.ReadInt32();
            WriteLine("Count: " + count);

            for (var i = 0; i < count; i++)
            {
                var guid = packet.ReadGuid();
                WriteLine("GUID: " + guid);

                var cflags = (ContactEntryFlag)packet.ReadInt32();
                WriteLine("Flags: " + cflags);

                var note = packet.ReadCString();
                WriteLine("Note: " + note);

                if (!cflags.HasFlag(ContactEntryFlag.Friend))
                    continue;

                ReadSingleContactBlock(packet, true);
            }
        }
        public void HandleGetEvent(Parser packet)
        {
            WriteLine("EventID: " + packet.ReadInt32());

            if (packet.GetSize() == 8)
                WriteLine("unk: " + packet.ReadInt32());
        }
Exemple #4
0
        public void HandleClientChatMessage(Parser packet)
        {
            var type = (ChatMessageType)packet.ReadInt32();
            WriteLine("Type: " + type);

            var lang = (Language)packet.ReadInt32();
            WriteLine("Language: " + lang);

            switch (type)
            {
                case ChatMessageType.Whisper:
                {
                    var to = packet.ReadCString();
                    WriteLine("Recipient: " + to);
                    goto default;
                }
                case ChatMessageType.Channel:
                {
                    var chan = packet.ReadCString();
                    WriteLine("Channel: " + chan);
                    goto default;
                }
                default:
                {
                    var msg = packet.ReadCString();
                    WriteLine("Message: " + msg);
                    break;
                }
            }
        }
        public void HandleInstanceDifficulty(Parser packet)
        {
            var diff = (MapDifficulty)packet.ReadInt32();
            WriteLine("Instance Difficulty: " + diff);

            var unk2 = packet.ReadInt32();
            WriteLine("Player Difficulty: " + unk2);
        }
        public void ReadWorldStateBlock(Parser packet)
        {
            var fieldId = packet.ReadInt32();
            WriteLine("  Field: " + fieldId);

            var fieldVal = packet.ReadInt32();
            WriteLine("  Value: " + fieldVal);
            WriteLine("");
        }
        public void HandleGameObjectQueryResponse(Parser packet)
        {
            var entry = packet.ReadEntry();
            WriteLine("Entry: " + entry.Key);

            if (entry.Value)
                return;

            var type = (GameObjectType)packet.ReadInt32();
            WriteLine("Type: " + type);

            var dispId = packet.ReadInt32();
            WriteLine("Display ID: " + dispId);

            var name = new string[4];
            for (var i = 0; i < 4; i++)
            {
                name[i] = packet.ReadCString();
                WriteLine("Name " + i + ": " + name[i]);
            }

            var iconName = packet.ReadCString();
            WriteLine("Icon Name: " + iconName);

            var castCaption = packet.ReadCString();
            WriteLine("Cast Caption: " + castCaption);

            var unkStr = packet.ReadCString();
            WriteLine("Unk String: " + unkStr);

            var data = new int[24];
            for (var i = 0; i < 24; i++)
            {
                data[i] = packet.ReadInt32();
                WriteLine("Data " + i + ": " + data[i]);
            }

            var size = packet.ReadSingle();
            WriteLine("Size: " + size);

            var qItem = new int[6];
            for (var i = 0; i < 6; i++)
            {
                qItem[i] = packet.ReadInt32();
                WriteLine("Quest Item " + i + ": " + qItem[i]);
            }

            //SQLStore.WriteData(SQLStore.GameObjects.GetCommand(entry.Key, type, dispId, name[0], iconName,
            //    castCaption, unkStr, data, size, qItem));
        }
        public void HandleSetDifficulty(Parser packet)
        {
            var difficulty = (MapDifficulty)packet.ReadInt32();
            WriteLine("Difficulty: " + difficulty);

            if (Packet.Direction != Direction.Server)
                return;

            var unkByte = packet.ReadInt32();
            WriteLine("Unk Int32 1: " + unkByte);

            var inGroup = packet.ReadInt32();
            WriteLine("In Group: " + inGroup);
        }
        public void HandleInitializeFactions(Parser packet)
        {
            var flags = packet.ReadInt32();
            WriteLine("Flags: 0x" + flags.ToString("X8"));

            for (var i = 0; i < 128; i++)
            {
                var sFlags = (FactionFlag)packet.ReadByte();
                WriteLine("Faction Flags " + i + ": " + sFlags);

                var sStand = packet.ReadInt32();
                WriteLine("Faction Standing " + i + ": " + sStand);
            }
        }
 public void HandleEventInviteAlert(Parser packet)
 {
     WriteLine("EventID: " + packet.ReadInt64());
     WriteLine("EventName: " + packet.ReadString());
     WriteLine("EventTime: " + packet.ReadTime());
     WriteLine("EventFlags: " + packet.ReadInt32());
     WriteLine("EventType: " + packet.ReadInt32());
     WriteLine("DungeonID: " + packet.ReadInt32());
     WriteLine("unk: " + packet.ReadInt32());
     WriteLine("InviteID: " + packet.ReadInt64());
     WriteLine("InviteStatus: " + packet.ReadInt8());
     WriteLine("Mod_Type: " + packet.ReadInt8());
     WriteLine("unk: " + packet.ReadInt32());
     WriteLine("Inviter_1: " + packet.ReadPackedGuid());
     WriteLine("Inviter_2: " + packet.ReadPackedGuid());
 }
 public void HandleCommandCalendar(Parser packet)
 {
     WriteLine("unk: " + packet.ReadInt32() + "(unused)");
     WriteLine("unk: " + packet.ReadInt8() + "(unused)");
     WriteLine("unk: " + packet.ReadString());
     packet.ReadEnum<CalendarResponseResult>("Result");
 }
Exemple #12
0
        public void HandleClientChatMessage(Parser packet)
        {
            var type = (ChatMessageType)packet.ReadInt32();
            WriteLine("Type: " + type);
            ReadEnum<Language>("Language");

            switch (type)
            {
                case ChatMessageType.Whisper:
                {
                    CString("Recipient");
                    goto default;
                }
                case ChatMessageType.Channel:
                {
                    CString("Channel");
                    goto default;
                }
                default:
                {
                    CString("Message");
                    break;
                }
            }
        }
        //[Parser(OpCodes.SMSG_INIT_WORLD_STATES)]
        public void SMSG_INIT_WORLD_STATES(Parser packet)
        {
            var mapId = packet.ReadInt32();
            WriteLine("Map ID: " + mapId);

            var zoneId = packet.ReadInt32();
            WriteLine("Zone ID: " + zoneId);

            var areaId = packet.ReadInt32();
            WriteLine("Area ID: " + areaId);

            var numFields = packet.ReadInt16();
            WriteLine("Field Count: " + numFields);

            for (var i = 0; i < numFields; i++)
                ReadWorldStateBlock(packet);
        }
Exemple #14
0
        public void HandleGroupInvite(Parser packet)
        {
            var name = packet.ReadCString();
            WriteLine("Name: " + name);

            var unkint = packet.ReadInt32();
            WriteLine("Unk Int32: " + unkint);
        }
        public void HandleDestructibleBuildingDamage(Parser packet)
        {
            var goGuid = packet.ReadPackedGuid();
            WriteLine("GO GUID: " + goGuid);

            var vehGuid = packet.ReadPackedGuid();
            WriteLine("Vehicle GUID: " + vehGuid);

            var plrGuid = packet.ReadPackedGuid();
            WriteLine("Player GUID: " + plrGuid);

            var dmg = packet.ReadInt32();
            WriteLine("Damage: " + dmg);

            var spellId = packet.ReadInt32();
            WriteLine("Spell ID: " + spellId);
        }
        public void HandleSetActiveVoiceChannel(Parser packet)
        {
            var chanId = packet.ReadInt32();
            WriteLine("Channel ID: " + chanId);

            var name = packet.ReadCString();
            WriteLine("Channel Name: " + name);
        }
        public void HandleGossipPoi(Parser packet)
        {
            var flags = packet.ReadInt32();
            WriteLine("Flags: 0x" + flags.ToString("X8"));

            Float("X");
            Float("Y");

            var icon = (GossipPoiIcon)packet.ReadInt32();
            WriteLine("Icon: " + icon);

            var data = packet.ReadInt32();
            WriteLine("Data: " + data);

            var iconName = packet.ReadCString();
            WriteLine("Icon Name: " + iconName);
        }
        public static void ReadSetInfo(Parser packet)
        {
            packet.ReadPackedGuid("SetID");
            packet.ReadInt32("Index");
            packet.ReadString("SetName");
            packet.ReadString("SetIcon");

            for (var j = 0; j < 19; j++)
                packet.ReadPackedGuid("Item GUID");
        }
        public void HandleSenddCalendar(Parser packet)
        {
            var inviteCount = packet.ReadInt32("InviteCount");
            for (var i = 0; i < inviteCount; ++i)
            {
                UInt64("EventID");
                UInt64("InviteID");
                UInt8("InviteStats");
                UInt8("Mod_Type");
                UInt8("Invite_Type");
                ReadPackedGuid("InvitedBy");
                WriteLine("");
            }

            var EventCount = packet.ReadInt32("EventCount");
            for (var i = 0; i < EventCount; ++i)
            {
                UInt64("EventID");
                CString("EventName");
                UInt32("EventModFlags");
                PackedTime("EventDate");
                UInt32("EventFlags");
                UInt32("DungeonID");
                UInt64("unk");
                ReadPackedGuid("InvitedBy");
                WriteLine("");
            }

            Time("CurrentUnixTime");
            ReadPackedTime("CurrentPacketTime");

            var InstanceResetCount = packet.ReadInt32("InstanceResetCount");
            for (var i = 0; i < InstanceResetCount; ++i)
            {
                UInt32("MapID");
                UInt32("Difficulty");
                Time("ResetTime");
                UInt64("RaidID");
                WriteLine("");
            }

            Time("BaseTime");

            var RaidResetCount = packet.ReadInt32("RaidResetCount");
            for (var i = 0; i < RaidResetCount; ++i)
            {
                UInt32("MapID");
                Time("ResetTime");
                UInt32("NegativeOffset");
                WriteLine("");
            }

            var Counter = packet.ReadInt32();
            WriteLine("Counter: " + Counter + "(Never seen this larger than 0)");
        }
        public void AccountDataTimes(Parser packet)
        {
            Time("Time");
            Byte("Unk(byte)");

            int mask = packet.ReadInt32("Mask");
            for (int i = 0; i < NUM_ACCOUNT_DATA_TYPES; ++i)
            {
                if ((mask & (1 << i)) != 0)
                    packet.ReadTime(((AccountDataType)i).ToString());
            }
        }
        public void ReadSingleContactBlock(Parser packet, bool onlineCheck)
        {
            var status = (ContactStatus)packet.ReadByte();
            WriteLine("Status: " + status);

            if (onlineCheck && status != ContactStatus.Online)
                return;

            UInt32("AreaID");
            UInt32("Level");

            var clss = (Class)packet.ReadInt32();
            WriteLine("Class: " + clss);
        }
        public void HandleAddEvent(Parser packet)
        {
            WriteLine("Name: " + packet.ReadString());
            WriteLine("Description: " + packet.ReadString());
            WriteLine("Type: " + packet.ReadInt8());
            WriteLine("Repeat_Option: " + packet.ReadInt8());
            WriteLine("maxSize: " + packet.ReadInt32());
            WriteLine("dungeonID: " + packet.ReadInt32());
            WriteLine("time: " + packet.ReadPackedTime());
            WriteLine("lockoutTime: " + packet.ReadInt32());
            WriteLine("flags: " + packet.ReadInt32());

            var inviteCount = packet.ReadInt32("inviteCount");
            WriteLine("");
            WriteLine("Invited Players");

            for (var i = 0; i < inviteCount; ++i)
            {
                WriteLine(" PlayerGuid: " + packet.ReadPackedGuid());
                WriteLine(" inviteStatus: " + packet.ReadInt8());
                WriteLine(" modType: " + packet.ReadInt8());
                WriteLine("");
            }
        }
        public void HandleAddEvent(Parser packet)
        {
            CString("Name");
            CString("Description");
            UInt8("Type");
            UInt8("Repeat_Option");
            UInt32("maxSize");
            UInt32("dungeonID");
            ReadPackedTime("time");
            UInt32("lockoutTime");
            UInt32("flags");

            var inviteCount = packet.ReadInt32("inviteCount");
            WriteLine("");
            WriteLine("Invited Players");

            for (var i = 0; i < inviteCount; ++i)
            {
                ReadPackedGuid(" PlayerGuid");
                UInt8(" inviteStatus");
                UInt8(" modType");
                WriteLine("");
            }
        }
Exemple #24
0
        public void HandleGossipMenu(Parser packet)
        {
            packet.ReadInt64("Guid: ");
            packet.ReadCString("Gossip Text: ");
            packet.ReadInt32("Unk: ");
            packet.ReadInt32("Unk: ");
            var QuestAmount = packet.ReadByte();
                WriteLine("Quest Amount: " + QuestAmount);

            for (int i = 0; i < QuestAmount; i++)
            {
                packet.ReadInt32("Quest ID: " + i);
                packet.ReadInt32("Unknown: " + i);
                packet.ReadInt32("Unknown: " + i);
                packet.ReadInt32("Unknown: " + i);
                packet.ReadByte("Unknown: " + i);
                packet.ReadCString("Quest Title: " + i);
            }
        }
        public void HandleQuestCompleted(Parser packet)
        {
            var questId = packet.ReadInt32();
            WriteLine("Quest ID: " + questId);

            WriteLine("Reward:");
            var xp = packet.ReadInt32();
            WriteLine("XP: " + xp);

            var money = packet.ReadInt32();
            WriteLine("Money: " + money);

            var honor = packet.ReadInt32();
            if (honor < 0)
                WriteLine("Honor: " + honor);

            var talentpoints = packet.ReadInt32();
            if (talentpoints < 0)
                WriteLine("Talentpoints: " + talentpoints);

            var arenapoints = packet.ReadInt32();
            if (arenapoints < 0)
                WriteLine("Arenapoints: " + arenapoints);
        }
        public void HandleVoiceRosterUpdate(Parser packet)
        {
            var unk64 = packet.ReadInt64();
            WriteLine("Unk Int64: " + unk64);

            var chanId = packet.ReadInt16();
            WriteLine("Channel ID: " + chanId);

            var chanName = packet.ReadCString();
            WriteLine("Channel Name: " + chanName);

            var key = Encoding.UTF8.GetString(packet.ReadBytes(16));
            WriteLine("Encryption Key: " + key);

            var ip = packet.ReadInt32();
            WriteLine("Voice Server IP: " + ip);

            var count = packet.ReadByte();
            WriteLine("Player Count: " + count);

            var leaderGuid = packet.ReadGuid();
            WriteLine("Leader GUID: " + leaderGuid);

            var leaderFlags = packet.ReadByte();
            WriteLine("Leader Flags: 0x" + leaderFlags.ToString("X2"));

            var unk = packet.ReadByte();
            WriteLine("Unk Byte 1: " + unk);

            for (var i = 0; i < count - 1; i++)
            {
                var guid = packet.ReadGuid();
                WriteLine("Player GUID: " + guid);

                var idx = packet.ReadByte();
                WriteLine("Index: " + idx);

                var flags = packet.ReadByte();
                WriteLine("Flags: 0x" + flags.ToString("X2"));

                var unk2 = packet.ReadByte();
                WriteLine("Unk Byte 2: " + unk2);
            }
        }
Exemple #27
0
        public void UnlearnSpell(Parser packet)
        {
            var count = packet.ReadInt32();
            WriteLine("Count: " + count);

            for (var i = 0; i < count; i++)
            {
                var spellId = packet.ReadInt32();
                WriteLine("Spell ID " + i + ": " + spellId);
            }
        }
Exemple #28
0
        public void ReadAuraUpdateBlock(Parser packet)
        {
            ReadByte("Slot");

            var id = packet.ReadInt32();
            WriteLine("Spell: " + id);

            if (id <= 0)
                return;

            var flags = (AuraFlag)packet.ReadByte();
            WriteLine("Flags: " + flags);

            Byte("unk");
            Byte("Level");
            Byte("Charges");

            if (!flags.HasFlag(AuraFlag.NotCaster))
                ReadPackedGuid("Caster GUID");

            if (!flags.HasFlag(AuraFlag.Duration))
                return;

            UInt32("Max Duration");
            UInt32("Duration");
        }
        public void HandleSetFactionStanding(Parser packet)
        {
            ReadSingle("unk(Float)");
            Byte("unk(unit8)");

            var amount = packet.ReadInt32();
            WriteLine("Count: " + amount);

            for (int i = 0; i < amount; i++)
            {
                UInt32("FactionListID");
                UInt32("Standing");
            }
        }
 public void HandleTutorialFlag(Parser packet)
 {
     var flag = packet.ReadInt32();
     WriteLine("Flag: 0x" + flag.ToString("X8"));
 }