aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/characters/master/2020_02_17_00_characters.sql1
-rw-r--r--sql/updates/world/master/2020_02_17_00_world.sql223
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp130
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h77
-rw-r--r--src/server/game/Entities/Player/Player.h24
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp74
-rw-r--r--src/server/game/Globals/ObjectMgr.h25
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp2
-rw-r--r--src/server/game/Handlers/AuthHandler.cpp7
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp16
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp1
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/AuthenticationPackets.h7
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h2
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h1
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h1
-rw-r--r--src/server/game/Server/Packets/ScenePackets.cpp2
-rw-r--r--src/server/game/Server/Packets/ScenePackets.h1
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h1
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp39
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h1596
25 files changed, 1311 insertions, 964 deletions
diff --git a/sql/updates/characters/master/2020_02_17_00_characters.sql b/sql/updates/characters/master/2020_02_17_00_characters.sql
new file mode 100644
index 00000000000..171f0461235
--- /dev/null
+++ b/sql/updates/characters/master/2020_02_17_00_characters.sql
@@ -0,0 +1 @@
+UPDATE `character_inventory` SET `slot`=`slot`+4 WHERE `slot`>=47 AND `bag`=0;
diff --git a/sql/updates/world/master/2020_02_17_00_world.sql b/sql/updates/world/master/2020_02_17_00_world.sql
new file mode 100644
index 00000000000..08401456442
--- /dev/null
+++ b/sql/updates/world/master/2020_02_17_00_world.sql
@@ -0,0 +1,223 @@
+DROP TABLE IF EXISTS `class_expansion_requirement`;
+CREATE TABLE `class_expansion_requirement` (
+ `ClassID` tinyint(3) unsigned NOT NULL,
+ `RaceID` tinyint(3) unsigned NOT NULL,
+ `ActiveExpansionLevel` tinyint(3) unsigned DEFAULT '0',
+ `AccountExpansionLevel` tinyint(3) unsigned DEFAULT '0',
+ PRIMARY KEY (`ClassID`,`RaceID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+--
+-- Dumping data for table `class_expansion_requirement`
+--
+INSERT INTO `class_expansion_requirement` VALUES
+(1,1,0,0),
+(1,2,0,0),
+(1,3,0,0),
+(1,4,0,0),
+(1,5,0,0),
+(1,6,0,0),
+(1,7,0,0),
+(1,8,0,0),
+(1,9,0,0),
+(1,10,0,0),
+(1,11,0,0),
+(1,22,0,0),
+(1,24,0,0),
+(1,25,0,0),
+(1,26,0,0),
+(1,27,0,0),
+(1,28,0,0),
+(1,29,0,0),
+(1,30,0,0),
+(1,31,0,0),
+(1,32,0,0),
+(1,34,0,0),
+(1,35,0,0),
+(1,36,0,0),
+(1,37,0,0),
+(2,1,0,0),
+(2,3,0,0),
+(2,6,0,0),
+(2,10,0,0),
+(2,11,0,0),
+(2,30,0,0),
+(2,31,0,0),
+(2,34,0,0),
+(3,1,0,0),
+(3,2,0,0),
+(3,3,0,0),
+(3,4,0,0),
+(3,5,0,0),
+(3,6,0,0),
+(3,7,0,0),
+(3,8,0,0),
+(3,9,0,0),
+(3,10,0,0),
+(3,11,0,0),
+(3,22,0,0),
+(3,24,0,0),
+(3,25,0,0),
+(3,26,0,0),
+(3,27,0,0),
+(3,28,0,0),
+(3,29,0,0),
+(3,30,0,0),
+(3,31,0,0),
+(3,32,0,0),
+(3,34,0,0),
+(3,35,0,0),
+(3,36,0,0),
+(3,37,0,0),
+(4,1,0,0),
+(4,2,0,0),
+(4,3,0,0),
+(4,4,0,0),
+(4,5,0,0),
+(4,7,0,0),
+(4,8,0,0),
+(4,9,0,0),
+(4,10,0,0),
+(4,22,0,0),
+(4,24,0,0),
+(4,25,0,0),
+(4,26,0,0),
+(4,27,0,0),
+(4,29,0,0),
+(4,31,0,0),
+(4,32,0,0),
+(4,34,0,0),
+(4,35,0,0),
+(4,36,0,0),
+(4,37,0,0),
+(5,1,0,0),
+(5,3,0,0),
+(5,4,0,0),
+(5,5,0,0),
+(5,6,0,0),
+(5,7,0,0),
+(5,8,0,0),
+(5,9,0,0),
+(5,10,0,0),
+(5,11,0,0),
+(5,22,0,0),
+(5,24,0,0),
+(5,25,0,0),
+(5,26,0,0),
+(5,27,0,0),
+(5,29,0,0),
+(5,30,0,0),
+(5,31,0,0),
+(5,32,0,0),
+(5,34,0,0),
+(5,35,0,0),
+(5,36,0,0),
+(5,37,0,0),
+(6,1,2,2),
+(6,2,2,2),
+(6,3,2,2),
+(6,4,2,2),
+(6,5,2,2),
+(6,6,2,2),
+(6,7,2,2),
+(6,8,2,2),
+(6,9,2,2),
+(6,10,2,2),
+(6,11,2,2),
+(6,22,2,2),
+(6,24,2,8),
+(6,25,2,8),
+(6,26,2,8),
+(6,27,2,8),
+(6,28,2,8),
+(6,29,2,8),
+(6,30,2,8),
+(6,31,2,8),
+(6,32,2,8),
+(6,34,2,8),
+(6,35,2,8),
+(6,36,2,8),
+(6,37,2,8),
+(7,2,0,0),
+(7,3,0,0),
+(7,6,0,0),
+(7,8,0,0),
+(7,9,0,0),
+(7,11,0,0),
+(7,24,0,0),
+(7,25,0,0),
+(7,26,0,0),
+(7,28,0,0),
+(7,31,0,0),
+(7,32,0,0),
+(7,34,0,0),
+(7,35,0,0),
+(7,36,0,0),
+(8,1,0,0),
+(8,2,0,0),
+(8,3,0,0),
+(8,4,0,0),
+(8,5,0,0),
+(8,7,0,0),
+(8,8,0,0),
+(8,9,0,0),
+(8,10,0,0),
+(8,11,0,0),
+(8,22,0,0),
+(8,24,0,0),
+(8,25,0,0),
+(8,26,0,0),
+(8,27,0,0),
+(8,29,0,0),
+(8,30,0,0),
+(8,31,0,0),
+(8,32,0,0),
+(8,34,0,0),
+(8,35,0,0),
+(8,36,0,0),
+(8,37,0,0),
+(9,1,0,0),
+(9,2,0,0),
+(9,3,0,0),
+(9,5,0,0),
+(9,7,0,0),
+(9,8,0,0),
+(9,9,0,0),
+(9,10,0,0),
+(9,22,0,0),
+(9,27,0,0),
+(9,29,0,0),
+(9,34,0,0),
+(9,35,0,0),
+(9,37,0,0),
+(10,1,4,4),
+(10,2,4,4),
+(10,3,4,4),
+(10,4,4,4),
+(10,5,4,4),
+(10,6,4,4),
+(10,7,4,4),
+(10,8,4,4),
+(10,10,4,4),
+(10,11,4,4),
+(10,24,4,4),
+(10,25,4,4),
+(10,26,4,4),
+(10,27,4,4),
+(10,28,4,4),
+(10,29,4,4),
+(10,31,4,4),
+(10,32,4,4),
+(10,34,4,4),
+(10,35,4,4),
+(10,36,4,4),
+(10,37,4,4),
+(11,4,0,0),
+(11,6,0,0),
+(11,8,0,0),
+(11,22,0,0),
+(11,28,0,0),
+(11,31,0,0),
+(11,32,0,0),
+(12,4,6,6),
+(12,10,6,6);
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index 3b78a448089..56bade88f2d 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -518,7 +518,7 @@ void UnlockedAzeriteEssence::WriteUpdate(ByteBuffer& data, AzeriteItem const* ow
void SelectedAzeriteEssences::WriteCreate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const
{
- for (std::size_t i = 0; i < 3; ++i)
+ for (std::size_t i = 0; i < 4; ++i)
{
data << uint32(AzeriteEssenceID[i]);
}
@@ -529,7 +529,7 @@ void SelectedAzeriteEssences::WriteCreate(ByteBuffer& data, AzeriteItem const* o
void SelectedAzeriteEssences::WriteUpdate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const
{
- UpdateMask<7> const& changesMask = _changesMask;
+ UpdateMask<8> const& changesMask = _changesMask;
data.WriteBits(changesMask.GetBlocksMask(0), 1);
if (changesMask.GetBlock(0))
data.WriteBits(changesMask.GetBlock(0), 32);
@@ -548,7 +548,7 @@ void SelectedAzeriteEssences::WriteUpdate(ByteBuffer& data, AzeriteItem const* o
}
if (changesMask[3])
{
- for (std::size_t i = 0; i < 3; ++i)
+ for (std::size_t i = 0; i < 4; ++i)
{
if (changesMask[4 + i])
{
@@ -938,6 +938,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fiel
data << uint32(PassiveSpells.size());
data << uint32(WorldEffects.size());
data << uint32(ChannelObjects.size());
+ data << SkinningOwnerGUID;
for (std::size_t i = 0; i < PassiveSpells.size(); ++i)
{
PassiveSpells[i].WriteCreate(data, owner, receiver);
@@ -954,22 +955,22 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fiel
void UnitData::WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
{
- UpdateMask<191> allowedMaskForTarget({ 0xFFFFEFFFu, 0xFC3FBFFFu, 0x0001EFFFu, 0xFFDFFFF9u, 0x001FC003u, 0x00000000u });
+ UpdateMask<192> allowedMaskForTarget({ 0xFFFFEFFFu, 0xFC3FBFFFu, 0x0001EFFFu, 0xFFBFFFF9u, 0x003F8007u, 0x00000000u });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, fieldVisibilityFlags, owner, receiver);
}
-void UnitData::AppendAllowedFieldsMaskForFlag(UpdateMask<191>& allowedMaskForTarget, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags) const
+void UnitData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
- allowedMaskForTarget |= { 0x00001000u, 0x03C04000u, 0xFFFE1000u, 0x00200006u, 0xFFE03FFCu, 0x7FFFFFFFu };
+ allowedMaskForTarget |= { 0x00001000u, 0x03C04000u, 0xFFFE1000u, 0x00400006u, 0xFFC07FF8u, 0xFFFFFFFFu };
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::UnitAll))
- allowedMaskForTarget |= { 0x00000000u, 0x00000000u, 0x00000000u, 0x00200000u, 0x00003FFCu, 0x00000000u };
+ allowedMaskForTarget |= { 0x00000000u, 0x00000000u, 0x00000000u, 0x00400000u, 0x00007FF8u, 0x00000000u };
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Empath))
- allowedMaskForTarget |= { 0x00000000u, 0x03C00000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x000003FCu };
+ allowedMaskForTarget |= { 0x00000000u, 0x03C00000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x000007F8u };
}
-void UnitData::WriteUpdate(ByteBuffer& data, UpdateMask<191> const& changesMask, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
+void UnitData::WriteUpdate(ByteBuffer& data, UpdateMask<192> const& changesMask, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
{
data.WriteBits(changesMask.GetBlocksMask(0), 6);
for (std::size_t i = 0; i < 6; ++i)
@@ -1469,94 +1470,98 @@ void UnitData::WriteUpdate(ByteBuffer& data, UpdateMask<191> const& changesMask,
{
data << GuildGUID;
}
+ if (changesMask[114])
+ {
+ data << SkinningOwnerGUID;
+ }
}
- if (changesMask[114])
+ if (changesMask[115])
{
for (std::size_t i = 0; i < 2; ++i)
{
- if (changesMask[115 + i])
+ if (changesMask[116 + i])
{
data << uint32(ViewerDependentValue<NpcFlagsTag>::GetValue(NpcFlags[i], i, owner, receiver));
}
}
}
- if (changesMask[117])
+ if (changesMask[118])
{
for (std::size_t i = 0; i < 6; ++i)
{
- if (changesMask[118 + i])
+ if (changesMask[119 + i])
{
data << int32(Power[i]);
}
- if (changesMask[124 + i])
+ if (changesMask[125 + i])
{
data << int32(MaxPower[i]);
}
- if (changesMask[130 + i])
+ if (changesMask[131 + i])
{
data << float(PowerRegenFlatModifier[i]);
}
- if (changesMask[136 + i])
+ if (changesMask[137 + i])
{
data << float(PowerRegenInterruptedFlatModifier[i]);
}
}
}
- if (changesMask[142])
+ if (changesMask[143])
{
for (std::size_t i = 0; i < 3; ++i)
{
- if (changesMask[143 + i])
+ if (changesMask[144 + i])
{
VirtualItems[i].WriteUpdate(data, owner, receiver);
}
}
}
- if (changesMask[146])
+ if (changesMask[147])
{
for (std::size_t i = 0; i < 2; ++i)
{
- if (changesMask[147 + i])
+ if (changesMask[148 + i])
{
data << uint32(AttackRoundBaseTime[i]);
}
}
}
- if (changesMask[149])
+ if (changesMask[150])
{
for (std::size_t i = 0; i < 4; ++i)
{
- if (changesMask[150 + i])
+ if (changesMask[151 + i])
{
data << int32(Stats[i]);
}
- if (changesMask[154 + i])
+ if (changesMask[155 + i])
{
data << int32(StatPosBuff[i]);
}
- if (changesMask[158 + i])
+ if (changesMask[159 + i])
{
data << int32(StatNegBuff[i]);
}
}
}
- if (changesMask[162])
+ if (changesMask[163])
{
for (std::size_t i = 0; i < 7; ++i)
{
- if (changesMask[163 + i])
+ if (changesMask[164 + i])
{
data << int32(Resistances[i]);
}
- if (changesMask[170 + i])
+ if (changesMask[171 + i])
{
data << int32(BonusResistanceMods[i]);
}
- if (changesMask[177 + i])
+ if (changesMask[178 + i])
{
data << int32(PowerCostModifier[i]);
}
- if (changesMask[184 + i])
+ if (changesMask[185 + i])
{
data << float(PowerCostMultiplier[i]);
}
@@ -1676,6 +1681,7 @@ void UnitData::ClearChangesMask()
Base::ClearChangesMask(LookAtControllerID);
Base::ClearChangesMask(TaxiNodesID);
Base::ClearChangesMask(GuildGUID);
+ Base::ClearChangesMask(SkinningOwnerGUID);
Base::ClearChangesMask(NpcFlags);
Base::ClearChangesMask(Power);
Base::ClearChangesMask(MaxPower);
@@ -2494,7 +2500,7 @@ void QuestSession::ClearChangesMask()
void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
- for (std::size_t i = 0; i < 195; ++i)
+ for (std::size_t i = 0; i < 199; ++i)
{
data << InvSlots[i];
}
@@ -2737,7 +2743,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFl
void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
- UpdateMask<1490> const& changesMask = _changesMask;
+ UpdateMask<1494> const& changesMask = _changesMask;
for (std::size_t i = 0; i < 1; ++i)
data << uint32(changesMask.GetBlocksMask(i));
data.WriteBits(changesMask.GetBlocksMask(1), 15);
@@ -3363,7 +3369,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFl
}
if (changesMask[104])
{
- for (std::size_t i = 0; i < 195; ++i)
+ for (std::size_t i = 0; i < 199; ++i)
{
if (changesMask[105 + i])
{
@@ -3371,147 +3377,147 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFl
}
}
}
- if (changesMask[300])
+ if (changesMask[304])
{
for (std::size_t i = 0; i < 2; ++i)
{
- if (changesMask[301 + i])
+ if (changesMask[305 + i])
{
data << uint32(TrackResourceMask[i]);
}
}
}
- if (changesMask[303])
+ if (changesMask[307])
{
for (std::size_t i = 0; i < 192; ++i)
{
- if (changesMask[304 + i])
+ if (changesMask[308 + i])
{
data << uint64(ExploredZones[i]);
}
}
}
- if (changesMask[496])
+ if (changesMask[500])
{
for (std::size_t i = 0; i < 2; ++i)
{
- if (changesMask[497 + i])
+ if (changesMask[501 + i])
{
RestInfo[i].WriteUpdate(data, owner, receiver);
}
}
}
- if (changesMask[499])
+ if (changesMask[503])
{
for (std::size_t i = 0; i < 7; ++i)
{
- if (changesMask[500 + i])
+ if (changesMask[504 + i])
{
data << int32(ModDamageDonePos[i]);
}
- if (changesMask[507 + i])
+ if (changesMask[511 + i])
{
data << int32(ModDamageDoneNeg[i]);
}
- if (changesMask[514 + i])
+ if (changesMask[518 + i])
{
data << float(ModDamageDonePercent[i]);
}
}
}
- if (changesMask[521])
+ if (changesMask[525])
{
for (std::size_t i = 0; i < 3; ++i)
{
- if (changesMask[522 + i])
+ if (changesMask[526 + i])
{
data << float(WeaponDmgMultipliers[i]);
}
- if (changesMask[525 + i])
+ if (changesMask[529 + i])
{
data << float(WeaponAtkSpeedMultipliers[i]);
}
}
}
- if (changesMask[528])
+ if (changesMask[532])
{
for (std::size_t i = 0; i < 12; ++i)
{
- if (changesMask[529 + i])
+ if (changesMask[533 + i])
{
data << uint32(BuybackPrice[i]);
}
- if (changesMask[541 + i])
+ if (changesMask[545 + i])
{
data << uint32(BuybackTimestamp[i]);
}
}
}
- if (changesMask[553])
+ if (changesMask[557])
{
for (std::size_t i = 0; i < 32; ++i)
{
- if (changesMask[554 + i])
+ if (changesMask[558 + i])
{
data << int32(CombatRatings[i]);
}
}
}
- if (changesMask[593])
+ if (changesMask[597])
{
for (std::size_t i = 0; i < 4; ++i)
{
- if (changesMask[594 + i])
+ if (changesMask[598 + i])
{
data << uint32(NoReagentCostMask[i]);
}
}
}
- if (changesMask[598])
+ if (changesMask[602])
{
for (std::size_t i = 0; i < 2; ++i)
{
- if (changesMask[599 + i])
+ if (changesMask[603 + i])
{
data << int32(ProfessionSkillLine[i]);
}
}
}
- if (changesMask[601])
+ if (changesMask[605])
{
for (std::size_t i = 0; i < 4; ++i)
{
- if (changesMask[602 + i])
+ if (changesMask[606 + i])
{
data << uint32(BagSlotFlags[i]);
}
}
}
- if (changesMask[606])
+ if (changesMask[610])
{
for (std::size_t i = 0; i < 7; ++i)
{
- if (changesMask[607 + i])
+ if (changesMask[611 + i])
{
data << uint32(BankBagSlotFlags[i]);
}
}
}
- if (changesMask[614])
+ if (changesMask[618])
{
for (std::size_t i = 0; i < 875; ++i)
{
- if (changesMask[615 + i])
+ if (changesMask[619 + i])
{
data << uint64(QuestCompleted[i]);
}
}
}
- if (changesMask[586])
+ if (changesMask[590])
{
for (std::size_t i = 0; i < 6; ++i)
{
- if (changesMask[587 + i])
+ if (changesMask[591 + i])
{
PvpInfo[i].WriteUpdate(data, owner, receiver);
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index b31751eb061..0335b90b4ac 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -145,11 +145,11 @@ struct UnlockedAzeriteEssence : public IsUpdateFieldStructureTag
void WriteUpdate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const;
};
-struct SelectedAzeriteEssences : public IsUpdateFieldStructureTag, public HasChangesMask<7>
+struct SelectedAzeriteEssences : public IsUpdateFieldStructureTag, public HasChangesMask<8>
{
UpdateField<uint32, 0, 1> SpecializationID;
UpdateField<uint32, 0, 2> Enabled;
- UpdateFieldArray<uint32, 3, 3, 4> AzeriteEssenceID;
+ UpdateFieldArray<uint32, 4, 3, 4> AzeriteEssenceID;
void WriteCreate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, AzeriteItem const* owner, Player const* receiver) const;
@@ -203,7 +203,7 @@ struct PassiveSpellHistory : public IsUpdateFieldStructureTag
void WriteUpdate(ByteBuffer& data, Unit const* owner, Player const* receiver) const;
};
-struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<191>
+struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<192>
{
UpdateField<std::vector<uint32>, 0, 1> StateWorldEffectIDs;
DynamicUpdateField<UF::PassiveSpellHistory, 0, 2> PassiveSpells;
@@ -320,26 +320,27 @@ struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<191>
UpdateField<int32, 96, 111> LookAtControllerID;
UpdateField<int32, 96, 112> TaxiNodesID;
UpdateField<ObjectGuid, 96, 113> GuildGUID;
- UpdateFieldArray<uint32, 2, 114, 115> NpcFlags;
+ UpdateField<ObjectGuid, 96, 114> SkinningOwnerGUID;
+ UpdateFieldArray<uint32, 2, 115, 116> NpcFlags;
struct NpcFlagsTag : ViewerDependentValueTag<uint32> {};
- UpdateFieldArray<int32, 6, 117, 118> Power;
- UpdateFieldArray<int32, 6, 117, 124> MaxPower;
- UpdateFieldArray<float, 6, 117, 130> PowerRegenFlatModifier;
- UpdateFieldArray<float, 6, 117, 136> PowerRegenInterruptedFlatModifier;
- UpdateFieldArray<UF::VisibleItem, 3, 142, 143> VirtualItems;
- UpdateFieldArray<uint32, 2, 146, 147> AttackRoundBaseTime;
- UpdateFieldArray<int32, 4, 149, 150> Stats;
- UpdateFieldArray<int32, 4, 149, 154> StatPosBuff;
- UpdateFieldArray<int32, 4, 149, 158> StatNegBuff;
- UpdateFieldArray<int32, 7, 162, 163> Resistances;
- UpdateFieldArray<int32, 7, 162, 170> BonusResistanceMods;
- UpdateFieldArray<int32, 7, 162, 177> PowerCostModifier;
- UpdateFieldArray<float, 7, 162, 184> PowerCostMultiplier;
+ UpdateFieldArray<int32, 6, 118, 119> Power;
+ UpdateFieldArray<int32, 6, 118, 125> MaxPower;
+ UpdateFieldArray<float, 6, 118, 131> PowerRegenFlatModifier;
+ UpdateFieldArray<float, 6, 118, 137> PowerRegenInterruptedFlatModifier;
+ UpdateFieldArray<UF::VisibleItem, 3, 143, 144> VirtualItems;
+ UpdateFieldArray<uint32, 2, 147, 148> AttackRoundBaseTime;
+ UpdateFieldArray<int32, 4, 150, 151> Stats;
+ UpdateFieldArray<int32, 4, 150, 155> StatPosBuff;
+ UpdateFieldArray<int32, 4, 150, 159> StatNegBuff;
+ UpdateFieldArray<int32, 7, 163, 164> Resistances;
+ UpdateFieldArray<int32, 7, 163, 171> BonusResistanceMods;
+ UpdateFieldArray<int32, 7, 163, 178> PowerCostModifier;
+ UpdateFieldArray<float, 7, 163, 185> PowerCostMultiplier;
void WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
- void AppendAllowedFieldsMaskForFlag(UpdateMask<191>& allowedMaskForTarget, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
- void WriteUpdate(ByteBuffer& data, UpdateMask<191> const& changesMask, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
+ void AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void WriteUpdate(ByteBuffer& data, UpdateMask<192> const& changesMask, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -523,7 +524,7 @@ struct QuestSession : public IsUpdateFieldStructureTag, public HasChangesMask<87
void ClearChangesMask();
};
-struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<1490>
+struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<1494>
{
UpdateField<bool, 0, 1> BackpackAutoSortDisabled;
UpdateField<bool, 0, 2> BankAutoSortDisabled;
@@ -624,24 +625,24 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateField<int32, 98, 101> PvpLastWeeksRewardClaimed;
UpdateField<uint8, 98, 102> NumBankSlots;
OptionalUpdateField<UF::QuestSession, 98, 103> QuestSession;
- UpdateFieldArray<ObjectGuid, 195, 104, 105> InvSlots;
- UpdateFieldArray<uint32, 2, 300, 301> TrackResourceMask;
- UpdateFieldArray<uint64, 192, 303, 304> ExploredZones;
- UpdateFieldArray<UF::RestInfo, 2, 496, 497> RestInfo;
- UpdateFieldArray<int32, 7, 499, 500> ModDamageDonePos;
- UpdateFieldArray<int32, 7, 499, 507> ModDamageDoneNeg;
- UpdateFieldArray<float, 7, 499, 514> ModDamageDonePercent;
- UpdateFieldArray<float, 3, 521, 522> WeaponDmgMultipliers;
- UpdateFieldArray<float, 3, 521, 525> WeaponAtkSpeedMultipliers;
- UpdateFieldArray<uint32, 12, 528, 529> BuybackPrice;
- UpdateFieldArray<uint32, 12, 528, 541> BuybackTimestamp;
- UpdateFieldArray<int32, 32, 553, 554> CombatRatings;
- UpdateFieldArray<UF::PVPInfo, 6, 586, 587> PvpInfo;
- UpdateFieldArray<uint32, 4, 593, 594> NoReagentCostMask;
- UpdateFieldArray<int32, 2, 598, 599> ProfessionSkillLine;
- UpdateFieldArray<uint32, 4, 601, 602> BagSlotFlags;
- UpdateFieldArray<uint32, 7, 606, 607> BankBagSlotFlags;
- UpdateFieldArray<uint64, 875, 614, 615> QuestCompleted;
+ UpdateFieldArray<ObjectGuid, 199, 104, 105> InvSlots;
+ UpdateFieldArray<uint32, 2, 304, 305> TrackResourceMask;
+ UpdateFieldArray<uint64, 192, 307, 308> ExploredZones;
+ UpdateFieldArray<UF::RestInfo, 2, 500, 501> RestInfo;
+ UpdateFieldArray<int32, 7, 503, 504> ModDamageDonePos;
+ UpdateFieldArray<int32, 7, 503, 511> ModDamageDoneNeg;
+ UpdateFieldArray<float, 7, 503, 518> ModDamageDonePercent;
+ UpdateFieldArray<float, 3, 525, 526> WeaponDmgMultipliers;
+ UpdateFieldArray<float, 3, 525, 529> WeaponAtkSpeedMultipliers;
+ UpdateFieldArray<uint32, 12, 532, 533> BuybackPrice;
+ UpdateFieldArray<uint32, 12, 532, 545> BuybackTimestamp;
+ UpdateFieldArray<int32, 32, 557, 558> CombatRatings;
+ UpdateFieldArray<UF::PVPInfo, 6, 590, 591> PvpInfo;
+ UpdateFieldArray<uint32, 4, 597, 598> NoReagentCostMask;
+ UpdateFieldArray<int32, 2, 602, 603> ProfessionSkillLine;
+ UpdateFieldArray<uint32, 4, 605, 606> BagSlotFlags;
+ UpdateFieldArray<uint32, 7, 610, 611> BankBagSlotFlags;
+ UpdateFieldArray<uint64, 875, 618, 619> QuestCompleted;
void WriteCreate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, EnumClassFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 9e069fa8e5f..8e3f3841c11 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -604,41 +604,41 @@ enum InventorySlots : uint8 // 4 slots
INVENTORY_SLOT_BAG_END = 23
};
-enum InventoryPackSlots : uint8 // 24 slots
+enum InventoryPackSlots : uint8 // 28 slots
{
INVENTORY_SLOT_ITEM_START = 23,
- INVENTORY_SLOT_ITEM_END = 47
+ INVENTORY_SLOT_ITEM_END = 51
};
enum BankItemSlots // 28 slots
{
- BANK_SLOT_ITEM_START = 47,
- BANK_SLOT_ITEM_END = 75
+ BANK_SLOT_ITEM_START = 51,
+ BANK_SLOT_ITEM_END = 79
};
enum BankBagSlots // 7 slots
{
- BANK_SLOT_BAG_START = 75,
- BANK_SLOT_BAG_END = 82
+ BANK_SLOT_BAG_START = 79,
+ BANK_SLOT_BAG_END = 86
};
enum BuyBackSlots // 12 slots
{
// stored in m_buybackitems
- BUYBACK_SLOT_START = 82,
- BUYBACK_SLOT_END = 94
+ BUYBACK_SLOT_START = 86,
+ BUYBACK_SLOT_END = 98
};
enum ReagentSlots // 98 slots
{
- REAGENT_SLOT_START = 94,
- REAGENT_SLOT_END = 192,
+ REAGENT_SLOT_START = 98,
+ REAGENT_SLOT_END = 196,
};
enum ChildEquipmentSlots
{
- CHILD_EQUIPMENT_SLOT_START = 192,
- CHILD_EQUIPMENT_SLOT_END = 195,
+ CHILD_EQUIPMENT_SLOT_START = 196,
+ CHILD_EQUIPMENT_SLOT_END = 199,
};
struct ItemPosCount
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 8a18c694894..54f736b857e 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -9881,37 +9881,76 @@ void ObjectMgr::LoadRaceAndClassExpansionRequirements()
oldMSTime = getMSTime();
_classExpansionRequirementStore.clear();
- // 0 1
- result = WorldDatabase.Query("SELECT classID, expansion FROM `class_expansion_requirement`");
+ // 0 1 2 3
+ result = WorldDatabase.Query("SELECT ClassID, RaceID, ActiveExpansionLevel, AccountExpansionLevel FROM `class_expansion_requirement`");
if (result)
{
+ std::map<uint8, std::map<uint8, std::pair<uint8, uint8>>> temp;
uint32 count = 0;
do
{
Field* fields = result->Fetch();
- uint8 classID = fields[0].GetInt8();
- uint8 expansion = fields[1].GetInt8();
+ uint8 classID = fields[0].GetUInt8();
+ uint8 raceID = fields[1].GetUInt8();
+ uint8 activeExpansionLevel = fields[2].GetUInt8();
+ uint8 accountExpansionLevel = fields[3].GetUInt8();
ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(classID);
if (!classEntry)
{
- TC_LOG_ERROR("sql.sql", "Class %u defined in `class_expansion_requirement` does not exists, skipped.", classID);
+ TC_LOG_ERROR("sql.sql", "Class %u (race %u) defined in `class_expansion_requirement` does not exists, skipped.",
+ uint32(classID), uint32(raceID));
continue;
}
- if (expansion >= MAX_EXPANSIONS)
+ ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(raceID);
+ if (!classEntry)
{
- TC_LOG_ERROR("sql.sql", "Class %u defined in `class_expansion_requirement` has incorrect expansion %u, skipped.", classID, expansion);
+ TC_LOG_ERROR("sql.sql", "Race %u (class %u) defined in `class_expansion_requirement` does not exists, skipped.",
+ uint32(raceID), uint32(classID));
continue;
}
- _classExpansionRequirementStore[classID] = expansion;
+ if (activeExpansionLevel >= MAX_EXPANSIONS)
+ {
+ TC_LOG_ERROR("sql.sql", "Class %u Race %u defined in `class_expansion_requirement` has incorrect ActiveExpansionLevel %u, skipped.",
+ uint32(classID), uint32(raceID), activeExpansionLevel);
+ continue;
+ }
+
+ if (accountExpansionLevel >= MAX_ACCOUNT_EXPANSIONS)
+ {
+ TC_LOG_ERROR("sql.sql", "Class %u Race %u defined in `class_expansion_requirement` has incorrect AccountExpansionLevel %u, skipped.",
+ uint32(classID), uint32(raceID), accountExpansionLevel);
+ continue;
+ }
+
+ temp[raceID][classID] = { activeExpansionLevel, accountExpansionLevel };
++count;
}
while (result->NextRow());
+
+ for (auto&& race : temp)
+ {
+ _classExpansionRequirementStore.emplace_back();
+
+ RaceClassAvailability& raceClassAvailability = _classExpansionRequirementStore.back();
+ raceClassAvailability.RaceID = race.first;
+
+ for (auto&& class_ : race.second)
+ {
+ raceClassAvailability.Classes.emplace_back();
+
+ ClassAvailability& classAvailability = raceClassAvailability.Classes.back();
+ classAvailability.ClassID = class_.first;
+ classAvailability.ActiveExpansionLevel = class_.second.first;
+ classAvailability.AccountExpansionLevel = class_.second.second;
+ }
+ }
+
TC_LOG_INFO("server.loading", ">> Loaded %u class expansion requirements in %u ms.", count, GetMSTimeDiffToNow(oldMSTime));
}
else
@@ -9974,6 +10013,25 @@ bool ObjectMgr::GetRealmName(uint32 realmId, std::string& name, std::string& nor
return false;
}
+ClassAvailability const* ObjectMgr::GetClassExpansionRequirement(uint8 raceId, uint8 classId) const
+{
+ auto raceItr = std::find_if(_classExpansionRequirementStore.begin(), _classExpansionRequirementStore.end(), [raceId](RaceClassAvailability const& raceClass)
+ {
+ return raceClass.RaceID == raceId;
+ });
+ if (raceItr == _classExpansionRequirementStore.end())
+ return nullptr;
+
+ auto classItr = std::find_if(raceItr->Classes.begin(), raceItr->Classes.end(), [classId](ClassAvailability const& classAvailability)
+ {
+ return classAvailability.ClassID == classId;
+ });
+ if (classItr == raceItr->Classes.end())
+ return nullptr;
+
+ return &(*classItr);
+}
+
PlayerChoice const* ObjectMgr::GetPlayerChoice(int32 choiceId) const
{
return Trinity::Containers::MapGetValuePtr(_playerChoices, choiceId);
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 129cde974cb..671fb4465f5 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -934,6 +934,19 @@ struct PhaseAreaInfo
ConditionContainer Conditions;
};
+struct ClassAvailability
+{
+ uint8 ClassID = 0;
+ uint8 ActiveExpansionLevel = 0;
+ uint8 AccountExpansionLevel = 0;
+};
+
+struct RaceClassAvailability
+{
+ uint8 RaceID = 0;
+ std::vector<ClassAvailability> Classes;
+};
+
struct RaceUnlockRequirement
{
uint8 Expansion;
@@ -1587,14 +1600,8 @@ class TC_GAME_API ObjectMgr
return nullptr;
}
- std::unordered_map<uint8, uint8> const& GetClassExpansionRequirements() const { return _classExpansionRequirementStore; }
- uint8 GetClassExpansionRequirement(uint8 class_) const
- {
- auto itr = _classExpansionRequirementStore.find(class_);
- if (itr != _classExpansionRequirementStore.end())
- return itr->second;
- return EXPANSION_CLASSIC;
- }
+ std::vector<RaceClassAvailability> const& GetClassExpansionRequirements() const { return _classExpansionRequirementStore; }
+ ClassAvailability const* GetClassExpansionRequirement(uint8 raceId, uint8 classId) const;
SceneTemplate const* GetSceneTemplate(uint32 sceneId) const
{
@@ -1771,7 +1778,7 @@ class TC_GAME_API ObjectMgr
std::set<uint32> _hasDifficultyEntries[MAX_CREATURE_DIFFICULTIES]; // already loaded creatures with difficulty 1 values, used in CheckCreatureTemplate
std::unordered_map<uint8, RaceUnlockRequirement> _raceUnlockRequirementStore;
- std::unordered_map<uint8, uint8> _classExpansionRequirementStore;
+ std::vector<RaceClassAvailability> _classExpansionRequirementStore;
RealmNameContainer _realmNameStore;
SceneTemplateContainer _sceneTemplateStore;
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index e524803b254..87c0e29b43f 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -65,7 +65,7 @@ void WorldSession::SendAuctionHello(ObjectGuid guid, Creature* unit)
WorldPackets::AuctionHouse::AuctionHelloResponse auctionHelloResponse;
auctionHelloResponse.Guid = guid;
- auctionHelloResponse.OpenForBusiness = true; // 3.3.3: 1 - AH enabled, 0 - AH disabled
+ auctionHelloResponse.OpenForBusiness = false; // 3.3.3: 1 - AH enabled, 0 - AH disabled
SendPacket(auctionHelloResponse.Write());
}
diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp
index c1091b11431..20c3dc7235f 100644
--- a/src/server/game/Handlers/AuthHandler.cpp
+++ b/src/server/game/Handlers/AuthHandler.cpp
@@ -20,6 +20,7 @@
#include "BattlenetRpcErrorCodes.h"
#include "CharacterTemplateDataStore.h"
#include "ClientConfigPackets.h"
+#include "GameTime.h"
#include "ObjectMgr.h"
#include "RBAC.h"
#include "Realm.h"
@@ -35,16 +36,16 @@ void WorldSession::SendAuthResponse(uint32 code, bool queued, uint32 queuePos)
{
response.SuccessInfo = boost::in_place();
- response.SuccessInfo->AccountExpansionLevel = GetAccountExpansion();
response.SuccessInfo->ActiveExpansionLevel = GetExpansion();
+ response.SuccessInfo->AccountExpansionLevel = GetAccountExpansion();
response.SuccessInfo->VirtualRealmAddress = realm.Id.GetAddress();
- response.SuccessInfo->Time = int32(time(nullptr));
+ response.SuccessInfo->Time = int32(GameTime::GetGameTime());
// Send current home realm. Also there is no need to send it later in realm queries.
response.SuccessInfo->VirtualRealms.emplace_back(realm.Id.GetAddress(), true, false, realm.Name, realm.NormalizedName);
if (HasPermission(rbac::RBAC_PERM_USE_CHARACTER_TEMPLATES))
- for (auto const& templ : sCharacterTemplateDataStore->GetCharacterTemplates())
+ for (auto&& templ : sCharacterTemplateDataStore->GetCharacterTemplates())
response.SuccessInfo->Templates.push_back(&templ.second);
response.SuccessInfo->AvailableClasses = &sObjectMgr->GetClassExpansionRequirements();
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 2b5fe7123d9..9ce5bfb3a5b 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -517,11 +517,19 @@ void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CreateCharact
//}
// prevent character creating Expansion class without Expansion account
- uint8 classExpansionRequirement = sObjectMgr->GetClassExpansionRequirement(charCreate.CreateInfo->Class);
- if (classExpansionRequirement > GetAccountExpansion())
+ ClassAvailability const* classExpansionRequirement = sObjectMgr->GetClassExpansionRequirement(charCreate.CreateInfo->Race, charCreate.CreateInfo->Class);
+ if (!classExpansionRequirement)
{
- TC_LOG_ERROR("entities.player.cheat", "Expansion %u account:[%d] tried to Create character with expansion %u class (%u)",
- GetAccountExpansion(), GetAccountId(), classExpansionRequirement, charCreate.CreateInfo->Class);
+ TC_LOG_ERROR("entities.player.cheat", "Expansion %u account:[%d] tried to Create character for race/class combination that is missing requirements in db (%u/%u)",
+ GetAccountExpansion(), GetAccountId(), uint32(charCreate.CreateInfo->Race), uint32(charCreate.CreateInfo->Class));
+ SendCharCreate(CHAR_CREATE_EXPANSION_CLASS);
+ return;
+ }
+
+ if (classExpansionRequirement->ActiveExpansionLevel > GetExpansion() || classExpansionRequirement->AccountExpansionLevel > GetAccountExpansion())
+ {
+ TC_LOG_ERROR("entities.player.cheat", "Expansion %u account:[%d] tried to Create character with expansion %u race/class (%u/%u)",
+ GetAccountExpansion(), GetAccountId(), uint32(charCreate.CreateInfo->Race), uint32(charCreate.CreateInfo->Class));
SendCharCreate(CHAR_CREATE_EXPANSION_CLASS);
return;
}
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index cd7399fa8eb..6d635c8ffdb 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -110,6 +110,7 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObj
WorldPackets::Query::QueryGameObjectResponse response;
response.GameObjectID = packet.GameObjectID;
+ response.Guid = packet.Guid;
SendPacket(response.Write());
TC_LOG_DEBUG("network", "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
}
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp
index b2ecf24b19c..f0eb8b58dd0 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.cpp
+++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp
@@ -109,11 +109,6 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::AuthWaitInfo const&
return data;
}
-WorldPackets::Auth::AuthResponse::AuthResponse()
- : ServerPacket(SMSG_AUTH_RESPONSE, 132)
-{
-}
-
WorldPacket const* WorldPackets::Auth::AuthResponse::Write()
{
_worldPacket << uint32(Result);
@@ -134,10 +129,17 @@ WorldPacket const* WorldPackets::Auth::AuthResponse::Write()
_worldPacket << uint32(SuccessInfo->CurrencyID);
_worldPacket << int32(SuccessInfo->Time);
- for (auto const& klass : *SuccessInfo->AvailableClasses)
+ for (RaceClassAvailability const& raceClassAvailability : *SuccessInfo->AvailableClasses)
{
- _worldPacket << uint8(klass.first); /// the current class
- _worldPacket << uint8(klass.second); /// the required Expansion
+ _worldPacket << uint8(raceClassAvailability.RaceID);
+ _worldPacket << uint32(raceClassAvailability.Classes.size());
+
+ for (ClassAvailability const& classAvailability : raceClassAvailability.Classes)
+ {
+ _worldPacket << uint8(classAvailability.ClassID);
+ _worldPacket << uint8(classAvailability.ActiveExpansionLevel);
+ _worldPacket << uint8(classAvailability.AccountExpansionLevel);
+ }
}
_worldPacket.WriteBit(SuccessInfo->IsExpansionTrial);
diff --git a/src/server/game/Server/Packets/AuthenticationPackets.h b/src/server/game/Server/Packets/AuthenticationPackets.h
index 97037e70933..9e8305627b7 100644
--- a/src/server/game/Server/Packets/AuthenticationPackets.h
+++ b/src/server/game/Server/Packets/AuthenticationPackets.h
@@ -25,6 +25,7 @@
#include <unordered_map>
struct CharacterTemplate;
+struct RaceClassAvailability;
namespace WorldPackets
{
@@ -137,8 +138,8 @@ namespace WorldPackets
bool InGameRoom = false;
};
- uint8 AccountExpansionLevel = 0; ///< the current expansion of this account, the possible values are in @ref Expansions
uint8 ActiveExpansionLevel = 0; ///< the current server expansion, the possible values are in @ref Expansions
+ uint8 AccountExpansionLevel = 0; ///< the current expansion of this account, the possible values are in @ref Expansions
uint32 TimeRested = 0; ///< affects the return value of the GetBillingTimeRested() client API call, it is the number of seconds you have left until the experience points and loot you receive from creatures and quests is reduced. It is only used in the Asia region in retail, it's not implemented in TC and will probably never be.
uint32 VirtualRealmAddress = 0; ///< a special identifier made from the Index, BattleGroup and Region.
@@ -151,7 +152,7 @@ namespace WorldPackets
std::vector<VirtualRealmInfo> VirtualRealms; ///< list of realms connected to this one (inclusive) @todo implement
std::vector<CharacterTemplate const*> Templates; ///< list of pre-made character templates.
- std::unordered_map<uint8, uint8> const* AvailableClasses = nullptr; ///< the minimum AccountExpansion required to select the classes
+ std::vector<RaceClassAvailability> const* AvailableClasses = nullptr; ///< the minimum AccountExpansion required to select race/class combinations
bool IsExpansionTrial = false;
bool ForceCharacterTemplate = false; ///< forces the client to always use a character template when creating a new character. @see Templates. @todo implement
@@ -160,7 +161,7 @@ namespace WorldPackets
Optional<int32> ExpansionTrialExpiration; ///< expansion trial expiration unix timestamp
};
- AuthResponse();
+ AuthResponse() : ServerPacket(SMSG_AUTH_RESPONSE, 132) { }
WorldPacket const* Write() override;
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 5c194dc29cd..a9aaf3d5e06 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -170,12 +170,21 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Character::EnumCharacters
data << uint32(charInfo.Unknown703);
data << uint32(charInfo.LastLoginVersion);
data << uint32(charInfo.Flags4);
+ data << uint32(charInfo.Unknown830.size());
data.WriteBits(charInfo.Name.length(), 6);
data.WriteBit(charInfo.FirstLogin);
data.WriteBit(charInfo.BoostInProgress);
data.WriteBits(charInfo.unkWod61x, 5);
+
+ for (std::string const& str : charInfo.Unknown830)
+ data.WriteBits(str.length() + 1, 6);
+
data.FlushBits();
+ for (std::string const& str : charInfo.Unknown830)
+ if (!str.empty())
+ data << str;
+
data.WriteString(charInfo.Name);
return data;
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index 4703b218a96..f8e5d245aab 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -166,6 +166,8 @@ namespace WorldPackets
};
std::array<VisualItemInfo, 23> VisualItems = { };
+ std::vector<std::string> Unknown830; // Something with character names, same length limit as name,
+ // client accepts unlimited number of these in packet but only uses first 3
};
struct RaceUnlock
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index 53b29a96cfe..68678dc7a9f 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -121,6 +121,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Garrison::GarrisonMission
ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Garrison::GarrisonTalent const& talent)
{
data << int32(talent.GarrTalentID);
+ data << int32(talent.Rank);
data << int32(talent.ResearchStartTime);
data << int32(talent.Flags);
@@ -156,18 +157,18 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Garrison::GarrisonInfo co
data << *mission;
for (std::vector<WorldPackets::Garrison::GarrisonMissionReward> const& missionReward : garrison.MissionRewards)
- {
data << uint32(missionReward.size());
+
+ for (std::vector<WorldPackets::Garrison::GarrisonMissionReward> const& missionReward : garrison.MissionRewards)
for (WorldPackets::Garrison::GarrisonMissionReward const& missionRewardItem : missionReward)
data << missionRewardItem;
- }
for (std::vector<WorldPackets::Garrison::GarrisonMissionReward> const& missionReward : garrison.MissionOvermaxRewards)
- {
data << uint32(missionReward.size());
+
+ for (std::vector<WorldPackets::Garrison::GarrisonMissionReward> const& missionReward : garrison.MissionOvermaxRewards)
for (WorldPackets::Garrison::GarrisonMissionReward const& missionRewardItem : missionReward)
data << missionRewardItem;
- }
for (WorldPackets::Garrison::GarrisonMissionBonusAbility const* areaBonus : garrison.MissionAreaBonuses)
data << *areaBonus;
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 8b886077c5d..6e929d08245 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -131,6 +131,7 @@ namespace WorldPackets
struct GarrisonTalent
{
int32 GarrTalentID = 0;
+ int32 Rank = 0;
time_t ResearchStartTime = time_t(0);
int32 Flags = 0;
};
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index 5bebc275236..c1de4be8960 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -269,6 +269,7 @@ void WorldPackets::Query::QueryGameObject::Read()
WorldPacket const* WorldPackets::Query::QueryGameObjectResponse::Write()
{
_worldPacket << GameObjectID;
+ _worldPacket << Guid;
_worldPacket.WriteBit(Allow);
_worldPacket.FlushBits();
diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h
index 10a54dc4b22..6c8d2b6c648 100644
--- a/src/server/game/Server/Packets/QueryPackets.h
+++ b/src/server/game/Server/Packets/QueryPackets.h
@@ -239,6 +239,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
uint32 GameObjectID = 0;
+ ObjectGuid Guid;
bool Allow = false;
GameObjectStats Stats;
};
diff --git a/src/server/game/Server/Packets/ScenePackets.cpp b/src/server/game/Server/Packets/ScenePackets.cpp
index 330c77e5121..3720a9c576c 100644
--- a/src/server/game/Server/Packets/ScenePackets.cpp
+++ b/src/server/game/Server/Packets/ScenePackets.cpp
@@ -25,6 +25,8 @@ WorldPacket const* WorldPackets::Scenes::PlayScene::Write()
_worldPacket << int32(SceneScriptPackageID);
_worldPacket << TransportGUID;
_worldPacket << Location.PositionXYZOStream();
+ _worldPacket.WriteBit(PerformTactCallbacks);
+ _worldPacket.FlushBits();
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/ScenePackets.h b/src/server/game/Server/Packets/ScenePackets.h
index a61274e7b12..08e6c6a1381 100644
--- a/src/server/game/Server/Packets/ScenePackets.h
+++ b/src/server/game/Server/Packets/ScenePackets.h
@@ -38,6 +38,7 @@ namespace WorldPackets
int32 SceneScriptPackageID = 0;
ObjectGuid TransportGUID;
Position Location;
+ bool PerformTactCallbacks = false;
};
class TC_GAME_API CancelScene final : public ServerPacket
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index d2a8de6f1fa..cd7501cd52a 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -65,7 +65,6 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket.WriteBit(WillKickFromWorld);
_worldPacket.WriteBit(KioskModeEnabled);
_worldPacket.WriteBit(CompetitiveModeEnabled);
- _worldPacket.WriteBit(RaceClassExpansionLevels.is_initialized());
_worldPacket.WriteBit(TokenBalanceEnabled);
_worldPacket.WriteBit(WarModeFeatureEnabled);
_worldPacket.WriteBit(ClubsEnabled);
@@ -113,13 +112,6 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket << int32(SessionAlert->DisplayTime);
}
- if (RaceClassExpansionLevels)
- {
- _worldPacket << uint32(RaceClassExpansionLevels->size());
- if (!RaceClassExpansionLevels->empty())
- _worldPacket.append(RaceClassExpansionLevels->data(), RaceClassExpansionLevels->size());
- }
-
{
_worldPacket.WriteBit(VoiceChatManagerSettings.IsSquelched);
_worldPacket << VoiceChatManagerSettings.BnetAccountGuid;
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index 9f19cb5ab8c..4f87ab34edc 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -145,7 +145,6 @@ namespace WorldPackets
bool IsMuted = false;
bool ClubFinderEnabled = false;
- Optional<std::vector<uint8>> RaceClassExpansionLevels;
SocialQueueConfig QuickJoinConfig;
VoiceChatProxySettings VoiceChatManagerSettings;
RafSystemFeatureInfo RAFSystem;
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index b340a5928be..3fe7fd1d7da 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -163,15 +163,22 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_ARTIFACT_SET_APPEARANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleArtifactSetAppearance);
DEFINE_HANDLER(CMSG_ATTACK_STOP, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackStopOpcode);
DEFINE_HANDLER(CMSG_ATTACK_SWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode);
+ DEFINE_HANDLER(CMSG_AUCTION_BROWSE_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionHelloOpcode);
- DEFINE_HANDLER(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBidderItems);
- DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItems);
- DEFINE_HANDLER(CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListOwnerItems);
- DEFINE_HANDLER(CMSG_AUCTION_LIST_PENDING_SALES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListPendingSales);
- DEFINE_HANDLER(CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionPlaceBid);
- DEFINE_HANDLER(CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRemoveItem);
- DEFINE_HANDLER(CMSG_AUCTION_REPLICATE_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReplicateItems);
- DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellItem);
+ DEFINE_HANDLER(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_KEYS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_PLACE_BID, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_REMOVE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_REPLICATE_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_SELL_COMMODITY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_SET_FAVORITE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AUCTION_START_COMMODITIES_PURCHASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_AUTH_CONTINUED_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess);
DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess);
DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoBankItemOpcode);
@@ -618,6 +625,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_PARTY_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyInviteOpcode);
DEFINE_HANDLER(CMSG_PARTY_INVITE_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyInviteResponseOpcode);
DEFINE_HANDLER(CMSG_PARTY_UNINVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyUninviteOpcode);
+ DEFINE_HANDLER(CMSG_PERFORM_ITEM_INTERACTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionBuy);
DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionRenameGuild);
DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionShowList);
@@ -931,14 +939,16 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACK_SWING_LANDED_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_CLOSED_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_COMMAND_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_COMMODITY_PRICE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_HELLO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_ITEMS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_PENDING_SALES_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_BUCKET_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_FAVORITE_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OUTBID_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OWNER_BID_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_REPLICATE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_REPLICATE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_WON_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AURA_POINTS_DEPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AURA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1370,6 +1380,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_INTERACTION_OPEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_INTERACTION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1885,6 +1897,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO_IS, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_MAP_INTERACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_QUEST_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_TEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index f82f50d20e4..b114c55c8ba 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -44,36 +44,43 @@ enum OpcodeMisc : uint16
enum OpcodeClient : uint16
{
- CMSG_ACCEPT_GUILD_INVITE = 0x35FD,
+ CMSG_ACCEPT_GUILD_INVITE = 0x35FC,
CMSG_ACCEPT_TRADE = 0x315A,
- CMSG_ACCEPT_WARGAME_INVITE = 0x35E1,
+ CMSG_ACCEPT_WARGAME_INVITE = 0x35E0,
CMSG_ACTIVATE_TAXI = 0x34AB,
CMSG_ADDON_LIST = 0x35D8,
- CMSG_ADD_BATTLENET_FRIEND = 0x365C,
- CMSG_ADD_FRIEND = 0x36D2,
- CMSG_ADD_IGNORE = 0x36D6,
- CMSG_ADD_TOY = 0x329B,
- CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3204,
- CMSG_ADVENTURE_JOURNAL_START_QUEST = 0x3342,
- CMSG_ADVENTURE_MAP_POI_QUERY = 0x3249,
- CMSG_ALTER_APPEARANCE = 0x34F6,
+ CMSG_ADD_BATTLENET_FRIEND = 0x365B,
+ CMSG_ADD_FRIEND = 0x36D1,
+ CMSG_ADD_IGNORE = 0x36D5,
+ CMSG_ADD_TOY = 0x329C,
+ CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3203,
+ CMSG_ADVENTURE_JOURNAL_START_QUEST = 0x3346,
+ CMSG_ADVENTURE_MAP_POI_QUERY = 0x324A,
+ CMSG_ALTER_APPEARANCE = 0x34FD,
CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B0,
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B1,
- CMSG_AREA_TRIGGER = 0x31D8,
+ CMSG_AREA_TRIGGER = 0x31D7,
CMSG_ARTIFACT_ADD_POWER = 0x31A9,
CMSG_ARTIFACT_SET_APPEARANCE = 0x31AB,
- CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x320C,
- CMSG_ATTACK_STOP = 0x3258,
- CMSG_ATTACK_SWING = 0x3257,
+ CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x320B,
+ CMSG_ATTACK_STOP = 0x3259,
+ CMSG_ATTACK_SWING = 0x3258,
+ CMSG_AUCTION_BROWSE_QUERY = 0x34D0,
+ CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = 0x34D8,
+ CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = 0x34D7,
CMSG_AUCTION_HELLO_REQUEST = 0x34CB,
- CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x34D1,
- CMSG_AUCTION_LIST_ITEMS = 0x34CE,
- CMSG_AUCTION_LIST_OWNER_ITEMS = 0x34D0,
- CMSG_AUCTION_LIST_PENDING_SALES = 0x34D3,
- CMSG_AUCTION_PLACE_BID = 0x34D2,
+ CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x34D4,
+ CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY = 0x34D1,
+ CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID = 0x34D2,
+ CMSG_AUCTION_LIST_ITEMS_BY_ITEM_KEYS = 0x34D5,
+ CMSG_AUCTION_LIST_OWNER_ITEMS = 0x34D3,
+ CMSG_AUCTION_PLACE_BID = 0x34CF,
CMSG_AUCTION_REMOVE_ITEM = 0x34CD,
- CMSG_AUCTION_REPLICATE_ITEMS = 0x34CF,
+ CMSG_AUCTION_REPLICATE_ITEMS = 0x34CE,
+ CMSG_AUCTION_SELL_COMMODITY = 0x34D9,
CMSG_AUCTION_SELL_ITEM = 0x34CC,
+ CMSG_AUCTION_SET_FAVORITE_ITEM = 0x3736,
+ CMSG_AUCTION_START_COMMODITIES_PURCHASE = 0x34D6,
CMSG_AUTH_CONTINUED_SESSION = 0x3766,
CMSG_AUTH_SESSION = 0x3765,
CMSG_AUTOBANK_ITEM = 0x3996,
@@ -83,104 +90,104 @@ enum OpcodeClient : uint16
CMSG_AUTO_EQUIP_ITEM = 0x399A,
CMSG_AUTO_EQUIP_ITEM_SLOT = 0x399F,
CMSG_AUTO_STORE_BAG_ITEM = 0x399B,
- CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x3360,
- CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x334C,
- CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x3362,
- CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x3361,
+ CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x3366,
+ CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x3350,
+ CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x3368,
+ CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x3367,
CMSG_BANKER_ACTIVATE = 0x34B3,
CMSG_BATTLEFIELD_LEAVE = 0x3173,
CMSG_BATTLEFIELD_LIST = 0x317E,
- CMSG_BATTLEFIELD_PORT = 0x3526,
- CMSG_BATTLEMASTER_HELLO = 0x32B3,
- CMSG_BATTLEMASTER_JOIN = 0x3521,
- CMSG_BATTLEMASTER_JOIN_ARENA = 0x3522,
- CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3524,
- CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3523,
- CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D5,
- CMSG_BATTLENET_REQUEST = 0x36F9,
- CMSG_BATTLENET_REQUEST_REALM_LIST_TICKET = 0x36FE,
- CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CF,
- CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3717,
- CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36CE,
- CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C5,
- CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36BD,
- CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36BE,
- CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3710,
- CMSG_BATTLE_PAY_QUERY_CLASS_TRIAL_BOOST_RESULT = 0x36C8,
- CMSG_BATTLE_PAY_REQUEST_CHARACTER_BOOST_UNREVOKE = 0x36C6,
- CMSG_BATTLE_PAY_REQUEST_CURRENT_VAS_TRANSFER_QUEUES = 0x370D,
- CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x370C,
- CMSG_BATTLE_PAY_REQUEST_VAS_CHARACTER_QUEUE_TIME = 0x370E,
- CMSG_BATTLE_PAY_START_PURCHASE = 0x36F5,
- CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F6,
- CMSG_BATTLE_PAY_TRIAL_BOOST_CHARACTER = 0x36C7,
- CMSG_BATTLE_PAY_VALIDATE_BNET_VAS_TRANSFER = 0x370F,
- CMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x36F4,
+ CMSG_BATTLEFIELD_PORT = 0x352F,
+ CMSG_BATTLEMASTER_HELLO = 0x32B4,
+ CMSG_BATTLEMASTER_JOIN = 0x3528,
+ CMSG_BATTLEMASTER_JOIN_ARENA = 0x3529,
+ CMSG_BATTLEMASTER_JOIN_BRAWL = 0x352D,
+ CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x352A,
+ CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D4,
+ CMSG_BATTLENET_REQUEST = 0x36F8,
+ CMSG_BATTLENET_REQUEST_REALM_LIST_TICKET = 0x36FD,
+ CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36CE,
+ CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3716,
+ CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36CD,
+ CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C4,
+ CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36BC,
+ CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36BD,
+ CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x370F,
+ CMSG_BATTLE_PAY_QUERY_CLASS_TRIAL_BOOST_RESULT = 0x36C7,
+ CMSG_BATTLE_PAY_REQUEST_CHARACTER_BOOST_UNREVOKE = 0x36C5,
+ CMSG_BATTLE_PAY_REQUEST_CURRENT_VAS_TRANSFER_QUEUES = 0x370C,
+ CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x370B,
+ CMSG_BATTLE_PAY_REQUEST_VAS_CHARACTER_QUEUE_TIME = 0x370D,
+ CMSG_BATTLE_PAY_START_PURCHASE = 0x36F4,
+ CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F5,
+ CMSG_BATTLE_PAY_TRIAL_BOOST_CHARACTER = 0x36C6,
+ CMSG_BATTLE_PAY_VALIDATE_BNET_VAS_TRANSFER = 0x370E,
+ CMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x36F3,
CMSG_BATTLE_PET_CLEAR_FANFARE = 0x312C,
- CMSG_BATTLE_PET_DELETE_PET = 0x3625,
- CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3626,
- CMSG_BATTLE_PET_MODIFY_NAME = 0x3628,
- CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3624,
- CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3623,
- CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362D,
- CMSG_BATTLE_PET_SET_FLAGS = 0x3631,
- CMSG_BATTLE_PET_SUMMON = 0x3629,
- CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E2,
- CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E1,
+ CMSG_BATTLE_PET_DELETE_PET = 0x3624,
+ CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x3625,
+ CMSG_BATTLE_PET_MODIFY_NAME = 0x3627,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3623,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3622,
+ CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362C,
+ CMSG_BATTLE_PET_SET_FLAGS = 0x3630,
+ CMSG_BATTLE_PET_SUMMON = 0x3628,
+ CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E1,
+ CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E0,
CMSG_BEGIN_TRADE = 0x3157,
CMSG_BINDER_ACTIVATE = 0x34B2,
- CMSG_BLACK_MARKET_BID_ON_ITEM = 0x352E,
- CMSG_BLACK_MARKET_OPEN = 0x352C,
- CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x352D,
- CMSG_BONUS_ROLL = 0x3363,
- CMSG_BUG_REPORT = 0x3688,
+ CMSG_BLACK_MARKET_BID_ON_ITEM = 0x3537,
+ CMSG_BLACK_MARKET_OPEN = 0x3535,
+ CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x3536,
+ CMSG_BONUS_ROLL = 0x3369,
+ CMSG_BUG_REPORT = 0x3687,
CMSG_BUSY_TRADE = 0x3158,
CMSG_BUY_BACK_ITEM = 0x34A4,
CMSG_BUY_BANK_SLOT = 0x34B4,
CMSG_BUY_ITEM = 0x34A3,
CMSG_BUY_REAGENT_BANK = 0x34B5,
- CMSG_BUY_WOW_TOKEN_CONFIRM = 0x36EE,
- CMSG_BUY_WOW_TOKEN_START = 0x36ED,
- CMSG_CAGE_BATTLE_PET = 0x31F3,
- CMSG_CALENDAR_ADD_EVENT = 0x367F,
- CMSG_CALENDAR_COMMUNITY_FILTER = 0x3673,
- CMSG_CALENDAR_COMPLAIN = 0x367B,
- CMSG_CALENDAR_COPY_EVENT = 0x367A,
- CMSG_CALENDAR_EVENT_INVITE = 0x3674,
- CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x3678,
- CMSG_CALENDAR_EVENT_RSVP = 0x3676,
- CMSG_CALENDAR_EVENT_SIGN_UP = 0x367D,
- CMSG_CALENDAR_EVENT_STATUS = 0x3677,
- CMSG_CALENDAR_GET = 0x3671,
- CMSG_CALENDAR_GET_EVENT = 0x3672,
- CMSG_CALENDAR_GET_NUM_PENDING = 0x367C,
- CMSG_CALENDAR_REMOVE_EVENT = 0x3679,
- CMSG_CALENDAR_REMOVE_INVITE = 0x3675,
- CMSG_CALENDAR_UPDATE_EVENT = 0x3680,
+ CMSG_BUY_WOW_TOKEN_CONFIRM = 0x36ED,
+ CMSG_BUY_WOW_TOKEN_START = 0x36EC,
+ CMSG_CAGE_BATTLE_PET = 0x31F2,
+ CMSG_CALENDAR_ADD_EVENT = 0x367E,
+ CMSG_CALENDAR_COMMUNITY_FILTER = 0x3672,
+ CMSG_CALENDAR_COMPLAIN = 0x367A,
+ CMSG_CALENDAR_COPY_EVENT = 0x3679,
+ CMSG_CALENDAR_EVENT_INVITE = 0x3673,
+ CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x3677,
+ CMSG_CALENDAR_EVENT_RSVP = 0x3675,
+ CMSG_CALENDAR_EVENT_SIGN_UP = 0x367C,
+ CMSG_CALENDAR_EVENT_STATUS = 0x3676,
+ CMSG_CALENDAR_GET = 0x3670,
+ CMSG_CALENDAR_GET_EVENT = 0x3671,
+ CMSG_CALENDAR_GET_NUM_PENDING = 0x367B,
+ CMSG_CALENDAR_REMOVE_EVENT = 0x3678,
+ CMSG_CALENDAR_REMOVE_INVITE = 0x3674,
+ CMSG_CALENDAR_UPDATE_EVENT = 0x367F,
CMSG_CANCEL_AURA = 0x31AD,
- CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34E8,
- CMSG_CANCEL_CAST = 0x32A1,
- CMSG_CANCEL_CHANNELLING = 0x326D,
- CMSG_CANCEL_GROWTH_AURA = 0x3272,
- CMSG_CANCEL_MASTER_LOOT_ROLL = 0x3214,
+ CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34EF,
+ CMSG_CANCEL_CAST = 0x32A2,
+ CMSG_CANCEL_CHANNELLING = 0x326E,
+ CMSG_CANCEL_GROWTH_AURA = 0x3273,
+ CMSG_CANCEL_MASTER_LOOT_ROLL = 0x3213,
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31AC,
- CMSG_CANCEL_MOUNT_AURA = 0x3283,
+ CMSG_CANCEL_MOUNT_AURA = 0x3284,
CMSG_CANCEL_QUEUED_SPELL = 0x317F,
- CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34F3,
+ CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34FA,
CMSG_CANCEL_TRADE = 0x315C,
- CMSG_CAN_DUEL = 0x3664,
- CMSG_CAN_REDEEM_WOW_TOKEN_FOR_BALANCE = 0x370B,
- CMSG_CAST_SPELL = 0x329E,
+ CMSG_CAN_DUEL = 0x3663,
+ CMSG_CAN_REDEEM_WOW_TOKEN_FOR_BALANCE = 0x370A,
+ CMSG_CAST_SPELL = 0x329F,
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x3090,
CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x308F,
- CMSG_CHANGE_BAG_SLOT_FLAG = 0x3324,
- CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3325,
- CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3306,
- CMSG_CHANGE_SUB_GROUP = 0x364E,
- CMSG_CHARACTER_RENAME_REQUEST = 0x36C3,
- CMSG_CHAR_CUSTOMIZE = 0x3693,
- CMSG_CHAR_DELETE = 0x36A0,
- CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3699,
+ CMSG_CHANGE_BAG_SLOT_FLAG = 0x3328,
+ CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3329,
+ CMSG_CHANGE_MONUMENT_APPEARANCE = 0x330A,
+ CMSG_CHANGE_SUB_GROUP = 0x364D,
+ CMSG_CHARACTER_RENAME_REQUEST = 0x36C2,
+ CMSG_CHAR_CUSTOMIZE = 0x3692,
+ CMSG_CHAR_DELETE = 0x369F,
+ CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x3698,
CMSG_CHAT_ADDON_MESSAGE = 0x37EE,
CMSG_CHAT_ADDON_MESSAGE_TARGETED = 0x37EF,
CMSG_CHAT_CHANNEL_ANNOUNCEMENTS = 0x37E3,
@@ -217,117 +224,117 @@ enum OpcodeClient : uint16
CMSG_CHAT_REPORT_FILTERED = 0x37CC,
CMSG_CHAT_REPORT_IGNORED = 0x37CB,
CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37CE,
- CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY = 0x36EC,
- CMSG_CHOICE_RESPONSE = 0x32A3,
+ CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY = 0x36EB,
+ CMSG_CHOICE_RESPONSE = 0x32A4,
CMSG_CLEAR_NEW_APPEARANCE = 0x312F,
CMSG_CLEAR_RAID_MARKER = 0x31A5,
CMSG_CLEAR_TRADE_ITEM = 0x315E,
- CMSG_CLIENT_PORT_GRAVEYARD = 0x3528,
+ CMSG_CLIENT_PORT_GRAVEYARD = 0x3531,
CMSG_CLOSE_INTERACTION = 0x3493,
- CMSG_CLOSE_QUEST_CHOICE = 0x32A4,
- CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x3721,
- CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x371F,
- CMSG_CLUB_FINDER_POST = 0x371C,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x3723,
- CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x371D,
- CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x371E,
- CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x3722,
- CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x3724,
- CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x3720,
- CMSG_CLUB_INVITE = 0x36FD,
- CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3634,
- CMSG_COMMENTATOR_ENABLE = 0x35F1,
- CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F5,
- CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F6,
- CMSG_COMMENTATOR_GET_MAP_INFO = 0x35F2,
- CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F4,
- CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F3,
- CMSG_COMMENTATOR_START_WARGAME = 0x35F0,
- CMSG_COMPLAINT = 0x366E,
- CMSG_COMPLETE_CINEMATIC = 0x3546,
- CMSG_COMPLETE_MOVIE = 0x34DE,
+ CMSG_CLOSE_QUEST_CHOICE = 0x32A5,
+ CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x3720,
+ CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x371E,
+ CMSG_CLUB_FINDER_POST = 0x371B,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x3722,
+ CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x371C,
+ CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x371D,
+ CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x3721,
+ CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x3723,
+ CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x371F,
+ CMSG_CLUB_INVITE = 0x36FC,
+ CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3633,
+ CMSG_COMMENTATOR_ENABLE = 0x35F0,
+ CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F4,
+ CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F5,
+ CMSG_COMMENTATOR_GET_MAP_INFO = 0x35F1,
+ CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F3,
+ CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F2,
+ CMSG_COMMENTATOR_START_WARGAME = 0x35EF,
+ CMSG_COMPLAINT = 0x366D,
+ CMSG_COMPLETE_CINEMATIC = 0x354F,
+ CMSG_COMPLETE_MOVIE = 0x34E5,
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31AA,
- CMSG_CONFIRM_RESPEC_WIPE = 0x320E,
+ CMSG_CONFIRM_RESPEC_WIPE = 0x320D,
CMSG_CONNECT_TO_FAILED = 0x35D4,
- CMSG_CONTRIBUTION_CONTRIBUTE = 0x3556,
- CMSG_CONTRIBUTION_GET_STATE = 0x3557,
- CMSG_CONVERSATION_LINE_STARTED = 0x3547,
- CMSG_CONVERT_RAID = 0x3650,
- CMSG_CREATE_CHARACTER = 0x3645,
- CMSG_CREATE_SHIPMENT = 0x32F2,
- CMSG_DB_QUERY_BULK = 0x35E5,
- CMSG_DECLINE_GUILD_INVITES = 0x351F,
- CMSG_DECLINE_PETITION = 0x3535,
- CMSG_DELETE_EQUIPMENT_SET = 0x350C,
- CMSG_DEL_FRIEND = 0x36D3,
- CMSG_DEL_IGNORE = 0x36D7,
- CMSG_DEPOSIT_REAGENT_BANK = 0x332D,
- CMSG_DESTROY_ITEM = 0x3295,
- CMSG_DF_BOOT_PLAYER_VOTE = 0x3616,
- CMSG_DF_GET_JOIN_STATUS = 0x3614,
- CMSG_DF_GET_SYSTEM_INFO = 0x3613,
- CMSG_DF_JOIN = 0x3609,
- CMSG_DF_LEAVE = 0x3612,
- CMSG_DF_PROPOSAL_RESPONSE = 0x3608,
- CMSG_DF_READY_CHECK_RESPONSE = 0x3619,
- CMSG_DF_SET_ROLES = 0x3615,
- CMSG_DF_TELEPORT = 0x3617,
- CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A3C,
- CMSG_DISMISS_CRITTER = 0x34FA,
- CMSG_DO_MASTER_LOOT_ROLL = 0x3213,
- CMSG_DO_READY_CHECK = 0x3635,
- CMSG_DUEL_RESPONSE = 0x34E3,
- CMSG_EJECT_PASSENGER = 0x323E,
- CMSG_EMOTE = 0x3542,
+ CMSG_CONTRIBUTION_CONTRIBUTE = 0x355F,
+ CMSG_CONTRIBUTION_GET_STATE = 0x3560,
+ CMSG_CONVERSATION_LINE_STARTED = 0x3550,
+ CMSG_CONVERT_RAID = 0x364F,
+ CMSG_CREATE_CHARACTER = 0x3644,
+ CMSG_CREATE_SHIPMENT = 0x32F6,
+ CMSG_DB_QUERY_BULK = 0x35E4,
+ CMSG_DECLINE_GUILD_INVITES = 0x3526,
+ CMSG_DECLINE_PETITION = 0x353E,
+ CMSG_DELETE_EQUIPMENT_SET = 0x3513,
+ CMSG_DEL_FRIEND = 0x36D2,
+ CMSG_DEL_IGNORE = 0x36D6,
+ CMSG_DEPOSIT_REAGENT_BANK = 0x3331,
+ CMSG_DESTROY_ITEM = 0x3296,
+ CMSG_DF_BOOT_PLAYER_VOTE = 0x3615,
+ CMSG_DF_GET_JOIN_STATUS = 0x3613,
+ CMSG_DF_GET_SYSTEM_INFO = 0x3612,
+ CMSG_DF_JOIN = 0x3608,
+ CMSG_DF_LEAVE = 0x3611,
+ CMSG_DF_PROPOSAL_RESPONSE = 0x3607,
+ CMSG_DF_READY_CHECK_RESPONSE = 0x3618,
+ CMSG_DF_SET_ROLES = 0x3614,
+ CMSG_DF_TELEPORT = 0x3616,
+ CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A3D,
+ CMSG_DISMISS_CRITTER = 0x3501,
+ CMSG_DO_MASTER_LOOT_ROLL = 0x3212,
+ CMSG_DO_READY_CHECK = 0x3634,
+ CMSG_DUEL_RESPONSE = 0x34EA,
+ CMSG_EJECT_PASSENGER = 0x323F,
+ CMSG_EMOTE = 0x354B,
CMSG_ENABLE_ENCRYPTION_ACK = 0x3767,
CMSG_ENABLE_NAGLE = 0x376B,
CMSG_ENABLE_TAXI_NODE = 0x34A9,
- CMSG_ENGINE_SURVEY = 0x36E6,
- CMSG_ENUM_CHARACTERS = 0x35E9,
- CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36E0,
- CMSG_FAR_SIGHT = 0x34E9,
+ CMSG_ENGINE_SURVEY = 0x36E5,
+ CMSG_ENUM_CHARACTERS = 0x35E8,
+ CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36DF,
+ CMSG_FAR_SIGHT = 0x34F0,
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B1,
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B0,
- CMSG_GAME_OBJ_REPORT_USE = 0x34F0,
- CMSG_GAME_OBJ_USE = 0x34EF,
- CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32DD,
- CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32CE,
- CMSG_GARRISON_CHECK_UPGRADEABLE = 0x3320,
- CMSG_GARRISON_COMPLETE_MISSION = 0x3313,
- CMSG_GARRISON_GENERATE_RECRUITS = 0x32E0,
- CMSG_GARRISON_GET_BUILDING_LANDMARKS = 0x32EE,
- CMSG_GARRISON_GET_MISSION_REWARD = 0x3346,
- CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3315,
- CMSG_GARRISON_PURCHASE_BUILDING = 0x32CA,
- CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32E2,
- CMSG_GARRISON_REMOVE_FOLLOWER = 0x330A,
- CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32DE,
- CMSG_GARRISON_RENAME_FOLLOWER = 0x32DF,
- CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32C9,
- CMSG_GARRISON_REQUEST_CLASS_SPEC_CATEGORY_INFO = 0x32E7,
- CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x32F1,
- CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x32F0,
- CMSG_GARRISON_RESEARCH_TALENT = 0x32E3,
- CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32CB,
- CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32DB,
- CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32D7,
- CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32E1,
- CMSG_GARRISON_START_MISSION = 0x3312,
- CMSG_GARRISON_SWAP_BUILDINGS = 0x32CF,
- CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E8,
- CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B9,
- CMSG_GET_CHALLENGE_MODE_REWARDS = 0x3685,
- CMSG_GET_GARRISON_INFO = 0x32C4,
- CMSG_GET_ITEM_PURCHASE_DATA = 0x3530,
- CMSG_GET_MIRROR_IMAGE_DATA = 0x3299,
- CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EF,
- CMSG_GET_RAF_ACCOUNT_INFO = 0x3725,
- CMSG_GET_REMAINING_GAME_TIME = 0x36EF,
- CMSG_GET_TROPHY_LIST = 0x3303,
- CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E2,
- CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x3697,
- CMSG_GM_TICKET_GET_CASE_STATUS = 0x3696,
- CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x3695,
+ CMSG_GAME_OBJ_REPORT_USE = 0x34F7,
+ CMSG_GAME_OBJ_USE = 0x34F6,
+ CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32E1,
+ CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32CF,
+ CMSG_GARRISON_CHECK_UPGRADEABLE = 0x3324,
+ CMSG_GARRISON_COMPLETE_MISSION = 0x3317,
+ CMSG_GARRISON_GENERATE_RECRUITS = 0x32E4,
+ CMSG_GARRISON_GET_BUILDING_LANDMARKS = 0x32F2,
+ CMSG_GARRISON_GET_MISSION_REWARD = 0x334A,
+ CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3319,
+ CMSG_GARRISON_PURCHASE_BUILDING = 0x32CB,
+ CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32E6,
+ CMSG_GARRISON_REMOVE_FOLLOWER = 0x330E,
+ CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32E2,
+ CMSG_GARRISON_RENAME_FOLLOWER = 0x32E3,
+ CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32CA,
+ CMSG_GARRISON_REQUEST_CLASS_SPEC_CATEGORY_INFO = 0x32EB,
+ CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x32F5,
+ CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x32F4,
+ CMSG_GARRISON_RESEARCH_TALENT = 0x32E7,
+ CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32CC,
+ CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32DF,
+ CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32D8,
+ CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32E5,
+ CMSG_GARRISON_START_MISSION = 0x3316,
+ CMSG_GARRISON_SWAP_BUILDINGS = 0x32D0,
+ CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7,
+ CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B8,
+ CMSG_GET_CHALLENGE_MODE_REWARDS = 0x3684,
+ CMSG_GET_GARRISON_INFO = 0x32C5,
+ CMSG_GET_ITEM_PURCHASE_DATA = 0x3539,
+ CMSG_GET_MIRROR_IMAGE_DATA = 0x329A,
+ CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE,
+ CMSG_GET_RAF_ACCOUNT_INFO = 0x3724,
+ CMSG_GET_REMAINING_GAME_TIME = 0x36EE,
+ CMSG_GET_TROPHY_LIST = 0x3307,
+ CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E1,
+ CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x3696,
+ CMSG_GM_TICKET_GET_CASE_STATUS = 0x3695,
+ CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x3694,
CMSG_GOSSIP_SELECT_OPTION = 0x3494,
CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x308E,
CMSG_GUILD_ADD_RANK = 0x3065,
@@ -353,7 +360,7 @@ enum OpcodeClient : uint16
CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x3072,
CMSG_GUILD_GET_RANKS = 0x306E,
CMSG_GUILD_GET_ROSTER = 0x3074,
- CMSG_GUILD_INVITE_BY_NAME = 0x3607,
+ CMSG_GUILD_INVITE_BY_NAME = 0x3606,
CMSG_GUILD_LEAVE = 0x3063,
CMSG_GUILD_NEWS_UPDATE_STICKY = 0x306F,
CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x3064,
@@ -366,206 +373,207 @@ enum OpcodeClient : uint16
CMSG_GUILD_REPLACE_GUILD_MASTER = 0x3089,
CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x3070,
CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x3071,
- CMSG_GUILD_SET_GUILD_MASTER = 0x36CA,
+ CMSG_GUILD_SET_GUILD_MASTER = 0x36C9,
CMSG_GUILD_SET_MEMBER_NOTE = 0x3073,
CMSG_GUILD_SET_RANK_PERMISSIONS = 0x3068,
CMSG_GUILD_SHIFT_RANK = 0x3067,
CMSG_GUILD_UPDATE_INFO_TEXT = 0x3076,
CMSG_GUILD_UPDATE_MOTD_TEXT = 0x3075,
- CMSG_HEARTH_AND_RESURRECT = 0x3508,
- CMSG_HOTFIX_REQUEST = 0x35E6,
+ CMSG_HEARTH_AND_RESURRECT = 0x350F,
+ CMSG_HOTFIX_REQUEST = 0x35E5,
CMSG_IGNORE_TRADE = 0x3159,
CMSG_INITIATE_ROLE_POLL = 0x35DA,
CMSG_INITIATE_TRADE = 0x3156,
- CMSG_INSPECT = 0x352A,
- CMSG_INSTANCE_LOCK_RESPONSE = 0x350D,
- CMSG_ISLAND_QUEUE = 0x3390,
- CMSG_ITEM_PURCHASE_REFUND = 0x3531,
- CMSG_ITEM_TEXT_QUERY = 0x3321,
- CMSG_JOIN_PET_BATTLE_QUEUE = 0x31DF,
+ CMSG_INSPECT = 0x3533,
+ CMSG_INSTANCE_LOCK_RESPONSE = 0x3514,
+ CMSG_ISLAND_QUEUE = 0x3396,
+ CMSG_ITEM_PURCHASE_REFUND = 0x353A,
+ CMSG_ITEM_TEXT_QUERY = 0x3325,
+ CMSG_JOIN_PET_BATTLE_QUEUE = 0x31DE,
CMSG_JOIN_RATED_BATTLEGROUND = 0x3178,
- CMSG_KEEP_ALIVE = 0x3681,
- CMSG_KEYBOUND_OVERRIDE = 0x3226,
- CMSG_LEARN_PVP_TALENTS = 0x3555,
- CMSG_LEARN_TALENTS = 0x3553,
- CMSG_LEAVE_GROUP = 0x364B,
- CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31E0,
- CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360D,
- CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360E,
- CMSG_LFG_LIST_DECLINE_APPLICANT = 0x360F,
- CMSG_LFG_LIST_GET_STATUS = 0x360B,
- CMSG_LFG_LIST_INVITE_APPLICANT = 0x3610,
- CMSG_LFG_LIST_INVITE_RESPONSE = 0x3611,
- CMSG_LFG_LIST_JOIN = 0x335E,
- CMSG_LFG_LIST_LEAVE = 0x360A,
- CMSG_LFG_LIST_SEARCH = 0x360C,
- CMSG_LFG_LIST_UPDATE_REQUEST = 0x335F,
- CMSG_LF_GUILD_ADD_RECRUIT = 0x361C,
- CMSG_LF_GUILD_BROWSE = 0x361E,
+ CMSG_KEEP_ALIVE = 0x3680,
+ CMSG_KEYBOUND_OVERRIDE = 0x3225,
+ CMSG_LEARN_PVP_TALENTS = 0x355E,
+ CMSG_LEARN_TALENTS = 0x355C,
+ CMSG_LEAVE_GROUP = 0x364A,
+ CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31DF,
+ CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360C,
+ CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360D,
+ CMSG_LFG_LIST_DECLINE_APPLICANT = 0x360E,
+ CMSG_LFG_LIST_GET_STATUS = 0x360A,
+ CMSG_LFG_LIST_INVITE_APPLICANT = 0x360F,
+ CMSG_LFG_LIST_INVITE_RESPONSE = 0x3610,
+ CMSG_LFG_LIST_JOIN = 0x3364,
+ CMSG_LFG_LIST_LEAVE = 0x3609,
+ CMSG_LFG_LIST_SEARCH = 0x360B,
+ CMSG_LFG_LIST_UPDATE_REQUEST = 0x3365,
+ CMSG_LF_GUILD_ADD_RECRUIT = 0x361B,
+ CMSG_LF_GUILD_BROWSE = 0x361D,
CMSG_LF_GUILD_DECLINE_RECRUIT = 0x3079,
CMSG_LF_GUILD_GET_APPLICATIONS = 0x307A,
CMSG_LF_GUILD_GET_GUILD_POST = 0x3077,
CMSG_LF_GUILD_GET_RECRUITS = 0x3078,
CMSG_LF_GUILD_REMOVE_RECRUIT = 0x307B,
- CMSG_LF_GUILD_SET_GUILD_POST = 0x361D,
+ CMSG_LF_GUILD_SET_GUILD_POST = 0x361C,
CMSG_LIST_INVENTORY = 0x34A1,
- CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36BC,
- CMSG_LIVE_REGION_CHARACTER_COPY = 0x36BB,
- CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36BA,
- CMSG_LOADING_SCREEN_NOTIFY = 0x35F9,
- CMSG_LOAD_SELECTED_TROPHY = 0x3304,
- CMSG_LOGOUT_CANCEL = 0x34D9,
- CMSG_LOGOUT_INSTANT = 0x34DA,
- CMSG_LOGOUT_REQUEST = 0x34D7,
+ CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36BB,
+ CMSG_LIVE_REGION_CHARACTER_COPY = 0x36BA,
+ CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B9,
+ CMSG_LOADING_SCREEN_NOTIFY = 0x35F8,
+ CMSG_LOAD_SELECTED_TROPHY = 0x3308,
+ CMSG_LOGOUT_CANCEL = 0x34E0,
+ CMSG_LOGOUT_INSTANT = 0x34E1,
+ CMSG_LOGOUT_REQUEST = 0x34DE,
CMSG_LOG_DISCONNECT = 0x3769,
CMSG_LOG_STREAMING_ERROR = 0x376D,
- CMSG_LOOT_ITEM = 0x3211,
- CMSG_LOOT_MONEY = 0x3210,
- CMSG_LOOT_RELEASE = 0x3215,
- CMSG_LOOT_ROLL = 0x3216,
- CMSG_LOOT_UNIT = 0x320F,
- CMSG_LOW_LEVEL_RAID1 = 0x36A4,
- CMSG_LOW_LEVEL_RAID2 = 0x3514,
- CMSG_MAIL_CREATE_TEXT_ITEM = 0x353C,
- CMSG_MAIL_DELETE = 0x3228,
- CMSG_MAIL_GET_LIST = 0x3537,
- CMSG_MAIL_MARK_AS_READ = 0x353B,
- CMSG_MAIL_RETURN_TO_SENDER = 0x3657,
- CMSG_MAIL_TAKE_ITEM = 0x3539,
- CMSG_MAIL_TAKE_MONEY = 0x3538,
- CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x322A,
- CMSG_MASTER_LOOT_ITEM = 0x3212,
- CMSG_MINIMAP_PING = 0x364D,
+ CMSG_LOOT_ITEM = 0x3210,
+ CMSG_LOOT_MONEY = 0x320F,
+ CMSG_LOOT_RELEASE = 0x3214,
+ CMSG_LOOT_ROLL = 0x3215,
+ CMSG_LOOT_UNIT = 0x320E,
+ CMSG_LOW_LEVEL_RAID1 = 0x36A3,
+ CMSG_LOW_LEVEL_RAID2 = 0x351B,
+ CMSG_MAIL_CREATE_TEXT_ITEM = 0x3545,
+ CMSG_MAIL_DELETE = 0x3227,
+ CMSG_MAIL_GET_LIST = 0x3540,
+ CMSG_MAIL_MARK_AS_READ = 0x3544,
+ CMSG_MAIL_RETURN_TO_SENDER = 0x3656,
+ CMSG_MAIL_TAKE_ITEM = 0x3542,
+ CMSG_MAIL_TAKE_MONEY = 0x3541,
+ CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x3229,
+ CMSG_MASTER_LOOT_ITEM = 0x3211,
+ CMSG_MINIMAP_PING = 0x364C,
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318A,
CMSG_MOUNT_CLEAR_FANFARE = 0x312D,
- CMSG_MOUNT_SET_FAVORITE = 0x3633,
- CMSG_MOUNT_SPECIAL_ANIM = 0x3284,
- CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A12,
- CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2C,
- CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A31,
- CMSG_MOVE_DISMISS_VEHICLE = 0x3A30,
+ CMSG_MOUNT_SET_FAVORITE = 0x3632,
+ CMSG_MOUNT_SPECIAL_ANIM = 0x3285,
+ CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A13,
+ CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2D,
+ CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A32,
+ CMSG_MOVE_DISMISS_VEHICLE = 0x3A31,
CMSG_MOVE_DOUBLE_JUMP = 0x39EB,
- CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK = 0x3A1B,
- CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x3A21,
- CMSG_MOVE_FALL_LAND = 0x39F9,
- CMSG_MOVE_FALL_RESET = 0x3A16,
- CMSG_MOVE_FEATHER_FALL_ACK = 0x3A19,
- CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2B,
- CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2A,
- CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A2F,
- CMSG_MOVE_FORCE_ROOT_ACK = 0x3A0B,
- CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x3A09,
- CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x3A08,
- CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x3A1F,
- CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0x3A0A,
- CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0x3A20,
- CMSG_MOVE_FORCE_UNROOT_ACK = 0x3A0C,
- CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x3A1E,
- CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A32,
- CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A33,
- CMSG_MOVE_HEARTBEAT = 0x3A0D,
- CMSG_MOVE_HOVER_ACK = 0x3A10,
+ CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK = 0x3A1C,
+ CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x3A22,
+ CMSG_MOVE_FALL_LAND = 0x39FA,
+ CMSG_MOVE_FALL_RESET = 0x3A17,
+ CMSG_MOVE_FEATHER_FALL_ACK = 0x3A1A,
+ CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2C,
+ CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2B,
+ CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A30,
+ CMSG_MOVE_FORCE_ROOT_ACK = 0x3A0C,
+ CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x3A0A,
+ CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x3A09,
+ CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x3A20,
+ CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0x3A0B,
+ CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0x3A21,
+ CMSG_MOVE_FORCE_UNROOT_ACK = 0x3A0D,
+ CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x3A1F,
+ CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A33,
+ CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A34,
+ CMSG_MOVE_HEARTBEAT = 0x3A0E,
+ CMSG_MOVE_HOVER_ACK = 0x3A11,
CMSG_MOVE_JUMP = 0x39EA,
- CMSG_MOVE_KNOCK_BACK_ACK = 0x3A0F,
- CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x3A14,
- CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x3A13,
- CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE = 0x3A3F,
- CMSG_MOVE_SET_CAN_FLY_ACK = 0x3A24,
- CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x3A22,
- CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A36,
- CMSG_MOVE_SET_FACING = 0x3A06,
- CMSG_MOVE_SET_FLY = 0x3A25,
- CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0x3A23,
- CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A3D,
- CMSG_MOVE_SET_PITCH = 0x3A07,
+ CMSG_MOVE_KNOCK_BACK_ACK = 0x3A10,
+ CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x3A15,
+ CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x3A14,
+ CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE = 0x3A40,
+ CMSG_MOVE_SET_CAN_FLY_ACK = 0x3A25,
+ CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x3A23,
+ CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A37,
+ CMSG_MOVE_SET_FACING = 0x3A07,
+ CMSG_MOVE_SET_FLY = 0x3A26,
+ CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0x3A24,
+ CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A3E,
+ CMSG_MOVE_SET_PITCH = 0x3A08,
CMSG_MOVE_SET_RUN_MODE = 0x39F2,
- CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x3A11,
+ CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x3A12,
CMSG_MOVE_SET_WALK_MODE = 0x39F3,
- CMSG_MOVE_SPLINE_DONE = 0x3A15,
- CMSG_MOVE_START_ASCEND = 0x3A26,
+ CMSG_MOVE_SPLINE_DONE = 0x3A16,
+ CMSG_MOVE_START_ASCEND = 0x3A27,
CMSG_MOVE_START_BACKWARD = 0x39E5,
- CMSG_MOVE_START_DESCEND = 0x3A2D,
+ CMSG_MOVE_START_DESCEND = 0x3A2E,
CMSG_MOVE_START_FORWARD = 0x39E4,
CMSG_MOVE_START_PITCH_DOWN = 0x39F0,
CMSG_MOVE_START_PITCH_UP = 0x39EF,
CMSG_MOVE_START_STRAFE_LEFT = 0x39E7,
CMSG_MOVE_START_STRAFE_RIGHT = 0x39E8,
- CMSG_MOVE_START_SWIM = 0x39FA,
+ CMSG_MOVE_START_SWIM = 0x39FB,
CMSG_MOVE_START_TURN_LEFT = 0x39EC,
CMSG_MOVE_START_TURN_RIGHT = 0x39ED,
CMSG_MOVE_STOP = 0x39E6,
- CMSG_MOVE_STOP_ASCEND = 0x3A27,
+ CMSG_MOVE_STOP_ASCEND = 0x3A28,
CMSG_MOVE_STOP_PITCH = 0x39F1,
CMSG_MOVE_STOP_STRAFE = 0x39E9,
- CMSG_MOVE_STOP_SWIM = 0x39FB,
+ CMSG_MOVE_STOP_SWIM = 0x39FC,
CMSG_MOVE_STOP_TURN = 0x39EE,
- CMSG_MOVE_TELEPORT_ACK = 0x39F8,
- CMSG_MOVE_TIME_SKIPPED = 0x3A18,
- CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x3A05,
- CMSG_MOVE_UPDATE_FALL_SPEED = 0x3A17,
- CMSG_MOVE_WATER_WALK_ACK = 0x3A1A,
- CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D5,
- CMSG_NEXT_CINEMATIC_CAMERA = 0x3545,
+ CMSG_MOVE_TELEPORT_ACK = 0x39F9,
+ CMSG_MOVE_TIME_SKIPPED = 0x3A19,
+ CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x3A06,
+ CMSG_MOVE_UPDATE_FALL_SPEED = 0x3A18,
+ CMSG_MOVE_WATER_WALK_ACK = 0x3A1B,
+ CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D4,
+ CMSG_NEXT_CINEMATIC_CAMERA = 0x354E,
CMSG_OBJECT_UPDATE_FAILED = 0x3180,
CMSG_OBJECT_UPDATE_RESCUED = 0x3181,
- CMSG_OFFER_PETITION = 0x36B2,
- CMSG_OPENING_CINEMATIC = 0x3544,
- CMSG_OPEN_ITEM = 0x3322,
- CMSG_OPEN_MISSION_NPC = 0x32E9,
- CMSG_OPEN_SHIPMENT_NPC = 0x32EF,
- CMSG_OPEN_TRADESKILL_NPC = 0x32FA,
- CMSG_OPT_OUT_OF_LOOT = 0x34F7,
- CMSG_PARTY_INVITE = 0x3603,
- CMSG_PARTY_INVITE_RESPONSE = 0x3604,
- CMSG_PARTY_UNINVITE = 0x3649,
+ CMSG_OFFER_PETITION = 0x36B1,
+ CMSG_OPENING_CINEMATIC = 0x354D,
+ CMSG_OPEN_ITEM = 0x3326,
+ CMSG_OPEN_MISSION_NPC = 0x32ED,
+ CMSG_OPEN_SHIPMENT_NPC = 0x32F3,
+ CMSG_OPEN_TRADESKILL_NPC = 0x32FE,
+ CMSG_OPT_OUT_OF_LOOT = 0x34FE,
+ CMSG_PARTY_INVITE = 0x3602,
+ CMSG_PARTY_INVITE_RESPONSE = 0x3603,
+ CMSG_PARTY_UNINVITE = 0x3648,
+ CMSG_PERFORM_ITEM_INTERACTION = 0x3231,
CMSG_PETITION_BUY = 0x34C9,
- CMSG_PETITION_RENAME_GUILD = 0x36CB,
+ CMSG_PETITION_RENAME_GUILD = 0x36CA,
CMSG_PETITION_SHOW_LIST = 0x34C8,
CMSG_PETITION_SHOW_SIGNATURES = 0x34CA,
CMSG_PET_ABANDON = 0x348D,
CMSG_PET_ACTION = 0x348B,
- CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E4,
- CMSG_PET_BATTLE_INPUT = 0x3642,
- CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3227,
- CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E3,
- CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3643,
- CMSG_PET_BATTLE_REQUEST_PVP = 0x31DD,
- CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DE,
- CMSG_PET_BATTLE_REQUEST_WILD = 0x31DB,
- CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E5,
- CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DC,
+ CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E3,
+ CMSG_PET_BATTLE_INPUT = 0x3641,
+ CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x3226,
+ CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E2,
+ CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3642,
+ CMSG_PET_BATTLE_REQUEST_PVP = 0x31DC,
+ CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DD,
+ CMSG_PET_BATTLE_REQUEST_WILD = 0x31DA,
+ CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E4,
+ CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DB,
CMSG_PET_CANCEL_AURA = 0x348E,
- CMSG_PET_CAST_SPELL = 0x329D,
- CMSG_PET_RENAME = 0x3687,
+ CMSG_PET_CAST_SPELL = 0x329E,
+ CMSG_PET_RENAME = 0x3686,
CMSG_PET_SET_ACTION = 0x348A,
CMSG_PET_SPELL_AUTOCAST = 0x348F,
CMSG_PET_STOP_ATTACK = 0x348C,
CMSG_PING = 0x3768,
- CMSG_PLAYER_LOGIN = 0x35EB,
+ CMSG_PLAYER_LOGIN = 0x35EA,
CMSG_PUSH_QUEST_TO_PARTY = 0x349F,
CMSG_PVP_LOG_DATA = 0x317B,
- CMSG_QUERY_BATTLE_PET_NAME = 0x3279,
- CMSG_QUERY_COMMUNITY_NAME = 0x368E,
- CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3662,
- CMSG_QUERY_CORPSE_TRANSPORT = 0x3663,
+ CMSG_QUERY_BATTLE_PET_NAME = 0x327A,
+ CMSG_QUERY_COMMUNITY_NAME = 0x368D,
+ CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3661,
+ CMSG_QUERY_CORPSE_TRANSPORT = 0x3662,
CMSG_QUERY_COUNTDOWN_TIMER = 0x31A8,
- CMSG_QUERY_CREATURE = 0x3273,
- CMSG_QUERY_GAME_OBJECT = 0x3274,
- CMSG_QUERY_GARRISON_CREATURE_NAME = 0x327A,
- CMSG_QUERY_GUILD_INFO = 0x3691,
- CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3501,
- CMSG_QUERY_NEXT_MAIL_TIME = 0x353A,
- CMSG_QUERY_NPC_TEXT = 0x3275,
- CMSG_QUERY_PAGE_TEXT = 0x3277,
- CMSG_QUERY_PETITION = 0x327B,
- CMSG_QUERY_PET_NAME = 0x3278,
- CMSG_QUERY_PLAYER_NAME = 0x368D,
+ CMSG_QUERY_CREATURE = 0x3274,
+ CMSG_QUERY_GAME_OBJECT = 0x3275,
+ CMSG_QUERY_GARRISON_CREATURE_NAME = 0x327B,
+ CMSG_QUERY_GUILD_INFO = 0x3690,
+ CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3508,
+ CMSG_QUERY_NEXT_MAIL_TIME = 0x3543,
+ CMSG_QUERY_NPC_TEXT = 0x3276,
+ CMSG_QUERY_PAGE_TEXT = 0x3278,
+ CMSG_QUERY_PETITION = 0x327C,
+ CMSG_QUERY_PET_NAME = 0x3279,
+ CMSG_QUERY_PLAYER_NAME = 0x368C,
CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3175,
- CMSG_QUERY_QUEST_INFO = 0x3276,
- CMSG_QUERY_REALM_NAME = 0x3690,
- CMSG_QUERY_SCENARIO_POI = 0x3658,
- CMSG_QUERY_TIME = 0x34D6,
- CMSG_QUERY_TREASURE_PICKER = 0x3348,
+ CMSG_QUERY_QUEST_INFO = 0x3277,
+ CMSG_QUERY_REALM_NAME = 0x368F,
+ CMSG_QUERY_SCENARIO_POI = 0x3657,
+ CMSG_QUERY_TIME = 0x34DD,
+ CMSG_QUERY_TREASURE_PICKER = 0x334C,
CMSG_QUERY_VOID_STORAGE = 0x31A1,
CMSG_QUEST_CONFIRM_ACCEPT = 0x349E,
CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x3498,
@@ -576,210 +584,212 @@ enum OpcodeClient : uint16
CMSG_QUEST_GIVER_REQUEST_REWARD = 0x349B,
CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x349D,
CMSG_QUEST_GIVER_STATUS_QUERY = 0x349C,
- CMSG_QUEST_LOG_REMOVE_QUEST = 0x352F,
- CMSG_QUEST_POI_QUERY = 0x36B3,
+ CMSG_QUEST_LOG_REMOVE_QUEST = 0x3538,
+ CMSG_QUEST_POI_QUERY = 0x36B2,
CMSG_QUEST_PUSH_RESULT = 0x34A0,
- CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x339F,
- CMSG_QUEST_SESSION_REQUEST_START = 0x339E,
- CMSG_QUEST_SESSION_REQUEST_STOP = 0x3730,
+ CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33A5,
+ CMSG_QUEST_SESSION_REQUEST_START = 0x33A4,
+ CMSG_QUEST_SESSION_REQUEST_STOP = 0x372F,
CMSG_QUEUED_MESSAGES_END = 0x376C,
- CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x370A,
- CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3709,
- CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x3735,
- CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3708,
- CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x3707,
- CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x3505,
- CMSG_RAF_CLAIM_NEXT_REWARD = 0x3726,
- CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3728,
- CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3727,
- CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY = 0x36E7,
- CMSG_RANDOM_ROLL = 0x3656,
- CMSG_READY_CHECK_RESPONSE = 0x3636,
- CMSG_READ_ITEM = 0x3323,
- CMSG_RECLAIM_CORPSE = 0x34DC,
- CMSG_REDEEM_WOW_TOKEN_CONFIRM = 0x36F1,
- CMSG_REDEEM_WOW_TOKEN_START = 0x36F0,
- CMSG_REMOVE_NEW_ITEM = 0x334B,
- CMSG_REMOVE_RAF_RECRUIT = 0x3729,
- CMSG_REORDER_CHARACTERS = 0x35EA,
- CMSG_REPAIR_ITEM = 0x34ED,
- CMSG_REPLACE_TROPHY = 0x3305,
- CMSG_REPOP_REQUEST = 0x3527,
- CMSG_REPORT_CLIENT_VARIABLES = 0x3704,
- CMSG_REPORT_ENABLED_ADDONS = 0x3703,
- CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3705,
- CMSG_REPORT_PVP_PLAYER_AFK = 0x34F5,
- CMSG_REPORT_SERVER_LAG = 0x3396,
- CMSG_REQUEST_ACCOUNT_DATA = 0x369A,
- CMSG_REQUEST_AREA_POI_UPDATE = 0x334A,
- CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DD,
+ CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3709,
+ CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3708,
+ CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = 0x3734,
+ CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3707,
+ CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = 0x3706,
+ CMSG_RAF_CLAIM_ACTIVITY_REWARD = 0x350C,
+ CMSG_RAF_CLAIM_NEXT_REWARD = 0x3725,
+ CMSG_RAF_GENERATE_RECRUITMENT_LINK = 0x3727,
+ CMSG_RAF_UPDATE_RECRUITMENT_INFO = 0x3726,
+ CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY = 0x36E6,
+ CMSG_RANDOM_ROLL = 0x3655,
+ CMSG_READY_CHECK_RESPONSE = 0x3635,
+ CMSG_READ_ITEM = 0x3327,
+ CMSG_RECLAIM_CORPSE = 0x34E3,
+ CMSG_REDEEM_WOW_TOKEN_CONFIRM = 0x36F0,
+ CMSG_REDEEM_WOW_TOKEN_START = 0x36EF,
+ CMSG_REMOVE_NEW_ITEM = 0x334F,
+ CMSG_REMOVE_RAF_RECRUIT = 0x3728,
+ CMSG_REORDER_CHARACTERS = 0x35E9,
+ CMSG_REPAIR_ITEM = 0x34F4,
+ CMSG_REPLACE_TROPHY = 0x3309,
+ CMSG_REPOP_REQUEST = 0x3530,
+ CMSG_REPORT_CLIENT_VARIABLES = 0x3703,
+ CMSG_REPORT_ENABLED_ADDONS = 0x3702,
+ CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3704,
+ CMSG_REPORT_PVP_PLAYER_AFK = 0x34FC,
+ CMSG_REPORT_SERVER_LAG = 0x339C,
+ CMSG_REQUEST_ACCOUNT_DATA = 0x3699,
+ CMSG_REQUEST_AREA_POI_UPDATE = 0x334E,
+ CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC,
CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x317D,
CMSG_REQUEST_CEMETERY_LIST = 0x3176,
- CMSG_REQUEST_CHALLENGE_MODE_AFFIXES = 0x3208,
- CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x3692,
- CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32B6,
- CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x352B,
- CMSG_REQUEST_FORCED_REACTIONS = 0x320A,
+ CMSG_REQUEST_CHALLENGE_MODE_AFFIXES = 0x3207,
+ CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x3691,
+ CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32B7,
+ CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x3534,
+ CMSG_REQUEST_FORCED_REACTIONS = 0x3209,
CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A7,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A6,
- CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32A6,
- CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F8,
- CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3655,
+ CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32A7,
+ CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7,
+ CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3654,
CMSG_REQUEST_PET_INFO = 0x3490,
- CMSG_REQUEST_PLAYED_TIME = 0x327E,
+ CMSG_REQUEST_PLAYED_TIME = 0x327F,
CMSG_REQUEST_PVP_BRAWL_INFO = 0x3195,
CMSG_REQUEST_PVP_REWARDS = 0x3194,
- CMSG_REQUEST_QUEST_LINES_FOR_MAP = 0x3391,
- CMSG_REQUEST_RAID_INFO = 0x36CC,
- CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0x35E4,
+ CMSG_REQUEST_QUEST_LINES_FOR_MAP = 0x3397,
+ CMSG_REQUEST_RAID_INFO = 0x36CB,
+ CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0x35E3,
CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x309B,
CMSG_REQUEST_RESEARCH_HISTORY = 0x3167,
CMSG_REQUEST_STABLED_PETS = 0x3491,
- CMSG_REQUEST_VEHICLE_EXIT = 0x3239,
- CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x323B,
- CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x323A,
- CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x323C,
- CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3349,
- CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE = 0x36E9,
- CMSG_RESET_CHALLENGE_MODE = 0x3206,
- CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3207,
- CMSG_RESET_INSTANCES = 0x366A,
- CMSG_RESURRECT_RESPONSE = 0x3686,
- CMSG_REVERT_MONUMENT_APPEARANCE = 0x3307,
- CMSG_RIDE_VEHICLE_INTERACT = 0x323D,
+ CMSG_REQUEST_VEHICLE_EXIT = 0x323A,
+ CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x323C,
+ CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x323B,
+ CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x323D,
+ CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x334D,
+ CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE = 0x36E8,
+ CMSG_RESET_CHALLENGE_MODE = 0x3205,
+ CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3206,
+ CMSG_RESET_INSTANCES = 0x3669,
+ CMSG_RESURRECT_RESPONSE = 0x3685,
+ CMSG_REVERT_MONUMENT_APPEARANCE = 0x330B,
+ CMSG_RIDE_VEHICLE_INTERACT = 0x323E,
CMSG_SAVE_CUF_PROFILES = 0x318B,
- CMSG_SAVE_EQUIPMENT_SET = 0x350B,
- CMSG_SAVE_GUILD_EMBLEM = 0x32AA,
- CMSG_SCENE_PLAYBACK_CANCELED = 0x3223,
- CMSG_SCENE_PLAYBACK_COMPLETE = 0x3222,
- CMSG_SCENE_TRIGGER_EVENT = 0x3224,
- CMSG_SELF_RES = 0x3532,
+ CMSG_SAVE_EQUIPMENT_SET = 0x3512,
+ CMSG_SAVE_GUILD_EMBLEM = 0x32AB,
+ CMSG_SCENE_PLAYBACK_CANCELED = 0x3222,
+ CMSG_SCENE_PLAYBACK_COMPLETE = 0x3221,
+ CMSG_SCENE_TRIGGER_EVENT = 0x3223,
+ CMSG_SELF_RES = 0x353B,
CMSG_SELL_ITEM = 0x34A2,
- CMSG_SELL_WOW_TOKEN_CONFIRM = 0x36EB,
- CMSG_SELL_WOW_TOKEN_START = 0x36EA,
- CMSG_SEND_CONTACT_LIST = 0x36D1,
- CMSG_SEND_MAIL = 0x35FB,
+ CMSG_SELL_WOW_TOKEN_CONFIRM = 0x36EA,
+ CMSG_SELL_WOW_TOKEN_START = 0x36E9,
+ CMSG_SEND_CONTACT_LIST = 0x36D0,
+ CMSG_SEND_MAIL = 0x35FA,
CMSG_SEND_TEXT_EMOTE = 0x3488,
- CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x3229,
- CMSG_SET_ACTION_BAR_TOGGLES = 0x3533,
- CMSG_SET_ACTION_BUTTON = 0x3637,
- CMSG_SET_ACTIVE_MOVER = 0x3A37,
- CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32B7,
- CMSG_SET_ASSISTANT_LEADER = 0x3651,
- CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3326,
- CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3327,
- CMSG_SET_CONTACT_NOTES = 0x36D4,
+ CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x3228,
+ CMSG_SET_ACTION_BAR_TOGGLES = 0x353C,
+ CMSG_SET_ACTION_BUTTON = 0x3636,
+ CMSG_SET_ACTIVE_MOVER = 0x3A38,
+ CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32B8,
+ CMSG_SET_ASSISTANT_LEADER = 0x3650,
+ CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x332A,
+ CMSG_SET_BANK_AUTOSORT_DISABLED = 0x332B,
+ CMSG_SET_CONTACT_NOTES = 0x36D3,
CMSG_SET_CURRENCY_FLAGS = 0x3169,
- CMSG_SET_DIFFICULTY_ID = 0x3225,
- CMSG_SET_DUNGEON_DIFFICULTY = 0x3684,
- CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3618,
- CMSG_SET_FACTION_AT_WAR = 0x34DF,
- CMSG_SET_FACTION_INACTIVE = 0x34E1,
- CMSG_SET_FACTION_NOT_AT_WAR = 0x34E0,
- CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31B9,
- CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x3329,
- CMSG_SET_LFG_BONUS_FACTION_ID = 0x32A5,
- CMSG_SET_LOOT_METHOD = 0x364A,
- CMSG_SET_LOOT_SPECIALIZATION = 0x3540,
- CMSG_SET_PARTY_ASSIGNMENT = 0x3653,
- CMSG_SET_PARTY_LEADER = 0x364C,
+ CMSG_SET_DIFFICULTY_ID = 0x3224,
+ CMSG_SET_DUNGEON_DIFFICULTY = 0x3683,
+ CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3617,
+ CMSG_SET_FACTION_AT_WAR = 0x34E6,
+ CMSG_SET_FACTION_INACTIVE = 0x34E8,
+ CMSG_SET_FACTION_NOT_AT_WAR = 0x34E7,
+ CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31B8,
+ CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x332D,
+ CMSG_SET_LFG_BONUS_FACTION_ID = 0x32A6,
+ CMSG_SET_LOOT_METHOD = 0x3649,
+ CMSG_SET_LOOT_SPECIALIZATION = 0x3549,
+ CMSG_SET_PARTY_ASSIGNMENT = 0x3652,
+ CMSG_SET_PARTY_LEADER = 0x364B,
CMSG_SET_PET_SLOT = 0x3168,
- CMSG_SET_PLAYER_DECLINED_NAMES = 0x368C,
+ CMSG_SET_PLAYER_DECLINED_NAMES = 0x368B,
CMSG_SET_PREFERRED_CEMETERY = 0x3177,
- CMSG_SET_PVP = 0x32AE,
- CMSG_SET_RAID_DIFFICULTY = 0x36DE,
+ CMSG_SET_PVP = 0x32AF,
+ CMSG_SET_RAID_DIFFICULTY = 0x36DD,
CMSG_SET_ROLE = 0x35D9,
- CMSG_SET_SAVED_INSTANCE_EXTEND = 0x368A,
- CMSG_SET_SELECTION = 0x3529,
+ CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3689,
+ CMSG_SET_SELECTION = 0x3532,
CMSG_SET_SHEATHED = 0x3489,
- CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3328,
- CMSG_SET_TAXI_BENCHMARK_MODE = 0x34F4,
- CMSG_SET_TITLE = 0x3282,
+ CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x332C,
+ CMSG_SET_TAXI_BENCHMARK_MODE = 0x34FB,
+ CMSG_SET_TITLE = 0x3283,
CMSG_SET_TRADE_CURRENCY = 0x3160,
CMSG_SET_TRADE_GOLD = 0x315F,
CMSG_SET_TRADE_ITEM = 0x315D,
- CMSG_SET_USING_PARTY_GARRISON = 0x32EB,
- CMSG_SET_WAR_MODE = 0x32AF,
- CMSG_SET_WATCHED_FACTION = 0x34E2,
- CMSG_SHOW_TRADE_SKILL = 0x36C4,
- CMSG_SIGN_PETITION = 0x3534,
- CMSG_SILENCE_PARTY_TALKER = 0x3654,
- CMSG_SOCKET_GEMS = 0x34EC,
- CMSG_SORT_BAGS = 0x332A,
- CMSG_SORT_BANK_BAGS = 0x332B,
- CMSG_SORT_REAGENT_BANK_BAGS = 0x332C,
+ CMSG_SET_USING_PARTY_GARRISON = 0x32EF,
+ CMSG_SET_WAR_MODE = 0x32B0,
+ CMSG_SET_WATCHED_FACTION = 0x34E9,
+ CMSG_SHOW_TRADE_SKILL = 0x36C3,
+ CMSG_SIGN_PETITION = 0x353D,
+ CMSG_SILENCE_PARTY_TALKER = 0x3653,
+ CMSG_SOCKET_GEMS = 0x34F3,
+ CMSG_SORT_BAGS = 0x332E,
+ CMSG_SORT_BANK_BAGS = 0x332F,
+ CMSG_SORT_REAGENT_BANK_BAGS = 0x3330,
CMSG_SPELL_CLICK = 0x3495,
CMSG_SPIRIT_HEALER_ACTIVATE = 0x34AF,
CMSG_SPLIT_ITEM = 0x399E,
CMSG_STAND_STATE_CHANGE = 0x3189,
- CMSG_START_CHALLENGE_MODE = 0x354B,
- CMSG_START_SPECTATOR_WAR_GAME = 0x35E0,
- CMSG_START_WAR_GAME = 0x35DF,
- CMSG_SUMMON_RESPONSE = 0x366C,
- CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3647,
- CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3646,
- CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3648,
+ CMSG_START_CHALLENGE_MODE = 0x3554,
+ CMSG_START_SPECTATOR_WAR_GAME = 0x35DF,
+ CMSG_START_WAR_GAME = 0x35DE,
+ CMSG_SUMMON_RESPONSE = 0x366B,
+ CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3646,
+ CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3645,
+ CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3647,
CMSG_SURRENDER_ARENA = 0x3174,
CMSG_SUSPEND_COMMS_ACK = 0x3764,
CMSG_SUSPEND_TOKEN_RESPONSE = 0x376A,
CMSG_SWAP_INV_ITEM = 0x399D,
CMSG_SWAP_ITEM = 0x399C,
- CMSG_SWAP_SUB_GROUPS = 0x364F,
+ CMSG_SWAP_SUB_GROUPS = 0x364E,
CMSG_SWAP_VOID_ITEM = 0x31A3,
- CMSG_TABARD_VENDOR_ACTIVATE = 0x32AB,
+ CMSG_TABARD_VENDOR_ACTIVATE = 0x32AC,
CMSG_TALK_TO_GOSSIP = 0x3492,
CMSG_TAXI_NODE_STATUS_QUERY = 0x34A8,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34AA,
CMSG_TAXI_REQUEST_EARLY_LANDING = 0x34AC,
- CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A3B,
- CMSG_TIME_SYNC_RESPONSE = 0x3A38,
- CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3A,
- CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A39,
- CMSG_TOGGLE_DIFFICULTY = 0x3659,
- CMSG_TOGGLE_PVP = 0x32AD,
- CMSG_TOTEM_DESTROYED = 0x34F9,
+ CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A3C,
+ CMSG_TIME_SYNC_RESPONSE = 0x3A39,
+ CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3B,
+ CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3A,
+ CMSG_TOGGLE_DIFFICULTY = 0x3658,
+ CMSG_TOGGLE_PVP = 0x32AE,
+ CMSG_TOTEM_DESTROYED = 0x3500,
CMSG_TOY_CLEAR_FANFARE = 0x312E,
- CMSG_TRADE_SKILL_SET_FAVORITE = 0x3347,
+ CMSG_TRADE_SKILL_SET_FAVORITE = 0x334B,
CMSG_TRAINER_BUY_SPELL = 0x34AE,
CMSG_TRAINER_LIST = 0x34AD,
CMSG_TRANSMOGRIFY_ITEMS = 0x3196,
- CMSG_TURN_IN_PETITION = 0x3536,
- CMSG_TUTORIAL = 0x36DF,
+ CMSG_TURN_IN_PETITION = 0x353F,
+ CMSG_TUTORIAL = 0x36DE,
CMSG_TWITTER_CHECK_STATUS = 0x312A,
CMSG_TWITTER_CONNECT = 0x3127,
CMSG_TWITTER_DISCONNECT = 0x312B,
- CMSG_TWITTER_POST = 0x332E,
- CMSG_UI_TIME_REQUEST = 0x369F,
+ CMSG_TWITTER_POST = 0x3332,
+ CMSG_UI_TIME_REQUEST = 0x369E,
CMSG_UNACCEPT_TRADE = 0x315B,
- CMSG_UNDELETE_CHARACTER = 0x36E1,
- CMSG_UNLEARN_SKILL = 0x34E6,
+ CMSG_UNDELETE_CHARACTER = 0x36E0,
+ CMSG_UNLEARN_SKILL = 0x34ED,
CMSG_UNLEARN_SPECIALIZATION = 0x31A4,
CMSG_UNLOCK_VOID_STORAGE = 0x31A0,
- CMSG_UPDATE_ACCOUNT_DATA = 0x369B,
- CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32A0,
- CMSG_UPDATE_CLIENT_SETTINGS = 0x3666,
- CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A3E,
- CMSG_UPDATE_RAID_TARGET = 0x3652,
- CMSG_UPDATE_SPELL_VISUAL = 0x329F,
- CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F7,
- CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST = 0x36F2,
- CMSG_UPDATE_WOW_TOKEN_COUNT = 0x36E8,
- CMSG_UPGRADE_GARRISON = 0x32BF,
+ CMSG_UPDATE_ACCOUNT_DATA = 0x369A,
+ CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32A1,
+ CMSG_UPDATE_CLIENT_SETTINGS = 0x3665,
+ CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A3F,
+ CMSG_UPDATE_RAID_TARGET = 0x3651,
+ CMSG_UPDATE_SPELL_VISUAL = 0x32A0,
+ CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F6,
+ CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST = 0x36F1,
+ CMSG_UPDATE_WOW_TOKEN_COUNT = 0x36E7,
+ CMSG_UPGRADE_GARRISON = 0x32C0,
CMSG_USED_FOLLOW = 0x3186,
- CMSG_USE_CRITTER_ITEM = 0x3243,
+ CMSG_USE_CRITTER_ITEM = 0x3244,
CMSG_USE_EQUIPMENT_SET = 0x3995,
- CMSG_USE_ITEM = 0x329A,
- CMSG_USE_TOY = 0x329C,
+ CMSG_USE_ITEM = 0x329B,
+ CMSG_USE_TOY = 0x329D,
CMSG_VIOLENCE_LEVEL = 0x3184,
- CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x3713,
- CMSG_VOICE_CHAT_LOGIN = 0x3712,
+ CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x3712,
+ CMSG_VOICE_CHAT_LOGIN = 0x3711,
CMSG_VOID_STORAGE_TRANSFER = 0x31A2,
- CMSG_WARDEN_DATA = 0x35ED,
- CMSG_WHO = 0x3683,
- CMSG_WHO_IS = 0x3682,
- CMSG_WORLD_PORT_RESPONSE = 0x35FA,
+ CMSG_WARDEN_DATA = 0x35EC,
+ CMSG_WHO = 0x3682,
+ CMSG_WHO_IS = 0x3681,
+ CMSG_WORLD_PORT_RESPONSE = 0x35F9,
CMSG_WRAP_ITEM = 0x3994,
+ CMSG_AUCTION_LIST_ITEMS = 0xBADD,
+ CMSG_AUCTION_LIST_PENDING_SALES = 0xBADD,
CMSG_BF_MGR_ENTRY_INVITE_RESPONSE = 0xBADD,
CMSG_BF_MGR_QUEUE_INVITE_RESPONSE = 0xBADD,
CMSG_BF_MGR_QUEUE_EXIT_REQUEST = 0xBADD,
@@ -788,8 +798,8 @@ enum OpcodeClient : uint16
enum OpcodeServer : uint16
{
SMSG_ABORT_NEW_WORLD = 0x25AF,
- SMSG_ACCOUNT_CRITERIA_UPDATE = 0x28C1,
- SMSG_ACCOUNT_DATA_TIMES = 0x2752,
+ SMSG_ACCOUNT_CRITERIA_UPDATE = 0x28C5,
+ SMSG_ACCOUNT_DATA_TIMES = 0x274F,
SMSG_ACCOUNT_MOUNT_UPDATE = 0x25C4,
SMSG_ACCOUNT_TOYS_UPDATE = 0x25C5,
SMSG_ACHIEVEMENT_DELETED = 0x2727,
@@ -801,7 +811,7 @@ enum OpcodeServer : uint16
SMSG_ADD_LOSS_OF_CONTROL = 0x269C,
SMSG_ADD_RUNE_POWER = 0x26EB,
SMSG_ADJUST_SPLINE_DURATION = 0x25E9,
- SMSG_ADVENTURE_MAP_POI_QUERY_RESPONSE = 0x2843,
+ SMSG_ADVENTURE_MAP_POI_QUERY_RESPONSE = 0x2842,
SMSG_AE_LOOT_TARGETS = 0x262F,
SMSG_AE_LOOT_TARGET_ACK = 0x2630,
SMSG_AI_REACTION = 0x26E8,
@@ -809,33 +819,35 @@ enum OpcodeServer : uint16
SMSG_ALL_ACHIEVEMENT_DATA = 0x2570,
SMSG_ALL_GUILD_ACHIEVEMENTS = 0x29B8,
SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2588,
- SMSG_AREA_POI_UPDATE = 0x2850,
- SMSG_AREA_SPIRIT_HEALER_TIME = 0x2789,
+ SMSG_AREA_POI_UPDATE = 0x284F,
+ SMSG_AREA_SPIRIT_HEALER_TIME = 0x2786,
SMSG_AREA_TRIGGER_DENIED = 0x26A3,
- SMSG_AREA_TRIGGER_NO_CORPSE = 0x275E,
+ SMSG_AREA_TRIGGER_NO_CORPSE = 0x275B,
SMSG_AREA_TRIGGER_PLAY_VISUAL_EVENT = 0x2641,
SMSG_AREA_TRIGGER_RE_PATH = 0x263F,
SMSG_AREA_TRIGGER_RE_SHAPE = 0x2644,
SMSG_ARENA_CROWD_CONTROL_SPELLS = 0x2652,
- SMSG_ARENA_MATCH_END = 0x28A8,
- SMSG_ARENA_MATCH_START = 0x28A7,
+ SMSG_ARENA_MATCH_END = 0x28A7,
+ SMSG_ARENA_MATCH_START = 0x28A6,
SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x2668,
- SMSG_ARTIFACT_FORGE_OPENED = 0x27EB,
- SMSG_ARTIFACT_RESPEC_CONFIRM = 0x27EE,
- SMSG_ARTIFACT_TRAITS_REFUNDED = 0x27EF,
- SMSG_ARTIFACT_XP_GAIN = 0x2833,
- SMSG_ATTACKER_STATE_UPDATE = 0x27D8,
+ SMSG_ARTIFACT_FORGE_OPENED = 0x27E8,
+ SMSG_ARTIFACT_RESPEC_CONFIRM = 0x27EB,
+ SMSG_ARTIFACT_TRAITS_REFUNDED = 0x27EC,
+ SMSG_ARTIFACT_XP_GAIN = 0x2830,
+ SMSG_ATTACKER_STATE_UPDATE = 0x27D5,
SMSG_ATTACK_START = 0x2670,
SMSG_ATTACK_STOP = 0x2671,
- SMSG_ATTACK_SWING_ERROR = 0x273C,
- SMSG_ATTACK_SWING_LANDED_LOG = 0x273D,
+ SMSG_ATTACK_SWING_ERROR = 0x2739,
+ SMSG_ATTACK_SWING_LANDED_LOG = 0x273A,
SMSG_AUCTION_CLOSED_NOTIFICATION = 0x2731,
SMSG_AUCTION_COMMAND_RESULT = 0x272E,
+ SMSG_AUCTION_COMMODITY_PRICE_UPDATE = 0x28C3,
SMSG_AUCTION_HELLO_RESPONSE = 0x272C,
- SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x2735,
- SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2733,
- SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x2734,
- SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x2736,
+ SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x28C2,
+ SMSG_AUCTION_LIST_BUCKET_ITEMS_RESULT = 0x28BF,
+ SMSG_AUCTION_LIST_FAVORITE_ITEMS_RESULT = 0x28CC,
+ SMSG_AUCTION_LIST_ITEMS_RESULT = 0x28C0,
+ SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x28C1,
SMSG_AUCTION_OUTBID_NOTIFICATION = 0x2730,
SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x2732,
SMSG_AUCTION_REPLICATE_RESPONSE = 0x272D,
@@ -846,12 +858,12 @@ enum OpcodeServer : uint16
SMSG_AUTH_ERROR = 0x256C,
SMSG_AUTH_RESPONSE = 0x256D,
SMSG_AVAILABLE_HOTFIXES = 0x25A3,
- SMSG_AZERITE_EMPOWERED_ITEM_EQUIPPED_STATUS_CHANGED = 0x2872,
- SMSG_AZERITE_EMPOWERED_ITEM_RESPEC_OPEN = 0x283D,
- SMSG_AZERITE_ESSENCE_FORGE_CLOSE = 0x2875,
- SMSG_AZERITE_ESSENCE_FORGE_OPENED = 0x2874,
- SMSG_AZERITE_ESSENCE_SELECTION_RESULT = 0x2873,
- SMSG_AZERITE_XP_GAIN = 0x2871,
+ SMSG_AZERITE_EMPOWERED_ITEM_EQUIPPED_STATUS_CHANGED = 0x2871,
+ SMSG_AZERITE_EMPOWERED_ITEM_RESPEC_OPEN = 0x283B,
+ SMSG_AZERITE_ESSENCE_FORGE_CLOSE = 0x2874,
+ SMSG_AZERITE_ESSENCE_FORGE_OPENED = 0x2873,
+ SMSG_AZERITE_ESSENCE_SELECTION_RESULT = 0x2872,
+ SMSG_AZERITE_XP_GAIN = 0x2870,
SMSG_BAN_REASON = 0x26B8,
SMSG_BARBER_SHOP_RESULT = 0x26F1,
SMSG_BATTLEFIELD_LIST = 0x2596,
@@ -863,46 +875,46 @@ enum OpcodeServer : uint16
SMSG_BATTLEFIELD_STATUS_QUEUED = 0x2593,
SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS = 0x25A7,
SMSG_BATTLEGROUND_INFO_THROTTLED = 0x259D,
- SMSG_BATTLEGROUND_INIT = 0x27A7,
+ SMSG_BATTLEGROUND_INIT = 0x27A4,
SMSG_BATTLEGROUND_PLAYER_JOINED = 0x259A,
SMSG_BATTLEGROUND_PLAYER_LEFT = 0x259B,
SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2597,
- SMSG_BATTLEGROUND_POINTS = 0x27A6,
- SMSG_BATTLENET_CHALLENGE_ABORT = 0x27D7,
- SMSG_BATTLENET_CHALLENGE_START = 0x27D6,
- SMSG_BATTLENET_NOTIFICATION = 0x284B,
- SMSG_BATTLENET_REALM_LIST_TICKET = 0x284D,
- SMSG_BATTLENET_RESPONSE = 0x284A,
- SMSG_BATTLENET_SET_SESSION_STATE = 0x284C,
- SMSG_BATTLENET_UPDATE_SESSION_KEY = 0x286B,
- SMSG_BATTLE_PAY_ACK_FAILED = 0x27D1,
- SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x27C5,
- SMSG_BATTLE_PAY_BUNDLE_PRICE_UPDATE = 0x285E,
- SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x27D0,
- SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x27C3,
- SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x27C2,
- SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x27C1,
- SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x27BF,
- SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x27BD,
- SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x27BE,
- SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x27C4,
- SMSG_BATTLE_PAY_OPEN_CHECKOUT_RESULT = 0x2864,
- SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x27CF,
- SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x27CD,
- SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x27CC,
- SMSG_BATTLE_PAY_SUBSCRIPTION_CHANGED = 0x286D,
- SMSG_BATTLE_PAY_TOY_DELIVERED = 0x27C6,
- SMSG_BATTLE_PAY_VAS_BNET_TRANSFER_VALIDATION_RESULT = 0x2862,
- SMSG_BATTLE_PAY_VAS_BOOST_CONSUMED = 0x27C0,
- SMSG_BATTLE_PAY_VAS_CHARACTER_LIST = 0x2836,
- SMSG_BATTLE_PAY_VAS_CHARACTER_QUEUE_STATUS = 0x2860,
+ SMSG_BATTLEGROUND_POINTS = 0x27A3,
+ SMSG_BATTLENET_CHALLENGE_ABORT = 0x27D4,
+ SMSG_BATTLENET_CHALLENGE_START = 0x27D3,
+ SMSG_BATTLENET_NOTIFICATION = 0x284A,
+ SMSG_BATTLENET_REALM_LIST_TICKET = 0x284C,
+ SMSG_BATTLENET_RESPONSE = 0x2849,
+ SMSG_BATTLENET_SET_SESSION_STATE = 0x284B,
+ SMSG_BATTLENET_UPDATE_SESSION_KEY = 0x286A,
+ SMSG_BATTLE_PAY_ACK_FAILED = 0x27CE,
+ SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x27C2,
+ SMSG_BATTLE_PAY_BUNDLE_PRICE_UPDATE = 0x285D,
+ SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x27CD,
+ SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x27C0,
+ SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x27BF,
+ SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x27BE,
+ SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x27BC,
+ SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x27BA,
+ SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x27BB,
+ SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x27C1,
+ SMSG_BATTLE_PAY_OPEN_CHECKOUT_RESULT = 0x2863,
+ SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x27CC,
+ SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x27CA,
+ SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x27C9,
+ SMSG_BATTLE_PAY_SUBSCRIPTION_CHANGED = 0x286C,
+ SMSG_BATTLE_PAY_TOY_DELIVERED = 0x27C3,
+ SMSG_BATTLE_PAY_VAS_BNET_TRANSFER_VALIDATION_RESULT = 0x2861,
+ SMSG_BATTLE_PAY_VAS_BOOST_CONSUMED = 0x27BD,
+ SMSG_BATTLE_PAY_VAS_CHARACTER_LIST = 0x2833,
+ SMSG_BATTLE_PAY_VAS_CHARACTER_QUEUE_STATUS = 0x285F,
SMSG_BATTLE_PAY_VAS_GUILD_FOLLOW_INFO = 0x29E7,
SMSG_BATTLE_PAY_VAS_GUILD_MASTER_LIST = 0x29E6,
- SMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x2839,
- SMSG_BATTLE_PAY_VAS_PURCHASE_LIST = 0x283A,
- SMSG_BATTLE_PAY_VAS_PURCHASE_STARTED = 0x2838,
- SMSG_BATTLE_PAY_VAS_REALM_LIST = 0x2837,
- SMSG_BATTLE_PAY_VAS_TRANSFER_QUEUE_STATUS = 0x285F,
+ SMSG_BATTLE_PAY_VAS_PURCHASE_COMPLETE = 0x2836,
+ SMSG_BATTLE_PAY_VAS_PURCHASE_LIST = 0x2837,
+ SMSG_BATTLE_PAY_VAS_PURCHASE_STARTED = 0x2835,
+ SMSG_BATTLE_PAY_VAS_REALM_LIST = 0x2834,
+ SMSG_BATTLE_PAY_VAS_TRANSFER_QUEUE_STATUS = 0x285E,
SMSG_BATTLE_PETS_HEALED = 0x260B,
SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x26A6,
SMSG_BATTLE_PET_DELETED = 0x2608,
@@ -916,7 +928,7 @@ enum OpcodeServer : uint16
SMSG_BATTLE_PET_REVOKED = 0x2609,
SMSG_BATTLE_PET_TRAP_LEVEL = 0x2602,
SMSG_BATTLE_PET_UPDATES = 0x2601,
- SMSG_BINDER_CONFIRM = 0x2742,
+ SMSG_BINDER_CONFIRM = 0x273F,
SMSG_BIND_POINT_UPDATE = 0x257D,
SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x2648,
SMSG_BLACK_MARKET_OPEN_RESULT = 0x2646,
@@ -924,14 +936,14 @@ enum OpcodeServer : uint16
SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2647,
SMSG_BLACK_MARKET_WON = 0x264A,
SMSG_BONUS_ROLL_EMPTY = 0x2665,
- SMSG_BONUS_ROLL_FAILED = 0x2878,
- SMSG_BOSS_KILL_CREDIT = 0x27CB,
+ SMSG_BONUS_ROLL_FAILED = 0x2877,
+ SMSG_BOSS_KILL_CREDIT = 0x27C8,
SMSG_BREAK_TARGET = 0x266F,
SMSG_BROADCAST_ACHIEVEMENT = 0x2BBC,
SMSG_BUY_FAILED = 0x26FA,
SMSG_BUY_SUCCEEDED = 0x26F9,
- SMSG_CACHE_INFO = 0x274C,
- SMSG_CACHE_VERSION = 0x274B,
+ SMSG_CACHE_INFO = 0x2749,
+ SMSG_CACHE_VERSION = 0x2748,
SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26CC,
SMSG_CALENDAR_COMMAND_RESULT = 0x26CD,
SMSG_CALENDAR_EVENT_INITIAL_INVITES = 0x26BC,
@@ -952,9 +964,9 @@ enum OpcodeServer : uint16
SMSG_CALENDAR_SEND_CALENDAR = 0x26BA,
SMSG_CALENDAR_SEND_EVENT = 0x26BB,
SMSG_CALENDAR_SEND_NUM_PENDING = 0x26CB,
- SMSG_CAMERA_EFFECT = 0x276E,
+ SMSG_CAMERA_EFFECT = 0x276B,
SMSG_CANCEL_AUTO_REPEAT = 0x271B,
- SMSG_CANCEL_COMBAT = 0x273A,
+ SMSG_CANCEL_COMBAT = 0x2737,
SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x2C46,
SMSG_CANCEL_SCENE = 0x2657,
SMSG_CANCEL_SPELL_VISUAL = 0x2C44,
@@ -972,25 +984,25 @@ enum OpcodeServer : uint16
SMSG_CHALLENGE_MODE_REWARDS = 0x2623,
SMSG_CHALLENGE_MODE_START = 0x261F,
SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = 0x2620,
- SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x273E,
+ SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x273B,
SMSG_CHANNEL_LIST = 0x2BC3,
SMSG_CHANNEL_NOTIFY = 0x2BC0,
SMSG_CHANNEL_NOTIFY_JOINED = 0x2BC1,
SMSG_CHANNEL_NOTIFY_LEFT = 0x2BC2,
- SMSG_CHARACTER_CLASS_TRIAL_CREATE = 0x2809,
- SMSG_CHARACTER_INVENTORY_OVERFLOW_WARNING = 0x286C,
- SMSG_CHARACTER_ITEM_FIXUP = 0x285B,
- SMSG_CHARACTER_LOGIN_FAILED = 0x274D,
- SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x27D5,
- SMSG_CHARACTER_RENAME_RESULT = 0x27AF,
- SMSG_CHARACTER_UPGRADE_COMPLETE = 0x2808,
- SMSG_CHARACTER_UPGRADE_QUEUED = 0x2807,
+ SMSG_CHARACTER_CLASS_TRIAL_CREATE = 0x2806,
+ SMSG_CHARACTER_INVENTORY_OVERFLOW_WARNING = 0x286B,
+ SMSG_CHARACTER_ITEM_FIXUP = 0x285A,
+ SMSG_CHARACTER_LOGIN_FAILED = 0x274A,
+ SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x27D2,
+ SMSG_CHARACTER_RENAME_RESULT = 0x27AC,
+ SMSG_CHARACTER_UPGRADE_COMPLETE = 0x2805,
+ SMSG_CHARACTER_UPGRADE_QUEUED = 0x2804,
SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0x25F6,
- SMSG_CHARACTER_UPGRADE_STARTED = 0x2806,
- SMSG_CHARACTER_UPGRADE_UNREVOKE_RESULT = 0x280A,
+ SMSG_CHARACTER_UPGRADE_STARTED = 0x2803,
+ SMSG_CHARACTER_UPGRADE_UNREVOKE_RESULT = 0x2807,
SMSG_CHAR_CUSTOMIZE = 0x2722,
SMSG_CHAR_CUSTOMIZE_FAILED = 0x2721,
- SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27F3,
+ SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27F0,
SMSG_CHAT = 0x2BAD,
SMSG_CHAT_AUTO_RESPONDED = 0x2BB8,
SMSG_CHAT_DOWN = 0x2BBD,
@@ -1011,44 +1023,44 @@ enum OpcodeServer : uint16
SMSG_CLEAR_LOSS_OF_CONTROL = 0x269E,
SMSG_CLEAR_SPELL_CHARGES = 0x2C28,
SMSG_CLEAR_TARGET = 0x26E4,
- SMSG_CLUB_FINDER_APPLICANTS_LIST = 0x28AF,
- SMSG_CLUB_FINDER_APPLICATIONS = 0x28B0,
- SMSG_CLUB_FINDER_APPLICATIONS_CHANGED = 0x28B1,
- SMSG_CLUB_FINDER_CLUBS_DATA = 0x28B3,
- SMSG_CLUB_FINDER_CLUBS_LIST = 0x28AE,
- SMSG_CLUB_FINDER_COMMAND_RESULT = 0x28B2,
+ SMSG_CLUB_FINDER_APPLICANTS_LIST = 0x28AE,
+ SMSG_CLUB_FINDER_APPLICATIONS = 0x28AF,
+ SMSG_CLUB_FINDER_APPLICATIONS_CHANGED = 0x28B0,
+ SMSG_CLUB_FINDER_CLUBS_DATA = 0x28B2,
+ SMSG_CLUB_FINDER_CLUBS_LIST = 0x28AD,
+ SMSG_CLUB_FINDER_COMMAND_RESULT = 0x28B1,
SMSG_COIN_REMOVED = 0x262E,
SMSG_COMBAT_EVENT_FAILED = 0x2672,
- SMSG_COMMENTATOR_MAP_INFO = 0x274F,
- SMSG_COMMENTATOR_PLAYER_INFO = 0x2750,
- SMSG_COMMENTATOR_STATE_CHANGED = 0x274E,
+ SMSG_COMMENTATOR_MAP_INFO = 0x274C,
+ SMSG_COMMENTATOR_PLAYER_INFO = 0x274D,
+ SMSG_COMMENTATOR_STATE_CHANGED = 0x274B,
SMSG_COMPLAINT_RESULT = 0x26DB,
- SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x27E7,
+ SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x27E4,
SMSG_CONNECT_TO = 0x304D,
- SMSG_CONQUEST_FORMULA_CONSTANTS = 0x27D2,
+ SMSG_CONQUEST_FORMULA_CONSTANTS = 0x27CF,
SMSG_CONSOLE_WRITE = 0x2655,
- SMSG_CONTACT_LIST = 0x27D3,
- SMSG_CONTRIBUTION_COLLECTOR_STATE = 0x2863,
+ SMSG_CONTACT_LIST = 0x27D0,
+ SMSG_CONTRIBUTION_COLLECTOR_STATE = 0x2862,
SMSG_CONTROL_UPDATE = 0x2667,
- SMSG_COOLDOWN_CHEAT = 0x2782,
+ SMSG_COOLDOWN_CHEAT = 0x277F,
SMSG_COOLDOWN_EVENT = 0x26EC,
SMSG_CORPSE_LOCATION = 0x266E,
- SMSG_CORPSE_RECLAIM_DELAY = 0x2794,
- SMSG_CORPSE_TRANSPORT_QUERY = 0x275A,
- SMSG_CREATE_CHAR = 0x2747,
- SMSG_CREATE_SHIPMENT_RESPONSE = 0x27E6,
+ SMSG_CORPSE_RECLAIM_DELAY = 0x2791,
+ SMSG_CORPSE_TRANSPORT_QUERY = 0x2757,
+ SMSG_CREATE_CHAR = 0x2744,
+ SMSG_CREATE_SHIPMENT_RESPONSE = 0x27E3,
SMSG_CRITERIA_DELETED = 0x2726,
SMSG_CRITERIA_UPDATE = 0x2720,
SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26F5,
SMSG_CUSTOM_LOAD_SCREEN = 0x25E4,
SMSG_DAILY_QUESTS_RESET = 0x2A80,
- SMSG_DAMAGE_CALC_LOG = 0x2811,
+ SMSG_DAMAGE_CALC_LOG = 0x280E,
SMSG_DB_REPLY = 0x25A2,
SMSG_DEATH_RELEASE_LOC = 0x2710,
SMSG_DEFENSE_MESSAGE = 0x2BB6,
- SMSG_DELETE_CHAR = 0x2748,
- SMSG_DESTROY_ARENA_UNIT = 0x278B,
- SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x273B,
+ SMSG_DELETE_CHAR = 0x2745,
+ SMSG_DESTROY_ARENA_UNIT = 0x2788,
+ SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x2738,
SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258C,
SMSG_DISENCHANT_CREDIT = 0x25BD,
SMSG_DISMOUNT = 0x26E3,
@@ -1068,45 +1080,45 @@ enum OpcodeServer : uint16
SMSG_DUEL_OUT_OF_BOUNDS = 0x2675,
SMSG_DUEL_REQUESTED = 0x2673,
SMSG_DUEL_WINNER = 0x2679,
- SMSG_DURABILITY_DAMAGE_DEATH = 0x2790,
- SMSG_EMOTE = 0x2812,
+ SMSG_DURABILITY_DAMAGE_DEATH = 0x278D,
+ SMSG_EMOTE = 0x280F,
SMSG_ENABLE_BARBER_SHOP = 0x26F0,
SMSG_ENABLE_ENCRYPTION = 0x3049,
- SMSG_ENCHANTMENT_LOG = 0x275B,
- SMSG_ENCOUNTER_END = 0x27CA,
- SMSG_ENCOUNTER_START = 0x27C9,
- SMSG_ENTITLEMENTS = 0x28C4,
- SMSG_ENTITLEMENT_NOTIFICATION = 0x28C5,
+ SMSG_ENCHANTMENT_LOG = 0x2758,
+ SMSG_ENCOUNTER_END = 0x27C7,
+ SMSG_ENCOUNTER_START = 0x27C6,
+ SMSG_ENTITLEMENTS = 0x28C8,
+ SMSG_ENTITLEMENT_NOTIFICATION = 0x28C9,
SMSG_ENUM_CHARACTERS_RESULT = 0x2584,
SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x2C21,
SMSG_EQUIPMENT_SET_ID = 0x26E5,
SMSG_EXPECTED_SPAM_RECORDS = 0x2BB1,
- SMSG_EXPLORATION_EXPERIENCE = 0x27AC,
- SMSG_FACTION_BONUS_INFO = 0x276D,
+ SMSG_EXPLORATION_EXPERIENCE = 0x27A9,
+ SMSG_FACTION_BONUS_INFO = 0x276A,
SMSG_FAILED_PLAYER_CONDITION = 0x25E3,
SMSG_FEATURE_SYSTEM_STATUS = 0x25D2,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25D3,
- SMSG_FEIGN_DEATH_RESISTED = 0x278E,
+ SMSG_FEIGN_DEATH_RESISTED = 0x278B,
SMSG_FISH_ESCAPED = 0x2703,
SMSG_FISH_NOT_HOOKED = 0x2702,
SMSG_FLIGHT_SPLINE_SYNC = 0x2DF7,
SMSG_FORCED_DEATH_UPDATE = 0x2711,
- SMSG_FORCE_ANIM = 0x279B,
+ SMSG_FORCE_ANIM = 0x2798,
SMSG_FORCE_OBJECT_RELINK = 0x266A,
- SMSG_FRIEND_STATUS = 0x27D4,
+ SMSG_FRIEND_STATUS = 0x27D1,
SMSG_GAME_EVENT_DEBUG_INITIALIZE = 0x2680,
SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25D7,
SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25D8,
SMSG_GAME_OBJECT_DESPAWN = 0x25D9,
- SMSG_GAME_OBJECT_MULTI_TRANSITION = 0x2876,
+ SMSG_GAME_OBJECT_MULTI_TRANSITION = 0x2875,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x2C4B,
SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x2C4A,
- SMSG_GAME_OBJECT_RESET_STATE = 0x2765,
- SMSG_GAME_OBJECT_SET_STATE = 0x2849,
- SMSG_GAME_OBJECT_UI_ACTION = 0x2762,
+ SMSG_GAME_OBJECT_RESET_STATE = 0x2762,
+ SMSG_GAME_OBJECT_SET_STATE = 0x2848,
+ SMSG_GAME_OBJECT_UI_ACTION = 0x275F,
SMSG_GAME_SPEED_SET = 0x26B0,
- SMSG_GAME_TIME_SET = 0x2754,
- SMSG_GAME_TIME_UPDATE = 0x2753,
+ SMSG_GAME_TIME_SET = 0x2751,
+ SMSG_GAME_TIME_UPDATE = 0x2750,
SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x2902,
SMSG_GARRISON_ADD_MISSION_RESULT = 0x2906,
SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0x2918,
@@ -1125,7 +1137,7 @@ enum OpcodeServer : uint16
SMSG_GARRISON_FOLLOWER_CHANGED_STATUS = 0x2915,
SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0x2912,
SMSG_GARRISON_IS_UPGRADEABLE_RESULT = 0x2929,
- SMSG_GARRISON_LANDING_PAGE_SHIPMENT_INFO = 0x27E9,
+ SMSG_GARRISON_LANDING_PAGE_SHIPMENT_INFO = 0x27E6,
SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0x28F7,
SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = 0x28F5,
SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0x2905,
@@ -1156,27 +1168,27 @@ enum OpcodeServer : uint16
SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT = 0x28F8,
SMSG_GARRISON_UPGRADE_RESULT = 0x28FD,
SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2585,
- SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27AD,
+ SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27AA,
SMSG_GET_DISPLAYED_TROPHY_LIST_RESPONSE = 0x2928,
SMSG_GET_GARRISON_INFO_RESULT = 0x28F0,
- SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x27E8,
- SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x27E4,
- SMSG_GET_TROPHY_LIST_RESPONSE = 0x280D,
- SMSG_GM_PLAYER_INFO = 0x2781,
+ SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x27E5,
+ SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x27E1,
+ SMSG_GET_TROPHY_LIST_RESPONSE = 0x280A,
+ SMSG_GM_PLAYER_INFO = 0x277E,
SMSG_GM_REQUEST_PLAYER_INFO = 0x25EF,
SMSG_GM_TICKET_CASE_STATUS = 0x26D2,
SMSG_GM_TICKET_SYSTEM_STATUS = 0x26D1,
- SMSG_GOD_MODE = 0x2741,
+ SMSG_GOD_MODE = 0x273E,
SMSG_GOSSIP_COMPLETE = 0x2A96,
SMSG_GOSSIP_MESSAGE = 0x2A97,
- SMSG_GOSSIP_POI = 0x27E1,
+ SMSG_GOSSIP_POI = 0x27DE,
SMSG_GOSSIP_TEXT_UPDATE = 0x2A98,
SMSG_GROUP_ACTION_THROTTLED = 0x259E,
- SMSG_GROUP_DECLINE = 0x27DC,
- SMSG_GROUP_DESTROYED = 0x27DE,
- SMSG_GROUP_INVITE_CONFIRMATION = 0x285C,
+ SMSG_GROUP_DECLINE = 0x27D9,
+ SMSG_GROUP_DESTROYED = 0x27DB,
+ SMSG_GROUP_INVITE_CONFIRMATION = 0x285B,
SMSG_GROUP_NEW_LEADER = 0x264D,
- SMSG_GROUP_UNINVITE = 0x27DD,
+ SMSG_GROUP_UNINVITE = 0x27DA,
SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C5,
SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C4,
SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C7,
@@ -1234,51 +1246,53 @@ enum OpcodeServer : uint16
SMSG_HIGHEST_THREAT_UPDATE = 0x2717,
SMSG_HOTFIX_MESSAGE = 0x25A4,
SMSG_HOTFIX_RESPONSE = 0x25A5,
- SMSG_INCOMING_SUMMON_COMPLETED = 0x28AA,
- SMSG_INCOMING_SUMMON_PENDING = 0x28A9,
- SMSG_INITIALIZE_FACTIONS = 0x276C,
+ SMSG_INCOMING_SUMMON_COMPLETED = 0x28A9,
+ SMSG_INCOMING_SUMMON_PENDING = 0x28A8,
+ SMSG_INITIALIZE_FACTIONS = 0x2769,
SMSG_INITIAL_SETUP = 0x2581,
- SMSG_INIT_WORLD_STATES = 0x2791,
+ SMSG_INIT_WORLD_STATES = 0x278E,
SMSG_INSPECT_RESULT = 0x2651,
- SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27F9,
- SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27F8,
- SMSG_INSTANCE_ENCOUNTER_END = 0x2801,
- SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27F7,
- SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x2803,
- SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x2802,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27FC,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27FB,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x2800,
- SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x2804,
- SMSG_INSTANCE_ENCOUNTER_SET_ALLOWING_RELEASE = 0x27FF,
- SMSG_INSTANCE_ENCOUNTER_SET_SUPPRESSING_RELEASE = 0x27FE,
- SMSG_INSTANCE_ENCOUNTER_START = 0x27FD,
- SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27FA,
- SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x273F,
+ SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27F6,
+ SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27F5,
+ SMSG_INSTANCE_ENCOUNTER_END = 0x27FE,
+ SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27F4,
+ SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x2800,
+ SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27FF,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27F9,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27F8,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27FD,
+ SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x2801,
+ SMSG_INSTANCE_ENCOUNTER_SET_ALLOWING_RELEASE = 0x27FC,
+ SMSG_INSTANCE_ENCOUNTER_SET_SUPPRESSING_RELEASE = 0x27FB,
+ SMSG_INSTANCE_ENCOUNTER_START = 0x27FA,
+ SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27F7,
+ SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x273C,
SMSG_INSTANCE_INFO = 0x2654,
SMSG_INSTANCE_RESET = 0x26B5,
SMSG_INSTANCE_RESET_FAILED = 0x26B6,
- SMSG_INSTANCE_SAVE_CREATED = 0x27C8,
+ SMSG_INSTANCE_SAVE_CREATED = 0x27C5,
SMSG_INVALIDATE_PAGE_TEXT = 0x270C,
SMSG_INVALIDATE_PLAYER = 0x26DA,
- SMSG_INVALID_PROMOTION_CODE = 0x279C,
- SMSG_INVENTORY_CHANGE_FAILURE = 0x276A,
- SMSG_ISLAND_AZERITE_XP_GAIN = 0x27A9,
- SMSG_ISLAND_COMPLETED = 0x27AA,
- SMSG_ISLAND_OPEN_QUEUE_NPC = 0x283E,
+ SMSG_INVALID_PROMOTION_CODE = 0x2799,
+ SMSG_INVENTORY_CHANGE_FAILURE = 0x2767,
+ SMSG_ISLAND_AZERITE_XP_GAIN = 0x27A6,
+ SMSG_ISLAND_COMPLETED = 0x27A7,
+ SMSG_ISLAND_OPEN_QUEUE_NPC = 0x283D,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A83,
SMSG_ITEM_CHANGED = 0x2729,
- SMSG_ITEM_COOLDOWN = 0x2810,
- SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x279E,
+ SMSG_ITEM_COOLDOWN = 0x280D,
+ SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x279B,
SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x25B3,
+ SMSG_ITEM_INTERACTION_OPEN = 0x283C,
+ SMSG_ITEM_INTERACTION_RESULT = 0x28CE,
SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x25B1,
SMSG_ITEM_PUSH_RESULT = 0x263A,
- SMSG_ITEM_TIME_UPDATE = 0x279D,
- SMSG_KICK_REASON = 0x2835,
+ SMSG_ITEM_TIME_UPDATE = 0x279A,
+ SMSG_KICK_REASON = 0x2832,
SMSG_LEARNED_SPELLS = 0x2C4D,
SMSG_LEARN_PVP_TALENTS_FAILED = 0x25EB,
SMSG_LEARN_TALENTS_FAILED = 0x25EA,
- SMSG_LEVEL_LINKING_RESULT = 0x28B8,
+ SMSG_LEVEL_LINKING_RESULT = 0x28B7,
SMSG_LEVEL_UPDATE = 0x2589,
SMSG_LEVEL_UP_INFO = 0x2728,
SMSG_LFG_BOOT_PLAYER = 0x2A35,
@@ -1316,21 +1330,21 @@ enum OpcodeServer : uint16
SMSG_LF_GUILD_RECRUITS = 0x29CF,
SMSG_LIGHTNING_STORM_END = 0x26D7,
SMSG_LIGHTNING_STORM_START = 0x26D6,
- SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x27BB,
- SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x27B9,
- SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27AE,
+ SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x27B8,
+ SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x27B6,
+ SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x27AB,
SMSG_LOAD_CUF_PROFILES = 0x25CF,
- SMSG_LOAD_EQUIPMENT_SET = 0x2756,
- SMSG_LOAD_SELECTED_TROPHY_RESULT = 0x280E,
- SMSG_LOGIN_SET_TIME_SPEED = 0x2755,
+ SMSG_LOAD_EQUIPMENT_SET = 0x2753,
+ SMSG_LOAD_SELECTED_TROPHY_RESULT = 0x280B,
+ SMSG_LOGIN_SET_TIME_SPEED = 0x2752,
SMSG_LOGIN_VERIFY_WORLD = 0x25AE,
SMSG_LOGOUT_CANCEL_ACK = 0x26B4,
SMSG_LOGOUT_COMPLETE = 0x26B3,
SMSG_LOGOUT_RESPONSE = 0x26B2,
SMSG_LOG_XP_GAIN = 0x2724,
SMSG_LOOT_ALL_PASSED = 0x2638,
- SMSG_LOOT_LEGACY_RULES_IN_EFFECT = 0x2877,
- SMSG_LOOT_LIST = 0x278A,
+ SMSG_LOOT_LEGACY_RULES_IN_EFFECT = 0x2876,
+ SMSG_LOOT_LIST = 0x2787,
SMSG_LOOT_MONEY_NOTIFY = 0x2633,
SMSG_LOOT_RELEASE = 0x2632,
SMSG_LOOT_RELEASE_ALL = 0x2631,
@@ -1341,9 +1355,9 @@ enum OpcodeServer : uint16
SMSG_LOOT_ROLL_WON = 0x2639,
SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x269B,
SMSG_MAIL_COMMAND_RESULT = 0x265B,
- SMSG_MAIL_LIST_RESULT = 0x279F,
- SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x27A0,
- SMSG_MAP_OBJECTIVES_INIT = 0x27A8,
+ SMSG_MAIL_LIST_RESULT = 0x279C,
+ SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x279D,
+ SMSG_MAP_OBJECTIVES_INIT = 0x27A5,
SMSG_MAP_OBJECTIVE_ADD = 0x2598,
SMSG_MAP_OBJECTIVE_REMOVE = 0x2599,
SMSG_MAP_OBJ_EVENTS = 0x25DA,
@@ -1353,12 +1367,12 @@ enum OpcodeServer : uint16
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x2C14,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x2C13,
SMSG_MISSILE_CANCEL = 0x25DB,
- SMSG_MODIFY_CHARGE_RECOVERY_SPEED = 0x27B2,
- SMSG_MODIFY_COOLDOWN = 0x27B0,
- SMSG_MODIFY_COOLDOWN_RECOVERY_SPEED = 0x27B1,
- SMSG_MODIFY_PARTY_RANGE = 0x278D,
+ SMSG_MODIFY_CHARGE_RECOVERY_SPEED = 0x27AF,
+ SMSG_MODIFY_COOLDOWN = 0x27AD,
+ SMSG_MODIFY_COOLDOWN_RECOVERY_SPEED = 0x27AE,
+ SMSG_MODIFY_PARTY_RANGE = 0x278A,
SMSG_MOTD = 0x2BAF,
- SMSG_MOUNT_EQUIPMENT_APPLY_RESULT = 0x28B6,
+ SMSG_MOUNT_EQUIPMENT_APPLY_RESULT = 0x28B5,
SMSG_MOUNT_RESULT = 0x257B,
SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2DE1,
SMSG_MOVE_DISABLE_COLLISION = 0x2DDD,
@@ -1454,28 +1468,28 @@ enum OpcodeServer : uint16
SMSG_OFFER_PETITION_ERROR = 0x26E9,
SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x2725,
SMSG_ON_MONSTER_MOVE = 0x2DA2,
- SMSG_OPEN_ALLIED_RACE_DETAILS_GIVER = 0x283F,
- SMSG_OPEN_CONTAINER = 0x276B,
+ SMSG_OPEN_ALLIED_RACE_DETAILS_GIVER = 0x283E,
+ SMSG_OPEN_CONTAINER = 0x2768,
SMSG_OPEN_LFG_DUNGEON_FINDER = 0x2A31,
- SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x27E3,
- SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x27E5,
- SMSG_OPEN_TRANSMOGRIFIER = 0x283C,
+ SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x27E0,
+ SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x27E2,
+ SMSG_OPEN_TRANSMOGRIFIER = 0x283A,
SMSG_OVERRIDE_LIGHT = 0x26EF,
- SMSG_PAGE_TEXT = 0x2761,
- SMSG_PARTY_COMMAND_RESULT = 0x27E0,
+ SMSG_PAGE_TEXT = 0x275E,
+ SMSG_PARTY_COMMAND_RESULT = 0x27DD,
SMSG_PARTY_INVITE = 0x25D0,
- SMSG_PARTY_KILL_LOG = 0x27A4,
- SMSG_PARTY_MEMBER_STATE = 0x27A2,
- SMSG_PARTY_MEMBER_STATE_UPDATE = 0x27A1,
+ SMSG_PARTY_KILL_LOG = 0x27A1,
+ SMSG_PARTY_MEMBER_STATE = 0x279F,
+ SMSG_PARTY_MEMBER_STATE_UPDATE = 0x279E,
SMSG_PARTY_UPDATE = 0x260D,
- SMSG_PAUSE_MIRROR_TIMER = 0x2758,
- SMSG_PENDING_RAID_LOCK = 0x2739,
+ SMSG_PAUSE_MIRROR_TIMER = 0x2755,
+ SMSG_PENDING_RAID_LOCK = 0x2736,
SMSG_PETITION_ALREADY_SIGNED = 0x25B9,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29FA,
SMSG_PETITION_SHOW_LIST = 0x26F2,
SMSG_PETITION_SHOW_SIGNATURES = 0x26F3,
- SMSG_PETITION_SIGN_RESULTS = 0x2796,
- SMSG_PET_ACTION_FEEDBACK = 0x2793,
+ SMSG_PETITION_SIGN_RESULTS = 0x2793,
+ SMSG_PET_ACTION_FEEDBACK = 0x2790,
SMSG_PET_ACTION_SOUND = 0x26CF,
SMSG_PET_ADDED = 0x25AA,
SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x261A,
@@ -1497,7 +1511,7 @@ enum OpcodeServer : uint16
SMSG_PET_CLEAR_SPELLS = 0x2C24,
SMSG_PET_DISMISS_SOUND = 0x26D0,
SMSG_PET_GOD_MODE = 0x26AA,
- SMSG_PET_GUIDS = 0x274A,
+ SMSG_PET_GUIDS = 0x2747,
SMSG_PET_LEARNED_SPELLS = 0x2C4F,
SMSG_PET_MODE = 0x258B,
SMSG_PET_NAME_INVALID = 0x26F7,
@@ -1511,27 +1525,27 @@ enum OpcodeServer : uint16
SMSG_PLAYED_TIME = 0x2713,
SMSG_PLAYER_BOUND = 0x257E,
SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x29F9,
- SMSG_PLAYER_SKINNED = 0x278F,
- SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x27A3,
- SMSG_PLAY_MUSIC = 0x27B5,
- SMSG_PLAY_OBJECT_SOUND = 0x27B6,
- SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2779,
+ SMSG_PLAYER_SKINNED = 0x278C,
+ SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x27A0,
+ SMSG_PLAY_MUSIC = 0x27B2,
+ SMSG_PLAY_OBJECT_SOUND = 0x27B3,
+ SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2776,
SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x2C47,
SMSG_PLAY_SCENE = 0x2656,
- SMSG_PLAY_SOUND = 0x27B4,
- SMSG_PLAY_SPEAKERBOT_SOUND = 0x27B7,
+ SMSG_PLAY_SOUND = 0x27B1,
+ SMSG_PLAY_SPEAKERBOT_SOUND = 0x27B4,
SMSG_PLAY_SPELL_VISUAL = 0x2C45,
SMSG_PLAY_SPELL_VISUAL_KIT = 0x2C49,
- SMSG_PLAY_TIME_WARNING = 0x2743,
+ SMSG_PLAY_TIME_WARNING = 0x2740,
SMSG_PONG = 0x304E,
SMSG_POWER_UPDATE = 0x2707,
- SMSG_PRE_RESSURECT = 0x27B3,
+ SMSG_PRE_RESSURECT = 0x27B0,
SMSG_PRINT_NOTIFICATION = 0x25E2,
- SMSG_PROC_RESIST = 0x27A5,
+ SMSG_PROC_RESIST = 0x27A2,
SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x2C51,
SMSG_PVP_CREDIT = 0x271F,
SMSG_PVP_LOG_DATA = 0x25B4,
- SMSG_PVP_MATCH_START = 0x28AD,
+ SMSG_PVP_MATCH_START = 0x28AC,
SMSG_PVP_OPTIONS_ENABLED = 0x25B7,
SMSG_PVP_SEASON = 0x25D4,
SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x270E,
@@ -1540,7 +1554,7 @@ enum OpcodeServer : uint16
SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x2705,
SMSG_QUERY_GARRISON_CREATURE_NAME_RESPONSE = 0x292B,
SMSG_QUERY_GUILD_INFO_RESPONSE = 0x29E5,
- SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x280F,
+ SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x280C,
SMSG_QUERY_NPC_TEXT_RESPONSE = 0x2708,
SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x270B,
SMSG_QUERY_PETITION_RESPONSE = 0x270F,
@@ -1548,7 +1562,7 @@ enum OpcodeServer : uint16
SMSG_QUERY_PLAYER_NAME_RESPONSE = 0x2709,
SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A95,
SMSG_QUERY_TIME_RESPONSE = 0x2723,
- SMSG_QUERY_TREASURE_PICKER_RESPONSE = 0x284E,
+ SMSG_QUERY_TREASURE_PICKER_RESPONSE = 0x284D,
SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81,
SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8E,
SMSG_QUEST_FORCE_REMOVED = 0x2A9B,
@@ -1558,7 +1572,7 @@ enum OpcodeServer : uint16
SMSG_QUEST_GIVER_QUEST_DETAILS = 0x2A91,
SMSG_QUEST_GIVER_QUEST_FAILED = 0x2A85,
SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE = 0x2A99,
- SMSG_QUEST_GIVER_QUEST_TURN_IN_FAILURE = 0x2859,
+ SMSG_QUEST_GIVER_QUEST_TURN_IN_FAILURE = 0x2858,
SMSG_QUEST_GIVER_REQUEST_ITEMS = 0x2A92,
SMSG_QUEST_GIVER_STATUS = 0x2A9A,
SMSG_QUEST_GIVER_STATUS_MULTIPLE = 0x2A90,
@@ -1566,9 +1580,9 @@ enum OpcodeServer : uint16
SMSG_QUEST_POI_CHANGED = 0x2A9F,
SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9C,
SMSG_QUEST_PUSH_RESULT = 0x2A8F,
- SMSG_QUEST_SESSION_MEMBER_CONFIRM = 0x28BC,
- SMSG_QUEST_SESSION_MEMBER_START_RESPONSE = 0x28BD,
- SMSG_QUEST_SESSION_NOTIFICATION = 0x28BB,
+ SMSG_QUEST_SESSION_MEMBER_CONFIRM = 0x28BB,
+ SMSG_QUEST_SESSION_MEMBER_START_RESPONSE = 0x28BC,
+ SMSG_QUEST_SESSION_NOTIFICATION = 0x28BA,
SMSG_QUEST_SPAWN_TRACKING_UPDATE = 0x2A9E,
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8B,
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8C,
@@ -1577,12 +1591,12 @@ enum OpcodeServer : uint16
SMSG_QUEST_UPDATE_COMPLETE_BY_SPELL = 0x2A87,
SMSG_QUEST_UPDATE_FAILED = 0x2A89,
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8A,
- SMSG_QUICK_JOIN_CONFIRM_REQUEST_INVITE = 0x28C6,
- SMSG_RAF_ACCOUNT_INFO = 0x28B9,
- SMSG_RAF_ACTIVITY = 0x28C2,
- SMSG_RAF_INFO_UPDATE = 0x28BA,
- SMSG_RAID_DIFFICULTY_SET = 0x27F4,
- SMSG_RAID_GROUP_ONLY = 0x27F6,
+ SMSG_QUICK_JOIN_CONFIRM_REQUEST_INVITE = 0x28CA,
+ SMSG_RAF_ACCOUNT_INFO = 0x28B8,
+ SMSG_RAF_ACTIVITY = 0x28C6,
+ SMSG_RAF_INFO_UPDATE = 0x28B9,
+ SMSG_RAID_DIFFICULTY_SET = 0x27F1,
+ SMSG_RAID_GROUP_ONLY = 0x27F3,
SMSG_RAID_INSTANCE_MESSAGE = 0x2BB4,
SMSG_RAID_MARKERS_CHANGED = 0x25BA,
SMSG_RANDOM_ROLL = 0x2650,
@@ -1590,16 +1604,16 @@ enum OpcodeServer : uint16
SMSG_READY_CHECK_COMPLETED = 0x2610,
SMSG_READY_CHECK_RESPONSE = 0x260F,
SMSG_READY_CHECK_STARTED = 0x260E,
- SMSG_READ_ITEM_RESULT_FAILED = 0x27F0,
- SMSG_READ_ITEM_RESULT_OK = 0x27EA,
- SMSG_REALM_LOOKUP_INFORMATION = 0x2815,
+ SMSG_READ_ITEM_RESULT_FAILED = 0x27ED,
+ SMSG_READ_ITEM_RESULT_OK = 0x27E7,
+ SMSG_REALM_LOOKUP_INFORMATION = 0x2812,
SMSG_REALM_QUERY_RESPONSE = 0x26EE,
SMSG_REFER_A_FRIEND_FAILURE = 0x26F4,
SMSG_REFRESH_COMPONENT = 0x267C,
SMSG_REFRESH_SPELL_HISTORY = 0x2C2C,
SMSG_REMOVE_ITEM_PASSIVE = 0x25C1,
SMSG_REMOVE_LOSS_OF_CONTROL = 0x269D,
- SMSG_REPLACE_TROPHY_RESPONSE = 0x280C,
+ SMSG_REPLACE_TROPHY_RESPONSE = 0x2809,
SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x26E2,
SMSG_REQUEST_ADDON_LIST = 0x2662,
SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x259F,
@@ -1617,17 +1631,17 @@ enum OpcodeServer : uint16
SMSG_RESUME_TOKEN = 0x25BF,
SMSG_RESURRECT_CLEAR_DATA = 0x2580,
SMSG_RESURRECT_REQUEST = 0x257F,
- SMSG_RESYNC_RUNES = 0x2746,
+ SMSG_RESYNC_RUNES = 0x2743,
SMSG_ROLE_CHANGED_INFORM = 0x258E,
SMSG_ROLE_CHOSEN = 0x2A39,
SMSG_ROLE_POLL_INFORM = 0x258F,
SMSG_RUNE_REGEN_DEBUG = 0x25C9,
- SMSG_SCENARIO_BOOT = 0x27F1,
- SMSG_SCENARIO_COMPLETED = 0x2832,
+ SMSG_SCENARIO_BOOT = 0x27EE,
+ SMSG_SCENARIO_COMPLETED = 0x282F,
SMSG_SCENARIO_POIS = 0x2653,
SMSG_SCENARIO_PROGRESS_UPDATE = 0x264C,
- SMSG_SCENARIO_SET_SHOULD_SHOW_CRITERIA = 0x2842,
- SMSG_SCENARIO_SPELL_UPDATE = 0x2841,
+ SMSG_SCENARIO_SET_SHOULD_SHOW_CRITERIA = 0x2841,
+ SMSG_SCENARIO_SPELL_UPDATE = 0x2840,
SMSG_SCENARIO_STATE = 0x264B,
SMSG_SCENE_OBJECT_EVENT = 0x25F9,
SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25FE,
@@ -1649,44 +1663,44 @@ enum OpcodeServer : uint16
SMSG_SERVER_TIME = 0x26B1,
SMSG_SETUP_CURRENCY = 0x2573,
SMSG_SETUP_RESEARCH_HISTORY = 0x2586,
- SMSG_SET_AI_ANIM_KIT = 0x2778,
- SMSG_SET_ALL_TASK_PROGRESS = 0x27DA,
- SMSG_SET_ANIM_TIER = 0x277C,
+ SMSG_SET_AI_ANIM_KIT = 0x2775,
+ SMSG_SET_ALL_TASK_PROGRESS = 0x27D7,
+ SMSG_SET_ANIM_TIER = 0x2779,
SMSG_SET_CURRENCY = 0x2574,
SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x2A2E,
SMSG_SET_DUNGEON_DIFFICULTY = 0x26D3,
- SMSG_SET_FACTION_AT_WAR = 0x2745,
- SMSG_SET_FACTION_NOT_VISIBLE = 0x2773,
- SMSG_SET_FACTION_STANDING = 0x2774,
- SMSG_SET_FACTION_VISIBLE = 0x2772,
+ SMSG_SET_FACTION_AT_WAR = 0x2742,
+ SMSG_SET_FACTION_NOT_VISIBLE = 0x2770,
+ SMSG_SET_FACTION_STANDING = 0x2771,
+ SMSG_SET_FACTION_VISIBLE = 0x276F,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x2C36,
- SMSG_SET_FORCED_REACTIONS = 0x2764,
+ SMSG_SET_FORCED_REACTIONS = 0x2761,
SMSG_SET_ITEM_PURCHASE_DATA = 0x25B2,
- SMSG_SET_LOOT_METHOD_FAILED = 0x281B,
+ SMSG_SET_LOOT_METHOD_FAILED = 0x2818,
SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25B8,
- SMSG_SET_MELEE_ANIM_KIT = 0x277B,
- SMSG_SET_MOVEMENT_ANIM_KIT = 0x277A,
+ SMSG_SET_MELEE_ANIM_KIT = 0x2778,
+ SMSG_SET_MOVEMENT_ANIM_KIT = 0x2777,
SMSG_SET_PCT_SPELL_MODIFIER = 0x2C37,
SMSG_SET_PET_SPECIALIZATION = 0x2645,
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x2712,
SMSG_SET_PLAY_HOVER_ANIM = 0x25CD,
- SMSG_SET_PROFICIENCY = 0x277D,
+ SMSG_SET_PROFICIENCY = 0x277A,
SMSG_SET_SPELL_CHARGES = 0x2C29,
- SMSG_SET_TASK_COMPLETE = 0x27DB,
+ SMSG_SET_TASK_COMPLETE = 0x27D8,
SMSG_SET_TIME_ZONE_INFORMATION = 0x26A5,
- SMSG_SET_VEHICLE_REC_ID = 0x2738,
- SMSG_SHOW_ADVENTURE_MAP = 0x283B,
+ SMSG_SET_VEHICLE_REC_ID = 0x2735,
+ SMSG_SHOW_ADVENTURE_MAP = 0x2838,
SMSG_SHOW_BANK = 0x26AE,
- SMSG_SHOW_MAILBOX = 0x27F2,
+ SMSG_SHOW_MAILBOX = 0x27EF,
SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25F2,
SMSG_SHOW_TAXI_NODES = 0x2700,
- SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x27BC,
- SMSG_SOCKET_GEMS = 0x276F,
- SMSG_SOCKET_GEMS_FAILURE = 0x2770,
- SMSG_SORT_BAGS_RESULT = 0x2829,
+ SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x27B9,
+ SMSG_SOCKET_GEMS = 0x276C,
+ SMSG_SOCKET_GEMS_FAILURE = 0x276D,
+ SMSG_SORT_BAGS_RESULT = 0x2826,
SMSG_SPECIALIZATION_CHANGED = 0x25EE,
SMSG_SPECIAL_MOUNT_ANIM = 0x26CE,
- SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x2760,
+ SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x275D,
SMSG_SPELL_ABSORB_LOG = 0x2C1F,
SMSG_SPELL_CATEGORY_COOLDOWN = 0x2C17,
SMSG_SPELL_CHANNEL_START = 0x2C34,
@@ -1711,24 +1725,24 @@ enum OpcodeServer : uint16
SMSG_SPELL_PERIODIC_AURA_LOG = 0x2C1B,
SMSG_SPELL_PREPARE = 0x2C38,
SMSG_SPELL_START = 0x2C3A,
- SMSG_SPIRIT_HEALER_CONFIRM = 0x275D,
- SMSG_STAND_STATE_UPDATE = 0x2763,
+ SMSG_SPIRIT_HEALER_CONFIRM = 0x275A,
+ SMSG_STAND_STATE_UPDATE = 0x2760,
SMSG_START_ELAPSED_TIMER = 0x261C,
SMSG_START_ELAPSED_TIMERS = 0x261E,
SMSG_START_LOOT_ROLL = 0x2634,
- SMSG_START_MIRROR_TIMER = 0x2757,
+ SMSG_START_MIRROR_TIMER = 0x2754,
SMSG_START_TIMER = 0x25BC,
SMSG_STOP_ELAPSED_TIMER = 0x261D,
- SMSG_STOP_MIRROR_TIMER = 0x2759,
- SMSG_STOP_SPEAKERBOT_SOUND = 0x27B8,
+ SMSG_STOP_MIRROR_TIMER = 0x2756,
+ SMSG_STOP_SPEAKERBOT_SOUND = 0x27B5,
SMSG_STREAMING_MOVIES = 0x25BB,
SMSG_SUMMON_CANCEL = 0x26E1,
SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x2590,
- SMSG_SUMMON_REQUEST = 0x2768,
+ SMSG_SUMMON_REQUEST = 0x2765,
SMSG_SUPERCEDED_SPELLS = 0x2C4C,
SMSG_SUSPEND_COMMS = 0x304A,
SMSG_SUSPEND_TOKEN = 0x25BE,
- SMSG_TALENTS_INVOLUNTARILY_RESET = 0x275F,
+ SMSG_TALENTS_INVOLUNTARILY_RESET = 0x275C,
SMSG_TAXI_NODE_STATUS = 0x26AB,
SMSG_TEXT_EMOTE = 0x26A9,
SMSG_THREAT_CLEAR = 0x271A,
@@ -1745,40 +1759,40 @@ enum OpcodeServer : uint16
SMSG_TRADE_UPDATED = 0x2582,
SMSG_TRAINER_BUY_FAILED = 0x271E,
SMSG_TRAINER_LIST = 0x271D,
- SMSG_TRANSFER_ABORTED = 0x2749,
+ SMSG_TRANSFER_ABORTED = 0x2746,
SMSG_TRANSFER_PENDING = 0x25E6,
SMSG_TRANSMOG_COLLECTION_UPDATE = 0x25C7,
SMSG_TRANSMOG_SET_COLLECTION_UPDATE = 0x25C8,
- SMSG_TRIGGER_CINEMATIC = 0x2813,
+ SMSG_TRIGGER_CINEMATIC = 0x2810,
SMSG_TRIGGER_MOVIE = 0x26FE,
- SMSG_TURN_IN_PETITION_RESULT = 0x2798,
- SMSG_TUTORIAL_FLAGS = 0x2805,
- SMSG_TUTORIAL_HIGHLIGHT_SPELL = 0x2848,
- SMSG_TUTORIAL_UNHIGHLIGHT_SPELL = 0x2847,
+ SMSG_TURN_IN_PETITION_RESULT = 0x2795,
+ SMSG_TUTORIAL_FLAGS = 0x2802,
+ SMSG_TUTORIAL_HIGHLIGHT_SPELL = 0x2847,
+ SMSG_TUTORIAL_UNHIGHLIGHT_SPELL = 0x2846,
SMSG_TWITTER_STATUS = 0x2FFD,
- SMSG_UI_TIME = 0x275C,
- SMSG_UNDELETE_CHARACTER_RESPONSE = 0x2816,
- SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x2817,
+ SMSG_UI_TIME = 0x2759,
+ SMSG_UNDELETE_CHARACTER_RESPONSE = 0x2813,
+ SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x2814,
SMSG_UNLEARNED_SPELLS = 0x2C4E,
- SMSG_UPDATE_ACCOUNT_DATA = 0x2751,
+ SMSG_UPDATE_ACCOUNT_DATA = 0x274E,
SMSG_UPDATE_ACTION_BUTTONS = 0x25F7,
- SMSG_UPDATE_CELESTIAL_BODY = 0x2867,
- SMSG_UPDATE_CHARACTER_FLAGS = 0x280B,
+ SMSG_UPDATE_CELESTIAL_BODY = 0x2866,
+ SMSG_UPDATE_CHARACTER_FLAGS = 0x2808,
SMSG_UPDATE_EXPANSION_LEVEL = 0x2666,
- SMSG_UPDATE_GAME_TIME_STATE = 0x286E,
+ SMSG_UPDATE_GAME_TIME_STATE = 0x286D,
SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26D8,
SMSG_UPDATE_LAST_INSTANCE = 0x26B7,
- SMSG_UPDATE_OBJECT = 0x2814,
+ SMSG_UPDATE_OBJECT = 0x2811,
SMSG_UPDATE_TALENT_DATA = 0x25ED,
- SMSG_UPDATE_TASK_PROGRESS = 0x27D9,
+ SMSG_UPDATE_TASK_PROGRESS = 0x27D6,
SMSG_UPDATE_WEEKLY_SPELL_USAGE = 0x2C19,
- SMSG_UPDATE_WORLD_STATE = 0x2792,
+ SMSG_UPDATE_WORLD_STATE = 0x278F,
SMSG_USERLIST_ADD = 0x2BB9,
SMSG_USERLIST_REMOVE = 0x2BBA,
SMSG_USERLIST_UPDATE = 0x2BBB,
- SMSG_USE_EQUIPMENT_SET_RESULT = 0x2799,
+ SMSG_USE_EQUIPMENT_SET_RESULT = 0x2796,
SMSG_VENDOR_INVENTORY = 0x25CB,
- SMSG_VIGNETTE_UPDATE = 0x27BA,
+ SMSG_VIGNETTE_UPDATE = 0x27B7,
SMSG_VOID_ITEM_SWAP_RESPONSE = 0x25E0,
SMSG_VOID_STORAGE_CONTENTS = 0x25DD,
SMSG_VOID_STORAGE_FAILED = 0x25DC,
@@ -1787,31 +1801,32 @@ enum OpcodeServer : uint16
SMSG_WAIT_QUEUE_FINISH = 0x256F,
SMSG_WAIT_QUEUE_UPDATE = 0x256E,
SMSG_WARDEN_DATA = 0x2577,
- SMSG_WARFRONT_COMPLETED = 0x27AB,
+ SMSG_WARFRONT_COMPLETED = 0x27A8,
SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x25B5,
SMSG_WEATHER = 0x26D5,
SMSG_WEEKLY_SPELL_USAGE = 0x2C18,
SMSG_WHO = 0x2BAE,
SMSG_WHO_IS = 0x26D4,
- SMSG_WORLD_QUEST_UPDATE = 0x284F,
+ SMSG_WORLD_MAP_INTERACTION = 0x2839,
+ SMSG_WORLD_QUEST_UPDATE = 0x284E,
SMSG_WORLD_SERVER_INFO = 0x25C3,
- SMSG_WORLD_TEXT = 0x2834,
- SMSG_WOW_TOKEN_AUCTION_SOLD = 0x2821,
- SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION = 0x2823,
- SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION = 0x2824,
- SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT = 0x285D,
- SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT = 0x2822,
- SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE = 0x281C,
- SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE = 0x281D,
- SMSG_WOW_TOKEN_MARKET_PRICE_RESPONSE = 0x281E,
- SMSG_WOW_TOKEN_REDEEM_GAME_TIME_UPDATED = 0x2825,
- SMSG_WOW_TOKEN_REDEEM_REQUEST_CONFIRMATION = 0x2826,
- SMSG_WOW_TOKEN_REDEEM_RESULT = 0x2827,
- SMSG_WOW_TOKEN_SELL_REQUEST_CONFIRMATION = 0x281F,
- SMSG_WOW_TOKEN_SELL_RESULT_CONFIRMATION = 0x2820,
- SMSG_WOW_TOKEN_UPDATE_AUCTIONABLE_LIST_RESPONSE = 0x2828,
+ SMSG_WORLD_TEXT = 0x2831,
+ SMSG_WOW_TOKEN_AUCTION_SOLD = 0x281E,
+ SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION = 0x2820,
+ SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION = 0x2821,
+ SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT = 0x285C,
+ SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT = 0x281F,
+ SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE = 0x2819,
+ SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE = 0x281A,
+ SMSG_WOW_TOKEN_MARKET_PRICE_RESPONSE = 0x281B,
+ SMSG_WOW_TOKEN_REDEEM_GAME_TIME_UPDATED = 0x2822,
+ SMSG_WOW_TOKEN_REDEEM_REQUEST_CONFIRMATION = 0x2823,
+ SMSG_WOW_TOKEN_REDEEM_RESULT = 0x2824,
+ SMSG_WOW_TOKEN_SELL_REQUEST_CONFIRMATION = 0x281C,
+ SMSG_WOW_TOKEN_SELL_RESULT_CONFIRMATION = 0x281D,
+ SMSG_WOW_TOKEN_UPDATE_AUCTIONABLE_LIST_RESPONSE = 0x2825,
SMSG_XP_GAIN_ABORTED = 0x25E1,
- SMSG_XP_GAIN_ENABLED = 0x27F5,
+ SMSG_XP_GAIN_ENABLED = 0x27F2,
SMSG_ZONE_UNDER_ATTACK = 0x2BB5,
// Opcodes that are not generated automatically
@@ -1821,6 +1836,7 @@ enum OpcodeServer : uint16
// Deleted opcodes, here only to allow compile
SMSG_ARENA_TEAM_STATS = 0xBADD,
+ SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0xBADD,
SMSG_BUY_BANK_SLOT_RESULT = 0xBADD,
SMSG_BF_MGR_EJECTED = 0xBADD,
SMSG_BF_MGR_ENTERING = 0xBADD,