Core/PacketIO: Updated packet structures to 9.0.5
This commit is contained in:
@@ -0,0 +1 @@
|
||||
ALTER TABLE `points_of_interest` ADD `Unknown905` int(11) NOT NULL DEFAULT '0' AFTER `Name`;
|
||||
@@ -1514,7 +1514,7 @@ void DB2Manager::LoadHotfixData()
|
||||
hotfixRecord.RecordID = recordId;
|
||||
hotfixRecord.HotfixID = id;
|
||||
hotfixRecord.HotfixStatus = status;
|
||||
_hotfixData.insert(hotfixRecord);
|
||||
_hotfixData[id].push_back(hotfixRecord);
|
||||
deletedRecords[std::make_pair(tableHash, recordId)] = status == HotfixRecord::Status::RecordRemoved;
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
@@ -1691,7 +1691,7 @@ void DB2Manager::InsertNewHotfix(uint32 tableHash, uint32 recordId)
|
||||
hotfixRecord.TableHash = tableHash;
|
||||
hotfixRecord.RecordID = recordId;
|
||||
hotfixRecord.HotfixID = ++_maxHotfixId;
|
||||
_hotfixData.insert(hotfixRecord);
|
||||
_hotfixData[hotfixRecord.HotfixID].push_back(hotfixRecord);
|
||||
}
|
||||
|
||||
std::vector<uint32> DB2Manager::GetAreasForGroup(uint32 areaGroupId) const
|
||||
|
||||
@@ -303,7 +303,7 @@ public:
|
||||
std::vector<uint8> Data;
|
||||
};
|
||||
|
||||
using HotfixContainer = std::set<HotfixRecord>;
|
||||
using HotfixContainer = std::unordered_map<int32, std::vector<HotfixRecord>>;
|
||||
|
||||
using ItemBonusList = std::vector<ItemBonusEntry const*>;
|
||||
using MapDifficultyContainer = std::unordered_map<uint32, std::unordered_map<uint32, MapDifficultyEntry const*>>;
|
||||
|
||||
@@ -293,6 +293,7 @@ void PlayerMenu::SendPointOfInterest(uint32 id) const
|
||||
packet.Pos = pointOfInterest->Pos;
|
||||
packet.Icon = pointOfInterest->Icon;
|
||||
packet.Importance = pointOfInterest->Importance;
|
||||
packet.Unknown905 = pointOfInterest->Unknown905;
|
||||
|
||||
_session->SendPacket(packet.Write());
|
||||
}
|
||||
|
||||
@@ -609,6 +609,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags) const
|
||||
//if (flags.SmoothPhasing)
|
||||
//{
|
||||
// data->WriteBit(ReplaceActive);
|
||||
// data->WriteBit(StopAnimKits);
|
||||
// data->WriteBit(HasReplaceObject);
|
||||
// data->FlushBits();
|
||||
// if (HasReplaceObject)
|
||||
|
||||
@@ -298,7 +298,7 @@ void ItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi
|
||||
}
|
||||
data << uint32(CreatePlayedTime);
|
||||
data << int32(Context);
|
||||
data << int32(CreateTime);
|
||||
data << int64(CreateTime);
|
||||
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
|
||||
{
|
||||
data << uint64(ArtifactXP);
|
||||
@@ -446,7 +446,7 @@ void ItemData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignor
|
||||
}
|
||||
if (changesMask[15])
|
||||
{
|
||||
data << int32(CreateTime);
|
||||
data << int64(CreateTime);
|
||||
}
|
||||
if (changesMask[16])
|
||||
{
|
||||
@@ -2555,7 +2555,7 @@ void PVPInfo::WriteCreate(ByteBuffer& data, Player const* owner, Player const* r
|
||||
data << uint32(Field_14);
|
||||
data << uint32(Field_18);
|
||||
data << uint32(PvpTierID);
|
||||
data.WriteBits(Field_20, 1);
|
||||
data.WriteBit(Field_20);
|
||||
data.FlushBits();
|
||||
}
|
||||
|
||||
@@ -2567,44 +2567,47 @@ void PVPInfo::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player const
|
||||
|
||||
data.WriteBits(changesMask.GetBlock(0), 10);
|
||||
|
||||
data.FlushBits();
|
||||
if (changesMask[0])
|
||||
{
|
||||
if (changesMask[1])
|
||||
{
|
||||
data << uint32(Field_0);
|
||||
data.WriteBit(Field_20);
|
||||
}
|
||||
}
|
||||
data.FlushBits();
|
||||
if (changesMask[0])
|
||||
{
|
||||
if (changesMask[2])
|
||||
{
|
||||
data << uint32(Field_4);
|
||||
data << uint32(Field_0);
|
||||
}
|
||||
if (changesMask[3])
|
||||
{
|
||||
data << uint32(Field_8);
|
||||
data << uint32(Field_4);
|
||||
}
|
||||
if (changesMask[4])
|
||||
{
|
||||
data << uint32(Field_C);
|
||||
data << uint32(Field_8);
|
||||
}
|
||||
if (changesMask[5])
|
||||
{
|
||||
data << uint32(Rating);
|
||||
data << uint32(Field_C);
|
||||
}
|
||||
if (changesMask[6])
|
||||
{
|
||||
data << uint32(Field_14);
|
||||
data << uint32(Rating);
|
||||
}
|
||||
if (changesMask[7])
|
||||
{
|
||||
data << uint32(Field_18);
|
||||
data << uint32(Field_14);
|
||||
}
|
||||
if (changesMask[8])
|
||||
{
|
||||
data << uint32(PvpTierID);
|
||||
data << uint32(Field_18);
|
||||
}
|
||||
if (changesMask[9])
|
||||
{
|
||||
data.WriteBits(Field_20, 1);
|
||||
data << uint32(PvpTierID);
|
||||
}
|
||||
}
|
||||
data.FlushBits();
|
||||
@@ -2612,6 +2615,7 @@ void PVPInfo::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player const
|
||||
|
||||
void PVPInfo::ClearChangesMask()
|
||||
{
|
||||
Base::ClearChangesMask(Field_20);
|
||||
Base::ClearChangesMask(Field_0);
|
||||
Base::ClearChangesMask(Field_4);
|
||||
Base::ClearChangesMask(Field_8);
|
||||
@@ -2620,7 +2624,6 @@ void PVPInfo::ClearChangesMask()
|
||||
Base::ClearChangesMask(Field_14);
|
||||
Base::ClearChangesMask(Field_18);
|
||||
Base::ClearChangesMask(PvpTierID);
|
||||
Base::ClearChangesMask(Field_20);
|
||||
_changesMask.ResetAll();
|
||||
}
|
||||
|
||||
@@ -3019,11 +3022,11 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
|
||||
}
|
||||
data << int32(Honor);
|
||||
data << int32(HonorNextLevel);
|
||||
data << int32(PvpRewardAchieved);
|
||||
data << int64(PvpRewardAchieved);
|
||||
data << int32(PvpTierMaxFromWins);
|
||||
data << int32(PvpLastWeeksRewardAchieved);
|
||||
data << int64(PvpLastWeeksRewardAchieved);
|
||||
data << int32(PvpLastWeeksTierMaxFromWins);
|
||||
data << int32(PvpLastWeeksRewardClaimed);
|
||||
data << int64(PvpLastWeeksRewardClaimed);
|
||||
data << uint8(NumBankSlots);
|
||||
data << uint32(ResearchSites.size());
|
||||
data << uint32(ResearchSiteProgress.size());
|
||||
@@ -3056,6 +3059,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> f
|
||||
data << uint32(DisabledSpells.size());
|
||||
data << int32(UiChromieTimeExpansionID);
|
||||
data << int32(TransportServerTime);
|
||||
data << uint32(WeeklyRewardsPeriodSinceOrigin);
|
||||
for (std::size_t i = 0; i < KnownTitles.size(); ++i)
|
||||
{
|
||||
data << uint64(KnownTitles[i]);
|
||||
@@ -3334,6 +3338,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
}
|
||||
}
|
||||
}
|
||||
data.FlushBits();
|
||||
if (changesMask[0])
|
||||
{
|
||||
if (changesMask[22])
|
||||
@@ -3894,7 +3899,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
}
|
||||
if (changesMask[104])
|
||||
{
|
||||
data << int32(PvpRewardAchieved);
|
||||
data << int64(PvpRewardAchieved);
|
||||
}
|
||||
if (changesMask[105])
|
||||
{
|
||||
@@ -3902,7 +3907,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
}
|
||||
if (changesMask[106])
|
||||
{
|
||||
data << int32(PvpLastWeeksRewardAchieved);
|
||||
data << int64(PvpLastWeeksRewardAchieved);
|
||||
}
|
||||
if (changesMask[107])
|
||||
{
|
||||
@@ -3910,7 +3915,7 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
}
|
||||
if (changesMask[108])
|
||||
{
|
||||
data << int32(PvpLastWeeksRewardClaimed);
|
||||
data << int64(PvpLastWeeksRewardClaimed);
|
||||
}
|
||||
if (changesMask[109])
|
||||
{
|
||||
@@ -3924,6 +3929,10 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
{
|
||||
data << int32(TransportServerTime);
|
||||
}
|
||||
if (changesMask[114])
|
||||
{
|
||||
data << uint32(WeeklyRewardsPeriodSinceOrigin);
|
||||
}
|
||||
}
|
||||
if (changesMask[98])
|
||||
{
|
||||
@@ -3940,161 +3949,161 @@ void ActivePlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bo
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[114])
|
||||
if (changesMask[115])
|
||||
{
|
||||
for (std::size_t i = 0; i < 199; ++i)
|
||||
{
|
||||
if (changesMask[115 + i])
|
||||
if (changesMask[116 + i])
|
||||
{
|
||||
data << InvSlots[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[314])
|
||||
if (changesMask[315])
|
||||
{
|
||||
for (std::size_t i = 0; i < 2; ++i)
|
||||
{
|
||||
if (changesMask[315 + i])
|
||||
if (changesMask[316 + i])
|
||||
{
|
||||
data << uint32(TrackResourceMask[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[317])
|
||||
if (changesMask[318])
|
||||
{
|
||||
for (std::size_t i = 0; i < 192; ++i)
|
||||
{
|
||||
if (changesMask[318 + i])
|
||||
if (changesMask[319 + i])
|
||||
{
|
||||
data << uint64(ExploredZones[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[510])
|
||||
if (changesMask[511])
|
||||
{
|
||||
for (std::size_t i = 0; i < 2; ++i)
|
||||
{
|
||||
if (changesMask[511 + i])
|
||||
if (changesMask[512 + i])
|
||||
{
|
||||
RestInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[513])
|
||||
if (changesMask[514])
|
||||
{
|
||||
for (std::size_t i = 0; i < 7; ++i)
|
||||
{
|
||||
if (changesMask[514 + i])
|
||||
if (changesMask[515 + i])
|
||||
{
|
||||
data << int32(ModDamageDonePos[i]);
|
||||
}
|
||||
if (changesMask[521 + i])
|
||||
if (changesMask[522 + i])
|
||||
{
|
||||
data << int32(ModDamageDoneNeg[i]);
|
||||
}
|
||||
if (changesMask[528 + i])
|
||||
if (changesMask[529 + i])
|
||||
{
|
||||
data << float(ModDamageDonePercent[i]);
|
||||
}
|
||||
if (changesMask[535 + i])
|
||||
if (changesMask[536 + i])
|
||||
{
|
||||
data << float(ModHealingDonePercent[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[542])
|
||||
if (changesMask[543])
|
||||
{
|
||||
for (std::size_t i = 0; i < 3; ++i)
|
||||
{
|
||||
if (changesMask[543 + i])
|
||||
if (changesMask[544 + i])
|
||||
{
|
||||
data << float(WeaponDmgMultipliers[i]);
|
||||
}
|
||||
if (changesMask[546 + i])
|
||||
if (changesMask[547 + i])
|
||||
{
|
||||
data << float(WeaponAtkSpeedMultipliers[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[549])
|
||||
if (changesMask[550])
|
||||
{
|
||||
for (std::size_t i = 0; i < 12; ++i)
|
||||
{
|
||||
if (changesMask[550 + i])
|
||||
if (changesMask[551 + i])
|
||||
{
|
||||
data << uint32(BuybackPrice[i]);
|
||||
}
|
||||
if (changesMask[562 + i])
|
||||
if (changesMask[563 + i])
|
||||
{
|
||||
data << uint32(BuybackTimestamp[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[574])
|
||||
if (changesMask[575])
|
||||
{
|
||||
for (std::size_t i = 0; i < 32; ++i)
|
||||
{
|
||||
if (changesMask[575 + i])
|
||||
if (changesMask[576 + i])
|
||||
{
|
||||
data << int32(CombatRatings[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[614])
|
||||
if (changesMask[615])
|
||||
{
|
||||
for (std::size_t i = 0; i < 4; ++i)
|
||||
{
|
||||
if (changesMask[615 + i])
|
||||
if (changesMask[616 + i])
|
||||
{
|
||||
data << uint32(NoReagentCostMask[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[619])
|
||||
if (changesMask[620])
|
||||
{
|
||||
for (std::size_t i = 0; i < 2; ++i)
|
||||
{
|
||||
if (changesMask[620 + i])
|
||||
if (changesMask[621 + i])
|
||||
{
|
||||
data << int32(ProfessionSkillLine[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[622])
|
||||
if (changesMask[623])
|
||||
{
|
||||
for (std::size_t i = 0; i < 4; ++i)
|
||||
{
|
||||
if (changesMask[623 + i])
|
||||
if (changesMask[624 + i])
|
||||
{
|
||||
data << uint32(BagSlotFlags[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[627])
|
||||
if (changesMask[628])
|
||||
{
|
||||
for (std::size_t i = 0; i < 7; ++i)
|
||||
{
|
||||
if (changesMask[628 + i])
|
||||
if (changesMask[629 + i])
|
||||
{
|
||||
data << uint32(BankBagSlotFlags[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[635])
|
||||
if (changesMask[636])
|
||||
{
|
||||
for (std::size_t i = 0; i < 875; ++i)
|
||||
{
|
||||
if (changesMask[636 + i])
|
||||
if (changesMask[637 + i])
|
||||
{
|
||||
data << uint64(QuestCompleted[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changesMask[607])
|
||||
if (changesMask[608])
|
||||
{
|
||||
for (std::size_t i = 0; i < 6; ++i)
|
||||
{
|
||||
if (changesMask[608 + i])
|
||||
if (changesMask[609 + i])
|
||||
{
|
||||
PvpInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
||||
}
|
||||
@@ -4214,6 +4223,7 @@ void ActivePlayerData::ClearChangesMask()
|
||||
Base::ClearChangesMask(QuestSession);
|
||||
Base::ClearChangesMask(UiChromieTimeExpansionID);
|
||||
Base::ClearChangesMask(TransportServerTime);
|
||||
Base::ClearChangesMask(WeeklyRewardsPeriodSinceOrigin);
|
||||
Base::ClearChangesMask(InvSlots);
|
||||
Base::ClearChangesMask(TrackResourceMask);
|
||||
Base::ClearChangesMask(ExploredZones);
|
||||
|
||||
@@ -127,7 +127,7 @@ struct ItemData : public IsUpdateFieldStructureTag, public HasChangesMask<40>
|
||||
UpdateField<uint32, 0, 12> MaxDurability;
|
||||
UpdateField<uint32, 0, 13> CreatePlayedTime;
|
||||
UpdateField<int32, 0, 14> Context;
|
||||
UpdateField<int32, 0, 15> CreateTime;
|
||||
UpdateField<int64, 0, 15> CreateTime;
|
||||
UpdateField<uint64, 0, 16> ArtifactXP;
|
||||
UpdateField<uint8, 0, 17> ItemAppearanceModID;
|
||||
UpdateField<UF::ItemModList, 0, 18> Modifiers;
|
||||
@@ -522,15 +522,15 @@ struct RestInfo : public IsUpdateFieldStructureTag, public HasChangesMask<3>
|
||||
|
||||
struct PVPInfo : public IsUpdateFieldStructureTag, public HasChangesMask<10>
|
||||
{
|
||||
UpdateField<uint32, 0, 1> Field_0;
|
||||
UpdateField<uint32, 0, 2> Field_4;
|
||||
UpdateField<uint32, 0, 3> Field_8;
|
||||
UpdateField<uint32, 0, 4> Field_C;
|
||||
UpdateField<uint32, 0, 5> Rating;
|
||||
UpdateField<uint32, 0, 6> Field_14;
|
||||
UpdateField<uint32, 0, 7> Field_18;
|
||||
UpdateField<uint32, 0, 8> PvpTierID;
|
||||
UpdateField<uint32, 0, 9> Field_20;
|
||||
UpdateField<bool, 0, 1> Field_20;
|
||||
UpdateField<uint32, 0, 2> Field_0;
|
||||
UpdateField<uint32, 0, 3> Field_4;
|
||||
UpdateField<uint32, 0, 4> Field_8;
|
||||
UpdateField<uint32, 0, 5> Field_C;
|
||||
UpdateField<uint32, 0, 6> Rating;
|
||||
UpdateField<uint32, 0, 7> Field_14;
|
||||
UpdateField<uint32, 0, 8> Field_18;
|
||||
UpdateField<uint32, 0, 9> PvpTierID;
|
||||
|
||||
void WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const;
|
||||
void WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player const* owner, Player const* receiver) const;
|
||||
@@ -647,7 +647,7 @@ struct ReplayedQuest : public IsUpdateFieldStructureTag, public HasChangesMask<3
|
||||
void ClearChangesMask();
|
||||
};
|
||||
|
||||
struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<1511>
|
||||
struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<1512>
|
||||
{
|
||||
UpdateField<bool, 0, 1> BackpackAutoSortDisabled;
|
||||
UpdateField<bool, 0, 2> BankAutoSortDisabled;
|
||||
@@ -748,35 +748,36 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
|
||||
UpdateField<uint64, 98, 101> GuildClubMemberID;
|
||||
UpdateField<int32, 98, 102> Honor;
|
||||
UpdateField<int32, 98, 103> HonorNextLevel;
|
||||
UpdateField<int32, 98, 104> PvpRewardAchieved;
|
||||
UpdateField<int64, 98, 104> PvpRewardAchieved;
|
||||
UpdateField<int32, 98, 105> PvpTierMaxFromWins;
|
||||
UpdateField<int32, 98, 106> PvpLastWeeksRewardAchieved;
|
||||
UpdateField<int64, 98, 106> PvpLastWeeksRewardAchieved;
|
||||
UpdateField<int32, 98, 107> PvpLastWeeksTierMaxFromWins;
|
||||
UpdateField<int32, 98, 108> PvpLastWeeksRewardClaimed;
|
||||
UpdateField<int64, 98, 108> PvpLastWeeksRewardClaimed;
|
||||
UpdateField<uint8, 98, 109> NumBankSlots;
|
||||
UpdateField<UF::ActivePlayerUnk901, 98, 111> Field_1410;
|
||||
OptionalUpdateField<UF::QuestSession, 98, 110> QuestSession;
|
||||
UpdateField<int32, 98, 112> UiChromieTimeExpansionID;
|
||||
UpdateField<int32, 98, 113> TransportServerTime;
|
||||
UpdateFieldArray<ObjectGuid, 199, 114, 115> InvSlots;
|
||||
UpdateFieldArray<uint32, 2, 314, 315> TrackResourceMask;
|
||||
UpdateFieldArray<uint64, 192, 317, 318> ExploredZones;
|
||||
UpdateFieldArray<UF::RestInfo, 2, 510, 511> RestInfo;
|
||||
UpdateFieldArray<int32, 7, 513, 514> ModDamageDonePos;
|
||||
UpdateFieldArray<int32, 7, 513, 521> ModDamageDoneNeg;
|
||||
UpdateFieldArray<float, 7, 513, 528> ModDamageDonePercent;
|
||||
UpdateFieldArray<float, 7, 513, 535> ModHealingDonePercent;
|
||||
UpdateFieldArray<float, 3, 542, 543> WeaponDmgMultipliers;
|
||||
UpdateFieldArray<float, 3, 542, 546> WeaponAtkSpeedMultipliers;
|
||||
UpdateFieldArray<uint32, 12, 549, 550> BuybackPrice;
|
||||
UpdateFieldArray<uint32, 12, 549, 562> BuybackTimestamp;
|
||||
UpdateFieldArray<int32, 32, 574, 575> CombatRatings;
|
||||
UpdateFieldArray<UF::PVPInfo, 6, 607, 608> PvpInfo;
|
||||
UpdateFieldArray<uint32, 4, 614, 615> NoReagentCostMask;
|
||||
UpdateFieldArray<int32, 2, 619, 620> ProfessionSkillLine;
|
||||
UpdateFieldArray<uint32, 4, 622, 623> BagSlotFlags;
|
||||
UpdateFieldArray<uint32, 7, 627, 628> BankBagSlotFlags;
|
||||
UpdateFieldArray<uint64, 875, 635, 636> QuestCompleted;
|
||||
UpdateField<uint32, 98, 114> WeeklyRewardsPeriodSinceOrigin; // week count since Cfg_RegionsEntry::ChallengeOrigin
|
||||
UpdateFieldArray<ObjectGuid, 199, 115, 116> InvSlots;
|
||||
UpdateFieldArray<uint32, 2, 315, 316> TrackResourceMask;
|
||||
UpdateFieldArray<uint64, 192, 318, 319> ExploredZones;
|
||||
UpdateFieldArray<UF::RestInfo, 2, 511, 512> RestInfo;
|
||||
UpdateFieldArray<int32, 7, 514, 515> ModDamageDonePos;
|
||||
UpdateFieldArray<int32, 7, 514, 522> ModDamageDoneNeg;
|
||||
UpdateFieldArray<float, 7, 514, 529> ModDamageDonePercent;
|
||||
UpdateFieldArray<float, 7, 514, 536> ModHealingDonePercent;
|
||||
UpdateFieldArray<float, 3, 543, 544> WeaponDmgMultipliers;
|
||||
UpdateFieldArray<float, 3, 543, 547> WeaponAtkSpeedMultipliers;
|
||||
UpdateFieldArray<uint32, 12, 550, 551> BuybackPrice;
|
||||
UpdateFieldArray<uint32, 12, 550, 563> BuybackTimestamp;
|
||||
UpdateFieldArray<int32, 32, 575, 576> CombatRatings;
|
||||
UpdateFieldArray<UF::PVPInfo, 6, 608, 609> PvpInfo;
|
||||
UpdateFieldArray<uint32, 4, 615, 616> NoReagentCostMask;
|
||||
UpdateFieldArray<int32, 2, 620, 621> ProfessionSkillLine;
|
||||
UpdateFieldArray<uint32, 4, 623, 624> BagSlotFlags;
|
||||
UpdateFieldArray<uint32, 7, 628, 629> BankBagSlotFlags;
|
||||
UpdateFieldArray<uint64, 875, 636, 637> QuestCompleted;
|
||||
|
||||
void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
|
||||
void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
|
||||
|
||||
@@ -1591,11 +1591,16 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::HandleEmoteCommand(uint32 anim_id)
|
||||
void Unit::HandleEmoteCommand(uint32 anim_id, Trinity::IteratorPair<int32 const*> spellVisualKitIds /*= {}*/)
|
||||
{
|
||||
WorldPackets::Chat::Emote packet;
|
||||
packet.Guid = GetGUID();
|
||||
packet.EmoteID = anim_id;
|
||||
|
||||
if (EmotesEntry const* emotesEntry = sEmotesStore.LookupEntry(anim_id))
|
||||
if (emotesEntry->AnimID == ANIM_MOUNT_SPECIAL || emotesEntry->AnimID == ANIM_MOUNT_SELF_SPECIAL)
|
||||
std::copy(spellVisualKitIds.begin(), spellVisualKitIds.end(), std::back_inserter(packet.SpellVisualKitIDs));
|
||||
|
||||
SendMessageToSet(packet.Write(), true);
|
||||
}
|
||||
|
||||
|
||||
@@ -1207,7 +1207,7 @@ class TC_GAME_API Unit : public WorldObject
|
||||
DamageInfo* damageInfo, HealInfo* healInfo);
|
||||
void TriggerAurasProcOnEvent(ProcEventInfo& eventInfo, AuraApplicationProcContainer& procAuras);
|
||||
|
||||
void HandleEmoteCommand(uint32 anim_id);
|
||||
void HandleEmoteCommand(uint32 anim_id, Trinity::IteratorPair<int32 const*> spellVisualKitIds = {});
|
||||
void AttackerStateUpdate (Unit* victim, WeaponAttackType attType = BASE_ATTACK, bool extra = false);
|
||||
void FakeAttackerStateUpdate(Unit* victim, WeaponAttackType attType = BASE_ATTACK);
|
||||
|
||||
|
||||
@@ -7930,8 +7930,8 @@ void ObjectMgr::LoadPointsOfInterest()
|
||||
|
||||
uint32 count = 0;
|
||||
|
||||
// 0 1 2 3 4 5 6
|
||||
QueryResult result = WorldDatabase.Query("SELECT ID, PositionX, PositionY, Icon, Flags, Importance, Name FROM points_of_interest");
|
||||
// 0 1 2 3 4 5 6 7
|
||||
QueryResult result = WorldDatabase.Query("SELECT ID, PositionX, PositionY, Icon, Flags, Importance, Name, Unknown905 FROM points_of_interest");
|
||||
|
||||
if (!result)
|
||||
{
|
||||
@@ -7952,6 +7952,7 @@ void ObjectMgr::LoadPointsOfInterest()
|
||||
pointOfInterest.Flags = fields[4].GetUInt32();
|
||||
pointOfInterest.Importance = fields[5].GetUInt32();
|
||||
pointOfInterest.Name = fields[6].GetString();
|
||||
pointOfInterest.Unknown905 = fields[7].GetInt32();
|
||||
|
||||
if (!Trinity::IsValidMapCoord(pointOfInterest.Pos.GetPositionX(), pointOfInterest.Pos.GetPositionY()))
|
||||
{
|
||||
|
||||
@@ -680,6 +680,7 @@ struct PointOfInterest
|
||||
uint32 Icon;
|
||||
uint32 Flags;
|
||||
uint32 Importance;
|
||||
uint32 Unknown905;
|
||||
std::string Name;
|
||||
};
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
|
||||
{
|
||||
if (!_player->InBattlegroundQueue())
|
||||
{
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player not in queue!",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u. Player not in queue!",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
|
||||
return;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
|
||||
BattlegroundQueueTypeId bgQueueTypeId = _player->GetBattlegroundQueueTypeId(battlefieldPort.Ticket.Id);
|
||||
if (bgQueueTypeId == BATTLEGROUND_QUEUE_NONE)
|
||||
{
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Invalid queueSlot!",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u. Invalid queueSlot!",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
|
||||
return;
|
||||
}
|
||||
@@ -279,14 +279,14 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
|
||||
GroupQueueInfo ginfo;
|
||||
if (!bgQueue.GetPlayerGroupInfoData(_player->GetGUID(), &ginfo))
|
||||
{
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player not in queue (No player Group Info)!",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u. Player not in queue (No player Group Info)!",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
|
||||
return;
|
||||
}
|
||||
// if action == 1, then player must have been invited to join
|
||||
if (!ginfo.IsInvitedToBGInstanceGUID && battlefieldPort.AcceptedInvite)
|
||||
{
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Player is not invited to any bg!",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u. Player is not invited to any bg!",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
|
||||
return;
|
||||
}
|
||||
@@ -299,7 +299,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
|
||||
{
|
||||
if (battlefieldPort.AcceptedInvite)
|
||||
{
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u. Cant find BG with id %u!",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u. Cant find BG with id %u!",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite), ginfo.IsInvitedToBGInstanceGUID);
|
||||
return;
|
||||
}
|
||||
@@ -312,7 +312,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPackets::Battleground::Battl
|
||||
}
|
||||
}
|
||||
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: %u, AcceptedInvite: %u.",
|
||||
TC_LOG_DEBUG("bg.battleground", "CMSG_BATTLEFIELD_PORT %s Slot: %u, Unk: %u, Time: " SI64FMTD ", AcceptedInvite: %u.",
|
||||
GetPlayerInfo().c_str(), battlefieldPort.Ticket.Id, uint32(battlefieldPort.Ticket.Type), battlefieldPort.Ticket.Time.AsUnderlyingType(), uint32(battlefieldPort.AcceptedInvite));
|
||||
|
||||
// get real bg type
|
||||
|
||||
@@ -616,7 +616,7 @@ void WorldSession::HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet)
|
||||
// Only allow text-emotes for "dead" entities (feign death included)
|
||||
if (_player->HasUnitState(UNIT_STATE_DIED))
|
||||
break;
|
||||
_player->HandleEmoteCommand(emoteAnim);
|
||||
_player->HandleEmoteCommand(emoteAnim, { packet.SpellVisualKitIDs.data(), packet.SpellVisualKitIDs.data() + packet.SpellVisualKitIDs.size() });
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ void WorldSession::HandleDBQueryBulk(WorldPackets::Hotfix::DBQueryBulk& dbQuery)
|
||||
|
||||
void WorldSession::SendAvailableHotfixes()
|
||||
{
|
||||
SendPacket(WorldPackets::Hotfix::AvailableHotfixes(realm.Id.GetAddress(), sDB2Manager.GetHotfixCount(), sDB2Manager.GetHotfixData()).Write());
|
||||
SendPacket(WorldPackets::Hotfix::AvailableHotfixes(realm.Id.GetAddress(), sDB2Manager.GetHotfixData()).Write());
|
||||
}
|
||||
|
||||
void WorldSession::HandleHotfixRequest(WorldPackets::Hotfix::HotfixRequest& hotfixQuery)
|
||||
@@ -69,38 +69,40 @@ void WorldSession::HandleHotfixRequest(WorldPackets::Hotfix::HotfixRequest& hotf
|
||||
DB2Manager::HotfixContainer const& hotfixes = sDB2Manager.GetHotfixData();
|
||||
WorldPackets::Hotfix::HotfixConnect hotfixQueryResponse;
|
||||
hotfixQueryResponse.Hotfixes.reserve(hotfixQuery.Hotfixes.size());
|
||||
for (DB2Manager::HotfixRecord const& hotfixRecord : hotfixQuery.Hotfixes)
|
||||
for (int32 hotfixId : hotfixQuery.Hotfixes)
|
||||
{
|
||||
auto serverHotfixInfo = hotfixes.find(hotfixRecord);
|
||||
if (serverHotfixInfo != hotfixes.end())
|
||||
if (std::vector<DB2Manager::HotfixRecord> const* hotfixRecords = Trinity::Containers::MapGetValuePtr(hotfixes, hotfixId))
|
||||
{
|
||||
hotfixQueryResponse.Hotfixes.emplace_back();
|
||||
|
||||
WorldPackets::Hotfix::HotfixConnect::HotfixData& hotfixData = hotfixQueryResponse.Hotfixes.back();
|
||||
hotfixData.Record = *serverHotfixInfo;
|
||||
if (serverHotfixInfo->HotfixStatus == DB2Manager::HotfixRecord::Status::Valid)
|
||||
for (DB2Manager::HotfixRecord const& hotfixRecord : *hotfixRecords)
|
||||
{
|
||||
DB2StorageBase const* storage = sDB2Manager.GetStorage(hotfixRecord.TableHash);
|
||||
if (storage && storage->HasRecord(uint32(hotfixRecord.RecordID)))
|
||||
{
|
||||
std::size_t pos = hotfixQueryResponse.HotfixContent.size();
|
||||
storage->WriteRecord(uint32(hotfixRecord.RecordID), GetSessionDbcLocale(), hotfixQueryResponse.HotfixContent);
|
||||
hotfixQueryResponse.Hotfixes.emplace_back();
|
||||
|
||||
if (std::vector<DB2Manager::HotfixOptionalData> const* optionalDataEntries = sDB2Manager.GetHotfixOptionalData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale()))
|
||||
WorldPackets::Hotfix::HotfixConnect::HotfixData& hotfixData = hotfixQueryResponse.Hotfixes.back();
|
||||
hotfixData.Record = hotfixRecord;
|
||||
if (hotfixRecord.HotfixStatus == DB2Manager::HotfixRecord::Status::Valid)
|
||||
{
|
||||
DB2StorageBase const* storage = sDB2Manager.GetStorage(hotfixRecord.TableHash);
|
||||
if (storage && storage->HasRecord(uint32(hotfixRecord.RecordID)))
|
||||
{
|
||||
for (DB2Manager::HotfixOptionalData const& optionalData : *optionalDataEntries)
|
||||
{
|
||||
hotfixQueryResponse.HotfixContent << uint32(optionalData.Key);
|
||||
hotfixQueryResponse.HotfixContent.append(optionalData.Data.data(), optionalData.Data.size());
|
||||
}
|
||||
}
|
||||
std::size_t pos = hotfixQueryResponse.HotfixContent.size();
|
||||
storage->WriteRecord(uint32(hotfixRecord.RecordID), GetSessionDbcLocale(), hotfixQueryResponse.HotfixContent);
|
||||
|
||||
hotfixData.Size = hotfixQueryResponse.HotfixContent.size() - pos;
|
||||
}
|
||||
else if (std::vector<uint8> const* blobData = sDB2Manager.GetHotfixBlobData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale()))
|
||||
{
|
||||
hotfixData.Size = blobData->size();
|
||||
hotfixQueryResponse.HotfixContent.append(blobData->data(), blobData->size());
|
||||
if (std::vector<DB2Manager::HotfixOptionalData> const* optionalDataEntries = sDB2Manager.GetHotfixOptionalData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale()))
|
||||
{
|
||||
for (DB2Manager::HotfixOptionalData const& optionalData : *optionalDataEntries)
|
||||
{
|
||||
hotfixQueryResponse.HotfixContent << uint32(optionalData.Key);
|
||||
hotfixQueryResponse.HotfixContent.append(optionalData.Data.data(), optionalData.Data.size());
|
||||
}
|
||||
}
|
||||
|
||||
hotfixData.Size = hotfixQueryResponse.HotfixContent.size() - pos;
|
||||
}
|
||||
else if (std::vector<uint8> const* blobData = sDB2Manager.GetHotfixBlobData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale()))
|
||||
{
|
||||
hotfixData.Size = blobData->size();
|
||||
hotfixQueryResponse.HotfixContent.append(blobData->data(), blobData->size());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -633,7 +633,7 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPackets::AreaTrigger::AreaTrigge
|
||||
|
||||
void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClientUpdateAccountData& packet)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_UPDATE_ACCOUNT_DATA: type %u, time %u, decompressedSize %u",
|
||||
TC_LOG_DEBUG("network", "WORLD: Received CMSG_UPDATE_ACCOUNT_DATA: type %u, time " SI64FMTD ", decompressedSize %u",
|
||||
packet.DataType, packet.Time.AsUnderlyingType(), packet.Size);
|
||||
|
||||
if (packet.DataType > NUM_ACCOUNT_DATA_TYPES)
|
||||
@@ -1127,10 +1127,11 @@ void WorldSession::HandleSetAdvancedCombatLogging(WorldPackets::ClientConfig::Se
|
||||
_player->SetAdvancedCombatLogging(setAdvancedCombatLogging.Enable);
|
||||
}
|
||||
|
||||
void WorldSession::HandleMountSpecialAnimOpcode(WorldPackets::Misc::MountSpecial& /*mountSpecial*/)
|
||||
void WorldSession::HandleMountSpecialAnimOpcode(WorldPackets::Misc::MountSpecial& mountSpecial)
|
||||
{
|
||||
WorldPackets::Misc::SpecialMountAnim specialMountAnim;
|
||||
specialMountAnim.UnitGUID = _player->GetGUID();
|
||||
std::copy(mountSpecial.SpellVisualKitIDs.begin(), mountSpecial.SpellVisualKitIDs.end(), std::back_inserter(specialMountAnim.SpellVisualKitIDs));
|
||||
GetPlayer()->SendMessageToSet(specialMountAnim.Write(), false);
|
||||
}
|
||||
|
||||
|
||||
@@ -158,6 +158,7 @@ WorldPacket const* WorldPackets::Achievement::GuildCriteriaUpdate::Write()
|
||||
_worldPacket << progress.DateCreated;
|
||||
_worldPacket << progress.DateStarted;
|
||||
_worldPacket.AppendPackedTime(progress.DateUpdated);
|
||||
_worldPacket << uint32(0); // this is a hack. this is a packed time written as int64 (progress.DateUpdated)
|
||||
_worldPacket << uint64(progress.Quantity);
|
||||
_worldPacket << progress.PlayerGUID;
|
||||
_worldPacket << int32(progress.Flags);
|
||||
|
||||
@@ -197,7 +197,10 @@ WorldPacket const* WorldPackets::Chat::Chat::Write()
|
||||
WorldPacket const* WorldPackets::Chat::Emote::Write()
|
||||
{
|
||||
_worldPacket << Guid;
|
||||
_worldPacket << EmoteID;
|
||||
_worldPacket << uint32(EmoteID);
|
||||
_worldPacket << uint32(SpellVisualKitIDs.size());
|
||||
if (!SpellVisualKitIDs.empty())
|
||||
_worldPacket.append(SpellVisualKitIDs.data(), SpellVisualKitIDs.size());
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
@@ -207,6 +210,9 @@ void WorldPackets::Chat::CTextEmote::Read()
|
||||
_worldPacket >> Target;
|
||||
_worldPacket >> EmoteID;
|
||||
_worldPacket >> SoundIndex;
|
||||
SpellVisualKitIDs.resize(_worldPacket.read<uint32>());
|
||||
for (int32& spellVisualKitId : SpellVisualKitIDs)
|
||||
_worldPacket >> spellVisualKitId;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Chat::STextEmote::Write()
|
||||
|
||||
@@ -180,7 +180,8 @@ namespace WorldPackets
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
ObjectGuid Guid;
|
||||
int32 EmoteID = 0;
|
||||
uint32 EmoteID = 0;
|
||||
std::vector<int32> SpellVisualKitIDs;
|
||||
};
|
||||
|
||||
class CTextEmote final : public ClientPacket
|
||||
@@ -193,6 +194,7 @@ namespace WorldPackets
|
||||
ObjectGuid Target;
|
||||
int32 EmoteID = 0;
|
||||
int32 SoundIndex = -1;
|
||||
Array<int32, 2> SpellVisualKitIDs;
|
||||
};
|
||||
|
||||
class STextEmote final : public ServerPacket
|
||||
|
||||
@@ -91,12 +91,12 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower)
|
||||
ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission)
|
||||
{
|
||||
data << uint64(mission.DbID);
|
||||
data << uint32(mission.MissionRecID);
|
||||
data << mission.OfferTime;
|
||||
data << mission.OfferDuration;
|
||||
data << mission.StartTime;
|
||||
data << mission.TravelDuration;
|
||||
data << mission.MissionDuration;
|
||||
data << uint32(mission.MissionRecID);
|
||||
data << uint32(mission.MissionState);
|
||||
data << uint32(mission.SuccessChance);
|
||||
data << uint32(mission.Flags);
|
||||
@@ -125,8 +125,8 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionReward const& missionRew
|
||||
|
||||
ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionBonusAbility const& areaBonus)
|
||||
{
|
||||
data << uint32(areaBonus.GarrMssnBonusAbilityID);
|
||||
data << areaBonus.StartTime;
|
||||
data << uint32(areaBonus.GarrMssnBonusAbilityID);
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -174,8 +174,8 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonCollection const& collection)
|
||||
|
||||
ByteBuffer& operator<<(ByteBuffer& data, GarrisonEventEntry const& event)
|
||||
{
|
||||
data << int64(event.EventValue);
|
||||
data << int32(event.EntryID);
|
||||
data << int32(event.EventValue);
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -214,6 +214,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison)
|
||||
data << uint32(garrison.ArchivedMissions.size());
|
||||
data << int32(garrison.NumFollowerActivationsRemaining);
|
||||
data << uint32(garrison.NumMissionsStartedToday);
|
||||
data << int32(garrison.MinAutoTroopLevel);
|
||||
|
||||
for (GarrisonPlotInfo* plot : garrison.Plots)
|
||||
data << *plot;
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace WorldPackets
|
||||
struct GarrisonEventEntry
|
||||
{
|
||||
int32 EntryID = 0;
|
||||
int32 EventValue = 0;
|
||||
int64 EventValue = 0;
|
||||
};
|
||||
|
||||
struct GarrisonEventList
|
||||
@@ -181,6 +181,7 @@ namespace WorldPackets
|
||||
uint32 GarrSiteLevelID = 0;
|
||||
uint32 NumFollowerActivationsRemaining = 0;
|
||||
uint32 NumMissionsStartedToday = 0; // might mean something else, but sending 0 here enables follower abilities "Increase success chance of the first mission of the day by %."
|
||||
int32 MinAutoTroopLevel = 0;
|
||||
std::vector<GarrisonPlotInfo*> Plots;
|
||||
std::vector<GarrisonBuildingInfo const*> Buildings;
|
||||
std::vector<GarrisonFollower const*> Followers;
|
||||
|
||||
@@ -65,9 +65,9 @@ WorldPacket const* DBReply::Write()
|
||||
WorldPacket const* AvailableHotfixes::Write()
|
||||
{
|
||||
_worldPacket << int32(VirtualRealmAddress);
|
||||
_worldPacket << uint32(HotfixCount);
|
||||
for (DB2Manager::HotfixRecord const& hotfixRecord : Hotfixes)
|
||||
_worldPacket << hotfixRecord;
|
||||
_worldPacket << uint32(Hotfixes.size());
|
||||
for (DB2Manager::HotfixContainer::value_type const& hotfixRecord : Hotfixes)
|
||||
_worldPacket << int32(hotfixRecord.first);
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
@@ -82,8 +82,8 @@ void HotfixRequest::Read()
|
||||
throw PacketArrayMaxCapacityException(hotfixCount, sDB2Manager.GetHotfixCount());
|
||||
|
||||
Hotfixes.resize(hotfixCount);
|
||||
for (DB2Manager::HotfixRecord& hotfixRecord : Hotfixes)
|
||||
_worldPacket >> hotfixRecord;
|
||||
for (int32& hotfixId : Hotfixes)
|
||||
_worldPacket >> hotfixId;
|
||||
}
|
||||
|
||||
ByteBuffer& operator<<(ByteBuffer& data, HotfixConnect::HotfixData const& hotfixData)
|
||||
|
||||
@@ -61,13 +61,12 @@ namespace WorldPackets
|
||||
class AvailableHotfixes final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
AvailableHotfixes(int32 virtualRealmAddress, uint32 hotfixCount, DB2Manager::HotfixContainer const& hotfixes)
|
||||
: ServerPacket(SMSG_AVAILABLE_HOTFIXES), VirtualRealmAddress(virtualRealmAddress), HotfixCount(hotfixCount), Hotfixes(hotfixes) { }
|
||||
AvailableHotfixes(int32 virtualRealmAddress, DB2Manager::HotfixContainer const& hotfixes)
|
||||
: ServerPacket(SMSG_AVAILABLE_HOTFIXES), VirtualRealmAddress(virtualRealmAddress), Hotfixes(hotfixes) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
int32 VirtualRealmAddress;
|
||||
uint32 HotfixCount;
|
||||
DB2Manager::HotfixContainer const& Hotfixes;
|
||||
};
|
||||
|
||||
@@ -80,7 +79,7 @@ namespace WorldPackets
|
||||
|
||||
uint32 ClientBuild = 0;
|
||||
uint32 DataBuild = 0;
|
||||
std::vector<DB2Manager::HotfixRecord> Hotfixes;
|
||||
std::vector<int32> Hotfixes;
|
||||
};
|
||||
|
||||
class HotfixConnect final : public ServerPacket
|
||||
|
||||
@@ -631,9 +631,20 @@ WorldPacket const* WorldPackets::Misc::AccountHeirloomUpdate::Write()
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
void WorldPackets::Misc::MountSpecial::Read()
|
||||
{
|
||||
SpellVisualKitIDs.resize(_worldPacket.read<uint32>());
|
||||
for (int32& spellVisualKitId : SpellVisualKitIDs)
|
||||
_worldPacket >> spellVisualKitId;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Misc::SpecialMountAnim::Write()
|
||||
{
|
||||
_worldPacket << UnitGUID;
|
||||
_worldPacket << uint32(SpellVisualKitIDs.size());
|
||||
if (!SpellVisualKitIDs.empty())
|
||||
_worldPacket.append(SpellVisualKitIDs.data(), SpellVisualKitIDs.size());
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
|
||||
@@ -815,7 +815,9 @@ namespace WorldPackets
|
||||
public:
|
||||
MountSpecial(WorldPacket&& packet) : ClientPacket(CMSG_MOUNT_SPECIAL_ANIM, std::move(packet)) { }
|
||||
|
||||
void Read() override { }
|
||||
void Read() override;
|
||||
|
||||
Array<int32, 2> SpellVisualKitIDs;
|
||||
};
|
||||
|
||||
class SpecialMountAnim final : public ServerPacket
|
||||
@@ -826,6 +828,7 @@ namespace WorldPackets
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
ObjectGuid UnitGUID;
|
||||
std::vector<int32> SpellVisualKitIDs;
|
||||
};
|
||||
|
||||
class CrossedInebriationThreshold final : public ServerPacket
|
||||
|
||||
@@ -183,6 +183,7 @@ WorldPacket const* GossipPOI::Write()
|
||||
_worldPacket << Pos;
|
||||
_worldPacket << int32(Icon);
|
||||
_worldPacket << int32(Importance);
|
||||
_worldPacket << int32(Unknown905);
|
||||
_worldPacket.WriteBits(Flags, 14);
|
||||
_worldPacket.WriteBits(Name.length(), 6);
|
||||
_worldPacket.FlushBits();
|
||||
|
||||
@@ -206,6 +206,7 @@ namespace WorldPackets
|
||||
TaggedPosition<Position::XY> Pos;
|
||||
int32 Icon = 0;
|
||||
int32 Importance = 0;
|
||||
int32 Unknown905 = 0;
|
||||
std::string Name;
|
||||
};
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace WorldPackets
|
||||
storage_type _storage;
|
||||
};
|
||||
|
||||
template<typename Underlying = uint32>
|
||||
template<typename Underlying = int64>
|
||||
class Timestamp
|
||||
{
|
||||
public:
|
||||
@@ -149,7 +149,7 @@ namespace WorldPackets
|
||||
time_t _value = time_t(0);
|
||||
};
|
||||
|
||||
template<typename ChronoDuration, typename Underlying = uint32>
|
||||
template<typename ChronoDuration, typename Underlying = int64>
|
||||
class Duration
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -31,8 +31,8 @@ WorldPacket const* WorldPackets::Token::CommerceTokenGetLogResponse::Write()
|
||||
{
|
||||
_worldPacket << auctionableTokenAuctionable.UnkInt1;
|
||||
_worldPacket << auctionableTokenAuctionable.UnkInt2;
|
||||
_worldPacket << auctionableTokenAuctionable.Owner;
|
||||
_worldPacket << auctionableTokenAuctionable.BuyoutPrice;
|
||||
_worldPacket << auctionableTokenAuctionable.Owner;
|
||||
_worldPacket << auctionableTokenAuctionable.DurationLeft;
|
||||
}
|
||||
|
||||
|
||||
@@ -355,6 +355,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_CONVERSATION_LINE_STARTED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_CONVERT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleConvertRaidOpcode);
|
||||
DEFINE_HANDLER(CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_CREATE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharCreateOpcode);
|
||||
DEFINE_HANDLER(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandleDBQueryBulk);
|
||||
@@ -934,6 +935,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_RUNE_POWER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADJUST_SPLINE_DURATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADVANCED_COMBAT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADVENTURE_MAP_OPEN_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGETS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
@@ -1183,6 +1185,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COVENANT_PREVIEW_OPEN_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COVENANT_RENOWN_OPEN_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATE_CHAR, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
@@ -1267,6 +1270,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_APPLY_TALENT_SOCKET_DATA_CHANGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_ACTIVATED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
@@ -1328,6 +1332,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_FOLLOWER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_USE_RECALL_PORTAL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
|
||||
@@ -44,29 +44,29 @@ enum OpcodeMisc : uint16
|
||||
|
||||
enum OpcodeClient : uint16
|
||||
{
|
||||
CMSG_ABANDON_NPE_RESPONSE = 0x33EF,
|
||||
CMSG_ABANDON_NPE_RESPONSE = 0x33F1,
|
||||
CMSG_ACCEPT_GUILD_INVITE = 0x35FC,
|
||||
CMSG_ACCEPT_TRADE = 0x315A,
|
||||
CMSG_ACCEPT_WARGAME_INVITE = 0x35E0,
|
||||
CMSG_ACTIVATE_SOULBIND = 0x33DF,
|
||||
CMSG_ACTIVATE_SOULBIND = 0x33E1,
|
||||
CMSG_ACTIVATE_TAXI = 0x34B1,
|
||||
CMSG_ADDON_LIST = 0x35D8,
|
||||
CMSG_ADD_BATTLENET_FRIEND = 0x365A,
|
||||
CMSG_ADD_FRIEND = 0x36D0,
|
||||
CMSG_ADD_IGNORE = 0x36D4,
|
||||
CMSG_ADD_TOY = 0x32A6,
|
||||
CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3206,
|
||||
CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33E2,
|
||||
CMSG_ADVENTURE_MAP_START_QUEST = 0x335B,
|
||||
CMSG_ADD_TOY = 0x32A7,
|
||||
CMSG_ADVENTURE_JOURNAL_OPEN_QUEST = 0x3207,
|
||||
CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS = 0x33E4,
|
||||
CMSG_ADVENTURE_MAP_START_QUEST = 0x335D,
|
||||
CMSG_ALTER_APPEARANCE = 0x3503,
|
||||
CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B6,
|
||||
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B7,
|
||||
CMSG_AREA_TRIGGER = 0x31D9,
|
||||
CMSG_ARTIFACT_ADD_POWER = 0x31AB,
|
||||
CMSG_ARTIFACT_SET_APPEARANCE = 0x31AD,
|
||||
CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x320F,
|
||||
CMSG_ATTACK_STOP = 0x325E,
|
||||
CMSG_ATTACK_SWING = 0x325D,
|
||||
CMSG_AREA_TRIGGER = 0x31DA,
|
||||
CMSG_ARTIFACT_ADD_POWER = 0x31AC,
|
||||
CMSG_ARTIFACT_SET_APPEARANCE = 0x31AE,
|
||||
CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x3210,
|
||||
CMSG_ATTACK_STOP = 0x325F,
|
||||
CMSG_ATTACK_SWING = 0x325E,
|
||||
CMSG_AUCTIONABLE_TOKEN_SELL = 0x36E8,
|
||||
CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36E9,
|
||||
CMSG_AUCTION_BROWSE_QUERY = 0x34D6,
|
||||
@@ -94,15 +94,15 @@ 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 = 0x3384,
|
||||
CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x3366,
|
||||
CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x3386,
|
||||
CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x3385,
|
||||
CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x3386,
|
||||
CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x3368,
|
||||
CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x3388,
|
||||
CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x3387,
|
||||
CMSG_BANKER_ACTIVATE = 0x34B9,
|
||||
CMSG_BATTLEFIELD_LEAVE = 0x3173,
|
||||
CMSG_BATTLEFIELD_LIST = 0x317E,
|
||||
CMSG_BATTLEFIELD_LIST = 0x317F,
|
||||
CMSG_BATTLEFIELD_PORT = 0x3537,
|
||||
CMSG_BATTLEMASTER_HELLO = 0x32C0,
|
||||
CMSG_BATTLEMASTER_HELLO = 0x32C1,
|
||||
CMSG_BATTLEMASTER_JOIN = 0x3530,
|
||||
CMSG_BATTLEMASTER_JOIN_ARENA = 0x3531,
|
||||
CMSG_BATTLEMASTER_JOIN_BRAWL = 0x3535,
|
||||
@@ -128,21 +128,21 @@ enum OpcodeClient : uint16
|
||||
CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362C,
|
||||
CMSG_BATTLE_PET_SET_FLAGS = 0x3630,
|
||||
CMSG_BATTLE_PET_SUMMON = 0x3628,
|
||||
CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E3,
|
||||
CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E2,
|
||||
CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E4,
|
||||
CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E3,
|
||||
CMSG_BEGIN_TRADE = 0x3157,
|
||||
CMSG_BINDER_ACTIVATE = 0x34B8,
|
||||
CMSG_BLACK_MARKET_BID_ON_ITEM = 0x353F,
|
||||
CMSG_BLACK_MARKET_OPEN = 0x353D,
|
||||
CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x353E,
|
||||
CMSG_BONUS_ROLL = 0x3387,
|
||||
CMSG_BONUS_ROLL = 0x3389,
|
||||
CMSG_BUG_REPORT = 0x3686,
|
||||
CMSG_BUSY_TRADE = 0x3158,
|
||||
CMSG_BUY_BACK_ITEM = 0x34AA,
|
||||
CMSG_BUY_BANK_SLOT = 0x34BA,
|
||||
CMSG_BUY_ITEM = 0x34A9,
|
||||
CMSG_BUY_REAGENT_BANK = 0x34BB,
|
||||
CMSG_CAGE_BATTLE_PET = 0x31F5,
|
||||
CMSG_CAGE_BATTLE_PET = 0x31F6,
|
||||
CMSG_CALENDAR_ADD_EVENT = 0x367D,
|
||||
CMSG_CALENDAR_COMMUNITY_INVITE = 0x3671,
|
||||
CMSG_CALENDAR_COMPLAIN = 0x3679,
|
||||
@@ -158,24 +158,24 @@ enum OpcodeClient : uint16
|
||||
CMSG_CALENDAR_RSVP = 0x3674,
|
||||
CMSG_CALENDAR_STATUS = 0x3675,
|
||||
CMSG_CALENDAR_UPDATE_EVENT = 0x367E,
|
||||
CMSG_CANCEL_AURA = 0x31AF,
|
||||
CMSG_CANCEL_AURA = 0x31B0,
|
||||
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34F5,
|
||||
CMSG_CANCEL_CAST = 0x32AC,
|
||||
CMSG_CANCEL_CHANNELLING = 0x3276,
|
||||
CMSG_CANCEL_GROWTH_AURA = 0x327B,
|
||||
CMSG_CANCEL_MASTER_LOOT_ROLL = 0x3217,
|
||||
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31AE,
|
||||
CMSG_CANCEL_MOUNT_AURA = 0x328E,
|
||||
CMSG_CANCEL_QUEUED_SPELL = 0x317F,
|
||||
CMSG_CANCEL_CAST = 0x32AD,
|
||||
CMSG_CANCEL_CHANNELLING = 0x3277,
|
||||
CMSG_CANCEL_GROWTH_AURA = 0x327C,
|
||||
CMSG_CANCEL_MASTER_LOOT_ROLL = 0x3218,
|
||||
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x31AF,
|
||||
CMSG_CANCEL_MOUNT_AURA = 0x328F,
|
||||
CMSG_CANCEL_QUEUED_SPELL = 0x3180,
|
||||
CMSG_CANCEL_TEMP_ENCHANTMENT = 0x3500,
|
||||
CMSG_CANCEL_TRADE = 0x315C,
|
||||
CMSG_CAN_DUEL = 0x3662,
|
||||
CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x3709,
|
||||
CMSG_CAST_SPELL = 0x32A9,
|
||||
CMSG_CAST_SPELL = 0x32AA,
|
||||
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x3090,
|
||||
CMSG_CHANGE_BAG_SLOT_FLAG = 0x333F,
|
||||
CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3340,
|
||||
CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3321,
|
||||
CMSG_CHANGE_BAG_SLOT_FLAG = 0x3341,
|
||||
CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x3342,
|
||||
CMSG_CHANGE_MONUMENT_APPEARANCE = 0x3322,
|
||||
CMSG_CHANGE_REALM_TICKET = 0x36FC,
|
||||
CMSG_CHANGE_SUB_GROUP = 0x364C,
|
||||
CMSG_CHARACTER_CHECK_UPGRADE = 0x36C6,
|
||||
@@ -222,17 +222,17 @@ enum OpcodeClient : uint16
|
||||
CMSG_CHAT_REPORT_IGNORED = 0x37CB,
|
||||
CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37CE,
|
||||
CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = 0x3645,
|
||||
CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x324F,
|
||||
CMSG_CHOICE_RESPONSE = 0x32B0,
|
||||
CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33DE,
|
||||
CMSG_CLAIM_WEEKLY_REWARD = 0x33B9,
|
||||
CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x3250,
|
||||
CMSG_CHOICE_RESPONSE = 0x32B1,
|
||||
CMSG_CHROMIE_TIME_SELECT_EXPANSION = 0x33E0,
|
||||
CMSG_CLAIM_WEEKLY_REWARD = 0x33BB,
|
||||
CMSG_CLEAR_NEW_APPEARANCE = 0x312F,
|
||||
CMSG_CLEAR_RAID_MARKER = 0x31A7,
|
||||
CMSG_CLEAR_RAID_MARKER = 0x31A8,
|
||||
CMSG_CLEAR_TRADE_ITEM = 0x315E,
|
||||
CMSG_CLIENT_PORT_GRAVEYARD = 0x3539,
|
||||
CMSG_CLOSE_INTERACTION = 0x3499,
|
||||
CMSG_CLOSE_QUEST_CHOICE = 0x32B1,
|
||||
CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33E6,
|
||||
CMSG_CLOSE_QUEST_CHOICE = 0x32B2,
|
||||
CMSG_CLOSE_RUNEFORGE_INTERACTION = 0x33E8,
|
||||
CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x371F,
|
||||
CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x371D,
|
||||
CMSG_CLUB_FINDER_POST = 0x371A,
|
||||
@@ -257,8 +257,8 @@ enum OpcodeClient : uint16
|
||||
CMSG_COMPLAINT = 0x366C,
|
||||
CMSG_COMPLETE_CINEMATIC = 0x3557,
|
||||
CMSG_COMPLETE_MOVIE = 0x34EB,
|
||||
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31AC,
|
||||
CMSG_CONFIRM_RESPEC_WIPE = 0x3211,
|
||||
CMSG_CONFIRM_ARTIFACT_RESPEC = 0x31AD,
|
||||
CMSG_CONFIRM_RESPEC_WIPE = 0x3212,
|
||||
CMSG_CONNECT_TO_FAILED = 0x35D4,
|
||||
CMSG_CONSUMABLE_TOKEN_BUY = 0x36EB,
|
||||
CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36EC,
|
||||
@@ -269,16 +269,17 @@ enum OpcodeClient : uint16
|
||||
CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x356A,
|
||||
CMSG_CONVERSATION_LINE_STARTED = 0x3558,
|
||||
CMSG_CONVERT_RAID = 0x364E,
|
||||
CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE = 0x357D,
|
||||
CMSG_CREATE_CHARACTER = 0x3644,
|
||||
CMSG_CREATE_SHIPMENT = 0x330D,
|
||||
CMSG_CREATE_SHIPMENT = 0x330E,
|
||||
CMSG_DB_QUERY_BULK = 0x35E4,
|
||||
CMSG_DECLINE_GUILD_INVITES = 0x352D,
|
||||
CMSG_DECLINE_PETITION = 0x3546,
|
||||
CMSG_DELETE_EQUIPMENT_SET = 0x3519,
|
||||
CMSG_DEL_FRIEND = 0x36D1,
|
||||
CMSG_DEL_IGNORE = 0x36D5,
|
||||
CMSG_DEPOSIT_REAGENT_BANK = 0x3348,
|
||||
CMSG_DESTROY_ITEM = 0x32A0,
|
||||
CMSG_DEPOSIT_REAGENT_BANK = 0x334A,
|
||||
CMSG_DESTROY_ITEM = 0x32A1,
|
||||
CMSG_DF_BOOT_PLAYER_VOTE = 0x3615,
|
||||
CMSG_DF_CONFIRM_EXPAND_SEARCH = 0x3607,
|
||||
CMSG_DF_GET_JOIN_STATUS = 0x3613,
|
||||
@@ -292,10 +293,10 @@ enum OpcodeClient : uint16
|
||||
CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A3E,
|
||||
CMSG_DISMISS_CRITTER = 0x3507,
|
||||
CMSG_DO_COUNTDOWN = 0x3719,
|
||||
CMSG_DO_MASTER_LOOT_ROLL = 0x3216,
|
||||
CMSG_DO_MASTER_LOOT_ROLL = 0x3217,
|
||||
CMSG_DO_READY_CHECK = 0x3634,
|
||||
CMSG_DUEL_RESPONSE = 0x34F0,
|
||||
CMSG_EJECT_PASSENGER = 0x3244,
|
||||
CMSG_EJECT_PASSENGER = 0x3245,
|
||||
CMSG_EMOTE = 0x3553,
|
||||
CMSG_ENABLE_NAGLE = 0x376B,
|
||||
CMSG_ENABLE_TAXI_NODE = 0x34AF,
|
||||
@@ -304,47 +305,47 @@ enum OpcodeClient : uint16
|
||||
CMSG_ENUM_CHARACTERS = 0x35E8,
|
||||
CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36DE,
|
||||
CMSG_FAR_SIGHT = 0x34F6,
|
||||
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B3,
|
||||
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B2,
|
||||
CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B4,
|
||||
CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B3,
|
||||
CMSG_GAME_OBJ_REPORT_USE = 0x34FD,
|
||||
CMSG_GAME_OBJ_USE = 0x34FC,
|
||||
CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x3308,
|
||||
CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32EE,
|
||||
CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32DB,
|
||||
CMSG_GARRISON_CHECK_UPGRADEABLE = 0x333B,
|
||||
CMSG_GARRISON_COMPLETE_MISSION = 0x332E,
|
||||
CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x3309,
|
||||
CMSG_GARRISON_GENERATE_RECRUITS = 0x32F1,
|
||||
CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x3300,
|
||||
CMSG_GARRISON_GET_MAP_DATA = 0x3307,
|
||||
CMSG_GARRISON_GET_MISSION_REWARD = 0x335F,
|
||||
CMSG_GARRISON_LEARN_TALENT = 0x32FC,
|
||||
CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3330,
|
||||
CMSG_GARRISON_PURCHASE_BUILDING = 0x32D7,
|
||||
CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32F3,
|
||||
CMSG_GARRISON_REMOVE_FOLLOWER = 0x3325,
|
||||
CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32EF,
|
||||
CMSG_GARRISON_RENAME_FOLLOWER = 0x32F0,
|
||||
CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32D6,
|
||||
CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x330B,
|
||||
CMSG_GARRISON_RESEARCH_TALENT = 0x32F4,
|
||||
CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32D8,
|
||||
CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32EC,
|
||||
CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32E4,
|
||||
CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32F2,
|
||||
CMSG_GARRISON_SOCKET_TALENT = 0x33F2,
|
||||
CMSG_GARRISON_START_MISSION = 0x332D,
|
||||
CMSG_GARRISON_SWAP_BUILDINGS = 0x32DC,
|
||||
CMSG_GARRISON_ADD_FOLLOWER_HEALTH = 0x3309,
|
||||
CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x32EF,
|
||||
CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x32DC,
|
||||
CMSG_GARRISON_CHECK_UPGRADEABLE = 0x333D,
|
||||
CMSG_GARRISON_COMPLETE_MISSION = 0x332F,
|
||||
CMSG_GARRISON_FULLY_HEAL_ALL_FOLLOWERS = 0x330A,
|
||||
CMSG_GARRISON_GENERATE_RECRUITS = 0x32F2,
|
||||
CMSG_GARRISON_GET_CLASS_SPEC_CATEGORY_INFO = 0x3301,
|
||||
CMSG_GARRISON_GET_MAP_DATA = 0x3308,
|
||||
CMSG_GARRISON_GET_MISSION_REWARD = 0x3361,
|
||||
CMSG_GARRISON_LEARN_TALENT = 0x32FD,
|
||||
CMSG_GARRISON_MISSION_BONUS_ROLL = 0x3331,
|
||||
CMSG_GARRISON_PURCHASE_BUILDING = 0x32D8,
|
||||
CMSG_GARRISON_RECRUIT_FOLLOWER = 0x32F4,
|
||||
CMSG_GARRISON_REMOVE_FOLLOWER = 0x3326,
|
||||
CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x32F0,
|
||||
CMSG_GARRISON_RENAME_FOLLOWER = 0x32F1,
|
||||
CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x32D7,
|
||||
CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x330C,
|
||||
CMSG_GARRISON_RESEARCH_TALENT = 0x32F5,
|
||||
CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x32D9,
|
||||
CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x32ED,
|
||||
CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x32E5,
|
||||
CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x32F3,
|
||||
CMSG_GARRISON_SOCKET_TALENT = 0x33F4,
|
||||
CMSG_GARRISON_START_MISSION = 0x332E,
|
||||
CMSG_GARRISON_SWAP_BUILDINGS = 0x32DD,
|
||||
CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7,
|
||||
CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36B6,
|
||||
CMSG_GET_GARRISON_INFO = 0x32D1,
|
||||
CMSG_GET_GARRISON_INFO = 0x32D2,
|
||||
CMSG_GET_ITEM_PURCHASE_DATA = 0x3541,
|
||||
CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x330C,
|
||||
CMSG_GET_MIRROR_IMAGE_DATA = 0x32A4,
|
||||
CMSG_GET_LANDING_PAGE_SHIPMENTS = 0x330D,
|
||||
CMSG_GET_MIRROR_IMAGE_DATA = 0x32A5,
|
||||
CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE,
|
||||
CMSG_GET_RAF_ACCOUNT_INFO = 0x3723,
|
||||
CMSG_GET_REMAINING_GAME_TIME = 0x36ED,
|
||||
CMSG_GET_TROPHY_LIST = 0x331E,
|
||||
CMSG_GET_TROPHY_LIST = 0x331F,
|
||||
CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E0,
|
||||
CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36F2,
|
||||
CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36F3,
|
||||
@@ -397,34 +398,34 @@ enum OpcodeClient : uint16
|
||||
CMSG_GUILD_UPDATE_INFO_TEXT = 0x3076,
|
||||
CMSG_GUILD_UPDATE_MOTD_TEXT = 0x3075,
|
||||
CMSG_HEARTH_AND_RESURRECT = 0x3515,
|
||||
CMSG_HIDE_QUEST_CHOICE = 0x32B2,
|
||||
CMSG_HIDE_QUEST_CHOICE = 0x32B3,
|
||||
CMSG_HOTFIX_REQUEST = 0x35E5,
|
||||
CMSG_IGNORE_TRADE = 0x3159,
|
||||
CMSG_INITIATE_ROLE_POLL = 0x35DA,
|
||||
CMSG_INITIATE_TRADE = 0x3156,
|
||||
CMSG_INSPECT = 0x353B,
|
||||
CMSG_INSTANCE_LOCK_RESPONSE = 0x351A,
|
||||
CMSG_ISLAND_QUEUE = 0x33B5,
|
||||
CMSG_ISLAND_QUEUE = 0x33B7,
|
||||
CMSG_ITEM_PURCHASE_REFUND = 0x3542,
|
||||
CMSG_ITEM_TEXT_QUERY = 0x333C,
|
||||
CMSG_JOIN_PET_BATTLE_QUEUE = 0x31E0,
|
||||
CMSG_JOIN_RATED_BATTLEGROUND = 0x3178,
|
||||
CMSG_ITEM_TEXT_QUERY = 0x333E,
|
||||
CMSG_JOIN_PET_BATTLE_QUEUE = 0x31E1,
|
||||
CMSG_JOIN_RATED_BATTLEGROUND = 0x3179,
|
||||
CMSG_KEEP_ALIVE = 0x367F,
|
||||
CMSG_KEYBOUND_OVERRIDE = 0x3229,
|
||||
CMSG_KEYBOUND_OVERRIDE = 0x322A,
|
||||
CMSG_LEARN_PVP_TALENTS = 0x3568,
|
||||
CMSG_LEARN_TALENTS = 0x3566,
|
||||
CMSG_LEAVE_GROUP = 0x3649,
|
||||
CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31E1,
|
||||
CMSG_LEAVE_PET_BATTLE_QUEUE = 0x31E2,
|
||||
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 = 0x3382,
|
||||
CMSG_LFG_LIST_JOIN = 0x3384,
|
||||
CMSG_LFG_LIST_LEAVE = 0x3609,
|
||||
CMSG_LFG_LIST_SEARCH = 0x360B,
|
||||
CMSG_LFG_LIST_UPDATE_REQUEST = 0x3383,
|
||||
CMSG_LFG_LIST_UPDATE_REQUEST = 0x3385,
|
||||
CMSG_LF_GUILD_ADD_RECRUIT = 0x361B,
|
||||
CMSG_LF_GUILD_BROWSE = 0x361D,
|
||||
CMSG_LF_GUILD_DECLINE_RECRUIT = 0x3079,
|
||||
@@ -439,33 +440,33 @@ enum OpcodeClient : uint16
|
||||
CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36B7,
|
||||
CMSG_LIVE_REGION_KEY_BINDINGS_COPY = 0x36BA,
|
||||
CMSG_LOADING_SCREEN_NOTIFY = 0x35F8,
|
||||
CMSG_LOAD_SELECTED_TROPHY = 0x331F,
|
||||
CMSG_LOAD_SELECTED_TROPHY = 0x3320,
|
||||
CMSG_LOGOUT_CANCEL = 0x34E6,
|
||||
CMSG_LOGOUT_INSTANT = 0x34E7,
|
||||
CMSG_LOGOUT_REQUEST = 0x34E4,
|
||||
CMSG_LOG_DISCONNECT = 0x3769,
|
||||
CMSG_LOG_STREAMING_ERROR = 0x376D,
|
||||
CMSG_LOOT_ITEM = 0x3214,
|
||||
CMSG_LOOT_MONEY = 0x3213,
|
||||
CMSG_LOOT_RELEASE = 0x3218,
|
||||
CMSG_LOOT_ROLL = 0x3219,
|
||||
CMSG_LOOT_UNIT = 0x3212,
|
||||
CMSG_LOOT_ITEM = 0x3215,
|
||||
CMSG_LOOT_MONEY = 0x3214,
|
||||
CMSG_LOOT_RELEASE = 0x3219,
|
||||
CMSG_LOOT_ROLL = 0x321A,
|
||||
CMSG_LOOT_UNIT = 0x3213,
|
||||
CMSG_LOW_LEVEL_RAID1 = 0x36A2,
|
||||
CMSG_LOW_LEVEL_RAID2 = 0x3521,
|
||||
CMSG_MAIL_CREATE_TEXT_ITEM = 0x354D,
|
||||
CMSG_MAIL_DELETE = 0x322B,
|
||||
CMSG_MAIL_DELETE = 0x322C,
|
||||
CMSG_MAIL_GET_LIST = 0x3548,
|
||||
CMSG_MAIL_MARK_AS_READ = 0x354C,
|
||||
CMSG_MAIL_RETURN_TO_SENDER = 0x3655,
|
||||
CMSG_MAIL_TAKE_ITEM = 0x354A,
|
||||
CMSG_MAIL_TAKE_MONEY = 0x3549,
|
||||
CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x322D,
|
||||
CMSG_MASTER_LOOT_ITEM = 0x3215,
|
||||
CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x322E,
|
||||
CMSG_MASTER_LOOT_ITEM = 0x3216,
|
||||
CMSG_MINIMAP_PING = 0x364B,
|
||||
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318A,
|
||||
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318B,
|
||||
CMSG_MOUNT_CLEAR_FANFARE = 0x312D,
|
||||
CMSG_MOUNT_SET_FAVORITE = 0x3632,
|
||||
CMSG_MOUNT_SPECIAL_ANIM = 0x328F,
|
||||
CMSG_MOUNT_SPECIAL_ANIM = 0x3290,
|
||||
CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A14,
|
||||
CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2E,
|
||||
CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A33,
|
||||
@@ -535,40 +536,40 @@ enum OpcodeClient : uint16
|
||||
CMSG_MOVE_WATER_WALK_ACK = 0x3A1C,
|
||||
CMSG_MYTHIC_PLUS_REQUEST_MAP_STATS = 0x308F,
|
||||
CMSG_MYTHIC_PLUS_WEEKLY_REWARD_REQUEST = 0x3683,
|
||||
CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D6,
|
||||
CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x31D7,
|
||||
CMSG_NEXT_CINEMATIC_CAMERA = 0x3556,
|
||||
CMSG_OBJECT_UPDATE_FAILED = 0x3180,
|
||||
CMSG_OBJECT_UPDATE_RESCUED = 0x3181,
|
||||
CMSG_OFFER_PETITION = 0x33DD,
|
||||
CMSG_OBJECT_UPDATE_FAILED = 0x3181,
|
||||
CMSG_OBJECT_UPDATE_RESCUED = 0x3182,
|
||||
CMSG_OFFER_PETITION = 0x33DF,
|
||||
CMSG_OPENING_CINEMATIC = 0x3555,
|
||||
CMSG_OPEN_ITEM = 0x333D,
|
||||
CMSG_OPEN_MISSION_NPC = 0x3302,
|
||||
CMSG_OPEN_SHIPMENT_NPC = 0x330A,
|
||||
CMSG_OPEN_TRADESKILL_NPC = 0x3315,
|
||||
CMSG_OPEN_ITEM = 0x333F,
|
||||
CMSG_OPEN_MISSION_NPC = 0x3303,
|
||||
CMSG_OPEN_SHIPMENT_NPC = 0x330B,
|
||||
CMSG_OPEN_TRADESKILL_NPC = 0x3316,
|
||||
CMSG_OPT_OUT_OF_LOOT = 0x3504,
|
||||
CMSG_OVERRIDE_SCREEN_FLASH = 0x352E,
|
||||
CMSG_PARTY_INVITE = 0x3602,
|
||||
CMSG_PARTY_INVITE_RESPONSE = 0x3603,
|
||||
CMSG_PARTY_UNINVITE = 0x3647,
|
||||
CMSG_PERFORM_ITEM_INTERACTION = 0x3235,
|
||||
CMSG_PERFORM_ITEM_INTERACTION = 0x3236,
|
||||
CMSG_PETITION_BUY = 0x34CF,
|
||||
CMSG_PETITION_RENAME_GUILD = 0x36C9,
|
||||
CMSG_PETITION_SHOW_LIST = 0x34CE,
|
||||
CMSG_PETITION_SHOW_SIGNATURES = 0x34D0,
|
||||
CMSG_PET_ABANDON = 0x3493,
|
||||
CMSG_PET_ACTION = 0x3491,
|
||||
CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E5,
|
||||
CMSG_PET_BATTLE_FINAL_NOTIFY = 0x31E6,
|
||||
CMSG_PET_BATTLE_INPUT = 0x3641,
|
||||
CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x322A,
|
||||
CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E4,
|
||||
CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x322B,
|
||||
CMSG_PET_BATTLE_QUIT_NOTIFY = 0x31E5,
|
||||
CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x3642,
|
||||
CMSG_PET_BATTLE_REQUEST_PVP = 0x31DE,
|
||||
CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31DF,
|
||||
CMSG_PET_BATTLE_REQUEST_WILD = 0x31DC,
|
||||
CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E6,
|
||||
CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DD,
|
||||
CMSG_PET_BATTLE_REQUEST_PVP = 0x31DF,
|
||||
CMSG_PET_BATTLE_REQUEST_UPDATE = 0x31E0,
|
||||
CMSG_PET_BATTLE_REQUEST_WILD = 0x31DD,
|
||||
CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x31E7,
|
||||
CMSG_PET_BATTLE_WILD_LOCATION_FAIL = 0x31DE,
|
||||
CMSG_PET_CANCEL_AURA = 0x3494,
|
||||
CMSG_PET_CAST_SPELL = 0x32A8,
|
||||
CMSG_PET_CAST_SPELL = 0x32A9,
|
||||
CMSG_PET_RENAME = 0x3685,
|
||||
CMSG_PET_SET_ACTION = 0x3490,
|
||||
CMSG_PET_SPELL_AUTOCAST = 0x3495,
|
||||
@@ -576,31 +577,31 @@ enum OpcodeClient : uint16
|
||||
CMSG_PING = 0x3768,
|
||||
CMSG_PLAYER_LOGIN = 0x35EA,
|
||||
CMSG_PUSH_QUEST_TO_PARTY = 0x34A5,
|
||||
CMSG_PVP_LOG_DATA = 0x317B,
|
||||
CMSG_QUERY_BATTLE_PET_NAME = 0x3282,
|
||||
CMSG_PVP_LOG_DATA = 0x317C,
|
||||
CMSG_QUERY_BATTLE_PET_NAME = 0x3283,
|
||||
CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x3660,
|
||||
CMSG_QUERY_CORPSE_TRANSPORT = 0x3661,
|
||||
CMSG_QUERY_COUNTDOWN_TIMER = 0x31AA,
|
||||
CMSG_QUERY_CREATURE = 0x327C,
|
||||
CMSG_QUERY_GAME_OBJECT = 0x327D,
|
||||
CMSG_QUERY_GARRISON_PET_NAME = 0x3283,
|
||||
CMSG_QUERY_COUNTDOWN_TIMER = 0x31AB,
|
||||
CMSG_QUERY_CREATURE = 0x327D,
|
||||
CMSG_QUERY_GAME_OBJECT = 0x327E,
|
||||
CMSG_QUERY_GARRISON_PET_NAME = 0x3284,
|
||||
CMSG_QUERY_GUILD_INFO = 0x368E,
|
||||
CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x350E,
|
||||
CMSG_QUERY_NEXT_MAIL_TIME = 0x354B,
|
||||
CMSG_QUERY_NPC_TEXT = 0x327E,
|
||||
CMSG_QUERY_PAGE_TEXT = 0x3280,
|
||||
CMSG_QUERY_PETITION = 0x3284,
|
||||
CMSG_QUERY_PET_NAME = 0x3281,
|
||||
CMSG_QUERY_NPC_TEXT = 0x327F,
|
||||
CMSG_QUERY_PAGE_TEXT = 0x3281,
|
||||
CMSG_QUERY_PETITION = 0x3285,
|
||||
CMSG_QUERY_PET_NAME = 0x3282,
|
||||
CMSG_QUERY_PLAYER_NAME = 0x368A,
|
||||
CMSG_QUERY_PLAYER_NAMES_FOR_COMMUNITY = 0x368C,
|
||||
CMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID = 0x368B,
|
||||
CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3175,
|
||||
CMSG_QUERY_QUEST_INFO = 0x327F,
|
||||
CMSG_QUERY_QUEST_INFO = 0x3280,
|
||||
CMSG_QUERY_REALM_NAME = 0x368D,
|
||||
CMSG_QUERY_SCENARIO_POI = 0x3656,
|
||||
CMSG_QUERY_TIME = 0x34E3,
|
||||
CMSG_QUERY_TREASURE_PICKER = 0x3362,
|
||||
CMSG_QUERY_VOID_STORAGE = 0x31A3,
|
||||
CMSG_QUERY_TREASURE_PICKER = 0x3364,
|
||||
CMSG_QUERY_VOID_STORAGE = 0x31A4,
|
||||
CMSG_QUEST_CONFIRM_ACCEPT = 0x34A4,
|
||||
CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x349E,
|
||||
CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x34A0,
|
||||
@@ -614,8 +615,8 @@ enum OpcodeClient : uint16
|
||||
CMSG_QUEST_LOG_REMOVE_QUEST = 0x3540,
|
||||
CMSG_QUEST_POI_QUERY = 0x36B0,
|
||||
CMSG_QUEST_PUSH_RESULT = 0x34A6,
|
||||
CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33CE,
|
||||
CMSG_QUEST_SESSION_REQUEST_START = 0x33CD,
|
||||
CMSG_QUEST_SESSION_BEGIN_RESPONSE = 0x33D0,
|
||||
CMSG_QUEST_SESSION_REQUEST_START = 0x33CF,
|
||||
CMSG_QUEST_SESSION_REQUEST_STOP = 0x372E,
|
||||
CMSG_QUEUED_MESSAGES_END = 0x376C,
|
||||
CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3708,
|
||||
@@ -630,66 +631,66 @@ enum OpcodeClient : uint16
|
||||
CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY = 0x36E5,
|
||||
CMSG_RANDOM_ROLL = 0x3654,
|
||||
CMSG_READY_CHECK_RESPONSE = 0x3635,
|
||||
CMSG_READ_ITEM = 0x333E,
|
||||
CMSG_READ_ITEM = 0x3340,
|
||||
CMSG_RECLAIM_CORPSE = 0x34E9,
|
||||
CMSG_REMOVE_NEW_ITEM = 0x3365,
|
||||
CMSG_REMOVE_NEW_ITEM = 0x3367,
|
||||
CMSG_REMOVE_RAF_RECRUIT = 0x3727,
|
||||
CMSG_REORDER_CHARACTERS = 0x35E9,
|
||||
CMSG_REPAIR_ITEM = 0x34FA,
|
||||
CMSG_REPLACE_TROPHY = 0x3320,
|
||||
CMSG_REPLACE_TROPHY = 0x3321,
|
||||
CMSG_REPOP_REQUEST = 0x3538,
|
||||
CMSG_REPORT_CLIENT_VARIABLES = 0x3702,
|
||||
CMSG_REPORT_ENABLED_ADDONS = 0x3701,
|
||||
CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3703,
|
||||
CMSG_REPORT_PVP_PLAYER_AFK = 0x3502,
|
||||
CMSG_REPORT_SERVER_LAG = 0x33C4,
|
||||
CMSG_REPORT_STUCK_IN_COMBAT = 0x33C5,
|
||||
CMSG_REPORT_SERVER_LAG = 0x33C6,
|
||||
CMSG_REPORT_STUCK_IN_COMBAT = 0x33C7,
|
||||
CMSG_REQUEST_ACCOUNT_DATA = 0x3698,
|
||||
CMSG_REQUEST_AREA_POI_UPDATE = 0x3364,
|
||||
CMSG_REQUEST_AREA_POI_UPDATE = 0x3366,
|
||||
CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC,
|
||||
CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x317D,
|
||||
CMSG_REQUEST_CEMETERY_LIST = 0x3176,
|
||||
CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x317E,
|
||||
CMSG_REQUEST_CEMETERY_LIST = 0x3177,
|
||||
CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = 0x368F,
|
||||
CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32C3,
|
||||
CMSG_REQUEST_COVENANT_CALLINGS = 0x33B7,
|
||||
CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x32C4,
|
||||
CMSG_REQUEST_COVENANT_CALLINGS = 0x33B9,
|
||||
CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x353C,
|
||||
CMSG_REQUEST_FORCED_REACTIONS = 0x320D,
|
||||
CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33F1,
|
||||
CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A9,
|
||||
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A8,
|
||||
CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33C6,
|
||||
CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32B3,
|
||||
CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x320A,
|
||||
CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x320B,
|
||||
CMSG_REQUEST_FORCED_REACTIONS = 0x320E,
|
||||
CMSG_REQUEST_GARRISON_TALENT_WORLD_QUEST_UNLOCKS = 0x33F3,
|
||||
CMSG_REQUEST_GUILD_PARTY_STATE = 0x31AA,
|
||||
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A9,
|
||||
CMSG_REQUEST_LATEST_SPLASH_SCREEN = 0x33C8,
|
||||
CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32B4,
|
||||
CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = 0x320B,
|
||||
CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = 0x320C,
|
||||
CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7,
|
||||
CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3653,
|
||||
CMSG_REQUEST_PET_INFO = 0x3496,
|
||||
CMSG_REQUEST_PLAYED_TIME = 0x3287,
|
||||
CMSG_REQUEST_PVP_REWARDS = 0x3196,
|
||||
CMSG_REQUEST_PLAYED_TIME = 0x3288,
|
||||
CMSG_REQUEST_PVP_REWARDS = 0x3197,
|
||||
CMSG_REQUEST_RAID_INFO = 0x36CA,
|
||||
CMSG_REQUEST_RATED_PVP_INFO = 0x35E3,
|
||||
CMSG_REQUEST_REALM_GUILD_MASTER_INFO = 0x309B,
|
||||
CMSG_REQUEST_RESEARCH_HISTORY = 0x3167,
|
||||
CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x3197,
|
||||
CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x3198,
|
||||
CMSG_REQUEST_STABLED_PETS = 0x3497,
|
||||
CMSG_REQUEST_VEHICLE_EXIT = 0x323F,
|
||||
CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3241,
|
||||
CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x3240,
|
||||
CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3242,
|
||||
CMSG_REQUEST_WEEKLY_REWARDS = 0x33BA,
|
||||
CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3363,
|
||||
CMSG_RESET_CHALLENGE_MODE = 0x3208,
|
||||
CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x3209,
|
||||
CMSG_REQUEST_VEHICLE_EXIT = 0x3240,
|
||||
CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3242,
|
||||
CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x3241,
|
||||
CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3243,
|
||||
CMSG_REQUEST_WEEKLY_REWARDS = 0x33BC,
|
||||
CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x3365,
|
||||
CMSG_RESET_CHALLENGE_MODE = 0x3209,
|
||||
CMSG_RESET_CHALLENGE_MODE_CHEAT = 0x320A,
|
||||
CMSG_RESET_INSTANCES = 0x3668,
|
||||
CMSG_RESURRECT_RESPONSE = 0x3684,
|
||||
CMSG_REVERT_MONUMENT_APPEARANCE = 0x3322,
|
||||
CMSG_RIDE_VEHICLE_INTERACT = 0x3243,
|
||||
CMSG_SAVE_CUF_PROFILES = 0x318B,
|
||||
CMSG_REVERT_MONUMENT_APPEARANCE = 0x3323,
|
||||
CMSG_RIDE_VEHICLE_INTERACT = 0x3244,
|
||||
CMSG_SAVE_CUF_PROFILES = 0x318C,
|
||||
CMSG_SAVE_EQUIPMENT_SET = 0x3518,
|
||||
CMSG_SAVE_GUILD_EMBLEM = 0x32B7,
|
||||
CMSG_SCENE_PLAYBACK_CANCELED = 0x3226,
|
||||
CMSG_SCENE_PLAYBACK_COMPLETE = 0x3225,
|
||||
CMSG_SCENE_TRIGGER_EVENT = 0x3227,
|
||||
CMSG_SAVE_GUILD_EMBLEM = 0x32B8,
|
||||
CMSG_SCENE_PLAYBACK_CANCELED = 0x3227,
|
||||
CMSG_SCENE_PLAYBACK_COMPLETE = 0x3226,
|
||||
CMSG_SCENE_TRIGGER_EVENT = 0x3228,
|
||||
CMSG_SELF_RES = 0x3543,
|
||||
CMSG_SELL_ITEM = 0x34A8,
|
||||
CMSG_SEND_CHARACTER_CLUB_INVITATION = 0x36FB,
|
||||
@@ -697,62 +698,62 @@ enum OpcodeClient : uint16
|
||||
CMSG_SEND_MAIL = 0x35FA,
|
||||
CMSG_SEND_TEXT_EMOTE = 0x348E,
|
||||
CMSG_SERVER_TIME_OFFSET_REQUEST = 0x369D,
|
||||
CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x322C,
|
||||
CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x322D,
|
||||
CMSG_SET_ACTION_BAR_TOGGLES = 0x3544,
|
||||
CMSG_SET_ACTION_BUTTON = 0x3636,
|
||||
CMSG_SET_ACTIVE_MOVER = 0x3A39,
|
||||
CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32C4,
|
||||
CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32C5,
|
||||
CMSG_SET_ASSISTANT_LEADER = 0x364F,
|
||||
CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3341,
|
||||
CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3342,
|
||||
CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x3343,
|
||||
CMSG_SET_BANK_AUTOSORT_DISABLED = 0x3344,
|
||||
CMSG_SET_CONTACT_NOTES = 0x36D2,
|
||||
CMSG_SET_CURRENCY_FLAGS = 0x3169,
|
||||
CMSG_SET_DIFFICULTY_ID = 0x3228,
|
||||
CMSG_SET_DIFFICULTY_ID = 0x3229,
|
||||
CMSG_SET_DUNGEON_DIFFICULTY = 0x3682,
|
||||
CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3617,
|
||||
CMSG_SET_FACTION_AT_WAR = 0x34EC,
|
||||
CMSG_SET_FACTION_INACTIVE = 0x34EE,
|
||||
CMSG_SET_FACTION_NOT_AT_WAR = 0x34ED,
|
||||
CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31BA,
|
||||
CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x3344,
|
||||
CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31BB,
|
||||
CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x3346,
|
||||
CMSG_SET_LOOT_METHOD = 0x3648,
|
||||
CMSG_SET_LOOT_SPECIALIZATION = 0x3551,
|
||||
CMSG_SET_PARTY_ASSIGNMENT = 0x3651,
|
||||
CMSG_SET_PARTY_LEADER = 0x364A,
|
||||
CMSG_SET_PET_SLOT = 0x3168,
|
||||
CMSG_SET_PLAYER_DECLINED_NAMES = 0x3689,
|
||||
CMSG_SET_PREFERRED_CEMETERY = 0x3177,
|
||||
CMSG_SET_PVP = 0x32BB,
|
||||
CMSG_SET_PREFERRED_CEMETERY = 0x3178,
|
||||
CMSG_SET_PVP = 0x32BC,
|
||||
CMSG_SET_RAID_DIFFICULTY = 0x36DC,
|
||||
CMSG_SET_ROLE = 0x35D9,
|
||||
CMSG_SET_SAVED_INSTANCE_EXTEND = 0x3687,
|
||||
CMSG_SET_SELECTION = 0x353A,
|
||||
CMSG_SET_SHEATHED = 0x348F,
|
||||
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3343,
|
||||
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x3345,
|
||||
CMSG_SET_TAXI_BENCHMARK_MODE = 0x3501,
|
||||
CMSG_SET_TITLE = 0x328D,
|
||||
CMSG_SET_TITLE = 0x328E,
|
||||
CMSG_SET_TRADE_CURRENCY = 0x3160,
|
||||
CMSG_SET_TRADE_GOLD = 0x315F,
|
||||
CMSG_SET_TRADE_ITEM = 0x315D,
|
||||
CMSG_SET_USING_PARTY_GARRISON = 0x3304,
|
||||
CMSG_SET_WAR_MODE = 0x32BC,
|
||||
CMSG_SET_USING_PARTY_GARRISON = 0x3305,
|
||||
CMSG_SET_WAR_MODE = 0x32BD,
|
||||
CMSG_SET_WATCHED_FACTION = 0x34EF,
|
||||
CMSG_SHOW_TRADE_SKILL = 0x36C2,
|
||||
CMSG_SIGN_PETITION = 0x3545,
|
||||
CMSG_SILENCE_PARTY_TALKER = 0x3652,
|
||||
CMSG_SOCKET_GEMS = 0x34F9,
|
||||
CMSG_SORT_BAGS = 0x3345,
|
||||
CMSG_SORT_BANK_BAGS = 0x3346,
|
||||
CMSG_SORT_REAGENT_BANK_BAGS = 0x3347,
|
||||
CMSG_SORT_BAGS = 0x3347,
|
||||
CMSG_SORT_BANK_BAGS = 0x3348,
|
||||
CMSG_SORT_REAGENT_BANK_BAGS = 0x3349,
|
||||
CMSG_SPELL_CLICK = 0x349B,
|
||||
CMSG_SPIRIT_HEALER_ACTIVATE = 0x34B5,
|
||||
CMSG_SPLIT_ITEM = 0x399E,
|
||||
CMSG_STAND_STATE_CHANGE = 0x3189,
|
||||
CMSG_STAND_STATE_CHANGE = 0x318A,
|
||||
CMSG_START_CHALLENGE_MODE = 0x355C,
|
||||
CMSG_START_SPECTATOR_WAR_GAME = 0x35DF,
|
||||
CMSG_START_WAR_GAME = 0x35DE,
|
||||
CMSG_SUBMIT_USER_FEEDBACK = 0x3697,
|
||||
CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33E7,
|
||||
CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = 0x33E9,
|
||||
CMSG_SUMMON_RESPONSE = 0x366A,
|
||||
CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3646,
|
||||
CMSG_SURRENDER_ARENA = 0x3174,
|
||||
@@ -761,8 +762,8 @@ enum OpcodeClient : uint16
|
||||
CMSG_SWAP_INV_ITEM = 0x399D,
|
||||
CMSG_SWAP_ITEM = 0x399C,
|
||||
CMSG_SWAP_SUB_GROUPS = 0x364D,
|
||||
CMSG_SWAP_VOID_ITEM = 0x31A5,
|
||||
CMSG_TABARD_VENDOR_ACTIVATE = 0x32B8,
|
||||
CMSG_SWAP_VOID_ITEM = 0x31A6,
|
||||
CMSG_TABARD_VENDOR_ACTIVATE = 0x32B9,
|
||||
CMSG_TALK_TO_GOSSIP = 0x3498,
|
||||
CMSG_TAXI_NODE_STATUS_QUERY = 0x34AE,
|
||||
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34B0,
|
||||
@@ -772,46 +773,46 @@ enum OpcodeClient : uint16
|
||||
CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3C,
|
||||
CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3B,
|
||||
CMSG_TOGGLE_DIFFICULTY = 0x3657,
|
||||
CMSG_TOGGLE_PVP = 0x32BA,
|
||||
CMSG_TOGGLE_PVP = 0x32BB,
|
||||
CMSG_TOTEM_DESTROYED = 0x3506,
|
||||
CMSG_TOY_CLEAR_FANFARE = 0x312E,
|
||||
CMSG_TRADE_SKILL_SET_FAVORITE = 0x3361,
|
||||
CMSG_TRADE_SKILL_SET_FAVORITE = 0x3363,
|
||||
CMSG_TRAINER_BUY_SPELL = 0x34B4,
|
||||
CMSG_TRAINER_LIST = 0x34B3,
|
||||
CMSG_TRANSMOGRIFY_ITEMS = 0x3198,
|
||||
CMSG_TRANSMOGRIFY_ITEMS = 0x3199,
|
||||
CMSG_TURN_IN_PETITION = 0x3547,
|
||||
CMSG_TUTORIAL = 0x36DD,
|
||||
CMSG_TWITTER_CHECK_STATUS = 0x312A,
|
||||
CMSG_TWITTER_CONNECT = 0x3127,
|
||||
CMSG_TWITTER_DISCONNECT = 0x312B,
|
||||
CMSG_TWITTER_POST = 0x3349,
|
||||
CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33B6,
|
||||
CMSG_TWITTER_POST = 0x334B,
|
||||
CMSG_UI_MAP_QUEST_LINES_REQUEST = 0x33B8,
|
||||
CMSG_UNACCEPT_TRADE = 0x315B,
|
||||
CMSG_UNDELETE_CHARACTER = 0x36DF,
|
||||
CMSG_UNLEARN_SKILL = 0x34F3,
|
||||
CMSG_UNLEARN_SPECIALIZATION = 0x31A6,
|
||||
CMSG_UNLOCK_VOID_STORAGE = 0x31A2,
|
||||
CMSG_UNLEARN_SPECIALIZATION = 0x31A7,
|
||||
CMSG_UNLOCK_VOID_STORAGE = 0x31A3,
|
||||
CMSG_UPDATE_ACCOUNT_DATA = 0x3699,
|
||||
CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32AB,
|
||||
CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32AC,
|
||||
CMSG_UPDATE_CLIENT_SETTINGS = 0x3664,
|
||||
CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A40,
|
||||
CMSG_UPDATE_RAID_TARGET = 0x3650,
|
||||
CMSG_UPDATE_SPELL_VISUAL = 0x32AA,
|
||||
CMSG_UPDATE_SPELL_VISUAL = 0x32AB,
|
||||
CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F5,
|
||||
CMSG_UPGRADE_GARRISON = 0x32CC,
|
||||
CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33E5,
|
||||
CMSG_USED_FOLLOW = 0x3186,
|
||||
CMSG_USE_CRITTER_ITEM = 0x3249,
|
||||
CMSG_UPGRADE_GARRISON = 0x32CD,
|
||||
CMSG_UPGRADE_RUNEFORGE_LEGENDARY = 0x33E7,
|
||||
CMSG_USED_FOLLOW = 0x3187,
|
||||
CMSG_USE_CRITTER_ITEM = 0x324A,
|
||||
CMSG_USE_EQUIPMENT_SET = 0x3995,
|
||||
CMSG_USE_ITEM = 0x32A5,
|
||||
CMSG_USE_TOY = 0x32A7,
|
||||
CMSG_USE_ITEM = 0x32A6,
|
||||
CMSG_USE_TOY = 0x32A8,
|
||||
CMSG_VAS_CHECK_TRANSFER_OK = 0x370D,
|
||||
CMSG_VAS_GET_QUEUE_MINUTES = 0x370C,
|
||||
CMSG_VAS_GET_SERVICE_STATUS = 0x370B,
|
||||
CMSG_VIOLENCE_LEVEL = 0x3184,
|
||||
CMSG_VIOLENCE_LEVEL = 0x3185,
|
||||
CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x3711,
|
||||
CMSG_VOICE_CHAT_LOGIN = 0x3710,
|
||||
CMSG_VOID_STORAGE_TRANSFER = 0x31A4,
|
||||
CMSG_VOID_STORAGE_TRANSFER = 0x31A5,
|
||||
CMSG_WARDEN3_DATA = 0x35EC,
|
||||
CMSG_WHO = 0x3681,
|
||||
CMSG_WHO_IS = 0x3680,
|
||||
@@ -844,6 +845,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_ADD_LOSS_OF_CONTROL = 0x266D,
|
||||
SMSG_ADD_RUNE_POWER = 0x26B5,
|
||||
SMSG_ADJUST_SPLINE_DURATION = 0x25CF,
|
||||
SMSG_ADVANCED_COMBAT_LOG = 0x2893,
|
||||
SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE = 0x288D,
|
||||
SMSG_ADVENTURE_MAP_OPEN_NPC = 0x27F7,
|
||||
SMSG_AE_LOOT_TARGETS = 0x2615,
|
||||
@@ -1051,7 +1053,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_CLEAR_RESURRECT = 0x257F,
|
||||
SMSG_CLEAR_SPELL_CHARGES = 0x2C28,
|
||||
SMSG_CLEAR_TARGET = 0x2942,
|
||||
SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x2AA0,
|
||||
SMSG_CLEAR_TREASURE_PICKER_CACHE = 0x2AA1,
|
||||
SMSG_CLOSE_ARTIFACT_FORGE = 0x27A3,
|
||||
SMSG_CLOSE_HEART_FORGE = 0x282B,
|
||||
SMSG_CLOSE_ITEM_FORGE = 0x27A1,
|
||||
@@ -1090,9 +1092,10 @@ enum OpcodeServer : uint16
|
||||
SMSG_CORPSE_LOCATION = 0x264B,
|
||||
SMSG_CORPSE_RECLAIM_DELAY = 0x274E,
|
||||
SMSG_CORPSE_TRANSPORT_QUERY = 0x2717,
|
||||
SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA2,
|
||||
SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA3,
|
||||
SMSG_COVENANT_PREVIEW_OPEN_NPC = 0x2800,
|
||||
SMSG_COVENANT_RENOWN_OPEN_NPC = 0x288F,
|
||||
SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = 0x2891,
|
||||
SMSG_CREATE_CHAR = 0x2704,
|
||||
SMSG_CREATE_SHIPMENT_RESPONSE = 0x279B,
|
||||
SMSG_CRITERIA_DELETED = 0x26EB,
|
||||
@@ -1117,7 +1120,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_DISPLAY_GAME_ERROR = 0x25A4,
|
||||
SMSG_DISPLAY_PLAYER_CHOICE = 0x2FFC,
|
||||
SMSG_DISPLAY_PROMOTION = 0x2648,
|
||||
SMSG_DISPLAY_QUEST_POPUP = 0x2A9D,
|
||||
SMSG_DISPLAY_QUEST_POPUP = 0x2A9E,
|
||||
SMSG_DISPLAY_TOAST = 0x2621,
|
||||
SMSG_DISPLAY_WORLD_TEXT = 0x27F0,
|
||||
SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25DD,
|
||||
@@ -1177,6 +1180,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_GARRISON_ADD_MISSION_RESULT = 0x296E,
|
||||
SMSG_GARRISON_APPLY_TALENT_SOCKET_DATA_CHANGES = 0x29A0,
|
||||
SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0x2980,
|
||||
SMSG_GARRISON_AUTO_TROOP_MIN_LEVEL_UPDATE_RESULT = 0x29A2,
|
||||
SMSG_GARRISON_BUILDING_ACTIVATED = 0x295F,
|
||||
SMSG_GARRISON_BUILDING_REMOVED = 0x2958,
|
||||
SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = 0x295A,
|
||||
@@ -1238,6 +1242,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT = 0x295C,
|
||||
SMSG_GARRISON_UPDATE_FOLLOWER = 0x296C,
|
||||
SMSG_GARRISON_UPDATE_GARRISON_MONUMENT_SELECTIONS = 0x2991,
|
||||
SMSG_GARRISON_UPDATE_MISSION_CHEAT_RESULT = 0x29A1,
|
||||
SMSG_GARRISON_UPGRADE_RESULT = 0x2961,
|
||||
SMSG_GARRISON_USE_RECALL_PORTAL_RESULT = 0x2973,
|
||||
SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2585,
|
||||
@@ -1257,11 +1262,11 @@ enum OpcodeServer : uint16
|
||||
SMSG_GM_TICKET_CASE_STATUS = 0x26A1,
|
||||
SMSG_GM_TICKET_SYSTEM_STATUS = 0x26A0,
|
||||
SMSG_GOD_MODE = 0x26FF,
|
||||
SMSG_GOSSIP_COMPLETE = 0x2A96,
|
||||
SMSG_GOSSIP_MESSAGE = 0x2A97,
|
||||
SMSG_GOSSIP_COMPLETE = 0x2A97,
|
||||
SMSG_GOSSIP_MESSAGE = 0x2A98,
|
||||
SMSG_GOSSIP_POI = 0x2796,
|
||||
SMSG_GOSSIP_QUEST_UPDATE = 0x2A98,
|
||||
SMSG_GOSSIP_REFRESH_OPTIONS = 0x2AA5,
|
||||
SMSG_GOSSIP_QUEST_UPDATE = 0x2A99,
|
||||
SMSG_GOSSIP_REFRESH_OPTIONS = 0x2AA6,
|
||||
SMSG_GROUP_ACTION_THROTTLED = 0x2590,
|
||||
SMSG_GROUP_AUTO_KICK = 0x2794,
|
||||
SMSG_GROUP_DECLINE = 0x2791,
|
||||
@@ -1358,7 +1363,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_ISLANDS_MISSION_NPC = 0x27FC,
|
||||
SMSG_ISLAND_AZERITE_GAIN = 0x2760,
|
||||
SMSG_ISLAND_COMPLETE = 0x2761,
|
||||
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A83,
|
||||
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A84,
|
||||
SMSG_ITEM_CHANGED = 0x26EE,
|
||||
SMSG_ITEM_COOLDOWN = 0x27C7,
|
||||
SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2759,
|
||||
@@ -1657,35 +1662,35 @@ enum OpcodeServer : uint16
|
||||
SMSG_QUERY_PET_NAME_RESPONSE = 0x26D5,
|
||||
SMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID_RESPONSE = 0x3003,
|
||||
SMSG_QUERY_PLAYER_NAME_RESPONSE = 0x3002,
|
||||
SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A95,
|
||||
SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A96,
|
||||
SMSG_QUERY_TIME_RESPONSE = 0x26E8,
|
||||
SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81,
|
||||
SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8E,
|
||||
SMSG_QUEST_FORCE_REMOVED = 0x2A9B,
|
||||
SMSG_QUEST_GIVER_INVALID_QUEST = 0x2A84,
|
||||
SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE = 0x2A93,
|
||||
SMSG_QUEST_GIVER_QUEST_COMPLETE = 0x2A82,
|
||||
SMSG_QUEST_GIVER_QUEST_DETAILS = 0x2A91,
|
||||
SMSG_QUEST_GIVER_QUEST_FAILED = 0x2A85,
|
||||
SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE = 0x2A99,
|
||||
SMSG_QUEST_GIVER_REQUEST_ITEMS = 0x2A92,
|
||||
SMSG_QUEST_GIVER_STATUS = 0x2A9A,
|
||||
SMSG_QUEST_GIVER_STATUS_MULTIPLE = 0x2A90,
|
||||
SMSG_QUEST_LOG_FULL = 0x2A86,
|
||||
SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9C,
|
||||
SMSG_QUEST_POI_UPDATE_RESPONSE = 0x2A9E,
|
||||
SMSG_QUEST_PUSH_RESULT = 0x2A8F,
|
||||
SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8F,
|
||||
SMSG_QUEST_FORCE_REMOVED = 0x2A9C,
|
||||
SMSG_QUEST_GIVER_INVALID_QUEST = 0x2A85,
|
||||
SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE = 0x2A94,
|
||||
SMSG_QUEST_GIVER_QUEST_COMPLETE = 0x2A83,
|
||||
SMSG_QUEST_GIVER_QUEST_DETAILS = 0x2A92,
|
||||
SMSG_QUEST_GIVER_QUEST_FAILED = 0x2A86,
|
||||
SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE = 0x2A9A,
|
||||
SMSG_QUEST_GIVER_REQUEST_ITEMS = 0x2A93,
|
||||
SMSG_QUEST_GIVER_STATUS = 0x2A9B,
|
||||
SMSG_QUEST_GIVER_STATUS_MULTIPLE = 0x2A91,
|
||||
SMSG_QUEST_LOG_FULL = 0x2A87,
|
||||
SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9D,
|
||||
SMSG_QUEST_POI_UPDATE_RESPONSE = 0x2A9F,
|
||||
SMSG_QUEST_PUSH_RESULT = 0x2A90,
|
||||
SMSG_QUEST_SESSION_INFO_RESPONSE = 0x2882,
|
||||
SMSG_QUEST_SESSION_READY_CHECK = 0x2870,
|
||||
SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x2871,
|
||||
SMSG_QUEST_SESSION_RESULT = 0x286F,
|
||||
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8B,
|
||||
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8C,
|
||||
SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x2A8D,
|
||||
SMSG_QUEST_UPDATE_COMPLETE = 0x2A88,
|
||||
SMSG_QUEST_UPDATE_COMPLETE_BY_SPELL = 0x2A87,
|
||||
SMSG_QUEST_UPDATE_FAILED = 0x2A89,
|
||||
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8A,
|
||||
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8C,
|
||||
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8D,
|
||||
SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x2A8E,
|
||||
SMSG_QUEST_UPDATE_COMPLETE = 0x2A89,
|
||||
SMSG_QUEST_UPDATE_COMPLETE_BY_SPELL = 0x2A88,
|
||||
SMSG_QUEST_UPDATE_FAILED = 0x2A8A,
|
||||
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8B,
|
||||
SMSG_QUEUE_SUMMARY_UPDATE = 0x2815,
|
||||
SMSG_RAF_ACCOUNT_INFO = 0x286D,
|
||||
SMSG_RAF_ACTIVITY_STATE_CHANGED = 0x287E,
|
||||
@@ -1717,7 +1722,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_RESEARCH_COMPLETE = 0x2587,
|
||||
SMSG_RESET_COMPRESSION_CONTEXT = 0x304F,
|
||||
SMSG_RESET_FAILED_NOTIFY = 0x26B4,
|
||||
SMSG_RESET_QUEST_POI = 0x2A9F,
|
||||
SMSG_RESET_QUEST_POI = 0x2AA0,
|
||||
SMSG_RESET_RANGED_COMBAT_TIMER = 0x2943,
|
||||
SMSG_RESET_WEEKLY_CURRENCY = 0x2575,
|
||||
SMSG_RESPEC_WIPE_CONFIRM = 0x2610,
|
||||
@@ -1798,7 +1803,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_SHOW_BANK = 0x267D,
|
||||
SMSG_SHOW_MAILBOX = 0x27A9,
|
||||
SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25D7,
|
||||
SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x2A94,
|
||||
SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x2A95,
|
||||
SMSG_SHOW_TAXI_NODES = 0x26CA,
|
||||
SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x2773,
|
||||
SMSG_SOCKET_GEMS_FAILURE = 0x272C,
|
||||
@@ -1878,7 +1883,7 @@ enum OpcodeServer : uint16
|
||||
SMSG_TWITTER_STATUS = 0x3043,
|
||||
SMSG_UI_HEALING_RANGE_MODIFIED = 0x2748,
|
||||
SMSG_UI_ITEM_INTERACTION_NPC = 0x27FB,
|
||||
SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x2AA1,
|
||||
SMSG_UI_MAP_QUEST_LINES_RESPONSE = 0x2AA2,
|
||||
SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27CD,
|
||||
SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27CE,
|
||||
SMSG_UNLEARNED_SPELLS = 0x2C4E,
|
||||
|
||||
Reference in New Issue
Block a user