diff options
Diffstat (limited to 'src')
86 files changed, 3328 insertions, 2687 deletions
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp index 9a6b1c3412e..80995bdaba9 100644 --- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp +++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp @@ -242,7 +242,7 @@ void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battlegro } case STATUS_WAIT_JOIN: { - data->Initialize(SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION); + data->Initialize(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION); *data << uint32(bg->GetClientInstanceID()); // Client Instance ID *data << uint32(Time1); // Time until closed diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp index 14781b0324b..bcb5cbea16c 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp @@ -240,13 +240,13 @@ void BattlegroundAB::HandleAreaTrigger(Player* player, uint32 trigger) { case 3948: // Arathi Basin Alliance Exit. if (player->GetTeam() != ALLIANCE) - player->GetSession()->SendAreaTriggerMessage("Only The Alliance can use that portal"); + player->GetSession()->SendNotification("Only The Alliance can use that portal"); else player->LeaveBattleground(); break; case 3949: // Arathi Basin Horde Exit. if (player->GetTeam() != HORDE) - player->GetSession()->SendAreaTriggerMessage("Only The Horde can use that portal"); + player->GetSession()->SendNotification("Only The Horde can use that portal"); else player->LeaveBattleground(); break; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp index cf9507a34ed..193a7009818 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp @@ -503,13 +503,13 @@ void BattlegroundAV::HandleAreaTrigger(Player* player, uint32 trigger) case 95: case 2608: if (player->GetTeam() != ALLIANCE) - player->GetSession()->SendAreaTriggerMessage("Only The Alliance can use that portal"); + player->GetSession()->SendNotification("Only The Alliance can use that portal"); else player->LeaveBattleground(); break; case 2606: if (player->GetTeam() != HORDE) - player->GetSession()->SendAreaTriggerMessage("Only The Horde can use that portal"); + player->GetSession()->SendNotification("Only The Horde can use that portal"); else player->LeaveBattleground(); break; diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index 562fcad29a4..d79ed707d72 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -473,7 +473,7 @@ void CalendarMgr::SendCalendarEventUpdateAlert(CalendarEvent const& calendarEven void CalendarMgr::SendCalendarEventStatus(CalendarEvent const& calendarEvent, CalendarInvite const& invite) { - WorldPacket data(SMSG_CALENDAR_EVENT_STATUS, 8 + 8 + 4 + 4 + 1 + 1 + 4); + WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_STATUS, 8 + 8 + 4 + 4 + 1 + 1 + 4); data << invite.GetInviteeGUID().WriteAsPacked(); data << uint64(calendarEvent.GetEventId()); data.AppendPackedTime(calendarEvent.GetEventTime()); diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index 314aae65617..d676a54d79f 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -333,7 +333,7 @@ void QuestMenu::ClearMenu() void PlayerMenu::SendQuestGiverQuestList(QEmote const& eEmote, const std::string& Title, ObjectGuid npcGUID) { - WorldPacket data(SMSG_QUESTGIVER_QUEST_LIST, 100); // guess size + WorldPacket data(SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE, 100); // guess size data << npcGUID; data << Title; data << uint32(eEmote._Delay); // player emote diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 2a6f5ae7df8..87ba06f9267 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -25,6 +25,7 @@ #include "GridNotifiersImpl.h" #include "Group.h" #include "GroupMgr.h" +#include "MiscPackets.h" #include "ObjectMgr.h" #include "OutdoorPvPMgr.h" #include "PoolMgr.h" @@ -1361,7 +1362,7 @@ void GameObject::Use(Unit* user) { if (info->goober.pageID) // show page... { - WorldPacket data(SMSG_GAMEOBJECT_PAGETEXT, 8); + WorldPacket data(SMSG_PAGE_TEXT, 8); data << GetGUID(); player->SendDirectMessage(&data); } @@ -1770,8 +1771,8 @@ void GameObject::Use(Unit* user) // fallback, will always work player->TeleportTo(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET); - WorldPacket data(SMSG_ENABLE_BARBER_SHOP, 0); - player->SendDirectMessage(&data); + WorldPackets::Misc::EnableBarberShop packet; + player->SendDirectMessage(packet.Write()); player->SetStandState(UnitStandStateType(UNIT_STAND_STATE_SIT_LOW_CHAIR + info->barberChair.chairheight)); return; @@ -1848,7 +1849,7 @@ void GameObject::CastSpell(Unit* target, uint32 spellId, bool triggered /*= true void GameObject::SendCustomAnim(uint32 anim) { - WorldPacket data(SMSG_GAMEOBJECT_CUSTOM_ANIM, 8+4); + WorldPacket data(SMSG_GAME_OBJECT_CUSTOM_ANIM, 8 + 4); data << GetGUID(); data << uint32(anim); SendMessageToSet(&data, true); diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 44fbae1e208..d202665b18f 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2358,7 +2358,7 @@ void WorldObject::SendMessageToSet(WorldPacket const* data, Player const* skippe void WorldObject::SendObjectDeSpawnAnim(ObjectGuid guid) { - WorldPacket data(SMSG_GAMEOBJECT_DESPAWN_ANIM, 8); + WorldPacket data(SMSG_GAME_OBJECT_DESPAWN, 8); data << guid; SendMessageToSet(&data, true); } diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index d96e1c65eda..87ca9110e24 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -1428,7 +1428,7 @@ bool Pet::learnSpell(uint32 spell_id) if (!m_loading) { - WorldPacket data(SMSG_PET_LEARNED_SPELL, 4); + WorldPacket data(SMSG_PET_LEARNED_SPELLS, 4); data << uint32(spell_id); GetOwner()->GetSession()->SendPacket(&data); GetOwner()->PetSpellInitialize(); @@ -1481,7 +1481,7 @@ bool Pet::unlearnSpell(uint32 spell_id, bool learn_prev, bool clear_ab) { if (!m_loading) { - WorldPacket data(SMSG_PET_REMOVED_SPELL, 4); + WorldPacket data(SMSG_PET_UNLEARNED_SPELLS, 4); data << uint32(spell_id); GetOwner()->GetSession()->SendPacket(&data); } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 284e669cd49..b594e694416 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2817,7 +2817,7 @@ void Player::RemoveFromGroup(Group* group, ObjectGuid guid, RemoveMethod method void Player::SendLogXPGain(uint32 GivenXP, Unit* victim, uint32 BonusXP, bool recruitAFriend, float /*group_rate*/) { - WorldPacket data(SMSG_LOG_XPGAIN, 21); // guess size? + WorldPacket data(SMSG_LOG_XP_GAIN, 21); // guess size? data << (victim ? victim->GetGUID() : ObjectGuid::Empty); data << uint32(GivenXP + BonusXP); // given experience data << uint8(victim ? 0 : 1); // 00-kill_xp type, 01-non_kill_xp type @@ -7158,7 +7158,7 @@ void Player::UpdateConquestCurrencyCap(uint32 currency) uint32 precision = (currencyEntry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? 100 : 1; uint32 cap = GetCurrencyWeekCap(currencyEntry); - WorldPacket packet(SMSG_UPDATE_CURRENCY_WEEK_LIMIT, 8); + WorldPacket packet(SMSG_SET_MAX_WEEKLY_QUANTITY, 8); packet << uint32(cap / precision); packet << uint32(currenciesToUpdate[i]); GetSession()->SendPacket(&packet); @@ -16272,7 +16272,7 @@ void Player::SendQuestFailed(uint32 questId, InventoryResult reason) { if (questId) { - WorldPacket data(SMSG_QUESTGIVER_QUEST_FAILED, 4 + 4); + WorldPacket data(SMSG_QUEST_GIVER_QUEST_FAILED, 4 + 4); data << uint32(questId); data << uint32(reason); // failed reason (valid reasons: 4, 16, 50, 17, 74, other values show default message) GetSession()->SendPacket(&data); @@ -16293,7 +16293,7 @@ void Player::SendQuestTimerFailed(uint32 quest_id) void Player::SendCanTakeQuestResponse(QuestFailedReason msg) const { - WorldPacket data(SMSG_QUESTGIVER_QUEST_INVALID, 4); + WorldPacket data(SMSG_QUEST_GIVER_INVALID_QUEST, 4); data << uint32(msg); GetSession()->SendPacket(&data); TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTGIVER_QUEST_INVALID"); @@ -18454,7 +18454,7 @@ void Player::SendRaidInfo() { uint32 counter = 0; - WorldPacket data(SMSG_RAID_INSTANCE_INFO, 4); + WorldPacket data(SMSG_INSTANCE_INFO, 4); size_t p_counter = data.wpos(); data << uint32(counter); // placeholder @@ -18589,7 +18589,7 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report if (DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, target_map, this)) { - GetSession()->SendAreaTriggerMessage("%s", GetSession()->GetTrinityString(LANG_INSTANCE_CLOSED)); + GetSession()->SendNotification("%s", GetSession()->GetTrinityString(LANG_INSTANCE_CLOSED)); return false; } @@ -18620,9 +18620,9 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report else if (mapDiff->HasMessage()) // if (missingAchievement) covered by this case SendTransferAborted(target_map, TRANSFER_ABORT_DIFFICULTY, target_difficulty); else if (missingItem) - GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, ASSERT_NOTNULL(sObjectMgr->GetItemTemplate(missingItem))->GetName(GetSession()->GetSessionDbcLocale())); + GetSession()->SendNotification(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, ASSERT_NOTNULL(sObjectMgr->GetItemTemplate(missingItem))->GetName(GetSession()->GetSessionDbcLocale())); else if (LevelMin) - GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED), LevelMin); + GetSession()->SendNotification(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED), LevelMin); } return false; } @@ -20150,7 +20150,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) if (pet->isControlled()) { - WorldPacket data(SMSG_PET_SPELLS, 8); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8); data << uint64(0); GetSession()->SendPacket(&data); @@ -20302,7 +20302,7 @@ void Player::PetSpellInitialize() CharmInfo* charmInfo = pet->GetCharmInfo(); - WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 1); data << pet->GetGUID(); data << uint16(pet->GetCreatureTemplate()->family); // creature family (required for pet talents) data << uint32(pet->GetDuration()); @@ -20354,7 +20354,7 @@ void Player::PossessSpellInitialize() return; } - WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 1); data << charm->GetGUID(); data << uint16(0); data << uint32(0); @@ -20378,7 +20378,7 @@ void Player::VehicleSpellInitialize() uint8 cooldownCount = 0; - WorldPacket data(SMSG_PET_SPELLS, 8 + 2 + 4 + 4 + 4 * 10 + 1 + 1 + cooldownCount * (4 + 2 + 4 + 4)); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * 10 + 1 + 1 + cooldownCount * (4 + 2 + 4 + 4)); data << vehicle->GetGUID(); // Guid data << uint16(0); // Pet Family (0 for all vehicles) data << uint32(vehicle->IsSummon() ? vehicle->ToTempSummon()->GetTimer() : 0); // Duration @@ -20446,7 +20446,7 @@ void Player::CharmSpellInitialize() } } - WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+4*addlist+1); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 4 * addlist + 1); data << charm->GetGUID(); data << uint16(0); data << uint32(0); @@ -20478,7 +20478,7 @@ void Player::CharmSpellInitialize() void Player::SendRemoveControlBar() { - WorldPacket data(SMSG_PET_SPELLS, 8); + WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8); data << uint64(0); GetSession()->SendPacket(&data); } @@ -22157,7 +22157,7 @@ void Player::UpdateTriggerVisibility() WorldPacket packet; for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) { - if (itr->IsCreature()) + if (itr->IsCreatureOrVehicle()) { Creature* creature = GetMap()->GetCreature(*itr); // Update fields of triggers, transformed units or unselectable units (values dependent on GM state) @@ -22329,17 +22329,18 @@ void Player::SendComboPoints() Unit* combotarget = ObjectAccessor::GetUnit(*this, m_comboTarget); if (combotarget) { - WorldPacket data; - if (m_mover != this) - { - data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_mover->GetPackGUID().size()+combotarget->GetPackGUID().size()+1); - data << m_mover->GetPackGUID(); - } - else - data.Initialize(SMSG_UPDATE_COMBO_POINTS, combotarget->GetPackGUID().size()+1); - data << combotarget->GetPackGUID(); - data << uint8(m_comboPoints); - GetSession()->SendPacket(&data); + // Combo points are now a power + //WorldPacket data; + //if (m_mover != this) + //{ + // data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_mover->GetPackGUID().size()+combotarget->GetPackGUID().size()+1); + // data << m_mover->GetPackGUID(); + //} + //else + // data.Initialize(SMSG_UPDATE_COMBO_POINTS, combotarget->GetPackGUID().size()+1); + //data << combotarget->GetPackGUID(); + //data << uint8(m_comboPoints); + //GetSession()->SendPacket(&data); } } @@ -23700,7 +23701,7 @@ void Player::ResurrectUsingRequestData() void Player::SetClientControl(Unit* target, bool allowMove) { - WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, target->GetPackGUID().size()+1); + WorldPacket data(SMSG_CONTROL_UPDATE, target->GetPackGUID().size()+1); data << target->GetPackGUID(); data << uint8(allowMove ? 1 : 0); GetSession()->SendPacket(&data); @@ -25646,7 +25647,7 @@ void Player::SendRefundInfo(Item* item) } ObjectGuid guid = item->GetGUID(); - WorldPacket data(SMSG_ITEM_REFUND_INFO_RESPONSE, 8+4+4+4+4*4+4*4+4+4); + WorldPacket data(SMSG_SET_ITEM_PURCHASE_DATA, 8 + 4 + 4 + 4 + 4 * 4 + 4 * 4 + 4 + 4); data.WriteBit(guid[3]); data.WriteBit(guid[5]); data.WriteBit(guid[7]); @@ -26080,8 +26081,8 @@ void Player::OnCombatExit() void Player::SendMovementSetCanTransitionBetweenSwimAndFly(bool apply) { Movement::PacketSender(this, static_cast<OpcodeServer>(NULL_OPCODE), apply ? - SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY : - SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY).Send(); + SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY : + SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY).Send(); } void Player::SendMovementSetCollisionHeight(float height) @@ -26593,7 +26594,7 @@ void Player::SendUpdatePhasing() void Player::SendSupercededSpell(uint32 oldSpell, uint32 newSpell) { - WorldPacket data(SMSG_SUPERCEDED_SPELL, 8); + WorldPacket data(SMSG_SUPERCEDED_SPELLS, 8); data << uint32(newSpell) << uint32(oldSpell); GetSession()->SendPacket(&data); } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index a5596158441..324cd209afc 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4755,7 +4755,7 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* pInfo) { AuraEffect const* aura = pInfo->auraEff; - WorldPacket data(SMSG_PERIODICAURALOG, 30); + WorldPacket data(SMSG_SPELL_PERIODIC_AURA_LOG, 30); data << GetPackGUID(); data << aura->GetCasterGUID().WriteAsPacked(); data << uint32(aura->GetId()); // spellId @@ -9548,7 +9548,7 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry) if (CreateVehicleKit(VehicleId, creatureEntry)) { // Send others that we now have a vehicle - WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, GetPackGUID().size()+4); + WorldPacket data(SMSG_SET_VEHICLE_REC_ID, GetPackGUID().size() + 4); data << GetPackGUID(); data << uint32(VehicleId); SendMessageToSet(&data, true); @@ -9597,7 +9597,7 @@ void Unit::Dismount() if (GetTypeId() == TYPEID_PLAYER && GetVehicleKit()) { // Send other players that we are no longer a vehicle - data.Initialize(SMSG_PLAYER_VEHICLE_DATA, 8+4); + data.Initialize(SMSG_SET_VEHICLE_REC_ID, 8 + 4); data << GetPackGUID(); data << uint32(0); ToPlayer()->SendMessageToSet(&data, true); @@ -13329,7 +13329,7 @@ void Unit::SetMovementAnimKitId(uint16 animKitId) _movementAnimKitId = animKitId; - WorldPacket data(SMSG_MOVE_SET_ANIM_KIT, 8 + 2); + WorldPacket data(SMSG_SET_MOVEMENT_ANIM_KIT, 8 + 2); data << GetPackGUID(); data << uint16(animKitId); SendMessageToSet(&data, true); @@ -16143,8 +16143,8 @@ bool Unit::SetHover(bool enable, bool packetOnly /*= false*/) static OpcodeServer const hoverOpcodeTable[2][2] = { - { SMSG_MOVE_SPLINE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVER }, - { SMSG_MOVE_SPLINE_SET_HOVER, SMSG_MOVE_SET_HOVER } + { SMSG_MOVE_SPLINE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVERING }, + { SMSG_MOVE_SPLINE_SET_HOVER, SMSG_MOVE_SET_HOVERING } }; bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER; @@ -16192,14 +16192,6 @@ void Unit::SendSetPlayHoverAnim(bool enable) SendMessageToSet(&data, true); } -void Unit::SendMovementSetSplineAnim(Movement::AnimType anim) -{ - WorldPacket data(SMSG_MOVE_SPLINE_SET_ANIM, 8 + 4); - data << GetPackGUID(); - data << uint32(anim); - SendMessageToSet(&data, false); -} - bool Unit::IsSplineEnabled() const { return movespline->Initialized() && !movespline->Finalized(); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 1704164f592..080dd7e322e 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1650,7 +1650,6 @@ class Unit : public WorldObject void SendSetPlayHoverAnim(bool enable); - void SendMovementSetSplineAnim(Movement::AnimType anim); bool IsLevitating() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY); } bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 9bf73c57193..acadc036fb3 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3358,8 +3358,6 @@ void ObjectMgr::BuildPlayerLevelInfo(uint8 race, uint8 _class, uint8 level, Play } } -int32 const ReputationMgr::Reputation_Cap; - void ObjectMgr::LoadQuests() { uint32 oldMSTime = getMSTime(); diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 77484f372a3..fa7223205d5 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -2520,7 +2520,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max { uint32 count = 0; - WorldPacket data(SMSG_CALENDAR_FILTER_GUILD); + WorldPacket data(SMSG_CALENDAR_EVENT_INITIAL_INVITES); data << uint32(count); // count placeholder for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) @@ -2539,7 +2539,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank)) { data << member->GetGUID().WriteAsPacked(); - data << uint8(0); // unk + data << uint8(level); ++count; } } diff --git a/src/server/game/Guilds/GuildFinderMgr.cpp b/src/server/game/Guilds/GuildFinderMgr.cpp index 45364a4bae0..3eec50efbc8 100644 --- a/src/server/game/Guilds/GuildFinderMgr.cpp +++ b/src/server/game/Guilds/GuildFinderMgr.cpp @@ -317,7 +317,7 @@ void GuildFinderMgr::DeleteGuild(ObjectGuid const& guildId) void GuildFinderMgr::SendApplicantListUpdate(Guild* guild) { - WorldPacket data(SMSG_LF_GUILD_APPLICANT_LIST_UPDATED, 0); + WorldPacket data(SMSG_LF_GUILD_APPLICANT_LIST_CHANGED, 0); if (Player* player = ObjectAccessor::FindPlayer(guild->GetLeaderGUID())) player->SendDirectMessage(&data); guild->BroadcastPacketToRank(&data, GR_OFFICER); diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index bef8aa2fdb4..8c3ae15cefc 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -78,23 +78,23 @@ void WorldSession::SendAuctionCommandResult(AuctionEntry* auction, uint32 action } //this function sends notification, if bidder is online -void WorldSession::SendAuctionBidderNotification(uint32 location, uint32 auctionId, ObjectGuid bidder, uint32 bidSum, uint32 diff, uint32 itemEntry) +void WorldSession::SendAuctionBidderNotification(uint32 /*location*/, uint32 /*auctionId*/, ObjectGuid /*bidder*/, uint32 /*bidSum*/, uint32 /*diff*/, uint32 /*itemEntry*/) { - WorldPacket data(SMSG_AUCTION_BIDDER_NOTIFICATION, (8*4)); - data << uint32(location); - data << uint32(auctionId); - data << bidder; - data << uint64(bidSum); - data << uint64(diff); - data << uint32(itemEntry); - data << uint32(0); - SendPacket(&data); + //WorldPacket data(SMSG_AUCTION_BIDDER_NOTIFICATION, (8*4)); + //data << uint32(location); + //data << uint32(auctionId); + //data << bidder; + //data << uint64(bidSum); + //data << uint64(diff); + //data << uint32(itemEntry); + //data << uint32(0); + //SendPacket(&data); } // this void causes on client to display: "Your auction sold" void WorldSession::SendAuctionOwnerNotification(AuctionEntry* auction) { - WorldPacket data(SMSG_AUCTION_OWNER_NOTIFICATION, 40); + WorldPacket data(SMSG_AUCTION_CLOSED_NOTIFICATION, 40); data << uint32(auction->Id); data << uint64(auction->bid); data << uint64(0); //unk @@ -105,13 +105,13 @@ void WorldSession::SendAuctionOwnerNotification(AuctionEntry* auction) SendPacket(&data); } -void WorldSession::SendAuctionRemovedNotification(uint32 auctionId, uint32 itemEntry, int32 randomPropertyId) +void WorldSession::SendAuctionRemovedNotification(uint32 /*auctionId*/, uint32 /*itemEntry*/, int32 /*randomPropertyId*/) { - WorldPacket data(SMSG_AUCTION_REMOVED_NOTIFICATION, (4+4+4)); - data << uint32(auctionId); - data << uint32(itemEntry); - data << uint32(randomPropertyId); - SendPacket(&data); + //WorldPacket data(SMSG_AUCTION_REMOVED_NOTIFICATION, (4+4+4)); + //data << uint32(auctionId); + //data << uint32(itemEntry); + //data << uint32(randomPropertyId); + //SendPacket(&data); } //this void creates new auction and adds auction to some auctionhouse diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index bff4087bdd5..db8fd6edae3 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -799,7 +799,7 @@ void WorldSession::HandleRequestRatedBattlefieldInfo(WorldPacket& recvData) /// @Todo: perfome research in this case /// The unk fields are related to arenas - WorldPacket data(SMSG_RATED_BG_STATS, 72); + WorldPacket data(SMSG_RATED_BATTLEFIELD_INFO, 72); data << uint32(0); // BgWeeklyWins20vs20 data << uint32(0); // BgWeeklyPlayed20vs20 data << uint32(0); // BgWeeklyPlayed15vs15 @@ -848,17 +848,5 @@ void WorldSession::HandleRequestPvpReward(WorldPacket& /*recvData*/) void WorldSession::HandleRequestRatedBgStats(WorldPacket& /*recvData*/) { - TC_LOG_DEBUG("network", "WORLD: CMSG_REQUEST_RATED_BG_STATS"); - - WorldPacket data(SMSG_BATTLEFIELD_RATED_INFO, 29); - data << uint32(0); // Reward - data << uint8(3); // unk - data << uint32(0); // unk - data << uint32(0); // unk - data << _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, true); - data << uint32(0); // unk - data << uint32(0); // unk - data << _player->GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, true); - - SendPacket(&data); + // deleted opcode } diff --git a/src/server/game/Handlers/BattlefieldHandler.cpp b/src/server/game/Handlers/BattlefieldHandler.cpp index e95e9ee9104..542ebee4950 100644 --- a/src/server/game/Handlers/BattlefieldHandler.cpp +++ b/src/server/game/Handlers/BattlefieldHandler.cpp @@ -37,7 +37,7 @@ */ void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 acceptTime) { - WorldPacket data(SMSG_BATTLEFIELD_MGR_ENTRY_INVITE, 16); + WorldPacket data(SMSG_BF_MGR_ENTRY_INVITE, 16); data.WriteBit(guid[5]); data.WriteBit(guid[3]); @@ -70,7 +70,7 @@ void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint3 */ void WorldSession::SendBfInvitePlayerToQueue(ObjectGuid guid) { - WorldPacket data(SMSG_BATTLEFIELD_MGR_QUEUE_INVITE, 5); + WorldPacket data(SMSG_BF_MGR_QUEUE_INVITE, 5); data.WriteBit(1); // unk data.WriteBit(0); // Has Warmup @@ -117,7 +117,7 @@ void WorldSession::SendBfQueueInviteResponse(ObjectGuid guid, uint32 zoneId, boo const bool hasSecondGuid = false; const bool warmup = true; - WorldPacket data(SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE, 16); + WorldPacket data(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, 16); data.WriteBit(guid[1]); data.WriteBit(guid[6]); @@ -167,7 +167,7 @@ void WorldSession::SendBfEntered(ObjectGuid guid) { uint8 isAFK = _player->isAFK() ? 1 : 0; - WorldPacket data(SMSG_BATTLEFIELD_MGR_ENTERING, 11); + WorldPacket data(SMSG_BF_MGR_ENTERING, 11); data.WriteBit(0); // unk data.WriteBit(isAFK); // Clear AFK @@ -205,7 +205,7 @@ void WorldSession::SendBfEntered(ObjectGuid guid) */ void WorldSession::SendBfLeaveMessage(ObjectGuid guid, BFLeaveReason reason /*= BF_LEAVE_REASON_EXITED*/) { - WorldPacket data(SMSG_BATTLEFIELD_MGR_EJECTED, 11); + WorldPacket data(SMSG_BF_MGR_EJECTED, 11); data.WriteBit(guid[2]); data.WriteBit(guid[5]); diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 34c50cac180..b7d24b97478 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -921,9 +921,9 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) pCurrChar->SetGuildLevel(0); } - WorldPacket data(SMSG_LEARNED_DANCE_MOVES, 4+4); - data << uint64(0); - SendPacket(&data); + //WorldPacket data(SMSG_LEARNED_DANCE_MOVES, 4+4); + //data << uint64(0); + //SendPacket(&data); WorldPackets::Query::HotfixNotifyBlob hotfixInfo; hotfixInfo.Hotfixes = sDB2Manager.GetHotfixData(); @@ -1089,7 +1089,7 @@ void WorldSession::SendFeatureSystemStatus() features.ScrollOfResurrectionRequestsRemaining = 1; features.ScrollOfResurrectionMaxRequestsPerDay = 1; features.UnkInt27 = 60; - features.UnkInt29 = 20; + features.TwitterMsTillCanPost = 20; features.CfgRealmID = 2; features.CfgRealmRecID = 0; features.VoiceEnabled = false; @@ -1365,24 +1365,21 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recvData) SendSetPlayerDeclinedNamesResult(DECLINED_NAMES_RESULT_SUCCESS, guid); } -void WorldSession::HandleAlterAppearance(WorldPacket& recvData) +void WorldSession::HandleAlterAppearance(WorldPackets::Character::AlterApperance& packet) { TC_LOG_DEBUG("network", "CMSG_ALTER_APPEARANCE"); - uint32 Hair, Color, FacialHair, SkinColor; - recvData >> Hair >> Color >> FacialHair >> SkinColor; - - BarberShopStyleEntry const* bs_hair = sBarberShopStyleStore.LookupEntry(Hair); + BarberShopStyleEntry const* bs_hair = sBarberShopStyleStore.LookupEntry(packet.NewHairStyle); if (!bs_hair || bs_hair->Type != 0 || bs_hair->Race != _player->getRace() || bs_hair->Sex != _player->getGender()) return; - BarberShopStyleEntry const* bs_facialHair = sBarberShopStyleStore.LookupEntry(FacialHair); + BarberShopStyleEntry const* bs_facialHair = sBarberShopStyleStore.LookupEntry(packet.NewFacialHair); if (!bs_facialHair || bs_facialHair->Type != 2 || bs_facialHair->Race != _player->getRace() || bs_facialHair->Sex != _player->getGender()) return; - BarberShopStyleEntry const* bs_skinColor = sBarberShopStyleStore.LookupEntry(SkinColor); + BarberShopStyleEntry const* bs_skinColor = sBarberShopStyleStore.LookupEntry(packet.NewSkinColor); if (bs_skinColor && (bs_skinColor->Type != 3 || bs_skinColor->Race != _player->getRace() || bs_skinColor->Sex != _player->getGender())) return; @@ -1400,7 +1397,7 @@ void WorldSession::HandleAlterAppearance(WorldPacket& recvData) return; } - uint32 cost = _player->GetBarberShopCost(bs_hair->Data, Color, bs_facialHair->Data, bs_skinColor); + uint32 cost = _player->GetBarberShopCost(bs_hair->Data, packet.NewHairColor, bs_facialHair->Data, bs_skinColor); // 0 - ok // 1, 3 - not enough money @@ -1417,7 +1414,7 @@ void WorldSession::HandleAlterAppearance(WorldPacket& recvData) _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER, cost); _player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID, uint8(bs_hair->Data)); - _player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, uint8(Color)); + _player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, uint8(packet.NewHairColor)); _player->SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE, uint8(bs_facialHair->Data)); if (bs_skinColor) _player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID, uint8(bs_skinColor->Data)); @@ -2572,9 +2569,9 @@ void WorldSession::SendSetPlayerDeclinedNamesResult(DeclinedNameResult result, O void WorldSession::SendBarberShopResult(BarberShopResult result) { - WorldPacket data(SMSG_BARBER_SHOP_RESULT, 4); - data << uint32(result); - SendPacket(&data); + WorldPackets::Character::BarberShopResultServer packet; + packet.Result = result; + SendPacket(packet.Write()); } void WorldSession::SendUndeleteCooldownStatusResponse(uint32 currentCooldown, uint32 maxCooldown) diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 4818d428db9..ad613fbb750 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -59,7 +59,7 @@ void WorldSession::HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& pack case CMSG_MESSAGECHAT_OFFICER: type = CHAT_MSG_OFFICER; break; - /*case CMSG_MESSAGECHAT_PARTY: + case CMSG_MESSAGECHAT_PARTY: type = CHAT_MSG_PARTY; break; case CMSG_MESSAGECHAT_RAID: @@ -67,7 +67,7 @@ void WorldSession::HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& pack break; case CMSG_MESSAGECHAT_RAID_WARNING: type = CHAT_MSG_RAID_WARNING; - break;*/ + break; default: TC_LOG_ERROR("network", "HandleMessagechatOpcode : Unknown chat opcode (%u)", packet.GetOpcode()); return; @@ -249,7 +249,7 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg, if (GetPlayer()->GetTeam() != receiver->GetTeam() && !HasPermission(rbac::RBAC_PERM_TWO_SIDE_INTERACTION_CHAT) && !receiver->IsInWhisperWhiteList(sender->GetGUID())) { - SendWrongFactionNotice(); + SendPlayerNotFoundNotice(target); return; } @@ -628,7 +628,7 @@ void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData) void WorldSession::SendPlayerNotFoundNotice(std::string const& name) { - WorldPacket data(SMSG_CHAT_PLAYER_NOT_FOUND, name.size()+1); + WorldPacket data(SMSG_CHAT_PLAYER_NOTFOUND, name.size()+1); data << name; SendPacket(&data); } @@ -640,12 +640,6 @@ void WorldSession::SendPlayerAmbiguousNotice(std::string const& name) SendPacket(&data); } -void WorldSession::SendWrongFactionNotice() -{ - WorldPacket data(SMSG_CHAT_WRONG_FACTION, 0); - SendPacket(&data); -} - void WorldSession::SendChatRestrictedNotice(ChatRestrictionType restriction) { WorldPacket data(SMSG_CHAT_RESTRICTED, 1); diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index 03d4cb6e367..13f735c793e 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -751,11 +751,7 @@ void WorldSession::HandleGroupRequestJoinUpdates(WorldPacket& /*recvData*/) if (!group) return; - WorldPacket data(SMSG_REAL_GROUP_UPDATE, 1 + 4 + 8); - data << uint8(group->GetGroupType()); - data << uint32(group->GetMembersCount() - 1); - data << group->GetLeaderGUID(); - SendPacket(&data); + // does some stuff. dunno what. } void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData) @@ -909,7 +905,7 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player* player, WorldPacke if (mask & GROUP_UPDATE_FLAG_PET_POWER_TYPE) // same for pets mask |= (GROUP_UPDATE_FLAG_PET_CUR_POWER | GROUP_UPDATE_FLAG_PET_MAX_POWER); - data->Initialize(SMSG_PARTY_MEMBER_STATS, 80); // average value + data->Initialize(SMSG_PARTY_MEMBER_STATE, 80); // average value *data << player->GetPackGUID(); *data << uint32(mask); @@ -1142,7 +1138,7 @@ void WorldSession::HandleRequestPartyMemberStatsOpcode(WorldPacket& recvData) Player* player = ObjectAccessor::FindConnectedPlayer(Guid); if (!player) { - WorldPacket data(SMSG_PARTY_MEMBER_STATS_FULL, 3+4+2); + WorldPacket data(SMSG_PARTY_MEMBER_STATE, 3 + 4 + 2); data << uint8(0); // only for SMSG_PARTY_MEMBER_STATS_FULL, probably arena/bg related data << Guid.WriteAsPacked(); data << uint32(GROUP_UPDATE_FLAG_STATUS); @@ -1155,7 +1151,7 @@ void WorldSession::HandleRequestPartyMemberStatsOpcode(WorldPacket& recvData) Powers powerType = player->getPowerType(); std::set<uint32> const& phases = player->GetPhases(); - WorldPacket data(SMSG_PARTY_MEMBER_STATS_FULL, 4+2+2+2+1+2*6+8+1+8); + WorldPacket data(SMSG_PARTY_MEMBER_STATE, 4 + 2 + 2 + 2 + 1 + 2 * 6 + 8 + 1 + 8); data << uint8(0); // only for SMSG_PARTY_MEMBER_STATS_FULL, probably arena/bg related data << player->GetPackGUID(); diff --git a/src/server/game/Handlers/GuildFinderHandler.cpp b/src/server/game/Handlers/GuildFinderHandler.cpp index 76cca1c3954..3959f659e85 100644 --- a/src/server/game/Handlers/GuildFinderHandler.cpp +++ b/src/server/game/Handlers/GuildFinderHandler.cpp @@ -214,7 +214,7 @@ void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/) std::list<MembershipRequest> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUID()); uint32 applicationsCount = applicatedGuilds.size(); - WorldPacket data(SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED, 7 + 54 * applicationsCount); + WorldPacket data(SMSG_LF_GUILD_APPLICATIONS, 7 + 54 * applicationsCount); data.WriteBits(applicationsCount, 20); if (applicationsCount > 0) diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index db7b49521c3..c03aee9dd5a 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -332,7 +332,7 @@ void WorldSession::HandleReadItem(WorldPacket& recvData) } else { - data.Initialize(SMSG_READ_ITEM_FAILED, 8); + data.Initialize(SMSG_READ_ITEM_RESULT_FAILED, 8); TC_LOG_INFO("network", "STORAGE: Unable to read item"); _player->SendEquipError(msg, pItem, NULL); } diff --git a/src/server/game/Handlers/LFGHandler.cpp b/src/server/game/Handlers/LFGHandler.cpp index b291ffb0c9e..5c7a13ffa69 100644 --- a/src/server/game/Handlers/LFGHandler.cpp +++ b/src/server/game/Handlers/LFGHandler.cpp @@ -272,7 +272,7 @@ void WorldSession::HandleLfgTeleportOpcode(WorldPacket& recvData) void WorldSession::HandleLfgGetLockInfoOpcode(WorldPacket& recvData) { bool forPlayer = recvData.ReadBit(); - TC_LOG_DEBUG("lfg", "CMSG_LFG_LOCK_INFO_REQUEST %s for %s", GetPlayerInfo().c_str(), (forPlayer ? "player" : "party")); + TC_LOG_DEBUG("lfg", "CMSG_DF_GET_SYSTEM_INFO %s for %s", GetPlayerInfo().c_str(), (forPlayer ? "player" : "party")); if (forPlayer) SendLfgPlayerLockInfo(); @@ -404,7 +404,7 @@ void WorldSession::HandleLfrLeaveOpcode(WorldPacket& recvData) void WorldSession::HandleLfgGetStatus(WorldPacket& /*recvData*/) { - TC_LOG_DEBUG("lfg", "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str()); + TC_LOG_DEBUG("lfg", "CMSG_DF_GET_JOIN_STATUS %s", GetPlayerInfo().c_str()); if (!GetPlayer()->isUsingLfg()) return; @@ -502,7 +502,7 @@ void WorldSession::SendLfgRoleChosen(ObjectGuid guid, uint8 roles) TC_LOG_DEBUG("lfg", "SMSG_LFG_ROLE_CHOSEN %s guid: %s roles: %u", GetPlayerInfo().c_str(), guid.ToString().c_str(), roles); - WorldPacket data(SMSG_LFG_ROLE_CHOSEN, 8 + 1 + 4); + WorldPacket data(SMSG_ROLE_CHOSEN, 8 + 1 + 4); data << guid; // Guid data << uint8(roles > 0); // Ready data << uint32(roles); // Roles @@ -716,7 +716,7 @@ void WorldSession::SendLfgBootProposalUpdate(lfg::LfgPlayerBoot const& boot) GetPlayerInfo().c_str(), uint8(boot.inProgress), uint8(playerVote != lfg::LFG_ANSWER_PENDING), uint8(playerVote == lfg::LFG_ANSWER_AGREE), boot.victim.ToString().c_str(), votesNum, agreeNum, secsleft, lfg::LFG_GROUP_KICK_VOTES_NEEDED, boot.reason.c_str()); - WorldPacket data(SMSG_LFG_BOOT_PROPOSAL_UPDATE, 1 + 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length()); + WorldPacket data(SMSG_LFG_BOOT_PLAYER, 1 + 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length()); data << uint8(boot.inProgress); // Vote in progress data << uint8(agreeNum >= lfg::LFG_GROUP_KICK_VOTES_NEEDED); // Did succeed data << uint8(playerVote != lfg::LFG_ANSWER_PENDING); // Did Vote @@ -831,13 +831,13 @@ void WorldSession::SendLfgUpdateProposal(lfg::LfgProposal const& proposal) SendPacket(&data); } -void WorldSession::SendLfgLfrList(bool update) +void WorldSession::SendLfgLfrList(bool /*update*/) { - TC_LOG_DEBUG("lfg", "SMSG_LFG_LFR_LIST %s update: %u", - GetPlayerInfo().c_str(), update ? 1 : 0); - WorldPacket data(SMSG_LFG_UPDATE_SEARCH, 1); - data << uint8(update); // In Lfg Queue? - SendPacket(&data); + //TC_LOG_DEBUG("lfg", "SMSG_LFG_LFR_LIST %s update: %u", + // GetPlayerInfo().c_str(), update ? 1 : 0); + //WorldPacket data(SMSG_LFG_UPDATE_SEARCH, 1); + //data << uint8(update); // In Lfg Queue? + //SendPacket(&data); } void WorldSession::SendLfgDisabled() diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 6d813f88cdc..7d0236fe9eb 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -598,23 +598,6 @@ void WorldSession::HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse GetPlayer()->ResurrectUsingRequestData(); } -void WorldSession::SendAreaTriggerMessage(const char* Text, ...) -{ - va_list ap; - char szStr [1024]; - szStr[0] = '\0'; - - va_start(ap, Text); - vsnprintf(szStr, 1024, Text, ap); - va_end(ap); - - uint32 length = strlen(szStr)+1; - WorldPacket data(SMSG_AREA_TRIGGER_MESSAGE, 4+length); - data << length; - data << szStr; - SendPacket(&data); -} - void WorldSession::HandleAreaTriggerOpcode(WorldPackets::Misc::AreaTrigger& packet) { TC_LOG_DEBUG("network", "CMSG_AREATRIGGER. Trigger ID: %u", packet.AreaTriggerID); @@ -822,13 +805,6 @@ void WorldSession::HandleRequestAccountData(WorldPackets::ClientConfig::RequestA SendPacket(data.Write()); } -int32 WorldSession::HandleEnableNagleAlgorithm() -{ - // Instructs the server we wish to receive few amounts of large packets (SMSG_MULTIPLE_PACKETS?) - // instead of large amount of small packets - return 0; -} - void WorldSession::HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionButton& packet) { uint32 action = ACTION_BUTTON_ACTION(packet.Action); @@ -1008,7 +984,7 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recvData) SendNotification(LANG_YOU_NOT_HAVE_PERMISSION); } -void WorldSession::HandleWhoisOpcode(WorldPackets::Who::WhoIsRequest& packet) +void WorldSession::HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet) { TC_LOG_DEBUG("network", "Received whois command from player %s for character %s", GetPlayer()->GetName().c_str(), packet.CharName.c_str()); @@ -1149,7 +1125,7 @@ void WorldSession::HandleFarSightOpcode(WorldPacket& recvData) void WorldSession::HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet) { TC_LOG_DEBUG("network", "CMSG_SET_TITLE"); - + // -1 at none if (packet.TitleID > 0 && packet.TitleID < MAX_TITLE_INDEX) { @@ -1423,7 +1399,7 @@ void WorldSession::HandleUITimeRequest(WorldPackets::Misc::UITimeRequest& /*requ void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps) { - WorldPacket data(SMSG_SET_PHASE_SHIFT_CHANGE, 1 + 8 + 4 + 4 + 4 + 4 + 2 * phaseIds.size() + 4 + terrainswaps.size() * 2); + WorldPacket data(SMSG_PHASE_SHIFT_CHANGE, 1 + 8 + 4 + 4 + 4 + 4 + 2 * phaseIds.size() + 4 + terrainswaps.size() * 2); data << _player->GetGUID(); // Client data << uint32(phaseIds.size() ? 0 : 8); // PhaseShiftFlags diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index c7e98e75dfa..c9cc6d547f1 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -431,7 +431,7 @@ void WorldSession::SendPetNameQuery(ObjectGuid petguid, uint32 petnumber) Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, petguid); if (!pet) { - WorldPacket data(SMSG_PET_NAME_QUERY_RESPONSE, (4+1+4+1)); + WorldPacket data(SMSG_QUERY_PET_NAME_RESPONSE, (4 + 1 + 4 + 1)); data << uint32(petnumber); data << uint8(0); data << uint32(0); @@ -440,7 +440,7 @@ void WorldSession::SendPetNameQuery(ObjectGuid petguid, uint32 petnumber) return; } - WorldPacket data(SMSG_PET_NAME_QUERY_RESPONSE, (4+4+pet->GetName().size()+1)); + WorldPacket data(SMSG_QUERY_PET_NAME_RESPONSE, (4 + 4 + pet->GetName().size() + 1)); data << uint32(petnumber); data << pet->GetName(); data << uint32(pet->GetUInt32Value(UNIT_FIELD_PET_NAME_TIMESTAMP)); diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 1cbfd7057b7..944d76958c2 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -581,7 +581,7 @@ void WorldSession::HandleMirrorImageDataRequest(WorldPacket& recvData) void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket) { - TC_LOG_DEBUG("network", "WORLD: CMSG_UPDATE_PROJECTILE_POSITION"); + TC_LOG_DEBUG("network", "WORLD: CMSG_MISSILE_TRAJECTORY_COLLISION"); ObjectGuid casterGuid; uint32 spellId; @@ -607,7 +607,7 @@ void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket) pos.Relocate(x, y, z); spell->m_targets.ModDst(pos); - WorldPacket data(SMSG_SET_PROJECTILE_POSITION, 21); + WorldPacket data(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, 21); data << casterGuid; data << uint8(castCount); data << float(x); diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp index b8f13f9d014..6b1d40d23d6 100644 --- a/src/server/game/Handlers/TaxiHandler.cpp +++ b/src/server/game/Handlers/TaxiHandler.cpp @@ -56,7 +56,7 @@ void WorldSession::SendTaxiStatus(ObjectGuid guid) TC_LOG_DEBUG("network", "WORLD: current location %u ", curloc); - WorldPacket data(SMSG_TAXINODE_STATUS, 9); + WorldPacket data(SMSG_TAXI_NODE_STATUS, 9); data << guid; data << uint8(GetPlayer()->m_taxi.IsTaximaskNodeKnown(curloc) ? 1 : 0); SendPacket(&data); @@ -143,7 +143,7 @@ bool WorldSession::SendLearnNewTaxiNode(Creature* unit) WorldPacket msg(SMSG_NEW_TAXI_PATH, 0); SendPacket(&msg); - WorldPacket update(SMSG_TAXINODE_STATUS, 9); + WorldPacket update(SMSG_TAXI_NODE_STATUS, 9); update << unit->GetGUID(); update << uint8(1); SendPacket(&update); diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 280d95f6f76..c151183da8a 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -560,32 +560,28 @@ bool InstanceScript::CheckAchievementCriteriaMeet(uint32 criteria_id, Player con void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= NULL*/, uint8 param1 /*= 0*/, uint8 param2 /*= 0*/) { // size of this packet is at most 15 (usually less) - WorldPacket data(SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT, 15); + WorldPacket data(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, 15); data << uint32(type); switch (type) { - case ENCOUNTER_FRAME_ENGAGE: - case ENCOUNTER_FRAME_DISENGAGE: - case ENCOUNTER_FRAME_UPDATE_PRIORITY: + case ENCOUNTER_FRAME_ENGAGE: // SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT + case ENCOUNTER_FRAME_DISENGAGE: // SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT + case ENCOUNTER_FRAME_UPDATE_PRIORITY: // SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY if (!unit) return; data << unit->GetPackGUID(); data << uint8(param1); break; - case ENCOUNTER_FRAME_ADD_TIMER: - case ENCOUNTER_FRAME_ENABLE_OBJECTIVE: - case ENCOUNTER_FRAME_DISABLE_OBJECTIVE: - case ENCOUNTER_FRAME_SET_COMBAT_RES_LIMIT: + case ENCOUNTER_FRAME_ADD_TIMER: // SMSG_INSTANCE_ENCOUNTER_TIMER_START + case ENCOUNTER_FRAME_ENABLE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START + case ENCOUNTER_FRAME_DISABLE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE data << uint8(param1); break; - case ENCOUNTER_FRAME_UPDATE_OBJECTIVE: + case ENCOUNTER_FRAME_UPDATE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE data << uint8(param1); data << uint8(param2); break; - case ENCOUNTER_FRAME_UNK7: - case ENCOUNTER_FRAME_ADD_COMBAT_RES_LIMIT: - case ENCOUNTER_FRAME_RESET_COMBAT_RES_LIMIT: default: break; } diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index d15b54b9b6c..c2bec063223 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3008,7 +3008,7 @@ bool InstanceMap::AddPlayerToMap(Player* player) // players also become permanently bound when they enter if (groupBind->perm) { - WorldPacket data(SMSG_INSTANCE_LOCK_WARNING_QUERY, 10); + WorldPacket data(SMSG_PENDING_RAID_LOCK, 10); data << uint32(60000); data << uint32(i_data ? i_data->GetCompletedEncounterMask() : 0); data << uint8(0); diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp index 89ca656675b..d49bde4415d 100644 --- a/src/server/game/Maps/MapManager.cpp +++ b/src/server/game/Maps/MapManager.cpp @@ -155,9 +155,10 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck) // can only enter in a raid group if ((!group || !group->isRaidGroup()) && !sWorld->getBoolConfig(CONFIG_INSTANCE_IGNORE_RAID)) { - // probably there must be special opcode, because client has this string constant in GlobalStrings.lua /// @todo this is not a good place to send the message - player->GetSession()->SendAreaTriggerMessage(player->GetSession()->GetTrinityString(LANG_INSTANCE_RAID_GROUP_ONLY), mapName); + WorldPacket data(SMSG_RAID_GROUP_ONLY); + data << uint32(0) << uint32(2); + player->GetSession()->SendPacket(&data); TC_LOG_DEBUG("maps", "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName); return false; } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 0f01ba2dfae..9a0714b105a 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -4496,39 +4496,41 @@ enum ResponseCodes CHAR_DELETE_FAILED_GUILD_LEADER = 76, CHAR_DELETE_FAILED_ARENA_CAPTAIN = 77, CHAR_DELETE_FAILED_HAS_HEIRLOOM_OR_MAIL = 78, - - CHAR_LOGIN_IN_PROGRESS = 79, - CHAR_LOGIN_SUCCESS = 80, - CHAR_LOGIN_NO_WORLD = 81, - CHAR_LOGIN_DUPLICATE_CHARACTER = 82, - CHAR_LOGIN_NO_INSTANCES = 83, - CHAR_LOGIN_FAILED = 84, - CHAR_LOGIN_DISABLED = 85, - CHAR_LOGIN_NO_CHARACTER = 86, - CHAR_LOGIN_LOCKED_FOR_TRANSFER = 87, - CHAR_LOGIN_LOCKED_BY_BILLING = 88, - CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 89, - CHAR_LOGIN_TEMPORARY_GM_LOCK = 90, - CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 91, - CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 92, - - CHAR_NAME_SUCCESS = 93, - CHAR_NAME_FAILURE = 94, - CHAR_NAME_NO_NAME = 95, - CHAR_NAME_TOO_SHORT = 96, - CHAR_NAME_TOO_LONG = 97, - CHAR_NAME_INVALID_CHARACTER = 98, - CHAR_NAME_MIXED_LANGUAGES = 99, - CHAR_NAME_PROFANE = 100, - CHAR_NAME_RESERVED = 101, - CHAR_NAME_INVALID_APOSTROPHE = 102, - CHAR_NAME_MULTIPLE_APOSTROPHES = 103, - CHAR_NAME_THREE_CONSECUTIVE = 104, - CHAR_NAME_INVALID_SPACE = 105, - CHAR_NAME_CONSECUTIVE_SPACES = 106, - CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 107, - CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 108, - CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 109 + CHAR_DELETE_FAILED_UPGRADE_IN_PROGRESS = 79, + CHAR_DELETE_FAILED_HAS_WOW_TOKEN = 80, + + CHAR_LOGIN_IN_PROGRESS = 81, + CHAR_LOGIN_SUCCESS = 82, + CHAR_LOGIN_NO_WORLD = 83, + CHAR_LOGIN_DUPLICATE_CHARACTER = 84, + CHAR_LOGIN_NO_INSTANCES = 85, + CHAR_LOGIN_FAILED = 86, + CHAR_LOGIN_DISABLED = 87, + CHAR_LOGIN_NO_CHARACTER = 88, + CHAR_LOGIN_LOCKED_FOR_TRANSFER = 89, + CHAR_LOGIN_LOCKED_BY_BILLING = 90, + CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 91, + CHAR_LOGIN_TEMPORARY_GM_LOCK = 92, + CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 93, + CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 94, + + CHAR_NAME_SUCCESS = 95, + CHAR_NAME_FAILURE = 96, + CHAR_NAME_NO_NAME = 97, + CHAR_NAME_TOO_SHORT = 98, + CHAR_NAME_TOO_LONG = 99, + CHAR_NAME_INVALID_CHARACTER = 100, + CHAR_NAME_MIXED_LANGUAGES = 101, + CHAR_NAME_PROFANE = 102, + CHAR_NAME_RESERVED = 103, + CHAR_NAME_INVALID_APOSTROPHE = 104, + CHAR_NAME_MULTIPLE_APOSTROPHES = 105, + CHAR_NAME_THREE_CONSECUTIVE = 106, + CHAR_NAME_INVALID_SPACE = 107, + CHAR_NAME_CONSECUTIVE_SPACES = 108, + CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 109, + CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 110, + CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 111 }; enum CharacterUndeleteResult diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index adc4768501c..d2fdc9b1da8 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -30,6 +30,9 @@ const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000}; +const int32 ReputationMgr::Reputation_Cap = 42999; +const int32 ReputationMgr::Reputation_Bottom = -42000; + ReputationRank ReputationMgr::ReputationToRank(int32 standing) { int32 limit = Reputation_Cap + 1; diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index f328d9809ca..1504447f37a 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -72,8 +72,8 @@ class ReputationMgr void LoadFromDB(PreparedQueryResult result); public: // statics static const int32 PointsInRank[MAX_REPUTATION_RANK]; - static const int32 Reputation_Cap = 42999; - static const int32 Reputation_Bottom = -42000; + static const int32 Reputation_Cap; + static const int32 Reputation_Bottom; static ReputationRank ReputationToRank(int32 standing); public: // accessors diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp index 4ea824dcb81..b6d2ff21630 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.cpp +++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp @@ -273,7 +273,7 @@ uint8 const WherePacketHmac[] = 0x83, 0x95, 0x81, 0x69, 0xB0, 0x5A, 0xB4, 0x9D, 0xA8, 0x55, 0xFF, 0xFC, 0xEE, 0x58, 0x0A, 0x2F }; -WorldPackets::Auth::ConnectTo::ConnectTo() : ServerPacket(SMSG_REDIRECT_CLIENT, 8 + 4 + 256 + 1) +WorldPackets::Auth::ConnectTo::ConnectTo() : ServerPacket(SMSG_CONNECT_TO, 8 + 4 + 256 + 1) { HexStrToByteArray("F41DCB2D728CF3337A4FF338FA89DB01BBBE9C3B65E9DA96268687353E48B94C", Payload.PanamaKey); Payload.Adler32 = 0xA0A66C10; @@ -314,258 +314,258 @@ WorldPacket const* WorldPackets::Auth::ConnectTo::Write() uint8* hmac = hmacHash.GetDigest(); - payload << uint8(PiDigits[41]); - payload << uint8(Haiku[23]); - payload << uint8(PiDigits[11]); - payload << uint8(PiDigits[43]); - payload << uint8(Payload.PanamaKey[13]); - payload << uint8(Haiku[57]); - payload << uint8(Haiku[21]); - payload << uint8(Payload.PanamaKey[25]); - payload << uint8(PiDigits[23]); - payload << uint8(Payload.PanamaKey[31]); - payload << uint8(PiDigits[97]); - payload << uint8(PiDigits[25]); - payload << uint8(PiDigits[9]); - payload << uint8(Haiku[9]); - payload << uint8(Haiku[26]); - payload << uint8(Haiku[62]); - payload << uint8(Haiku[68]); - payload << uint8(Haiku[24]); - payload << uint8(Haiku[41]); - payload << uint8(PiDigits[89]); - payload << uint8(PiDigits[40]); - payload << uint8(Haiku[43]); - payload << uint8(Haiku[50]); - payload << uint8(PiDigits[3]); - payload << uint8(PiDigits[76]); - payload << uint8(address[3]); - payload << uint8(Payload.PanamaKey[28]); - payload << uint8(addressType); - payload << uint8(PiDigits[79]); - payload << uint8(PiDigits[69]); - payload << uint8(PiDigits[24]); - payload << uint8(Haiku[60]); - payload << uint8(PiDigits[21]); - payload << uint8(PiDigits[1]); - payload << uint8(PiDigits[55]); - payload << uint8(PiDigits[27]); - payload << uint8(PiDigits[81]); - payload << uint8(hmac[7]); - payload << uint8(Haiku[13]); - payload << uint8(PiDigits[82]); - payload << uint8(PiDigits[102]); - payload << uint8(PiDigits[77]); - payload << uint8(PiDigits[35]); - payload << uint8(Haiku[19]); - payload << uint8(PiDigits[33]); - payload << uint8(PiDigits[5]); - payload << uint8(Haiku[45]); - payload << uint8(hmac[12]); - payload << uint8(hmac[9]); - payload << uint8(Haiku[1]); - payload << uint8(Haiku[17]); - payload << uint8(PiDigits[85]); - payload << uint8(address[14]); - payload << uint8(Payload.PanamaKey[5]); - payload << uint8(hmac[1]); - payload << uint8(PiDigits[73]); - payload << uint8(PiDigits[46]); - payload << uint8(address[1]); - payload << uint8(PiDigits[95]); payload << uint8((port >> 8) & 0xFF); - payload << uint8(address[15]); - payload << uint8(Payload.PanamaKey[14]); - payload << uint8(Haiku[0]); - payload << uint8(Haiku[36]); - payload << uint8(PiDigits[34]); - payload << uint8(Haiku[6]); - payload << uint8(hmac[18]); - payload << uint8(Payload.PanamaKey[24]); - payload << uint8(Haiku[37]); - payload << uint8(Payload.PanamaKey[1]); - payload << uint8(Haiku[39]); - payload << uint8(Haiku[27]); - payload << uint8(Haiku[12]); - payload << uint8(Haiku[35]); - payload << uint8(PiDigits[57]); - payload << uint8(PiDigits[50]); - payload << uint8(PiDigits[99]); - payload << uint8(PiDigits[60]); - payload << uint8(PiDigits[54]); - payload << uint8(Payload.PanamaKey[26]); - payload << uint8(hmac[14]); - payload << uint8(PiDigits[106]); - payload << uint8(Payload.PanamaKey[4]); + payload << uint8(PiDigits[59]); + payload << uint8(address[4]); payload << uint8(PiDigits[18]); - payload << uint8(PiDigits[20]); - payload << uint8(Haiku[46]); - payload << uint8(address[7]); - payload << uint8(Payload.PanamaKey[10]); - payload << uint8(hmac[11]); - payload << uint8(Payload.PanamaKey[16]); + payload << uint8(PiDigits[50]); + payload << uint8(PiDigits[95]); payload << uint8(PiDigits[101]); + payload << uint8(Payload.PanamaKey[9]); + payload << uint8(PiDigits[70]); payload << uint8(PiDigits[56]); - payload << uint8(hmac[2]); - payload << uint8(PiDigits[6]); - payload << uint8(PiDigits[84]); - payload << uint8(Haiku[52]); - payload << uint8(Payload.PanamaKey[15]); - payload << uint8(Payload.PanamaKey[7]); - payload << uint8(Payload.PanamaKey[3]); - payload << uint8(PiDigits[39]); - payload << uint8(Payload.PanamaKey[22]); - payload << uint8(hmac[0]); - payload << uint8(Haiku[2]); - payload << uint8(Payload.PanamaKey[12]); - payload << uint8(Payload.PanamaKey[20]); - payload << uint8(PiDigits[80]); - payload << uint8(Haiku[67]); + payload << uint8(PiDigits[28]); payload << uint8(Haiku[63]); + payload << uint8(Haiku[30]); + payload << uint8(PiDigits[42]); + payload << uint8(PiDigits[93]); + payload << uint8(address[15]); + payload << uint8(PiDigits[2]); + payload << uint8(PiDigits[1]); + payload << uint8(address[1]); + payload << uint8(PiDigits[94]); + payload << uint8(PiDigits[26]); + payload << uint8(PiDigits[39]); + payload << uint8(Haiku[19]); + payload << uint8(PiDigits[46]); + payload << uint8(PiDigits[13]); + payload << uint8(Haiku[70]); + payload << uint8(Haiku[45]); + payload << uint8(PiDigits[7]); + payload << uint8(Haiku[50]); + payload << uint8(Payload.PanamaKey[0]); + payload << uint8(address[10]); + payload << uint8(Payload.PanamaKey[27]); + payload << uint8(Payload.PanamaKey[21]); + payload << uint8(hmac[2]); + payload << uint8(PiDigits[37]); + payload << uint8(Haiku[61]); + payload << uint8(PiDigits[83]); payload << uint8(PiDigits[47]); + payload << uint8(Haiku[37]); + payload << uint8(Haiku[46]); + payload << uint8(PiDigits[73]); + payload << uint8(Payload.PanamaKey[30]); + payload << uint8(address[9]); + payload << uint8(address[11]); + payload << uint8(PiDigits[20]); + payload << uint8(Haiku[54]); payload << uint8(Payload.PanamaKey[23]); - payload << uint8(PiDigits[91]); - payload << uint8(Haiku[53]); - payload << uint8(Haiku[10]); - payload << uint8(address[0]); - payload << uint8(PiDigits[70]); - payload << uint8(PiDigits[8]); - payload << uint8(PiDigits[75]); + payload << uint8(PiDigits[38]); + payload << uint8(hmac[1]); payload << uint8(address[8]); - payload << uint8(PiDigits[72]); - payload << uint8(Haiku[4]); - payload << uint8(Haiku[25]); - payload << uint8(Haiku[5]); - payload << uint8(Haiku[42]); - payload << uint8(hmac[13]); - payload << uint8(Haiku[40]); - payload << uint8(PiDigits[28]); + payload << uint8(PiDigits[43]); + payload << uint8(Payload.PanamaKey[15]); + payload << uint8(PiDigits[97]); + payload << uint8(Haiku[55]); + payload << uint8(Payload.PanamaKey[24]); + payload << uint8(PiDigits[36]); + payload << uint8(Haiku[48]); + payload << uint8(Haiku[41]); + payload << uint8(Haiku[22]); + payload << uint8(Payload.PanamaKey[18]); + payload << uint8(PiDigits[25]); + payload << uint8(Haiku[36]); + payload << uint8(PiDigits[52]); + payload << uint8(Haiku[53]); payload << uint8(Haiku[15]); - payload << uint8(PiDigits[51]); - payload << uint8(PiDigits[68]); - payload << uint8(Haiku[29]); - payload << uint8(PiDigits[45]); - payload << uint8(address[9]); - payload << uint8(Payload.PanamaKey[6]); - payload << uint8(Haiku[59]); - payload << uint8(Payload.PanamaKey[27]); - payload << uint8(Haiku[47]); - payload << uint8(hmac[5]); + payload << uint8(PiDigits[87]); + payload << uint8(PiDigits[21]); + payload << uint8(Payload.XorMagic); + payload << uint8(Payload.PanamaKey[1]); + payload << uint8(Haiku[44]); + payload << uint8(Payload.PanamaKey[16]); + payload << uint8(PiDigits[80]); + payload << uint8(address[12]); + payload << uint8(PiDigits[81]); + payload << uint8(Haiku[69]); payload << uint8(PiDigits[61]); - payload << uint8(hmac[19]); + payload << uint8(PiDigits[69]); payload << uint8(PiDigits[96]); - payload << uint8(Haiku[33]); - payload << uint8(Haiku[70]); - payload << uint8(PiDigits[86]); + payload << uint8(Haiku[68]); + payload << uint8(Haiku[18]); + payload << uint8(PiDigits[41]); + payload << uint8(Haiku[56]); + payload << uint8(PiDigits[74]); + payload << uint8(Payload.PanamaKey[7]); + payload << uint8(Haiku[20]); + payload << uint8(PiDigits[3]); + payload << uint8(hmac[4]); + payload << uint8(Payload.PanamaKey[26]); payload << uint8(Haiku[14]); + payload << uint8(Payload.PanamaKey[6]); + payload << uint8(Payload.PanamaKey[5]); + payload << uint8(PiDigits[89]); payload << uint8(hmac[3]); - payload << uint8(Haiku[65]); - payload << uint8(PiDigits[71]); - payload << uint8(PiDigits[7]); - payload << uint8(PiDigits[19]); - payload << uint8(hmac[4]); - payload << uint8(Haiku[34]); - payload << uint8(PiDigits[29]); - payload << uint8(Haiku[3]); - payload << uint8(address[11]); - payload << uint8(address[2]); - payload << uint8(PiDigits[87]); - payload << uint8(PiDigits[94]); - payload << uint8(PiDigits[62]); - payload << uint8(Haiku[55]); + payload << uint8(PiDigits[60]); + payload << uint8(PiDigits[54]); + payload << uint8(PiDigits[67]); + payload << uint8(Haiku[52]); payload << uint8(PiDigits[32]); - payload << uint8(hmac[8]); - payload << uint8(PiDigits[4]); - payload << uint8(PiDigits[59]); - payload << uint8(PiDigits[63]); - payload << uint8(PiDigits[26]); - payload << uint8(PiDigits[36]); - payload << uint8(Haiku[7]); - payload << uint8(Haiku[16]); - payload << uint8(Haiku[69]); + payload << uint8(Haiku[29]); + payload << uint8(address[2]); payload << uint8(PiDigits[44]); - payload << uint8(PiDigits[67]); - payload << uint8(PiDigits[90]); - payload << uint8(Haiku[31]); - payload << uint8(Payload.PanamaKey[30]); + payload << uint8(PiDigits[78]); + payload << uint8(Haiku[65]); + payload << uint8(PiDigits[51]); + payload << uint8(PiDigits[72]); payload << uint8(PiDigits[53]); payload << uint8(Haiku[49]); - payload << uint8(Haiku[44]); - payload << uint32(Payload.Adler32); - payload << uint8(Haiku[54]); + payload << uint8(PiDigits[6]); + payload << uint8(Haiku[33]); + payload << uint8(Haiku[28]); + payload << uint8(Haiku[0]); + payload << uint8(Payload.PanamaKey[20]); + payload << uint8(PiDigits[75]); + payload << uint8(address[6]); + payload << uint8(PiDigits[86]); + payload << uint8(Haiku[60]); + payload << uint8(hmac[12]); + payload << uint8(Haiku[35]); + payload << uint8(PiDigits[45]); + payload << uint8(Haiku[67]); + payload << uint8(Haiku[26]); + payload << uint8(PiDigits[57]); + payload << uint8(PiDigits[90]); + payload << uint8(Haiku[5]); + payload << uint8(Haiku[13]); + payload << uint8(Haiku[8]); + payload << uint8(Haiku[17]); + payload << uint8(Payload.PanamaKey[10]); + payload << uint8(PiDigits[104]); + payload << uint8(address[0]); payload << uint8(PiDigits[15]); - payload << uint8(PiDigits[42]); - payload << uint8(PiDigits[74]); - payload << uint8(address[5]); + payload << uint8(hmac[19]); + payload << uint8(PiDigits[8]); + payload << uint8(PiDigits[64]); + payload << uint8(PiDigits[27]); + payload << uint8(Haiku[7]); + payload << uint8(hmac[10]); + payload << uint8(hmac[14]); + payload << uint8(Haiku[10]); + payload << uint8(Haiku[2]); + payload << uint8(address[14]); + payload << uint8(Haiku[21]); + payload << uint32(Payload.Adler32); + payload << uint8(Payload.PanamaKey[14]); + payload << uint8(Haiku[39]); + payload << uint8(Payload.PanamaKey[19]); + payload << uint8(PiDigits[16]); + payload << uint8(PiDigits[91]); + payload << uint8(hmac[6]); + payload << uint8(addressType); payload << uint8(hmac[16]); - payload << uint8(Haiku[22]); + payload << uint8(PiDigits[63]); + payload << uint8(PiDigits[12]); + payload << uint8(PiDigits[102]); + payload << uint8(PiDigits[62]); + payload << uint8(PiDigits[22]); payload << uint8(Haiku[32]); - payload << uint8(PiDigits[104]); - payload << uint8(hmac[10]); + payload << uint8(PiDigits[14]); + payload << uint8(PiDigits[30]); + payload << uint8(Haiku[16]); + payload << uint8(Haiku[47]); + payload << uint8(Haiku[9]); + payload << uint8(PiDigits[34]); + payload << uint8(Payload.PanamaKey[4]); + payload << uint8(PiDigits[29]); + payload << uint8(PiDigits[76]); + payload << uint8(Haiku[40]); + payload << uint8(Haiku[59]); + payload << uint8(PiDigits[5]); + payload << uint8(PiDigits[31]); + payload << uint8(Haiku[43]); + payload << uint8(Haiku[3]); + payload << uint8(PiDigits[0]); + payload << uint8(PiDigits[49]); + payload << uint8(Haiku[24]); + payload << uint8(Payload.PanamaKey[17]); + payload << uint8(Haiku[62]); + payload << uint8(Payload.PanamaKey[13]); + payload << uint8(hmac[5]); + payload << uint8(Haiku[27]); + payload << uint8(hmac[13]); + payload << uint8(address[5]); + payload << uint8(Payload.PanamaKey[3]); + payload << uint8(PiDigits[71]); + payload << uint8(Haiku[38]); payload << uint8(PiDigits[98]); - payload << uint8(Haiku[8]); - payload << uint8(PiDigits[65]); - payload << uint8(Haiku[11]); + payload << uint8(PiDigits[100]); payload << uint8(PiDigits[66]); - payload << uint8(address[12]); + payload << uint8(Haiku[6]); + payload << uint8(PiDigits[40]); + payload << uint8(Haiku[31]); + payload << uint8(PiDigits[17]); + payload << uint8(PiDigits[92]); + payload << uint8(address[3]); payload << uint8(Payload.PanamaKey[8]); - payload << uint8(PiDigits[22]); + payload << uint8(PiDigits[88]); + payload << uint8(PiDigits[65]); + payload << uint8(Payload.PanamaKey[31]); payload << uint8(PiDigits[58]); - payload << uint8(PiDigits[64]); - payload << uint8(Payload.PanamaKey[0]); - payload << uint8(PiDigits[93]); + payload << uint8(Payload.PanamaKey[2]); + payload << uint8(PiDigits[79]); + payload << uint8(Haiku[66]); + payload << uint8(PiDigits[24]); + payload << uint8(Haiku[34]); + payload << uint8(PiDigits[77]); + payload << uint8(Haiku[58]); + payload << uint8(Haiku[1]); + payload << uint8(PiDigits[10]); payload << uint8(PiDigits[107]); - payload << uint8(PiDigits[38]); - payload << uint8(Haiku[48]); - payload << uint8(address[4]); + payload << uint8(PiDigits[55]); + payload << uint8(Haiku[12]); + payload << uint8(PiDigits[106]); + payload << uint8(hmac[8]); + payload << uint8(PiDigits[105]); + payload << uint8(Payload.PanamaKey[12]); + payload << uint8(PiDigits[4]); + payload << uint8(PiDigits[11]); + payload << uint8(PiDigits[99]); + payload << uint8(Haiku[23]); + payload << uint8(Haiku[42]); + payload << uint8(Haiku[4]); + payload << uint8(PiDigits[19]); payload << uint8(PiDigits[48]); - payload << uint8(Payload.PanamaKey[19]); - payload << uint8(PiDigits[88]); - payload << uint8(PiDigits[31]); - payload << uint8(PiDigits[78]); + payload << uint8(PiDigits[85]); + payload << uint8(hmac[15]); + payload << uint8(PiDigits[82]); payload << uint8(PiDigits[103]); - payload << uint8(PiDigits[16]); - payload << uint8(Haiku[38]); - payload << uint8(PiDigits[14]); - payload << uint8(Haiku[30]); - payload << uint8(Payload.PanamaKey[2]); - payload << uint8(PiDigits[12]); - payload << uint8(Payload.PanamaKey[11]); - payload << uint8(PiDigits[30]); - payload << uint8(Haiku[61]); + payload << uint8(address[13]); + payload << uint8(PiDigits[23]); payload << uint8(Haiku[64]); - payload << uint8(Haiku[56]); - payload << uint8(Payload.PanamaKey[17]); - payload << uint8(Haiku[18]); - payload << uint8(PiDigits[17]); - payload << uint8(address[6]); + payload << uint8(Haiku[11]); + payload << uint8(hmac[11]); + payload << uint8(hmac[0]); + payload << uint8(PiDigits[68]); + payload << uint8(Haiku[57]); + payload << uint8(hmac[18]); + payload << uint8(PiDigits[9]); + payload << uint8(hmac[9]); + payload << uint8(hmac[7]); payload << uint8(Payload.PanamaKey[29]); - payload << uint8(PiDigits[105]); - payload << uint8(PiDigits[10]); - payload << uint8(PiDigits[37]); - payload << uint8(PiDigits[13]); - payload << uint8(PiDigits[49]); - payload << uint8(Haiku[20]); - payload << uint8(address[13]); - payload << uint8(address[10]); - payload << uint8(Payload.XorMagic); + payload << uint8(Haiku[51]); + payload << uint8(Payload.PanamaKey[11]); + payload << uint8(Haiku[25]); + payload << uint8(Payload.PanamaKey[22]); + payload << uint8(address[7]); payload << uint8(hmac[17]); - payload << uint8(PiDigits[100]); + payload << uint8(PiDigits[35]); + payload << uint8(PiDigits[84]); + payload << uint8(PiDigits[33]); + payload << uint8(Payload.PanamaKey[25]); payload << uint8(port & 0xFF); - payload << uint8(Payload.PanamaKey[9]); - payload << uint8(PiDigits[0]); - payload << uint8(Haiku[58]); - payload << uint8(Haiku[66]); - payload << uint8(Payload.PanamaKey[21]); - payload << uint8(Haiku[28]); - payload << uint8(PiDigits[92]); - payload << uint8(PiDigits[52]); - payload << uint8(Payload.PanamaKey[18]); - payload << uint8(hmac[15]); - payload << uint8(PiDigits[2]); - payload << uint8(hmac[6]); - payload << uint8(PiDigits[83]); - payload << uint8(Haiku[51]); + payload << uint8(Payload.PanamaKey[28]); BigNumber bnData; bnData.SetBinary(payload.contents(), payload.size()); diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp index 9ee652fac06..92226981df6 100644 --- a/src/server/game/Server/Packets/ChannelPackets.cpp +++ b/src/server/game/Server/Packets/ChannelPackets.cpp @@ -94,12 +94,12 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read() case CMSG_CHANNEL_MUTE: case CMSG_CHANNEL_SET_OWNER: case CMSG_CHANNEL_SILENCE_ALL: - //case CMSG_CHANNEL_SILENCE_VOICE: + case CMSG_CHANNEL_SILENCE_VOICE: case CMSG_CHANNEL_UNBAN: case CMSG_CHANNEL_UNMODERATOR: case CMSG_CHANNEL_UNMUTE: - //case CMSG_CHANNEL_UNSILENCE_ALL: - //case CMSG_CHANNEL_UNSILENCE_VOICE: + case CMSG_CHANNEL_UNSILENCE_ALL: + case CMSG_CHANNEL_UNSILENCE_VOICE: { uint32 channelNameLength = _worldPacket.ReadBits(7); uint32 nameLength = _worldPacket.ReadBits(9); @@ -107,14 +107,14 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read() Name = _worldPacket.ReadString(nameLength); break; } - //case CMSG_CHANNEL_ANNOUNCEMENTS: - //case CMSG_CHANNEL_DECLINE_INVITE: - //case CMSG_CHANNEL_DISPLAY_LIST: - //case CMSG_CHANNEL_LIST: + case CMSG_CHANNEL_ANNOUNCEMENTS: + case CMSG_CHANNEL_DECLINE_INVITE: + case CMSG_CHANNEL_DISPLAY_LIST: + case CMSG_CHANNEL_LIST: //case CMSG_CHANNEL_MODERATE: - //case CMSG_CHANNEL_OWNER: - //case CMSG_CHANNEL_VOICE_OFF: - //case CMSG_CHANNEL_VOICE_ON: + case CMSG_CHANNEL_OWNER: + case CMSG_CHANNEL_VOICE_OFF: + case CMSG_CHANNEL_VOICE_ON: { ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7)); break; diff --git a/src/server/game/Server/Packets/ChannelPackets.h b/src/server/game/Server/Packets/ChannelPackets.h index 6948628c6c0..14fbac84cf9 100644 --- a/src/server/game/Server/Packets/ChannelPackets.h +++ b/src/server/game/Server/Packets/ChannelPackets.h @@ -104,28 +104,28 @@ namespace WorldPackets { default: ASSERT(false); - //case CMSG_CHANNEL_ANNOUNCEMENTS: + case CMSG_CHANNEL_ANNOUNCEMENTS: case CMSG_CHANNEL_BAN: - //case CMSG_CHANNEL_DECLINE_INVITE: - //case CMSG_CHANNEL_DISPLAY_LIST: + case CMSG_CHANNEL_DECLINE_INVITE: + case CMSG_CHANNEL_DISPLAY_LIST: case CMSG_CHANNEL_INVITE: case CMSG_CHANNEL_KICK: - //case CMSG_CHANNEL_LIST: + case CMSG_CHANNEL_LIST: //case CMSG_CHANNEL_MODERATE: case CMSG_CHANNEL_MODERATOR: case CMSG_CHANNEL_MUTE: - //case CMSG_CHANNEL_OWNER: + case CMSG_CHANNEL_OWNER: case CMSG_CHANNEL_PASSWORD: case CMSG_CHANNEL_SET_OWNER: - //case CMSG_CHANNEL_SILENCE_ALL: - //case CMSG_CHANNEL_SILENCE_VOICE: + case CMSG_CHANNEL_SILENCE_ALL: + case CMSG_CHANNEL_SILENCE_VOICE: case CMSG_CHANNEL_UNBAN: case CMSG_CHANNEL_UNMODERATOR: case CMSG_CHANNEL_UNMUTE: - //case CMSG_CHANNEL_UNSILENCE_ALL: - //case CMSG_CHANNEL_UNSILENCE_VOICE: - //case CMSG_CHANNEL_VOICE_OFF: - //case CMSG_CHANNEL_VOICE_ON: + case CMSG_CHANNEL_UNSILENCE_ALL: + case CMSG_CHANNEL_UNSILENCE_VOICE: + case CMSG_CHANNEL_VOICE_OFF: + case CMSG_CHANNEL_VOICE_ON: break; } } diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 010183ed56e..fe50552cd30 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -428,3 +428,18 @@ void WorldPackets::Character::SetTitle::Read() { _worldPacket >> TitleID; } + +void WorldPackets::Character::AlterApperance::Read() +{ + _worldPacket >> NewHairStyle; + _worldPacket >> NewHairColor; + _worldPacket >> NewFacialHair; + _worldPacket >> NewSkinColor; + _worldPacket >> Unk; +} + +WorldPacket const* WorldPackets::Character::BarberShopResultServer::Write() +{ + _worldPacket << int32(Result); + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 3cbf969f4d3..7183e8cc7b1 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -162,7 +162,7 @@ namespace WorldPackets uint8 Race = 0; }; - EnumCharactersResult() : ServerPacket(SMSG_CHAR_ENUM) { } + EnumCharactersResult() : ServerPacket(SMSG_ENUM_CHARACTERS_RESULT) { } WorldPacket const* Write() override; @@ -199,7 +199,7 @@ namespace WorldPackets class CharacterCreateResponse final : public ServerPacket { public: - CharacterCreateResponse() : ServerPacket(SMSG_CHAR_CREATE, 1) { } + CharacterCreateResponse() : ServerPacket(SMSG_CREATE_CHAR, 1) { } WorldPacket const* Write() override; @@ -219,7 +219,7 @@ namespace WorldPackets class CharacterDeleteResponse final : public ServerPacket { public: - CharacterDeleteResponse(): ServerPacket(SMSG_CHAR_DELETE, 1) { } + CharacterDeleteResponse(): ServerPacket(SMSG_DELETE_CHAR, 1) { } WorldPacket const* Write() override; @@ -243,7 +243,7 @@ namespace WorldPackets class CharacterRenameResult final : public ServerPacket { public: - CharacterRenameResult() : ServerPacket(SMSG_CHAR_RENAME, 20) { } + CharacterRenameResult() : ServerPacket(SMSG_CHARACTER_RENAME_RESULT, 20) { } WorldPacket const* Write() override; @@ -311,7 +311,7 @@ namespace WorldPackets uint8 RaceID = RACE_NONE; }; - CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE, 20 + sizeof(CharFactionChangeDisplayInfo)) { } + CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE_RESULT, 20 + sizeof(CharFactionChangeDisplayInfo)) { } WorldPacket const* Write() override; @@ -334,7 +334,7 @@ namespace WorldPackets class GenerateRandomCharacterNameResult final : public ServerPacket { public: - GenerateRandomCharacterNameResult() : ServerPacket(SMSG_RANDOMIZE_CHAR_NAME, 20) { } + GenerateRandomCharacterNameResult() : ServerPacket(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, 20) { } WorldPacket const* Write() override; @@ -586,6 +586,30 @@ namespace WorldPackets int32 TitleID = 0; }; + + class AlterApperance final : public ClientPacket + { + public: + AlterApperance(WorldPacket&& packet) : ClientPacket(CMSG_ALTER_APPEARANCE, std::move(packet)) { } + + void Read() override; + + uint32 NewHairStyle = 0; + uint32 NewHairColor = 0; + uint32 NewFacialHair = 0; + uint32 NewSkinColor = 0; + uint32 Unk = 0; + }; + + class BarberShopResultServer final : public ServerPacket + { + public: + BarberShopResultServer() : ServerPacket(SMSG_BARBER_SHOP_RESULT, 4) { } + + WorldPacket const* Write() override; + + BarberShopResult Result; + }; } } diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp index 50b89790226..1b93b401a29 100644 --- a/src/server/game/Server/Packets/ChatPackets.cpp +++ b/src/server/game/Server/Packets/ChatPackets.cpp @@ -152,7 +152,7 @@ WorldPacket const* WorldPackets::Chat::Chat::Write() _worldPacket.WriteBits(Prefix.length(), 5); _worldPacket.WriteBits(_Channel.length(), 7); _worldPacket.WriteBits(ChatText.length(), 12); - _worldPacket.WriteBits(_ChatFlags, 10); + _worldPacket.WriteBits(_ChatFlags, 11); _worldPacket.WriteBit(HideChatLog); _worldPacket.WriteBit(FakeSenderName); _worldPacket.WriteString(SenderName); diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h index 54634e64b92..1c0ef63983c 100644 --- a/src/server/game/Server/Packets/ChatPackets.h +++ b/src/server/game/Server/Packets/ChatPackets.h @@ -130,11 +130,11 @@ namespace WorldPackets std::string Text; }; - // SMSG_MESSAGECHAT + // SMSG_CHAT class Chat final : public ServerPacket { public: - Chat() : ServerPacket(SMSG_MESSAGECHAT, 100) { } + Chat() : ServerPacket(SMSG_CHAT, 100) { } void Initalize(ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string message, uint32 achievementId = 0, std::string channelName = "", LocaleConstant locale = DEFAULT_LOCALE, std::string addonPrefix = ""); WorldPacket const* Write() override; @@ -200,7 +200,7 @@ namespace WorldPackets class PrintNotification final : public ServerPacket { public: - PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { } + PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_PRINT_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/ClientConfigPackets.h b/src/server/game/Server/Packets/ClientConfigPackets.h index d967fd5ab42..a1ed1a355bb 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.h +++ b/src/server/game/Server/Packets/ClientConfigPackets.h @@ -54,7 +54,7 @@ namespace WorldPackets class ClientCacheVersion final : public ServerPacket { public: - ClientCacheVersion() : ServerPacket(SMSG_CLIENTCACHE_VERSION, 4) { } + ClientCacheVersion() : ServerPacket(SMSG_CACHE_VERSION, 4) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/CombatLogPackets.h b/src/server/game/Server/Packets/CombatLogPackets.h index 81e59b66c96..606322e5d35 100644 --- a/src/server/game/Server/Packets/CombatLogPackets.h +++ b/src/server/game/Server/Packets/CombatLogPackets.h @@ -50,7 +50,7 @@ namespace WorldPackets class EnvironmentalDamageLog final : public ServerPacket { public: - EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTALDAMAGELOG, 23) { } + EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp index 473e49d2921..5d0a499e80b 100644 --- a/src/server/game/Server/Packets/CombatPackets.cpp +++ b/src/server/game/Server/Packets/CombatPackets.cpp @@ -31,7 +31,7 @@ WorldPacket const* WorldPackets::Combat::AttackStart::Write() return &_worldPacket; } -WorldPackets::Combat::SAttackStop::SAttackStop(Unit const* attacker, Unit const* victim) : ServerPacket(SMSG_ATTACKSTOP, 16 + 16 + 1) +WorldPackets::Combat::SAttackStop::SAttackStop(Unit const* attacker, Unit const* victim) : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) { Attacker = attacker->GetGUID(); if (victim) diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h index 0e9ea087d38..c5d8432ec66 100644 --- a/src/server/game/Server/Packets/CombatPackets.h +++ b/src/server/game/Server/Packets/CombatPackets.h @@ -39,8 +39,8 @@ namespace WorldPackets class AttackSwingError final : public ServerPacket { public: - AttackSwingError() : ServerPacket(SMSG_ATTACKSWING_ERROR, 4) { } - AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACKSWING_ERROR, 4), Reason(reason) { } + AttackSwingError() : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4) { } + AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4), Reason(reason) { } WorldPacket const* Write() override; @@ -58,7 +58,7 @@ namespace WorldPackets class AttackStart final : public ServerPacket { public: - AttackStart() : ServerPacket(SMSG_ATTACKSTART, 16) { } + AttackStart() : ServerPacket(SMSG_ATTACK_START, 16) { } WorldPacket const* Write() override; @@ -69,7 +69,7 @@ namespace WorldPackets class SAttackStop final : public ServerPacket { public: - SAttackStop() : ServerPacket(SMSG_ATTACKSTOP, 16 + 16 + 1) { } + SAttackStop() : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) { } SAttackStop(Unit const* attacker, Unit const* victim); WorldPacket const* Write() override; @@ -158,7 +158,7 @@ namespace WorldPackets class AttackerStateUpdate final : public ServerPacket { public: - AttackerStateUpdate() : ServerPacket(SMSG_ATTACKERSTATEUPDATE, 70) { } + AttackerStateUpdate() : ServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h index 14e5ac808eb..71731b69a81 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.h +++ b/src/server/game/Server/Packets/EquipmentSetPackets.h @@ -27,7 +27,7 @@ namespace WorldPackets class EquipmentSetID final : public ServerPacket { public: - EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_SAVED, 8 + 4) { } + EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_ID, 8 + 4) { } WorldPacket const* Write() override; @@ -38,7 +38,7 @@ namespace WorldPackets class LoadEquipmentSet final : public ServerPacket { public: - LoadEquipmentSet() : ServerPacket(SMSG_EQUIPMENT_SET_LIST, 4) { } + LoadEquipmentSet() : ServerPacket(SMSG_LOAD_EQUIPMENT_SET, 4) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp index 82b003fef23..7fcc0f05eda 100644 --- a/src/server/game/Server/Packets/GuildPackets.cpp +++ b/src/server/game/Server/Packets/GuildPackets.cpp @@ -24,7 +24,7 @@ void WorldPackets::Guild::QueryGuildInfo::Read() } WorldPackets::Guild::QueryGuildInfoResponse::QueryGuildInfoResponse() - : ServerPacket(SMSG_GUILD_QUERY_RESPONSE) { } + : ServerPacket(SMSG_QUERY_GUILD_INFO_RESPONSE) { } WorldPacket const* WorldPackets::Guild::QueryGuildInfoResponse::Write() { diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h index ff59831612a..b874627128f 100644 --- a/src/server/game/Server/Packets/GuildPackets.h +++ b/src/server/game/Server/Packets/GuildPackets.h @@ -648,7 +648,7 @@ namespace WorldPackets class GuildPartyState final : public ServerPacket { public: - GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE_RESPONSE, 15) { } + GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE, 15) { } WorldPacket const* Write() override; @@ -682,7 +682,7 @@ namespace WorldPackets class GuildRewardList final : public ServerPacket { public: - GuildRewardList() : ServerPacket(SMSG_GUILD_REWARDS_LIST, 8) { } + GuildRewardList() : ServerPacket(SMSG_GUILD_REWARD_LIST, 8) { } WorldPacket const* Write() override; @@ -866,7 +866,7 @@ namespace WorldPackets class GuildBankLogQueryResults final : public ServerPacket { public: - GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULT, 25) { } + GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULTS, 25) { } WorldPacket const* Write() override; @@ -1000,7 +1000,7 @@ namespace WorldPackets class PlayerSaveGuildEmblem final : public ServerPacket { public: - PlayerSaveGuildEmblem() : ServerPacket(SMSG_SAVE_GUILD_EMBLEM, 4) { } + PlayerSaveGuildEmblem() : ServerPacket(SMSG_PLAYER_SAVE_GUILD_EMBLEM, 4) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/MailPackets.h b/src/server/game/Server/Packets/MailPackets.h index e79469a76d8..2b91df96026 100644 --- a/src/server/game/Server/Packets/MailPackets.h +++ b/src/server/game/Server/Packets/MailPackets.h @@ -137,7 +137,7 @@ namespace WorldPackets class MailCommandResult final : public ServerPacket { public: - MailCommandResult() : ServerPacket(SMSG_SEND_MAIL_RESULT) { } + MailCommandResult() : ServerPacket(SMSG_MAIL_COMMAND_RESULT) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index e2b097900a1..15dd164f994 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -33,7 +33,7 @@ namespace WorldPackets class BindPointUpdate final : public ServerPacket { public: - BindPointUpdate() : ServerPacket(SMSG_BINDPOINTUPDATE, 20) { } + BindPointUpdate() : ServerPacket(SMSG_BIND_POINT_UPDATE, 20) { } WorldPacket const* Write() override; @@ -78,7 +78,7 @@ namespace WorldPackets class LoginSetTimeSpeed final : public ServerPacket { public: - LoginSetTimeSpeed() : ServerPacket(SMSG_LOGIN_SETTIMESPEED, 20) { } + LoginSetTimeSpeed() : ServerPacket(SMSG_LOGIN_SET_TIME_SPEED, 20) { } WorldPacket const* Write() override; @@ -147,7 +147,7 @@ namespace WorldPackets class TimeSyncRequest final : public ServerPacket { public: - TimeSyncRequest() : ServerPacket(SMSG_TIME_SYNC_REQ, 4) { } + TimeSyncRequest() : ServerPacket(SMSG_TIME_SYNC_REQUEST, 4) { } WorldPacket const* Write() override; @@ -289,7 +289,7 @@ namespace WorldPackets class RaidDifficultySet final : public ServerPacket { public: - RaidDifficultySet() : ServerPacket(SMSG_SET_RAID_DIFFICULTY, 4 + 1) { } + RaidDifficultySet() : ServerPacket(SMSG_RAID_DIFFICULTY_SET, 4 + 1) { } WorldPacket const* Write() override; @@ -483,7 +483,7 @@ namespace WorldPackets class LevelUpInfo final : public ServerPacket { public: - LevelUpInfo() : ServerPacket(SMSG_LEVELUP_INFO, 56) { } + LevelUpInfo() : ServerPacket(SMSG_LEVEL_UP_INFO, 56) { } WorldPacket const* Write() override; @@ -530,6 +530,14 @@ namespace WorldPackets int32 Max = 0; int32 Result = 0; }; + + class EnableBarberShop final : public ServerPacket + { + public: + EnableBarberShop() : ServerPacket(SMSG_ENABLE_BARBER_SHOP, 0) { } + + WorldPacket const* Write() override { return &_worldPacket; } + }; } } diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h index 849013fb5d8..bc69abc914a 100644 --- a/src/server/game/Server/Packets/NPCPackets.h +++ b/src/server/game/Server/Packets/NPCPackets.h @@ -115,7 +115,7 @@ namespace WorldPackets class VendorInventory final : public ServerPacket { public: - VendorInventory() : ServerPacket(SMSG_LIST_INVENTORY, 600) { } + VendorInventory() : ServerPacket(SMSG_VENDOR_INVENTORY, 600) { } WorldPacket const* Write() override; @@ -162,7 +162,7 @@ namespace WorldPackets class PlayerTabardVendorActivate final : public ServerPacket { public: - PlayerTabardVendorActivate() : ServerPacket(SMSG_TABARD_VENDOR_ACTIVATE, 16) { } + PlayerTabardVendorActivate() : ServerPacket(SMSG_PLAYER_TABARD_VENDOR_ACTIVATE, 16) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/PetitionPackets.h b/src/server/game/Server/Packets/PetitionPackets.h index fe136508547..776d1262606 100644 --- a/src/server/game/Server/Packets/PetitionPackets.h +++ b/src/server/game/Server/Packets/PetitionPackets.h @@ -189,7 +189,7 @@ namespace WorldPackets class TurnInPetitionResult final : public ServerPacket { public: - TurnInPetitionResult() : ServerPacket(SMSG_TURN_IN_PETITION_RESULTS, 4) { } + TurnInPetitionResult() : ServerPacket(SMSG_TURN_IN_PETITION_RESULT, 4) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index 6495aaf0e12..895bb24af6e 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -64,7 +64,7 @@ namespace WorldPackets class QueryCreatureResponse final : public ServerPacket { public: - QueryCreatureResponse() : ServerPacket(SMSG_CREATURE_QUERY_RESPONSE, 76) { } + QueryCreatureResponse() : ServerPacket(SMSG_QUERY_CREATURE_RESPONSE, 76) { } WorldPacket const* Write() override; @@ -109,7 +109,7 @@ namespace WorldPackets class QueryPlayerNameResponse final : public ServerPacket { public: - QueryPlayerNameResponse() : ServerPacket(SMSG_NAME_QUERY_RESPONSE, 60) { } + QueryPlayerNameResponse() : ServerPacket(SMSG_QUERY_PLAYER_NAME_RESPONSE, 60) { } WorldPacket const* Write() override; @@ -139,7 +139,7 @@ namespace WorldPackets class QueryPageTextResponse final : public ServerPacket { public: - QueryPageTextResponse() : ServerPacket(SMSG_PAGE_TEXT_QUERY_RESPONSE, 15) { } + QueryPageTextResponse() : ServerPacket(SMSG_QUERY_PAGE_TEXT_RESPONSE, 15) { } WorldPacket const* Write() override; @@ -162,7 +162,7 @@ namespace WorldPackets class QueryNPCTextResponse final : public ServerPacket { public: - QueryNPCTextResponse() : ServerPacket(SMSG_NPC_TEXT_UPDATE, 73) { } + QueryNPCTextResponse() : ServerPacket(SMSG_QUERY_NPC_TEXT_RESPONSE, 73) { } WorldPacket const* Write() override; @@ -246,7 +246,7 @@ namespace WorldPackets class QueryGameObjectResponse final : public ServerPacket { public: - QueryGameObjectResponse() : ServerPacket(SMSG_GAMEOBJECT_QUERY_RESPONSE, 165) { } + QueryGameObjectResponse() : ServerPacket(SMSG_QUERY_GAME_OBJECT_RESPONSE, 165) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index 440c8ea5478..016fb2e0df3 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -59,7 +59,7 @@ namespace WorldPackets class QuestGiverStatus final : public ServerPacket { public: - QuestGiverStatus() : ServerPacket(SMSG_QUESTGIVER_STATUS, 22) { } + QuestGiverStatus() : ServerPacket(SMSG_QUEST_GIVER_STATUS, 22) { } WorldPacket const* Write() override; @@ -69,7 +69,7 @@ namespace WorldPackets class QuestGiverStatusMultiple final : public ServerPacket { public: - QuestGiverStatusMultiple() : ServerPacket(SMSG_QUESTGIVER_STATUS_MULTIPLE, 24) { } + QuestGiverStatusMultiple() : ServerPacket(SMSG_QUEST_GIVER_STATUS_MULTIPLE, 24) { } WorldPacket const* Write() override; @@ -172,7 +172,7 @@ namespace WorldPackets class QueryQuestInfoResponse final : public ServerPacket { public: - QueryQuestInfoResponse() : ServerPacket(SMSG_QUEST_QUERY_RESPONSE, 1200) { } + QueryQuestInfoResponse() : ServerPacket(SMSG_QUERY_QUEST_INFO_RESPONSE, 1200) { } WorldPacket const* Write() override; @@ -247,7 +247,7 @@ namespace WorldPackets class QuestGiverOfferRewardMessage final : public ServerPacket { public: - QuestGiverOfferRewardMessage() : ServerPacket(SMSG_QUESTGIVER_OFFER_REWARD, 600) { } + QuestGiverOfferRewardMessage() : ServerPacket(SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE, 600) { } WorldPacket const* Write() override; @@ -278,7 +278,7 @@ namespace WorldPackets class QuestGiverQuestComplete final : public ServerPacket { public: - QuestGiverQuestComplete() : ServerPacket(SMSG_QUESTGIVER_QUEST_COMPLETE, 40) { } + QuestGiverQuestComplete() : ServerPacket(SMSG_QUEST_GIVER_QUEST_COMPLETE, 40) { } WorldPacket const* Write() override; @@ -318,7 +318,7 @@ namespace WorldPackets class QuestGiverQuestDetails final : public ServerPacket { public: - QuestGiverQuestDetails() : ServerPacket(SMSG_QUESTGIVER_QUEST_DETAILS, 1000) { } + QuestGiverQuestDetails() : ServerPacket(SMSG_QUEST_GIVER_QUEST_DETAILS, 1000) { } WorldPacket const* Write() override; @@ -363,7 +363,7 @@ namespace WorldPackets class QuestGiverRequestItems final : public ServerPacket { public: - QuestGiverRequestItems() : ServerPacket(SMSG_QUESTGIVER_REQUEST_ITEMS, 300) { } + QuestGiverRequestItems() : ServerPacket(SMSG_QUEST_GIVER_REQUEST_ITEMS, 300) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/SocialPackets.h b/src/server/game/Server/Packets/SocialPackets.h index 8224fd70437..9bda9a54ad6 100644 --- a/src/server/game/Server/Packets/SocialPackets.h +++ b/src/server/game/Server/Packets/SocialPackets.h @@ -69,7 +69,7 @@ namespace WorldPackets class FriendStatus final : public ServerPacket { public: - FriendStatus() : ServerPacket(SMSG_CONTACT_STATUS, 38) { } + FriendStatus() : ServerPacket(SMSG_FRIEND_STATUS, 38) { } void Initialize(ObjectGuid const& guid, FriendsResult result, FriendInfo const& friendInfo); diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 865e856aa6f..bb7253c22dc 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -50,7 +50,7 @@ namespace WorldPackets int32 ModCooldown = 0; ///< Reduced Cooldown in ms }; - CategoryCooldown() : ServerPacket(SMSG_SPELL_CATEGORY_COOLDOWN, 4) { } + CategoryCooldown() : ServerPacket(SMSG_CATEGORY_COOLDOWN, 4) { } WorldPacket const* Write() override; @@ -60,7 +60,7 @@ namespace WorldPackets class SendKnownSpells final : public ServerPacket { public: - SendKnownSpells() : ServerPacket(SMSG_INITIAL_SPELLS, 5) { } + SendKnownSpells() : ServerPacket(SMSG_SEND_KNOWN_SPELLS, 5) { } WorldPacket const* Write() override; @@ -71,7 +71,7 @@ namespace WorldPackets class UpdateActionButtons final : public ServerPacket { public: - UpdateActionButtons() : ServerPacket(SMSG_ACTION_BUTTONS, MAX_ACTION_BUTTONS * 8 + 1) + UpdateActionButtons() : ServerPacket(SMSG_UPDATE_ACTION_BUTTONS, MAX_ACTION_BUTTONS * 8 + 1) { std::memset(ActionButtons, 0, sizeof(ActionButtons)); } diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp index a88895fb35c..d7a0d5b5fef 100644 --- a/src/server/game/Server/Packets/SystemPackets.cpp +++ b/src/server/game/Server/Packets/SystemPackets.cpp @@ -26,7 +26,9 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write() _worldPacket << uint32(CfgRealmID); _worldPacket << int32(CfgRealmRecID); _worldPacket << uint32(UnkInt27); - _worldPacket << uint32(UnkInt29); + _worldPacket << uint32(TwitterMsTillCanPost); + _worldPacket << uint32(TokenPollTimeSeconds); + _worldPacket << uint32(TokenRedeemIndex); _worldPacket.WriteBit(VoiceEnabled); _worldPacket.WriteBit(EuropaTicketSystemStatus.HasValue); @@ -43,6 +45,9 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write() _worldPacket.WriteBit(TutorialsEnabled); _worldPacket.WriteBit(UnkBit90); _worldPacket.WriteBit(TwitterEnabled); + _worldPacket.WriteBit(CommerceSystemEnabled); + _worldPacket.WriteBit(Unk67); + _worldPacket.WriteBit(WillKickFromWorld); _worldPacket.WriteBit(UnkBit61); _worldPacket.FlushBits(); @@ -85,8 +90,14 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatusGlueScreen::Write() _worldPacket.WriteBit(BpayStoreAvailable); _worldPacket.WriteBit(BpayStoreDisabledByParentalControls); _worldPacket.WriteBit(CharUndeleteEnabled); + _worldPacket.WriteBit(CommerceSystemEnabled); + _worldPacket.WriteBit(Unk14); + _worldPacket.WriteBit(WillKickFromWorld); _worldPacket.FlushBits(); + _worldPacket << int32(TokenPollTimeSeconds); + _worldPacket << int32(TokenRedeemIndex); + return &_worldPacket; } diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h index d20d35649fb..851c84ec3b8 100644 --- a/src/server/game/Server/Packets/SystemPackets.h +++ b/src/server/game/Server/Packets/SystemPackets.h @@ -70,11 +70,16 @@ namespace WorldPackets uint8 ComplaintStatus = 0; int32 CfgRealmRecID = 0; int32 UnkInt27 = 0; - int32 UnkInt29 = 0; + int32 TwitterMsTillCanPost = 0; + int32 TokenPollTimeSeconds = 0; + int32 TokenRedeemIndex = 0; bool ItemRestorationButtonEnabled = false; bool CharUndeleteEnabled = false; ///< Implemented bool BpayStoreDisabledByParentalControls = false; bool TwitterEnabled = false; + bool CommerceSystemEnabled = false; + bool Unk67 = false; + bool WillKickFromWorld = false; bool RestrictedAccount = false; bool TutorialsEnabled = false; @@ -93,6 +98,11 @@ namespace WorldPackets bool BpayStoreDisabledByParentalControls = false; // NYI bool CharUndeleteEnabled = false; bool BpayStoreEnabled = false; // NYI + bool CommerceSystemEnabled = false; // NYI + bool Unk14 = false; // NYI + bool WillKickFromWorld = false; // NYI + int32 TokenPollTimeSeconds = 0; // NYI + int32 TokenRedeemIndex = 0; // NYI }; class MOTD final : public ServerPacket diff --git a/src/server/game/Server/Packets/TalentPackets.h b/src/server/game/Server/Packets/TalentPackets.h index 4147eeb58b6..97427779f67 100644 --- a/src/server/game/Server/Packets/TalentPackets.h +++ b/src/server/game/Server/Packets/TalentPackets.h @@ -41,7 +41,7 @@ namespace WorldPackets class UpdateTalentData final : public ServerPacket { public: - UpdateTalentData() : ServerPacket(SMSG_TALENTS_INFO, 2+4+4+4+12) { } + UpdateTalentData() : ServerPacket(SMSG_UPDATE_TALENT_DATA, 2+4+4+4+12) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/WhoPackets.h b/src/server/game/Server/Packets/WhoPackets.h index 3a3618c9756..fdfbde67174 100644 --- a/src/server/game/Server/Packets/WhoPackets.h +++ b/src/server/game/Server/Packets/WhoPackets.h @@ -29,7 +29,7 @@ namespace WorldPackets class WhoIsRequest final : public ClientPacket { public: - WhoIsRequest(WorldPacket&& packet) : ClientPacket(CMSG_WHOIS, std::move(packet)) { } + WhoIsRequest(WorldPacket&& packet) : ClientPacket(CMSG_WHO_IS, std::move(packet)) { } void Read() override; @@ -39,7 +39,7 @@ namespace WorldPackets class WhoIsResponse final : public ServerPacket { public: - WhoIsResponse() : ServerPacket(SMSG_WHOIS, 2) { } + WhoIsResponse() : ServerPacket(SMSG_WHO_IS, 2) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 26a35c0ff18..0f853a2a161 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -150,9 +150,9 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI_EXPRESS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiExpressOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_ADD_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::AddFriend, &WorldSession::HandleAddFriendOpcode); - DEFINE_HANDLER(CMSG_ADD_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::AddIgnore, &WorldSession::HandleAddIgnoreOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ALTER_APPEARANCE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAlterAppearance ); + DEFINE_HANDLER(CMSG_ADD_FRIEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::AddFriend, &WorldSession::HandleAddFriendOpcode); + DEFINE_HANDLER(CMSG_ADD_IGNORE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::AddIgnore, &WorldSession::HandleAddIgnoreOpcode); + DEFINE_HANDLER(CMSG_ALTER_APPEARANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::AlterApperance, &WorldSession::HandleAlterAppearance); DEFINE_HANDLER(CMSG_AREATRIGGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::AreaTrigger, &WorldSession::HandleAreaTriggerOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AREA_SPIRIT_HEALER_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueryOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AREA_SPIRIT_HEALER_QUEUE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueueOpcode); @@ -166,9 +166,9 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamQueryOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_REMOVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamRemoveOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_ROSTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamRosterOpcode ); - DEFINE_HANDLER(CMSG_ATTACKSTOP, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::AttackStop, &WorldSession::HandleAttackStopOpcode); - DEFINE_HANDLER(CMSG_ATTACKSWING, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::AttackSwing, &WorldSession::HandleAttackSwingOpcode); - DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::AuctionHouse::AuctionHelloRequest, &WorldSession::HandleAuctionHelloOpcode); + DEFINE_HANDLER(CMSG_ATTACKSTOP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Combat::AttackStop, &WorldSession::HandleAttackStopOpcode); + DEFINE_HANDLER(CMSG_ATTACKSWING, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Combat::AttackSwing, &WorldSession::HandleAttackSwingOpcode); + DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::AuctionHouse::AuctionHelloRequest, &WorldSession::HandleAuctionHelloOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBidderItems ); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItems ); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListOwnerItems ); @@ -179,15 +179,15 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_SELL_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellItem ); DEFINE_HANDLER(CMSG_AUTH_CONTINUED_SESSION, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoBankItem, &WorldSession::HandleAutoBankItemOpcode); + DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoBankItem, &WorldSession::HandleAutoBankItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOEQUIP_GROUND_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); + DEFINE_HANDLER(CMSG_AUTOEQUIP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOEQUIP_ITEM_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemSlotOpcode ); - DEFINE_HANDLER(CMSG_AUTOSTORE_BAG_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); - DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoStoreBankItem, &WorldSession::HandleAutoStoreBankItemOpcode); + DEFINE_HANDLER(CMSG_AUTOSTORE_BAG_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); + DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoStoreBankItem, &WorldSession::HandleAutoStoreBankItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOSTORE_GROUND_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::AutoStoreLootItem, &WorldSession::HandleAutostoreLootItemOpcode); - DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBankerActivateOpcode); + DEFINE_HANDLER(CMSG_AUTOSTORE_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::AutoStoreLootItem, &WorldSession::HandleAutostoreLootItemOpcode); + DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBankerActivateOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBattlefieldLeaveOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldListOpcode ); @@ -221,15 +221,15 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_SUMMON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_UPDATE_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BEGIN_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBeginTradeOpcode ); - DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode); + DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_BLACK_MARKET_BID_ON_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen); + DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen); DEFINE_OPCODE_HANDLER_OLD(CMSG_BLACK_MARKET_REQUEST_ITEMS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BOT_DETECTED2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BUG_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBugReportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BUSY_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBusyTradeOpcode ); - DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyBackItem, &WorldSession::HandleBuybackItem); - DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::BuyBankSlot, &WorldSession::HandleBuyBankSlotOpcode); + DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyBackItem, &WorldSession::HandleBuybackItem); + DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Bank::BuyBankSlot, &WorldSession::HandleBuyBankSlotOpcode); DEFINE_HANDLER(CMSG_BUY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyItem, &WorldSession::HandleBuyItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_CAGE_BATTLE_PET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_ADD_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarAddEvent ); @@ -268,35 +268,35 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_SUB_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupChangeSubGroupOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>); + DEFINE_HANDLER(CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>); DEFINE_HANDLER(CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>); - DEFINE_HANDLER(CMSG_CHANNEL_DECLINE_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>); - DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); + DEFINE_HANDLER(CMSG_CHANNEL_DECLINE_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>); + DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); DEFINE_HANDLER(CMSG_CHANNEL_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Invite>); DEFINE_HANDLER(CMSG_CHANNEL_KICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Kick>); - DEFINE_HANDLER(CMSG_CHANNEL_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); + DEFINE_HANDLER(CMSG_CHANNEL_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_MODERATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_CHANNEL_MODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>); DEFINE_HANDLER(CMSG_CHANNEL_MUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>); - DEFINE_HANDLER(CMSG_CHANNEL_OWNER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>); + DEFINE_HANDLER(CMSG_CHANNEL_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>); DEFINE_HANDLER(CMSG_CHANNEL_PASSWORD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Password>); DEFINE_HANDLER(CMSG_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>); - DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>); - DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>); + DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_ALL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>); + DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>); DEFINE_HANDLER(CMSG_CHANNEL_UNBAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>); DEFINE_HANDLER(CMSG_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>); DEFINE_HANDLER(CMSG_CHANNEL_UNMUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>); - DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>); - DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>); - DEFINE_HANDLER(CMSG_CHANNEL_VOICE_OFF, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>); - DEFINE_HANDLER(CMSG_CHANNEL_VOICE_ON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Voice>); + DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_ALL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>); + DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>); + DEFINE_HANDLER(CMSG_CHANNEL_VOICE_OFF, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>); + DEFINE_HANDLER(CMSG_CHANNEL_VOICE_ON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Voice>); DEFINE_HANDLER(CMSG_CHAR_CREATE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CreateChar, &WorldSession::HandleCharCreateOpcode); - DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode); + DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode); DEFINE_HANDLER(CMSG_CHAR_DELETE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::DeleteChar, &WorldSession::HandleCharDeleteOpcode); DEFINE_HANDLER(CMSG_CHAR_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharEnumOpcode); - DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode); - DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode); - DEFINE_HANDLER(CMSG_CHAR_UNDELETE_ENUM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharUndeleteEnumOpcode); + DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode); + DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode); + DEFINE_HANDLER(CMSG_CHAR_UNDELETE_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharUndeleteEnumOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHECK_RAF_EMAIL_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHOICE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_RAID_MARKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -315,7 +315,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCompleteCinematic ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_MOVIE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONFIRM_RESPEC_WIPE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleConfirmRespecWipeOpcode ); - DEFINE_HANDLER(CMSG_CONNECT_TO_FAILED, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); + DEFINE_HANDLER(CMSG_CONNECT_TO_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERSATION_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERT_RAID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupRaidConvertOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -323,12 +323,12 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_DANCE_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Query::DBQueryBulk, &WorldSession::HandleDBQueryBulk); DEFINE_HANDLER(CMSG_DECLINE_GUILD_INVITES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::DeclineGuildInvites, &WorldSession::HandleDeclineGuildInvites); - DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::DeclinePetition, &WorldSession::HandleDeclinePetition); + DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::DeclinePetition, &WorldSession::HandleDeclinePetition); DEFINE_OPCODE_HANDLER_OLD(CMSG_DELETE_EQUIPMENT_SET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetDelete ); - DEFINE_HANDLER(CMSG_DEL_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::DelFriend, &WorldSession::HandleDelFriendOpcode); - DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::DelIgnore, &WorldSession::HandleDelIgnoreOpcode); + DEFINE_HANDLER(CMSG_DEL_FRIEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::DelFriend, &WorldSession::HandleDelFriendOpcode); + DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::DelIgnore, &WorldSession::HandleDelIgnoreOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_DEPOSIT_REAGENT_BANK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::DestroyItem, &WorldSession::HandleDestroyItemOpcode); + DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::DestroyItem, &WorldSession::HandleDestroyItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_BOOT_PLAYER_VOTE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgJoinOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgLeaveOpcode ); @@ -347,11 +347,11 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::EmoteClient, &WorldSession::HandleEmoteOpcode); DEFINE_HANDLER(CMSG_ENABLE_NAGLE, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_TAXI_NODE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes ); - DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave); + DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave); DEFINE_OPCODE_HANDLER_OLD(CMSG_FAR_SIGHT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode ); DEFINE_HANDLER(CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryGameObject, &WorldSession::HandleGameObjectQueryOpcode); - DEFINE_HANDLER(CMSG_GAMEOBJ_REPORT_USE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectReportUse, &WorldSession::HandleGameobjectReportUse); - DEFINE_HANDLER(CMSG_GAMEOBJ_USE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectUse, &WorldSession::HandleGameObjectUseOpcode); + DEFINE_HANDLER(CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectReportUse, &WorldSession::HandleGameobjectReportUse); + DEFINE_HANDLER(CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectUse, &WorldSession::HandleGameObjectUseOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_GAMESPEED_SET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GAMETIME_SET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -397,44 +397,44 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_GROUP_CANCEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GROUP_REQUEST_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupRequestJoinUpdates ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAddRank, &WorldSession::HandleGuildAddRank); + DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAddRank, &WorldSession::HandleGuildAddRank); DEFINE_HANDLER(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAssignMemberRank, &WorldSession::HandleGuildAssignRank); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_AUTO_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankActivate, &WorldSession::HandleGuildBankActivate); + DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankActivate, &WorldSession::HandleGuildBankActivate); DEFINE_HANDLER(CMSG_GUILD_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankBuyTab, &WorldSession::HandleGuildBankBuyTab); DEFINE_HANDLER(CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankDepositMoney, &WorldSession::HandleGuildBankDepositMoney); DEFINE_HANDLER(CMSG_GUILD_BANK_LOG_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankLogQuery, &WorldSession::HandleGuildBankLogQuery); DEFINE_HANDLER(CMSG_GUILD_BANK_QUERY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankQueryTab, &WorldSession::HandleGuildBankQueryTab); - DEFINE_HANDLER(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankRemainingWithdrawMoneyQuery, &WorldSession::HandleGuildBankMoneyWithdrawn); + DEFINE_HANDLER(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankRemainingWithdrawMoneyQuery, &WorldSession::HandleGuildBankMoneyWithdrawn); DEFINE_HANDLER(CMSG_GUILD_BANK_SET_TAB_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankSetTabText, &WorldSession::HandleGuildBankSetTabText); DEFINE_HANDLER(CMSG_GUILD_BANK_SWAP_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankSwapItems, &WorldSession::HandleGuildBankSwapItems); DEFINE_HANDLER(CMSG_GUILD_BANK_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankTextQuery, &WorldSession::HandleGuildBankTextQuery); DEFINE_HANDLER(CMSG_GUILD_BANK_UPDATE_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankUpdateTab, &WorldSession::HandleGuildBankUpdateTab); DEFINE_HANDLER(CMSG_GUILD_BANK_WITHDRAW_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankWithdrawMoney, &WorldSession::HandleGuildBankWithdrawMoney); - DEFINE_HANDLER(CMSG_GUILD_CHALLENGE_UPDATE_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildChallengeUpdateRequest, &WorldSession::HandleGuildChallengeUpdateRequest); + DEFINE_HANDLER(CMSG_GUILD_CHALLENGE_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildChallengeUpdateRequest, &WorldSession::HandleGuildChallengeUpdateRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_CHANGE_NAME_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_GUILD_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDeclineInvitation, &WorldSession::HandleGuildDeclineInvitation); - DEFINE_HANDLER(CMSG_GUILD_DELETE_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDeleteRank, &WorldSession::HandleGuildDeleteRank); + DEFINE_HANDLER(CMSG_GUILD_DELETE_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDeleteRank, &WorldSession::HandleGuildDeleteRank); DEFINE_HANDLER(CMSG_GUILD_DEMOTE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDemoteMember, &WorldSession::HandleGuildDemoteMember); DEFINE_HANDLER(CMSG_GUILD_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDelete, &WorldSession::HandleGuildDelete); DEFINE_HANDLER(CMSG_GUILD_EVENT_LOG_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildEventLogQuery, &WorldSession::HandleGuildEventLogQuery); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GUILD_GET_RANKS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRanks, &WorldSession::HandleGuildGetRanks); - DEFINE_HANDLER(CMSG_GUILD_GET_ROSTER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRoster, &WorldSession::HandleGuildGetRoster); + DEFINE_HANDLER(CMSG_GUILD_GET_RANKS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRanks, &WorldSession::HandleGuildGetRanks); + DEFINE_HANDLER(CMSG_GUILD_GET_ROSTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRoster, &WorldSession::HandleGuildGetRoster); DEFINE_HANDLER(CMSG_GUILD_INVITE_BY_NAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildInviteByName, &WorldSession::HandleGuildInviteByName); DEFINE_HANDLER(CMSG_GUILD_LEAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildLeave, &WorldSession::HandleGuildLeave); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_MEMBER_SEND_SOR_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_GUILD_NEWS_UPDATE_STICKY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::GuildNewsUpdateSticky, &WorldSession::HandleGuildNewsUpdateSticky); DEFINE_HANDLER(CMSG_GUILD_OFFICER_REMOVE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildOfficerRemoveMember, &WorldSession::HandleGuildOfficerRemoveMember); - DEFINE_HANDLER(CMSG_GUILD_PERMISSIONS_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPermissionsQuery, &WorldSession::HandleGuildPermissionsQuery); + DEFINE_HANDLER(CMSG_GUILD_PERMISSIONS_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPermissionsQuery, &WorldSession::HandleGuildPermissionsQuery); DEFINE_HANDLER(CMSG_GUILD_PROMOTE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPromoteMember, &WorldSession::HandleGuildPromoteMember); DEFINE_HANDLER(CMSG_GUILD_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::QueryGuildInfo, &WorldSession::HandleGuildQueryOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_MEMBER_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GUILD_QUERY_NEWS, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Guild::GuildQueryNews, &WorldSession::HandleGuildQueryNews); + DEFINE_HANDLER(CMSG_GUILD_QUERY_NEWS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::GuildQueryNews, &WorldSession::HandleGuildQueryNews); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_REPLACE_GUILD_MASTER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GUILD_REQUEST_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState); + DEFINE_HANDLER(CMSG_GUILD_REQUEST_PARTY_STATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildSetAchievementTracking); DEFINE_HANDLER(CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Achievement::GuildSetFocusedAchievement, &WorldSession::HandleGuildSetFocusedAchievement); DEFINE_HANDLER(CMSG_GUILD_SET_GUILD_MASTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildSetGuildMaster, &WorldSession::HandleGuildSetGuildMaster); @@ -448,7 +448,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_ROLE_POLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateTradeOpcode ); - DEFINE_HANDLER(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); + DEFINE_HANDLER(CMSG_INSPECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP); DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund ); @@ -459,11 +459,11 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_JOIN_RATED_BATTLEGROUND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_KEEP_ALIVE, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_KEYBOUND_OVERRIDE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode); + DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode); DEFINE_HANDLER(CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::LeaveChannel, &WorldSession::HandleLeaveChannel); DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupDisbandOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_GET_STATUS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetStatus ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_JOIN_STATUS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetStatus ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_CANCEL_APPLICATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -475,7 +475,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_SEARCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LOCK_INFO_REQUEST, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetLockInfoOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_SYSTEM_INFO, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetLockInfoOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_PROPOSAL_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgProposalResultOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_SET_BOOT_VOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_SET_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgSetCommentOpcode ); @@ -494,21 +494,21 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutRequest, &WorldSession::HandleLogoutRequestOpcode); DEFINE_HANDLER(CMSG_LOG_DISCONNECT, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); + DEFINE_HANDLER(CMSG_LOOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_CURRENCY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_MASTER_GIVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMasterGiveOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_METHOD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMethodOpcode ); - DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode); - DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode); + DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode); + DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootRoll ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailCreateTextItem, &WorldSession::HandleMailCreateTextItem); - DEFINE_HANDLER(CMSG_MAIL_DELETE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailDelete, &WorldSession::HandleMailDelete); - DEFINE_HANDLER(CMSG_MAIL_MARK_AS_READ, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailMarkAsRead, &WorldSession::HandleMailMarkAsRead); + DEFINE_HANDLER(CMSG_MAIL_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailDelete, &WorldSession::HandleMailDelete); + DEFINE_HANDLER(CMSG_MAIL_MARK_AS_READ, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailMarkAsRead, &WorldSession::HandleMailMarkAsRead); DEFINE_HANDLER(CMSG_MAIL_RETURN_TO_SENDER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailReturnToSender, &WorldSession::HandleMailReturnToSender); - DEFINE_HANDLER(CMSG_MAIL_TAKE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeItem, &WorldSession::HandleMailTakeItem); - DEFINE_HANDLER(CMSG_MAIL_TAKE_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeMoney, &WorldSession::HandleMailTakeMoney); + DEFINE_HANDLER(CMSG_MAIL_TAKE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeItem, &WorldSession::HandleMailTakeItem); + DEFINE_HANDLER(CMSG_MAIL_TAKE_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeMoney, &WorldSession::HandleMailTakeMoney); DEFINE_OPCODE_HANDLER_OLD(CMSG_MASTER_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MEETINGSTONE_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_ADDON_CHANNEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -525,9 +525,9 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_MESSAGECHAT_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_MESSAGECHAT_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID_WARNING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID_WARNING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); DEFINE_HANDLER(CMSG_MESSAGECHAT_SAY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); DEFINE_HANDLER(CMSG_MESSAGECHAT_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageWhisper, &WorldSession::HandleChatMessageWhisperOpcode); DEFINE_HANDLER(CMSG_MESSAGECHAT_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); @@ -545,15 +545,15 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); DEFINE_HANDLER(CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FEATHER_FALL_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleFeatherFallAck ); - DEFINE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); + DEFINE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); - DEFINE_HANDLER(CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); + DEFINE_HANDLER(CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_ROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveRootAck ); DEFINE_HANDLER(CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_HANDLER(CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); - DEFINE_HANDLER(CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); + DEFINE_HANDLER(CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_HANDLER(CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); - DEFINE_HANDLER(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); + DEFINE_HANDLER(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_UNROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveUnRootAck ); DEFINE_HANDLER(CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_GRAVITY_DISABLE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -597,7 +597,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); DEFINE_HANDLER(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MoveTeleportAck, &WorldSession::HandleMoveTeleportAck); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TIME_SKIPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TIME_SKIPPED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TOGGLE_COLLISION_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_WATER_WALK_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveWaterWalkAck ); @@ -612,7 +612,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPENING_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_GARRISON_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode ); + DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_SHIPMENT_GAME_OBJ, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_SHIPMENT_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPT_OUT_OF_LOOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOptOutOfLootOpcode ); @@ -622,10 +622,10 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_SILENCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_UNINVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupUninviteOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_UNSILENCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionBuy, &WorldSession::HandlePetitionBuy); + DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionBuy, &WorldSession::HandlePetitionBuy); DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionRenameGuild, &WorldSession::HandlePetitionRenameGuild); - DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList); - DEFINE_HANDLER(CMSG_PETITION_SHOW_SIGNATURES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowSignatures, &WorldSession::HandlePetitionShowSignatures); + DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList); + DEFINE_HANDLER(CMSG_PETITION_SHOW_SIGNATURES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowSignatures, &WorldSession::HandlePetitionShowSignatures); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ABANDON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAction ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_BATTLE_FINAL_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -637,7 +637,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_BATTLE_REQUEST_WILD, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_CANCEL_AURA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCancelAuraOpcode ); - DEFINE_HANDLER(CMSG_PET_CAST_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::PetCastSpell, &WorldSession::HandlePetCastSpellOpcode); + DEFINE_HANDLER(CMSG_PET_CAST_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::PetCastSpell, &WorldSession::HandlePetCastSpellOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_NAME_CACHE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_NAME_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_RENAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetRename ); @@ -649,50 +649,50 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_PLAYED_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayedTimeClient, &WorldSession::HandlePlayedTime); DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAY_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard); + DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard); DEFINE_OPCODE_HANDLER_OLD(CMSG_PUSH_QUEST_TO_PARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePushQuestToParty ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PVP_LOG_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandlePVPLogDataOpcode ); - DEFINE_HANDLER(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseLocationFromClient, &WorldSession::HandleQueryCorpseLocation); - DEFINE_HANDLER(CMSG_QUERY_CORPSE_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseTransport, &WorldSession::HandleQueryCorpseTransport); + DEFINE_HANDLER(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseLocationFromClient, &WorldSession::HandleQueryCorpseLocation); + DEFINE_HANDLER(CMSG_QUERY_CORPSE_TRANSPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseTransport, &WorldSession::HandleQueryCorpseTransport); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_COUNTDOWN_TIMER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::QueryInspectAchievements, &WorldSession::HandleQueryInspectAchievements); - DEFINE_HANDLER(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailQueryNextMailTime, &WorldSession::HandleQueryNextMailTime); + DEFINE_HANDLER(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailQueryNextMailTime, &WorldSession::HandleQueryNextMailTime); DEFINE_HANDLER(CMSG_QUERY_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::QueryPetition, &WorldSession::HandleQueryPetition); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_SCENARIO_POI, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_QUERY_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryTime, &WorldSession::HandleQueryTimeOpcode); - DEFINE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverAcceptQuest, &WorldSession::HandleQuestgiverAcceptQuestOpcode); + DEFINE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverAcceptQuest, &WorldSession::HandleQuestgiverAcceptQuestOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_CANCEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode); - DEFINE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverCompleteQuest, &WorldSession::HandleQuestgiverCompleteQuest); - DEFINE_HANDLER(CMSG_QUESTGIVER_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverHello, &WorldSession::HandleQuestgiverHelloOpcode); - DEFINE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverQueryQuest, &WorldSession::HandleQuestgiverQueryQuestOpcode); + DEFINE_HANDLER(CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode); + DEFINE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverCompleteQuest, &WorldSession::HandleQuestgiverCompleteQuest); + DEFINE_HANDLER(CMSG_QUESTGIVER_HELLO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverHello, &WorldSession::HandleQuestgiverHelloOpcode); + DEFINE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverQueryQuest, &WorldSession::HandleQuestgiverQueryQuestOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode); - DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery); + DEFINE_HANDLER(CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode); + DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery); DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode); - DEFINE_HANDLER(CMSG_QUESTLOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest); + DEFINE_HANDLER(CMSG_QUESTLOG_REMOVE_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTLOG_SWAP_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestConfirmAccept ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CLOSE_AUTOACCEPT_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_QUEST_COMPLETION_NPCS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestNPCQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_POI_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPOIQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult ); - DEFINE_HANDLER(CMSG_QUEST_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode); + DEFINE_HANDLER(CMSG_QUEST_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_RANDOMIZE_CHAR_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode); - DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode); + DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REAGENT_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse); + DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse); DEFINE_OPCODE_HANDLER_OLD(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REGISTER_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonRegisteredPrefixesOpcode); DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters); - DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode); + DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPLACE_ACCOUNT_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPLACE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RepopRequest, &WorldSession::HandleRepopRequest); + DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::RepopRequest, &WorldSession::HandleRepopRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_PVP_AFK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK ); @@ -703,7 +703,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_REQUEST_CEMETERY_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::RequestCemeteryList, &WorldSession::HandleRequestCemeteryList); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_FORCED_REACTIONS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Guild::RequestGuildRewardsList, &WorldSession::HandleRequestGuildRewardsList); + DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::RequestGuildRewardsList, &WorldSession::HandleRequestGuildRewardsList); DEFINE_HANDLER(CMSG_REQUEST_HONOR_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::RequestHonorStats, &WorldSession::HandleRequestHonorStatsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -722,7 +722,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_CHALLENGE_MODE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_FACTION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_INSTANCES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode ); - DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse); + DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse); DEFINE_OPCODE_HANDLER_OLD(CMSG_REVERT_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_RIDE_VEHICLE_INTERACT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleEnterPlayerVehicle ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode ); @@ -733,7 +733,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_PLAYBACK_COMPLETE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_TRIGGER_EVENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SELF_RES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode ); - DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SellItem, &WorldSession::HandleSellItemOpcode); + DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SellItem, &WorldSession::HandleSellItemOpcode); DEFINE_HANDLER(CMSG_SEND_CONTACT_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::SendContactList, &WorldSession::HandleContactListOpcode); DEFINE_HANDLER(CMSG_SEND_MAIL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::SendMail, &WorldSession::HandleSendMail); DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_ADDRESS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -741,15 +741,15 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SERVERTIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SETDEATHBINDPOINT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACHIEVEMENTS_HIDDEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_SET_ACTIONBAR_TOGGLES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetActionBarToggles, &WorldSession::HandleSetActionBarToggles); - DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::SetActionButton, &WorldSession::HandleSetActionButtonOpcode); + DEFINE_HANDLER(CMSG_SET_ACTIONBAR_TOGGLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::SetActionBarToggles, &WorldSession::HandleSetActionBarToggles); + DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::SetActionButton, &WorldSession::HandleSetActionButtonOpcode); DEFINE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Movement::SetActiveMover, &WorldSession::HandleSetActiveMoverOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveVoiceChannel ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ASSISTANT_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupAssistantLeaderOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BANK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::SetContactNotes, &WorldSession::HandleSetContactNotesOpcode); + DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::SetContactNotes, &WorldSession::HandleSetContactNotesOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CURRENCY_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_DIFFICULTY_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetDungeonDifficulty, &WorldSession::HandleSetDungeonDifficultyOpcode); @@ -773,19 +773,19 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ROLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupSetRolesOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSavedInstanceExtend ); DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetSelection, &WorldSession::HandleSetSelectionOpcode); - DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode); + DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SKILL_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode); + DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTaxiBenchmarkOpcode ); - DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetTitle, &WorldSession::HandleSetTitleOpcode); + DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::SetTitle, &WorldSession::HandleSetTitleOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_CURRENCY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_GOLD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeGoldOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeItemOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_VEHICLE_REC_ID_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_WATCHED_FACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode ); - DEFINE_HANDLER(CMSG_SHOWING_CLOAK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingCloak, &WorldSession::HandleShowingCloakOpcode); - DEFINE_HANDLER(CMSG_SHOWING_HELM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingHelm, &WorldSession::HandleShowingHelmOpcode); + DEFINE_HANDLER(CMSG_SHOWING_CLOAK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingCloak, &WorldSession::HandleShowingCloakOpcode); + DEFINE_HANDLER(CMSG_SHOWING_HELM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingHelm, &WorldSession::HandleShowingHelmOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SHOW_TRADE_SKILL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_SIGN_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::SignPetition, &WorldSession::HandleSignPetition); DEFINE_OPCODE_HANDLER_OLD(CMSG_SILENCE_PARTY_TALKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -796,7 +796,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SPELLCLICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpiritHealerActivateOpcode); DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SplitItem, &WorldSession::HandleSplitItemOpcode); - DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::StandStateChange, &WorldSession::HandleStandStateChangeOpcode); + DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::StandStateChange, &WorldSession::HandleStandStateChangeOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_START_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_START_SPECTATOR_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_START_WARGAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -808,8 +808,8 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitSuggestion, &WorldSession::HandleSupportTicketSubmitSuggestion); DEFINE_OPCODE_HANDLER_OLD(CMSG_SUSPEND_COMMS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SUSPEND_TOKEN_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); - DEFINE_HANDLER(CMSG_SWAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapItem, &WorldSession::HandleSwapItem); + DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); + DEFINE_HANDLER(CMSG_SWAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapItem, &WorldSession::HandleSwapItem); DEFINE_OPCODE_HANDLER_OLD(CMSG_SWAP_SUB_GROUPS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupSwapSubGroupOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SYNC_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_TABARD_VENDOR_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTabardVendorActivateOpcode); @@ -838,7 +838,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_UI_TIME_REQUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::UITimeRequest, &WorldSession::HandleUITimeRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_GET_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnacceptTradeOpcode ); - DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode); + DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnregisterAddonPrefixesOpcode); @@ -852,7 +852,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_CRITTER_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_EQUIPMENT_SET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUse ); - DEFINE_HANDLER(CMSG_USE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::UseItem, &WorldSession::HandleUseItemOpcode); + DEFINE_HANDLER(CMSG_USE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::UseItem, &WorldSession::HandleUseItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_TOY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_VIOLENCE_LEVEL, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Misc::ViolenceLevel, &WorldSession::HandleViolenceLevel); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_ADD_IGNORE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -864,7 +864,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_SWAP_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidSwapItem ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WARDEN_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWardenDataOpcode ); DEFINE_HANDLER(CMSG_WHO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoRequestPkt, &WorldSession::HandleWhoOpcode); - DEFINE_HANDLER(CMSG_WHOIS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoisOpcode); + DEFINE_HANDLER(CMSG_WHO_IS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoIsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWrapItemOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ZONEUPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleZoneUpdateOpcode ); @@ -893,15 +893,12 @@ void OpcodeTable::Initialize() ValidateAndSetServerOpcode(opcode, #opcode, status, con) DEFINE_SERVER_OPCODE_HANDLER(SMSG_ABORT_NEW_WORLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CRITERIA_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_DATA_TIMES, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_MOUNT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_RESTRICTED_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_TOYS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTION_BUTTONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTIVATE_TAXI_REPLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADDON_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_BATTLENET_FRIEND_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -912,71 +909,47 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGET_ACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACCOUNT_CRITERIA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACCOUNT_CRITERIA, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_GUILD_ACHIEVEMENTS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_GUILD_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARCHAEOLOGY_SURVERY_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_NO_CORPSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_RE_PATH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_RE_SHAPE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_ROSTER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTART, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTOP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_ERROR, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_LANDED_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKER_STATE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACK_START, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACK_STOP, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACK_SWING_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACK_SWING_LANDED_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_CLOSED_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_HELLO_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_HELLO_RESPONSE, STATUS_UNHANDLED, 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_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_LIST_PENDING_SALES_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OUTBID_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OWNER_BID_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OWNER_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_REMOVED_NOTIFICATION, STATUS_UNHANDLED, 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_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AURACASTLOG, STATUS_UNHANDLED, 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); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUTH_CHALLENGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUTH_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AVAILABLE_VOICE_CHANNEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_AVERAGE_ITEM_LEVEL_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BARBER_SHOP_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BARBER_SHOP_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_DROP_TIMER_CANCELED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_DROP_TIMER_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EJECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EJECT_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_ENTERING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_ENTRY_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EXIT_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_QUEUE_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_PORT_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_RATED_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_ACTIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NONE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_INFO_THROTTLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_INIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_JOINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -989,17 +962,15 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_CONFIRM_PURCHASE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_DELIVERY_ENDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_DELIVERY_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_PURCHASE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PETS_HEALED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_CAGE_DATE_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_HEALED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_JOURNAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1008,20 +979,29 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_REVOKED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_TRAP_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_UPDATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDPOINTUPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_DROP_TIMER_CANCELLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_DROP_TIMER_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_EJECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_EJECT_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTERING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_ENTRY_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_STATUS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BIND_POINT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_OPEN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_OUTBID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_WON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BONUS_ROLL_EMPTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BOSS_KILL_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BREAK_TARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_BANK_SLOT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_SUCCEEDED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_ACTION_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_ARENA_TEAM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_CLEAR_PENDING_ACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INITIAL_INVITES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1035,117 +1015,99 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_REMOVED_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_UPDATED_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_FILTER_GUILD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_CALENDAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_UPDATE_INVITE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAMERA_SHAKE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_DUEL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CATEGORY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLEGE_MODE_REWARDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_ALL_MAP_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REWARDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_JOINED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_LEFT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_LOGIN_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_OBJECT_TEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_RENAME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_CHARACTER_CHOSEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CREATE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CUSTOMIZE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CUSTOMIZE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_DELETE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_ENUM, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_RENAME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_UPGRADE_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CUSTOMIZE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_FACTION_CHANGE_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_AUTO_RESPONDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IGNORED_ACCOUNT_MUTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IS_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_NOT_IN_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOTFOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RECONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RESTRICTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_WRONG_FACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHEAT_IGNORE_DIMISHING_RETURNS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHECK_FOR_BOTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHECK_WARGAME_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHUNKED_PACKET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_ALL_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_BOSS_EMOTES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWNS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENT_CONTROL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_LOG_MULTIPLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_MAP_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PARTY_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLAINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLETE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_MOVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_PACKET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_CONNECT_FAIL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_DISCONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_RECONNECT_TRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONNECT_TO, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONSOLE_WRITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTROL_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, 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_CREATURE_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CURRENCY_LOOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CURRENCY_LOOT_RESTORED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CUSTOM_LOAD_SCREEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_CALC_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_DONE_OBSOLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEBUG_SERVER_GEO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELETE_CHAR, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTROY_ARENA_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DIFFERENT_INSTANCE_FROM_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1166,75 +1128,79 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_OUT_OF_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_REQUESTED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_WINNER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUMP_RIDE_TICKETS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DURABILITY_DAMAGE_DEATH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ECHO_PARTY_SQUELCH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_EMOTE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENABLE_BARBER_SHOP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENABLE_BARBER_SHOP, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCHANTMENT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENVIRONMENTALDAMAGELOG, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_SAVED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENUM_CHARACTERS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENVIRONMENTAL_DAMAGE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_ID, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPECTED_SPAM_RECORDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPLORATION_EXPERIENCE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPLORATION_EXPERIENCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FAILED_PLAYER_CONDITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEIGN_DEATH_RESISTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_FINAL_CHUNK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FISH_ESCAPED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FISH_NOT_HOOKED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FLIGHT_SPLINE_SYNC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_FLOOD_DETECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCEACTIONSHOW, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCED_DEATH_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_DISPLAY_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_OBJECT_RELINK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORGE_MASTER_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_CUSTOM_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_DESPAWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_DESPAWN_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PAGETEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_QUERY_RESPONSE, STATUS_LOGGEDIN, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_EVENT_DEBUG_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_CUSTOM_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_DESPAWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_SPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_ACTIVATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_DELETE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL2, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_XP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LANDINGPAGE_SHIPMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_IS_UPGRADEABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LIST_MISSIONS_CHEAT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_TRADESKILL_NPC_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_NUM_FOLLOWER_ACTIVATIONS_REMAINING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_ARCHITECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_MISSION_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLACE_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_PLACED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RECRUITMENT_FOLLOWERS_GENERATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOTE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_SET_NUM_FOLLOWER_ACTIVATIONS_REMAINING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_START_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UNK1, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UNK3, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADEABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_FOLLOWER_ITEM_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_DISPLAYED_TROPHY_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_GARRISON_INFO_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_SHIPMENT_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_TROPHY_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_MESSAGECHAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_REQUEST_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_CASE_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1250,85 +1216,78 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_POI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_ACTION_THROTTLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DECLINE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DESTROYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_NEW_LEADER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_UNINVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_MEMBERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_LOG_QUERY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_LOG_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_TEXT_QUERY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CHALLENGE_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CHALLENGE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CHALLENGE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CHANGE_NAME_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CRITERIA_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_DECLINE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CRITERIA_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_DISBANDED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_MOTD, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_NEW_LEADER, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_JOINED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_LEFT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PRESENCE_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANKS_UPDATED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANK_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_ADDED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_DISBANDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_MOTD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_NEW_LEADER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_JOINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_LEFT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PRESENCE_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANKS_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANK_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_MODIFIED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_MODIFIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_FLAGGED_FOR_RENAME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE_DECLINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE_EXPIRED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_KNOWN_RECIPES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBERS_WITH_RECIPE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBER_DAILY_RESET, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBER_DAILY_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBER_RECIPES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MEMBER_UPDATE_NOTE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_MOVE_STARTING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NAME_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RANKS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RANKS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REPUTATION_REACTION_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REWARDS_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REWARD_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_SEND_RANK_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_NOTIFY_BLOB, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SETUP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_PVP, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1337,181 +1296,161 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_TIMER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_GROUP_SIZE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_LOCK_WARNING_QUERY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_RESET_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_SAVE_CREATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_PLAYER, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_PLAYER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALID_PROMOTION_CODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_REFUND_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_JOINED_BATTLEGROUND_QUEUE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_KICK_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_DANCE_MOVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARN_TALENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEVELUP_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEVEL_UP_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_BOOT_PLAYER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_BOOT_PROPOSAL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_DISABLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_JOIN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_JOIN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_SEARCH_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_SEARCH_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_UPDATE_BLACKLIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_LIST_UPDATE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_OFFER_CONTINUE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_OPEN_FROM_GOSSIP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PARTY_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PLAYER_REWARD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_PROPOSAL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_QUEUE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_READY_CHECK_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_READY_CHECK_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_ROLE_CHECK_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_ROLE_CHOSEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_SEARCH_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_SLOT_INVALID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_TELEPORT_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_UPDATE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_UPDATE_SEARCH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_UPDATE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICANT_LIST_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICANT_LIST_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_BROWSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_POST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_RECRUITS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIST_INVENTORY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_CHARACTER_COPY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_CUF_PROFILES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SETTIMESPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_EQUIPMENT_SET, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_SELECTED_TROPHY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SET_TIME_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_VERIFY_WORLD, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_CANCEL_ACK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOG_XPGAIN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOG_XP_GAIN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ALL_PASSED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_CONTENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ITEM_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ITEM_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_MONEY_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLLS_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLL_WON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_SLOT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOSS_OF_CONTROL_AURA_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_LIST_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_QUERY_NEXT_TIME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_QUERY_NEXT_TIME_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJECTIVES_INIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJ_EVENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MASTER_LOOT_CANDIDATE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MEETINGSTONE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MEETINGSTONE_IN_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MEETINGSTONE_MEMBER_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MEETINGSTONE_SETQUEUE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MESSAGECHAT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MESSAGE_BOX, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIGAME_SETUP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIGAME_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIMAP_PING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_COMPONENTED_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_CREATURE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MISSILE_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MODIFY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MONEY_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MODIFY_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOTD, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOUNT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_APPLY_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_REMOVE_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ACTIVE_MOVER, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COLLISION_HEIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COMPOUND_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FEATHER_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FEATHER_FALL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVERING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_LAND_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_NORMAL_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_PITCH_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_NORMAL_FALL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_PITCH_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_SWIM_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_TURN_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_TURN_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_VEHICLE_REC_ID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_IN_AIR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WATER_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WATER_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SKIP_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_DISABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ENABLE_GRAVITY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ROOT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FEATHER_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_ROOT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FEATHER_FALL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_LAND_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_NORMAL_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_PITCH_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_LAND_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_NORMAL_FALL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_PITCH_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_RUN_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_TURN_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_SWIM_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_TURN_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WATER_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WALK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_SET_WATER_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_START_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_STOP_SWIM, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_HOVERING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_WALK_IN_AIR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_COLLISION_HEIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_KNOCK_BACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_PITCH_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1523,41 +1462,32 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TURN_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_WALK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_MULTIPLE_PACKETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NAME_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NEW_TAXI_PATH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NEW_WORLD, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_DEST_LOC_SPELL_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_MONEY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_RECEIVED_MAIL, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NPC_TEXT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_NPC_WONT_TALK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_RECEIVED_MAIL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OFFER_PETITION_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ON_MONSTER_MOVE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_CONTAINER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_LFG_DUNGEON_FINDER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_SHIPMENT_NPC_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OVERRIDE_LIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAGE_TEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAGE_TEXT_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_KILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATS_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAUSE_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PENDING_RAID_LOCK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PERIODICAURALOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_ALREADY_SIGNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_DECLINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_RENAME_GUILD_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SHOW_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SHOW_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SHOW_SIGNATURES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SIGN_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_ACTION_FEEDBACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1578,31 +1508,28 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_REQUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_ROUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_SLOT_UPDATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BROKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_CAST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_CLEAR_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_DISMISS_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GOD_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GUIDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_LEARNED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GUI_DS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_LEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_INVALID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_REMOVED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_RENAMEABLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SLOT_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SPECIALIZATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SPELLS_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_STABLE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_STABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_TAME_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_UPDATE_COMBO_POINTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_UNLEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PHASE_SHIFT_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYED_TIME, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_BOUND, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_BOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SAVE_GUILD_EMBLEM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SKINNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_VEHICLE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_TABARD_VENDOR_ACTIVATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_OBJECT_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ONE_SHOT_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1611,36 +1538,43 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_TIME_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRINT_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROC_RESIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROPOSE_LEVEL_GRANT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PUREMOUNT_CANCELLED_OBSOLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_LOG_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_OPTIONS_ENABLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_SEASON, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_BATTLE_PET_NAME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_CREATURE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GAME_OBJECT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_GUILD_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_ITEM_TEXT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PETITION_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_NPC_TEXT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PAGE_TEXT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PETITION_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PET_NAME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PLAYER_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_QUEST_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_TIME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_INVALID_QUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_OFFER_REWARD, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_INVALID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_FORCE_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_INVALID_QUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_DETAILS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_REQUEST_ITEMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_STATUS_MULTIPLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_LOG_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1648,24 +1582,20 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAF_EMAIL_ENABLED_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_DIFFICULTY_SET, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_GROUP_ONLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOMIZE_CHAR_NAME, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_RATING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BATTLEFIELD_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_OK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REALM_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REALM_SPLIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_REAL_GROUP_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECRUIT_A_FRIEND_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_REDIRECT_CLIENT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_EXPIRED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_COMPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1673,34 +1603,29 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_ITEM_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPLACE_TROPHY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_AFK_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_PLAYER_AFK_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_PVP_REWARDS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_SETUP_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_COMPRESSION_CONTEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_FAILED_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_RANGED_COMBAT_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_WEEKLY_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESISTLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPEC_WIPE_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESTRICTED_ACCOUNT_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_CAST_BAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_COMMS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESURRECT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESURRECT_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESYNC_RUNES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHANGED_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHOSEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RUNE_REGEN_DEBUG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SAVE_GUILD_EMBLEM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_BOOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_OUT_OF_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_POIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_PO_IS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_PROGRESS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1708,12 +1633,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCRIPT_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_ITEM_PASSIVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_MAIL_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_KNOWN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_SINGLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1721,12 +1646,9 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_PERF, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_TROPHY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_RESEARCH_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1744,40 +1666,34 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_LOOT_METHOD_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MAX_WEEKLY_QUANTITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MELEE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MOVEMENT_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PHASE_SHIFT_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PET_SPECIALIZATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROFICIENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROJECTILE_POSITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_RAID_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TASK_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TIME_ZONE_INFORMATION, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VIGNETTE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_RATINGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TAXI_NODES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TRADE_SKILL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCKET_GEMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SORT_BAGS_ACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOR_START_EXPERIENCE_INCOMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPECIAL_MOUNT_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELLBREAKLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELLSTEALLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ABSORB_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CATEGORY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CHANNEL_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CHANNEL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DAMAGE_SHIELD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DELAYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DISPEL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DISPELL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ENERGIZE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_EXECUTE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILURE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILED_OTHER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_GO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_HEAL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INSTAKILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1786,38 +1702,35 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MULTISTRIKE_EFFECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_OR_DAMAGE_IMMUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_PERIODIC_AURA_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_START, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPIRIT_HEALER_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_STAND_STATE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_STAND_STATE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_STREAMING_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_SPEAKERBOT_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_STREAMING_MOVIES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPERCEDED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPERCEDED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_COMMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TABARD_VENDOR_ACTIVATE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TALENTS_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TALENTS_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TALENTS_INVOLUNTARILY_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TAXINODE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEST_DROP_RATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TAXI_NODE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEXT_EMOTE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_CLEAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_ADJUSTMENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_SYNC_REQ, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_SYNC_REQUEST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_LOST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOTEM_CREATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1825,44 +1738,39 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_SUCCEEDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TUTORIAL_FLAGS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UI_TIME, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNDELETE_CHARACTER_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNDELETE_CHARACTER_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNIT_HEALTH_FREQUENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNIT_SPELLCAST_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNLEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACCOUNT_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CAPTURE_POINT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACTION_BUTTONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CHARACTER_FLAGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_COMBO_POINTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CURRENCY_WEEK_LIMIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_EXPANSION_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_INSTANCE_OWNERSHIP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_LAST_INSTANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_OBJECT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_SERVER_PLAYER_POSITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_TALENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_WORLD_STATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_ADD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_REMOVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_USE_EQUIPMENT_SET_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICESESSION_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VENDOR_INVENTORY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VIGNETTE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_CHAT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_PARENTAL_CONTROLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SESSION_LEAVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SESSION_ROSTER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SET_TALKER_MUTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_ITEM_SWAP_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_CONTENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1871,13 +1779,11 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_WAIT_QUEUE_FINISH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WAIT_QUEUE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARDEN_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEATHER, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_LAST_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHOIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO_IS, STATUS_NEVER, CONNECTION_TYPE_REALM); 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); DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ABORTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 8f55575fe53..b79c78d8878 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -48,17 +48,17 @@ enum OpcodeClient : uint32 { CMSG_ACCEPT_GUILD_INVITE = 0xBADD, CMSG_ACCEPT_LEVEL_GRANT = 0xBADD, - CMSG_ACCEPT_TRADE = 0xBADD, - CMSG_ACCEPT_WARGAME_INVITE = 0xBADD, - CMSG_ACTIVATE_TAXI = 0x0823, + CMSG_ACCEPT_TRADE = 0x0F07, + CMSG_ACCEPT_WARGAME_INVITE = 0x0E3F, + CMSG_ACTIVATE_TAXI = 0xBADD, CMSG_ACTIVATE_TAXI_EXPRESS = 0xBADD, - CMSG_ADD_BATTLENET_FRIEND = 0xBADD, - CMSG_ADD_FRIEND = 0x15E2, - CMSG_ADD_IGNORE = 0x1D33, - CMSG_ALTER_APPEARANCE = 0x0822, - CMSG_AREATRIGGER = 0x1904, - CMSG_AREA_SPIRIT_HEALER_QUERY = 0x093A, - CMSG_AREA_SPIRIT_HEALER_QUEUE = 0xBADD, + CMSG_ADD_BATTLENET_FRIEND = 0x0335, + CMSG_ADD_FRIEND = 0x039E, + CMSG_ADD_IGNORE = 0x16A0, + CMSG_ALTER_APPEARANCE = 0x0F82, + CMSG_AREATRIGGER = 0x0BDB, + CMSG_AREA_SPIRIT_HEALER_QUERY = 0x1825, + CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x0E81, CMSG_ARENA_TEAM_ACCEPT = 0xBADD, CMSG_ARENA_TEAM_CREATE = 0xBADD, CMSG_ARENA_TEAM_DECLINE = 0xBADD, @@ -69,30 +69,30 @@ enum OpcodeClient : uint32 CMSG_ARENA_TEAM_QUERY = 0xBADD, CMSG_ARENA_TEAM_REMOVE = 0xBADD, CMSG_ARENA_TEAM_ROSTER = 0xBADD, - CMSG_ATTACKSTOP = 0x0853, - CMSG_ATTACKSWING = 0x048B, - CMSG_AUCTION_HELLO_REQUEST = 0x06E3, - CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x0C81, - CMSG_AUCTION_LIST_ITEMS = 0x05C3, - CMSG_AUCTION_LIST_OWNER_ITEMS = 0x082A, - CMSG_AUCTION_LIST_PENDING_SALES = 0x0D82, - CMSG_AUCTION_PLACE_BID = 0x09E1, - CMSG_AUCTION_REMOVE_ITEM = 0x1309, - CMSG_AUCTION_REPLICATE_ITEMS = 0xBADD, - CMSG_AUCTION_SELL_ITEM = 0x09A3, - CMSG_AUTH_CONTINUED_SESSION = 0x1A72, - CMSG_AUTH_SESSION = 0x1872, - CMSG_AUTOBANK_ITEM = 0x00C6, + CMSG_ATTACKSTOP = 0x0A01, + CMSG_ATTACKSWING = 0x0BF4, + CMSG_AUCTION_HELLO_REQUEST = 0x1F82, + CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x1821, + CMSG_AUCTION_LIST_ITEMS = 0xBADD, + CMSG_AUCTION_LIST_OWNER_ITEMS = 0xBADD, + CMSG_AUCTION_LIST_PENDING_SALES = 0x0935, + CMSG_AUCTION_PLACE_BID = 0x1822, + CMSG_AUCTION_REMOVE_ITEM = 0x1C32, + CMSG_AUCTION_REPLICATE_ITEMS = 0x0E82, + CMSG_AUCTION_SELL_ITEM = 0xBADD, + CMSG_AUTH_CONTINUED_SESSION = 0x0376, + CMSG_AUTH_SESSION = 0x03DD, + CMSG_AUTOBANK_ITEM = 0xBADD, CMSG_AUTOEQUIP_GROUND_ITEM = 0xBADD, - CMSG_AUTOEQUIP_ITEM = 0x0235, - CMSG_AUTOEQUIP_ITEM_SLOT = 0x0076, - CMSG_AUTOSTORE_BAG_ITEM = 0x00E5, - CMSG_AUTOSTORE_BANK_ITEM = 0x00D5, + CMSG_AUTOEQUIP_ITEM = 0xBADD, + CMSG_AUTOEQUIP_ITEM_SLOT = 0xBADD, + CMSG_AUTOSTORE_BAG_ITEM = 0xBADD, + CMSG_AUTOSTORE_BANK_ITEM = 0xBADD, CMSG_AUTOSTORE_GROUND_ITEM = 0xBADD, - CMSG_AUTOSTORE_LOOT_ITEM = 0x0843, - CMSG_BANKER_ACTIVATE = 0x0931, - CMSG_BATTLEFIELD_JOIN = 0xBADD, - CMSG_BATTLEFIELD_LEAVE = 0xBADD, + CMSG_AUTOSTORE_LOOT_ITEM = 0x1BAC, + CMSG_BANKER_ACTIVATE = 0x0CA5, + CMSG_BATTLEFIELD_JOIN = 0x1D36, + CMSG_BATTLEFIELD_LEAVE = 0x0272, CMSG_BATTLEFIELD_LIST = 0xBADD, CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0xBADD, CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0xBADD, @@ -101,679 +101,679 @@ enum OpcodeClient : uint32 CMSG_BATTLEFIELD_PORT = 0xBADD, CMSG_BATTLEFIELD_REQUEST_SCORE_DATA = 0xBADD, CMSG_BATTLEGROUND_PLAYER_POSITIONS = 0xBADD, - CMSG_BATTLEMASTER_HELLO = 0x032A, - CMSG_BATTLEMASTER_JOIN = 0x0B63, + CMSG_BATTLEMASTER_HELLO = 0x1605, + CMSG_BATTLEMASTER_JOIN = 0xBADD, CMSG_BATTLEMASTER_JOIN_ARENA = 0xBADD, CMSG_BATTLEMASTER_JOIN_RATED = 0xBADD, - CMSG_BATTLENET_CHALLENGE_RESPONSE = 0xBADD, - CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0xBADD, - CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0xBADD, + CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x0695, + CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x0E3D, + CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x1A1F, CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0xBADD, - CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY = 0xBADD, - CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY = 0x11AA, - CMSG_BATTLE_PAY_START_PURCHASE = 0xBADD, - CMSG_BATTLE_PET_DELETE_PET = 0xBADD, - CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0xBADD, - CMSG_BATTLE_PET_MODIFY_NAME = 0x1131, - CMSG_BATTLE_PET_NAME_QUERY = 0x1184, - CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x1773, - CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x1B24, + CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY = 0x0A1D, + CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY = 0x1616, + CMSG_BATTLE_PAY_START_PURCHASE = 0x173F, + CMSG_BATTLE_PET_DELETE_PET = 0x07BD, + CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x079D, + CMSG_BATTLE_PET_MODIFY_NAME = 0x0B37, + CMSG_BATTLE_PET_NAME_QUERY = 0x0AFC, + CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x0F37, + CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x0396, CMSG_BATTLE_PET_REQUEST_UPDATE = 0xBADD, - CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0xBADD, - CMSG_BATTLE_PET_SET_FLAGS = 0xBADD, - CMSG_BATTLE_PET_SUMMON = 0x1321, - CMSG_BATTLE_PET_UPDATE_NOTIFY = 0xBADD, - CMSG_BEGIN_TRADE = 0xBADD, - CMSG_BINDER_ACTIVATE = 0x0E84, + CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x17BD, + CMSG_BATTLE_PET_SET_FLAGS = 0x16BD, + CMSG_BATTLE_PET_SUMMON = 0x0A9D, + CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x1A24, + CMSG_BEGIN_TRADE = 0x0E53, + CMSG_BINDER_ACTIVATE = 0x1C71, CMSG_BLACK_MARKET_BID_ON_ITEM = 0xBADD, - CMSG_BLACK_MARKET_OPEN = 0x0B69, + CMSG_BLACK_MARKET_OPEN = 0x0F84, CMSG_BLACK_MARKET_REQUEST_ITEMS = 0xBADD, CMSG_BOT_DETECTED2 = 0xBADD, - CMSG_BUG_REPORT = 0xBADD, - CMSG_BUSY_TRADE = 0xBADD, - CMSG_BUY_BACK_ITEM = 0x11CB, - CMSG_BUY_BANK_SLOT = 0x0971, - CMSG_BUY_ITEM = 0x01A2, - CMSG_CAGE_BATTLE_PET = 0xBADD, + CMSG_BUG_REPORT = 0x0B96, + CMSG_BUSY_TRADE = 0x0E2B, + CMSG_BUY_BACK_ITEM = 0x1E84, + CMSG_BUY_BANK_SLOT = 0x1DE2, + CMSG_BUY_ITEM = 0x1CE5, + CMSG_CAGE_BATTLE_PET = 0x0AAB, CMSG_CALENDAR_ADD_EVENT = 0xBADD, CMSG_CALENDAR_ARENA_TEAM = 0xBADD, - CMSG_CALENDAR_COMPLAIN = 0xBADD, + CMSG_CALENDAR_COMPLAIN = 0x1395, CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 0xBADD, - CMSG_CALENDAR_COPY_EVENT = 0xBADD, - CMSG_CALENDAR_EVENT_INVITE = 0xBADD, - CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0xBADD, - CMSG_CALENDAR_EVENT_RSVP = 0xBADD, - CMSG_CALENDAR_EVENT_SIGNUP = 0xBADD, - CMSG_CALENDAR_EVENT_STATUS = 0xBADD, - CMSG_CALENDAR_GET = 0x17F2, - CMSG_CALENDAR_GET_EVENT = 0xBADD, - CMSG_CALENDAR_GET_NUM_PENDING = 0x1564, - CMSG_CALENDAR_GUILD_FILTER = 0xBADD, - CMSG_CALENDAR_REMOVE_EVENT = 0xBADD, - CMSG_CALENDAR_REMOVE_INVITE = 0xBADD, - CMSG_CALENDAR_UPDATE_EVENT = 0xBADD, - CMSG_CANCEL_AURA = 0x084B, - CMSG_CANCEL_AUTO_REPEAT_SPELL = 0xBADD, - CMSG_CANCEL_CAST = 0x0F63, - CMSG_CANCEL_CHANNELLING = 0xBADD, - CMSG_CANCEL_GROWTH_AURA = 0xBADD, - CMSG_CANCEL_MASTER_LOOT_ROLL = 0xBADD, - CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x0851, - CMSG_CANCEL_MOUNT_AURA = 0x0B4C, + CMSG_CALENDAR_COPY_EVENT = 0x123F, + CMSG_CALENDAR_EVENT_INVITE = 0x02B5, + CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x03B8, + CMSG_CALENDAR_EVENT_RSVP = 0x021E, + CMSG_CALENDAR_EVENT_SIGNUP = 0x0F3F, + CMSG_CALENDAR_EVENT_STATUS = 0x13B8, + CMSG_CALENDAR_GET = 0x1A38, + CMSG_CALENDAR_GET_EVENT = 0x13BD, + CMSG_CALENDAR_GET_NUM_PENDING = 0x0BB6, + CMSG_CALENDAR_GUILD_FILTER = 0x123D, + CMSG_CALENDAR_REMOVE_EVENT = 0x023F, + CMSG_CALENDAR_REMOVE_INVITE = 0x16B8, + CMSG_CALENDAR_UPDATE_EVENT = 0x0F1E, + CMSG_CANCEL_AURA = 0x12FB, + CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x0821, + CMSG_CANCEL_CAST = 0x058A, + CMSG_CANCEL_CHANNELLING = 0x0F71, + CMSG_CANCEL_GROWTH_AURA = 0x0AA3, + CMSG_CANCEL_MASTER_LOOT_ROLL = 0x06F9, + CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x018A, + CMSG_CANCEL_MOUNT_AURA = 0x012D, CMSG_CANCEL_QUEUED_SPELL = 0xBADD, CMSG_CANCEL_TEMP_ENCHANTMENT = 0xBADD, - CMSG_CANCEL_TRADE = 0x1114, - CMSG_CAN_DUEL = 0x13F2, - CMSG_CAST_SPELL = 0x1B02, - CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0xBADD, - CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0xBADD, + CMSG_CANCEL_TRADE = 0x0E0F, + CMSG_CAN_DUEL = 0x0A38, + CMSG_CAST_SPELL = 0x1274, + CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x1017, + CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x1503, CMSG_CHANGE_BAG_SLOT_FLAG = 0xBADD, CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0xBADD, - CMSG_CHANGE_SUB_GROUP = 0xBADD, + CMSG_CHANGE_SUB_GROUP = 0x0AB7, CMSG_CHANGE_TROPHY = 0xBADD, - CMSG_CHANNEL_ANNOUNCEMENTS = 0xBADD, - CMSG_CHANNEL_BAN = 0x108B, - CMSG_CHANNEL_DECLINE_INVITE = 0xBADD, - CMSG_CHANNEL_DISPLAY_LIST = 0xBADD, - CMSG_CHANNEL_INVITE = 0x188C, - CMSG_CHANNEL_KICK = 0x052B, - CMSG_CHANNEL_LIST = 0xBADD, + CMSG_CHANNEL_ANNOUNCEMENTS = 0x11B9, + CMSG_CHANNEL_BAN = 0x187E, + CMSG_CHANNEL_DECLINE_INVITE = 0x10D9, + CMSG_CHANNEL_DISPLAY_LIST = 0x1419, + CMSG_CHANNEL_INVITE = 0x142D, + CMSG_CHANNEL_KICK = 0x153D, + CMSG_CHANNEL_LIST = 0x1999, CMSG_CHANNEL_MODERATE = 0xBADD, - CMSG_CHANNEL_MODERATOR = 0x0E6B, - CMSG_CHANNEL_MUTE = 0x045B, - CMSG_CHANNEL_OWNER = 0xBADD, - CMSG_CHANNEL_PASSWORD = 0x10CA, - CMSG_CHANNEL_SET_OWNER = 0x1483, - CMSG_CHANNEL_SILENCE_ALL = 0xBADD, - CMSG_CHANNEL_SILENCE_VOICE = 0xBADD, - CMSG_CHANNEL_UNBAN = 0x18CC, - CMSG_CHANNEL_UNMODERATOR = 0x050B, - CMSG_CHANNEL_UNMUTE = 0x14C2, - CMSG_CHANNEL_UNSILENCE_ALL = 0xBADD, - CMSG_CHANNEL_UNSILENCE_VOICE = 0xBADD, - CMSG_CHANNEL_VOICE_OFF = 0xBADD, - CMSG_CHANNEL_VOICE_ON = 0xBADD, - CMSG_CHAR_CREATE = 0x133A, - CMSG_CHAR_CUSTOMIZE = 0xBADD, - CMSG_CHAR_DELETE = 0x1774, - CMSG_CHAR_ENUM = 0x19E3, - CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0xBADD, - CMSG_CHAR_RENAME = 0xBADD, - CMSG_CHAR_UNDELETE_ENUM = 0xBADD, + CMSG_CHANNEL_MODERATOR = 0x152D, + CMSG_CHANNEL_MUTE = 0x1909, + CMSG_CHANNEL_OWNER = 0x15ED, + CMSG_CHANNEL_PASSWORD = 0x193A, + CMSG_CHANNEL_SET_OWNER = 0x14CA, + CMSG_CHANNEL_SILENCE_ALL = 0x141E, + CMSG_CHANNEL_SILENCE_VOICE = 0x148E, + CMSG_CHANNEL_UNBAN = 0x155D, + CMSG_CHANNEL_UNMODERATOR = 0x10AE, + CMSG_CHANNEL_UNMUTE = 0x109A, + CMSG_CHANNEL_UNSILENCE_ALL = 0x11FE, + CMSG_CHANNEL_UNSILENCE_VOICE = 0x10FE, + CMSG_CHANNEL_VOICE_OFF = 0x103E, + CMSG_CHANNEL_VOICE_ON = 0x119D, + CMSG_CHAR_CREATE = 0x1636, + CMSG_CHAR_CUSTOMIZE = 0x0A3D, + CMSG_CHAR_DELETE = 0x12B8, + CMSG_CHAR_ENUM = 0x1696, + CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x0F38, + CMSG_CHAR_RENAME = 0x0616, + CMSG_CHAR_UNDELETE_ENUM = 0x1216, CMSG_CHECK_RAF_EMAIL_ENABLED = 0xBADD, - CMSG_CHOICE_RESPONSE = 0x094C, - CMSG_CLEAR_RAID_MARKER = 0xBADD, - CMSG_CLEAR_TRADE_ITEM = 0xBADD, - CMSG_CLOSE_INTERACTION = 0x0A3A, - CMSG_COMMENTATOR_ENABLE = 0xBADD, + CMSG_CHOICE_RESPONSE = 0x1FCF, + CMSG_CLEAR_RAID_MARKER = 0x0FDB, + CMSG_CLEAR_TRADE_ITEM = 0x0F7B, + CMSG_CLOSE_INTERACTION = 0x1C36, + CMSG_COMMENTATOR_ENABLE = 0x073F, CMSG_COMMENTATOR_ENTER_INSTANCE = 0xBADD, CMSG_COMMENTATOR_EXIT_INSTANCE = 0xBADD, - CMSG_COMMENTATOR_GET_MAP_INFO = 0xBADD, + CMSG_COMMENTATOR_GET_MAP_INFO = 0x1A40, CMSG_COMMENTATOR_GET_PARTY_INFO = 0xBADD, CMSG_COMMENTATOR_GET_PLAYER_INFO = 0xBADD, CMSG_COMMENTATOR_INSTANCE_COMMAND = 0xBADD, CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 0xBADD, CMSG_COMMENTATOR_START_WARGAME = 0xBADD, CMSG_COMPLAIN = 0xBADD, - CMSG_COMPLETE_CINEMATIC = 0x0EC4, - CMSG_COMPLETE_MOVIE = 0x1319, - CMSG_CONFIRM_RESPEC_WIPE = 0xBADD, - CMSG_CONNECT_TO_FAILED = 0x15B4, + CMSG_COMPLETE_CINEMATIC = 0x0CF2, + CMSG_COMPLETE_MOVIE = 0x1E0A, + CMSG_CONFIRM_RESPEC_WIPE = 0x1226, + CMSG_CONNECT_TO_FAILED = 0x0736, CMSG_CONVERSATION_UNK1 = 0xBADD, - CMSG_CONVERT_RAID = 0x1329, - CMSG_CREATE_SHIPMENT = 0x1B94, - CMSG_CREATURE_QUERY = 0x007C, + CMSG_CONVERT_RAID = 0x0A98, + CMSG_CREATE_SHIPMENT = 0xBADD, + CMSG_CREATURE_QUERY = 0x0FD3, CMSG_DANCE_QUERY = 0xBADD, - CMSG_DB_QUERY_BULK = 0x1731, + CMSG_DB_QUERY_BULK = 0x039F, CMSG_DECLINE_GUILD_INVITES = 0xBADD, - CMSG_DECLINE_PETITION = 0x0932, - CMSG_DELETE_EQUIPMENT_SET = 0x1599, - CMSG_DEL_FRIEND = 0x1B71, - CMSG_DEL_IGNORE = 0x1BB3, - CMSG_DEPOSIT_REAGENT_BANK = 0x1142, - CMSG_DESTROY_ITEM = 0x0651, - CMSG_DF_BOOT_PLAYER_VOTE = 0xBADD, - CMSG_DF_JOIN = 0x1D39, + CMSG_DECLINE_PETITION = 0x1D66, + CMSG_DELETE_EQUIPMENT_SET = 0x014A, + CMSG_DEL_FRIEND = 0x163F, + CMSG_DEL_IGNORE = 0x03C0, + CMSG_DEPOSIT_REAGENT_BANK = 0x002A, + CMSG_DESTROY_ITEM = 0x0A72, + CMSG_DF_BOOT_PLAYER_VOTE = 0x0EBF, + CMSG_DF_GET_JOIN_STATUS = 0x1236, + CMSG_DF_GET_SYSTEM_INFO = 0x1298, + CMSG_DF_JOIN = 0xBADD, CMSG_DF_LEAVE = 0xBADD, CMSG_DF_PROPOSAL_RESPONSE = 0xBADD, - CMSG_DF_SEARCH_JOIN = 0xBADD, - CMSG_DF_SEARCH_LEAVE = 0xBADD, + CMSG_DF_SEARCH_JOIN = 0x1797, + CMSG_DF_SEARCH_LEAVE = 0x0EB7, CMSG_DF_SET_COMMENT = 0xBADD, - CMSG_DF_SET_ROLES = 0xBADD, - CMSG_DF_TELEPORT = 0xBADD, - CMSG_DISCARDED_TIME_SYNC_ACKS = 0x02DA, - CMSG_DISMISS_CRITTER = 0xBADD, - CMSG_DO_MASTER_LOOT_ROLL = 0xBADD, - CMSG_DO_READY_CHECK = 0xBADD, - CMSG_DUEL_RESPONSE = 0x01A1, - CMSG_EJECT_PASSENGER = 0xBADD, - CMSG_EMOTE = 0x0B2C, - CMSG_ENABLE_NAGLE = 0x1433, - CMSG_ENABLE_TAXI_NODE = 0x13D9, - CMSG_EQUIPMENT_SET_SAVE = 0x0A7C, - CMSG_FAR_SIGHT = 0x0181, - CMSG_GAMEOBJECT_QUERY = 0x021A, - CMSG_GAMEOBJ_REPORT_USE = 0x087C, - CMSG_GAMEOBJ_USE = 0x0EE4, + CMSG_DF_SET_ROLES = 0x0297, + CMSG_DF_TELEPORT = 0x0FB7, + CMSG_DISCARDED_TIME_SYNC_ACKS = 0x0103, + CMSG_DISMISS_CRITTER = 0x1D21, + CMSG_DO_MASTER_LOOT_ROLL = 0x0409, + CMSG_DO_READY_CHECK = 0x139E, + CMSG_DUEL_RESPONSE = 0x0C62, + CMSG_EJECT_PASSENGER = 0x1AD0, + CMSG_EMOTE = 0x0E03, + CMSG_ENABLE_NAGLE = 0x0B55, + CMSG_ENABLE_TAXI_NODE = 0x0926, + CMSG_EQUIPMENT_SET_SAVE = 0x09E2, + CMSG_FAR_SIGHT = 0x00EE, + CMSG_GAMEOBJECT_QUERY = 0x06C8, + CMSG_GAMEOBJ_REPORT_USE = 0x18B2, + CMSG_GAMEOBJ_USE = 0x08B1, CMSG_GAMESPEED_SET = 0xBADD, CMSG_GAMETIME_SET = 0xBADD, CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0xBADD, - CMSG_GARRISON_COMPLETE_MISSION = 0x15C3, - CMSG_GARRISON_MISSION_BONUS_ROLL = 0x1B83, + CMSG_GARRISON_COMPLETE_MISSION = 0xBADD, + CMSG_GARRISON_MISSION_BONUS_ROLL = 0xBADD, CMSG_GARRISON_OPEN_TRADESKILL_NPC = 0xBADD, - CMSG_GARRISON_PURCHASE_BUILDING = 0x0E24, + CMSG_GARRISON_PURCHASE_BUILDING = 0xBADD, CMSG_GARRISON_RECRUIT_FOLLOWER = 0xBADD, CMSG_GARRISON_REMOVE_FOLLOWER = 0xBADD, CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0xBADD, - CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x1992, - CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x1701, - CMSG_GARRISON_REQUEST_UPGRADEABLE = 0x0CCC, + CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x1B8C, + CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x06DA, + CMSG_GARRISON_REQUEST_UPGRADEABLE = 0x12FA, CMSG_GARRISON_SET_BUILDING_ACTIVE = 0xBADD, CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0xBADD, CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0xBADD, - CMSG_GARRISON_START_MISSION = 0x0023, - CMSG_GARRISON_SWAP_BUILDINGS = 0xBADD, - CMSG_GARRISON_UNK1 = 0xBADD, + CMSG_GARRISON_START_MISSION = 0xBADD, + CMSG_GARRISON_SWAP_BUILDINGS = 0x0ADB, + CMSG_GARRISON_UNK1 = 0x072D, CMSG_GETDEATHBINDZONE = 0xBADD, CMSG_GET_CHALLENGE_MODE_REWARDS = 0xBADD, - CMSG_GET_GARRISON_INFO = 0x0352, - CMSG_GET_ITEM_PURCHASE_DATA = 0x0CE4, - CMSG_GET_MAIL_LIST = 0x0979, - CMSG_GET_MIRROR_IMAGE_DATA = 0x1952, - CMSG_GET_SHIPMENT_INFO = 0x0321, - CMSG_GET_TROPHY_LIST = 0xBADD, - CMSG_GET_UNDELETE_COOLDOWN_STATUS = 0x196A, + CMSG_GET_GARRISON_INFO = 0x0EFC, + CMSG_GET_ITEM_PURCHASE_DATA = 0x016E, + CMSG_GET_MAIL_LIST = 0x1F04, + CMSG_GET_MIRROR_IMAGE_DATA = 0xBADD, + CMSG_GET_SHIPMENT_INFO = 0xBADD, + CMSG_GET_TROPHY_LIST = 0x17D0, + CMSG_GET_UNDELETE_COOLDOWN_STATUS = 0x063D, CMSG_GHOST = 0xBADD, CMSG_GM_INVIS = 0xBADD, CMSG_GM_LAG_REPORT = 0xBADD, CMSG_GM_NUKE = 0xBADD, CMSG_GM_SET_SECURITY_GROUP = 0xBADD, - CMSG_GM_SURVEY_SUBMIT = 0x1BAB, - CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0xBADD, - CMSG_GM_TICKET_CREATE = 0x19A4, - CMSG_GM_TICKET_DELETE_TICKET = 0x1B39, - CMSG_GM_TICKET_GET_CASE_STATUS = 0x17E1, - CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x1BB9, - CMSG_GM_TICKET_GET_TICKET = 0x1939, - CMSG_GM_TICKET_RESPONSE_RESOLVE = 0x19FB, - CMSG_GM_TICKET_UPDATE_TEXT = 0x19EB, - CMSG_GOSSIP_HELLO = 0x0483, - CMSG_GOSSIP_SELECT_OPTION = 0x086A, - CMSG_GRANT_LEVEL = 0xBADD, + CMSG_GM_SURVEY_SUBMIT = 0xBADD, + CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x0FBE, + CMSG_GM_TICKET_CREATE = 0x0A1E, + CMSG_GM_TICKET_DELETE_TICKET = 0x129E, + CMSG_GM_TICKET_GET_CASE_STATUS = 0x0F0A, + CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x0A18, + CMSG_GM_TICKET_GET_TICKET = 0x0717, + CMSG_GM_TICKET_RESPONSE_RESOLVE = 0x0217, + CMSG_GM_TICKET_UPDATE_TEXT = 0x13A0, + CMSG_GOSSIP_HELLO = 0x1C22, + CMSG_GOSSIP_SELECT_OPTION = 0x1E0C, + CMSG_GRANT_LEVEL = 0x1DF1, CMSG_GROUP_CANCEL = 0xBADD, CMSG_GROUP_REQUEST_JOIN_UPDATES = 0xBADD, - CMSG_GUILD_ADD_BATTLENET_FRIEND = 0xBADD, - CMSG_GUILD_ADD_RANK = 0x038E, + CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x1C07, + CMSG_GUILD_ADD_RANK = 0xBADD, CMSG_GUILD_ASSIGN_MEMBER_RANK = 0xBADD, - CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x0386, - CMSG_GUILD_BANK_ACTIVATE = 0x0B64, - CMSG_GUILD_BANK_BUY_TAB = 0xBADD, - CMSG_GUILD_BANK_DEPOSIT_MONEY = 0xBADD, + CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x1853, + CMSG_GUILD_BANK_ACTIVATE = 0x0DE2, + CMSG_GUILD_BANK_BUY_TAB = 0x0F09, + CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x0832, CMSG_GUILD_BANK_LOG_QUERY = 0xBADD, CMSG_GUILD_BANK_NOTE = 0xBADD, - CMSG_GUILD_BANK_QUERY_TAB = 0xBADD, - CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x0320, - CMSG_GUILD_BANK_SET_TAB_TEXT = 0xBADD, + CMSG_GUILD_BANK_QUERY_TAB = 0x1DE5, + CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x1417, + CMSG_GUILD_BANK_SET_TAB_TEXT = 0x1917, CMSG_GUILD_BANK_SWAP_ITEMS = 0xBADD, CMSG_GUILD_BANK_TEXT_QUERY = 0xBADD, - CMSG_GUILD_BANK_UPDATE_TAB = 0xBADD, - CMSG_GUILD_BANK_WITHDRAW_MONEY = 0xBADD, - CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x03B0, - CMSG_GUILD_CHANGE_NAME_REQUEST = 0xBADD, + CMSG_GUILD_BANK_UPDATE_TAB = 0x1F09, + CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x1D61, + CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0xBADD, + CMSG_GUILD_CHANGE_NAME_REQUEST = 0x1527, CMSG_GUILD_DECLINE_INVITATION = 0xBADD, CMSG_GUILD_DELETE = 0xBADD, - CMSG_GUILD_DELETE_RANK = 0x019D, + CMSG_GUILD_DELETE_RANK = 0xBADD, CMSG_GUILD_DEMOTE_MEMBER = 0xBADD, CMSG_GUILD_EVENT_LOG_QUERY = 0xBADD, CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0xBADD, - CMSG_GUILD_GET_RANKS = 0x05B0, - CMSG_GUILD_GET_ROSTER = 0x03B6, + CMSG_GUILD_GET_RANKS = 0xBADD, + CMSG_GUILD_GET_ROSTER = 0x1434, CMSG_GUILD_INFO = 0xBADD, - CMSG_GUILD_INVITE_BY_NAME = 0xBADD, - CMSG_GUILD_LEAVE = 0xBADD, - CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0xBADD, + CMSG_GUILD_INVITE_BY_NAME = 0x0716, + CMSG_GUILD_LEAVE = 0x1168, + CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0x1138, CMSG_GUILD_NEWS_UPDATE_STICKY = 0xBADD, CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0xBADD, - CMSG_GUILD_PERMISSIONS_QUERY = 0x03AD, + CMSG_GUILD_PERMISSIONS_QUERY = 0x1878, CMSG_GUILD_PROMOTE_MEMBER = 0xBADD, - CMSG_GUILD_QUERY = 0x19B3, + CMSG_GUILD_QUERY = 0x12BE, CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE = 0xBADD, - CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x0110, - CMSG_GUILD_QUERY_NEWS = 0x01A5, - CMSG_GUILD_QUERY_RECIPES = 0x0538, - CMSG_GUILD_REPLACE_GUILD_MASTER = 0xBADD, - CMSG_GUILD_REQUEST_PARTY_STATE = 0x0B52, - CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x039E, - CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0xBADD, + CMSG_GUILD_QUERY_MEMBER_RECIPES = 0xBADD, + CMSG_GUILD_QUERY_NEWS = 0xBADD, + CMSG_GUILD_QUERY_RECIPES = 0xBADD, + CMSG_GUILD_REPLACE_GUILD_MASTER = 0x1923, + CMSG_GUILD_REQUEST_PARTY_STATE = 0x0B5B, + CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x1977, + CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x1167, CMSG_GUILD_SET_GUILD_MASTER = 0xBADD, CMSG_GUILD_SET_MEMBER_NOTE = 0xBADD, - CMSG_GUILD_SET_RANK_PERMISSIONS = 0xBADD, + CMSG_GUILD_SET_RANK_PERMISSIONS = 0x1053, CMSG_GUILD_SHIFT_RANK = 0xBADD, CMSG_GUILD_UPDATE_INFO_TEXT = 0xBADD, CMSG_GUILD_UPDATE_MOTD_TEXT = 0xBADD, CMSG_HEARTH_AND_RESURRECT = 0xBADD, - CMSG_IGNORE_TRADE = 0xBADD, + CMSG_IGNORE_TRADE = 0x1A08, CMSG_INCREASE_CAST_TIME_FOR_SPELL = 0xBADD, - CMSG_INITIATE_ROLE_POLL = 0xBADD, - CMSG_INITIATE_TRADE = 0xBADD, - CMSG_INSPECT = 0x0929, + CMSG_INITIATE_ROLE_POLL = 0x071E, + CMSG_INITIATE_TRADE = 0x1A8C, + CMSG_INSPECT = 0x1C21, CMSG_INSPECT_PVP = 0xBADD, CMSG_INSTANCE_LOCK_RESPONSE = 0xBADD, - CMSG_ITEM_PURCHASE_REFUND = 0xBADD, + CMSG_ITEM_PURCHASE_REFUND = 0x08B2, CMSG_ITEM_TEXT_QUERY = 0xBADD, - CMSG_JOIN_ARENA_SKIRMISH = 0xBADD, - CMSG_JOIN_CHANNEL = 0x0C6C, - CMSG_JOIN_PET_BATTLE_QUEUE = 0xBADD, + CMSG_JOIN_ARENA_SKIRMISH = 0x1E01, + CMSG_JOIN_CHANNEL = 0x152A, + CMSG_JOIN_PET_BATTLE_QUEUE = 0x0F2A, CMSG_JOIN_RATED_BATTLEGROUND = 0xBADD, - CMSG_KEEP_ALIVE = 0x1963, - CMSG_KEYBOUND_OVERRIDE = 0xBADD, - CMSG_LEARN_TALENTS = 0xBADD, - CMSG_LEAVE_CHANNEL = 0x0D4C, - CMSG_LEAVE_GROUP = 0x192B, + CMSG_KEEP_ALIVE = 0x1737, + CMSG_KEYBOUND_OVERRIDE = 0x0ADA, + CMSG_LEARN_TALENTS = 0x0AAA, + CMSG_LEAVE_CHANNEL = 0x113D, + CMSG_LEAVE_GROUP = 0x179E, CMSG_LEAVE_PET_BATTLE_QUEUE = 0xBADD, - CMSG_LFG_GET_STATUS = 0x11FB, CMSG_LFG_LFR_JOIN = 0xBADD, CMSG_LFG_LFR_LEAVE = 0xBADD, CMSG_LFG_LIST_CANCEL_APPLICATION = 0xBADD, CMSG_LFG_LIST_DECLINE_APPLICANT = 0xBADD, - CMSG_LFG_LIST_GET_STATUS = 0x1724, + CMSG_LFG_LIST_GET_STATUS = 0x0338, CMSG_LFG_LIST_INVITE_APPLICANT = 0xBADD, CMSG_LFG_LIST_INVITE_RESPONSE = 0xBADD, CMSG_LFG_LIST_JOIN = 0xBADD, CMSG_LFG_LIST_LEAVE = 0xBADD, CMSG_LFG_LIST_SEARCH = 0xBADD, CMSG_LFG_LIST_UPDATE_REQUEST = 0xBADD, - CMSG_LFG_LOCK_INFO_REQUEST = 0x19EA, CMSG_LFG_PROPOSAL_RESULT = 0xBADD, CMSG_LFG_SET_BOOT_VOTE = 0xBADD, CMSG_LFG_SET_COMMENT = 0xBADD, - CMSG_LF_GUILD_ADD_RECRUIT = 0xBADD, - CMSG_LF_GUILD_BROWSE = 0x11E4, + CMSG_LF_GUILD_ADD_RECRUIT = 0x0B9F, + CMSG_LF_GUILD_BROWSE = 0x1A37, CMSG_LF_GUILD_DECLINE_RECRUIT = 0xBADD, CMSG_LF_GUILD_GET_APPLICATIONS = 0xBADD, - CMSG_LF_GUILD_GET_GUILD_POST = 0x012E, + CMSG_LF_GUILD_GET_GUILD_POST = 0xBADD, CMSG_LF_GUILD_GET_RECRUITS = 0xBADD, - CMSG_LF_GUILD_REMOVE_RECRUIT = 0xBADD, - CMSG_LF_GUILD_SET_GUILD_POST = 0xBADD, - CMSG_LIST_INVENTORY = 0x06C4, - CMSG_LOAD_SCREEN = 0x13E4, - CMSG_LOGOUT_CANCEL = 0x0DC1, - CMSG_LOGOUT_INSTANT = 0xBADD, - CMSG_LOGOUT_REQUEST = 0x0824, - CMSG_LOG_DISCONNECT = 0x1432, - CMSG_LOG_STREAMING_ERROR = 0x1439, - CMSG_LOOT = 0x1064, + CMSG_LF_GUILD_REMOVE_RECRUIT = 0x1803, + CMSG_LF_GUILD_SET_GUILD_POST = 0x121F, + CMSG_LIST_INVENTORY = 0x1922, + CMSG_LOAD_SCREEN = 0x13C0, + CMSG_LOGOUT_CANCEL = 0x0F8C, + CMSG_LOGOUT_INSTANT = 0x1CA5, + CMSG_LOGOUT_REQUEST = 0x0CA6, + CMSG_LOG_DISCONNECT = 0x12D5, + CMSG_LOG_STREAMING_ERROR = 0x12D6, + CMSG_LOOT = 0x0BF1, CMSG_LOOT_CURRENCY = 0xBADD, CMSG_LOOT_MASTER_GIVE = 0xBADD, - CMSG_LOOT_METHOD = 0xBADD, - CMSG_LOOT_MONEY = 0x1593, - CMSG_LOOT_RELEASE = 0x1BD2, - CMSG_LOOT_ROLL = 0xBADD, + CMSG_LOOT_METHOD = 0x0E3E, + CMSG_LOOT_MONEY = 0x050A, + CMSG_LOOT_RELEASE = 0x1A25, + CMSG_LOOT_ROLL = 0x1F23, CMSG_LOW_LEVEL_RAID1 = 0xBADD, CMSG_LOW_LEVEL_RAID2 = 0xBADD, - CMSG_MAIL_CREATE_TEXT_ITEM = 0xBADD, - CMSG_MAIL_DELETE = 0x0C89, - CMSG_MAIL_MARK_AS_READ = 0x13C9, - CMSG_MAIL_RETURN_TO_SENDER = 0xBADD, - CMSG_MAIL_TAKE_ITEM = 0x0D84, - CMSG_MAIL_TAKE_MONEY = 0x0861, + CMSG_MAIL_CREATE_TEXT_ITEM = 0x0149, + CMSG_MAIL_DELETE = 0x0A73, + CMSG_MAIL_MARK_AS_READ = 0x1C31, + CMSG_MAIL_RETURN_TO_SENDER = 0x02A0, + CMSG_MAIL_TAKE_ITEM = 0x0975, + CMSG_MAIL_TAKE_MONEY = 0x0871, CMSG_MASTER_LOOT_ITEM = 0xBADD, CMSG_MEETINGSTONE_INFO = 0xBADD, - CMSG_MESSAGECHAT_ADDON_CHANNEL = 0x108C, - CMSG_MESSAGECHAT_ADDON_GUILD = 0x1A09, - CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x060C, - CMSG_MESSAGECHAT_ADDON_OFFICER = 0x14C1, - CMSG_MESSAGECHAT_ADDON_PARTY = 0x168C, - CMSG_MESSAGECHAT_ADDON_RAID = 0x1482, - CMSG_MESSAGECHAT_ADDON_WHISPER = 0x061B, - CMSG_MESSAGECHAT_AFK = 0x180C, - CMSG_MESSAGECHAT_CHANNEL = 0x067B, - CMSG_MESSAGECHAT_DND = 0x0479, - CMSG_MESSAGECHAT_EMOTE = 0x0C59, - CMSG_MESSAGECHAT_GUILD = 0x1A4B, - CMSG_MESSAGECHAT_INSTANCE = 0x077A, - CMSG_MESSAGECHAT_OFFICER = 0x1243, - CMSG_MESSAGECHAT_PARTY = 0xBADD, - CMSG_MESSAGECHAT_RAID = 0xBADD, - CMSG_MESSAGECHAT_RAID_WARNING = 0xBADD, - CMSG_MESSAGECHAT_SAY = 0x140B, - CMSG_MESSAGECHAT_WHISPER = 0x100C, - CMSG_MESSAGECHAT_YELL = 0x1481, + CMSG_MESSAGECHAT_ADDON_CHANNEL = 0x1199, + CMSG_MESSAGECHAT_ADDON_GUILD = 0x1C3D, + CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x1D9A, + CMSG_MESSAGECHAT_ADDON_OFFICER = 0x1C8D, + CMSG_MESSAGECHAT_ADDON_PARTY = 0x1D89, + CMSG_MESSAGECHAT_ADDON_RAID = 0x10F9, + CMSG_MESSAGECHAT_ADDON_WHISPER = 0x10FD, + CMSG_MESSAGECHAT_AFK = 0x185E, + CMSG_MESSAGECHAT_CHANNEL = 0x1D8A, + CMSG_MESSAGECHAT_DND = 0x183E, + CMSG_MESSAGECHAT_EMOTE = 0x1DAA, + CMSG_MESSAGECHAT_GUILD = 0x14E9, + CMSG_MESSAGECHAT_INSTANCE = 0x14FD, + CMSG_MESSAGECHAT_OFFICER = 0x155A, + CMSG_MESSAGECHAT_PARTY = 0x14BA, + CMSG_MESSAGECHAT_RAID = 0x1CAA, + CMSG_MESSAGECHAT_RAID_WARNING = 0x147A, + CMSG_MESSAGECHAT_SAY = 0x192A, + CMSG_MESSAGECHAT_WHISPER = 0x103A, + CMSG_MESSAGECHAT_YELL = 0x1CB9, CMSG_MINIGAME_MOVE = 0xBADD, CMSG_MINIMAP_PING = 0xBADD, - CMSG_MISSILE_TRAJECTORY_COLLISION = 0x085A, - CMSG_MOUNT_SET_FAVORITE = 0x15B1, - CMSG_MOUNT_SPECIAL_ANIM = 0xBADD, - CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0xBADD, - CMSG_MOVE_CHANGE_TRANSPORT = 0x098A, - CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x05CC, - CMSG_MOVE_CHARM_TELEPORT_CHEAT = 0xBADD, - CMSG_MOVE_DISMISS_VEHICLE = 0x0F8B, - CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x038B, - CMSG_MOVE_FALL_LAND = 0x0DEA, - CMSG_MOVE_FALL_RESET = 0x0F89, - CMSG_MOVE_FEATHER_FALL_ACK = 0x02B1, - CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0xBADD, - CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x09CB, - CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0xBADD, - CMSG_MOVE_FORCE_ROOT_ACK = 0x01C9, - CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x03CB, - CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x09E9, - CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0xBADD, - CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0x07C9, - CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0xBADD, - CMSG_MOVE_FORCE_UNROOT_ACK = 0x05A9, - CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x03D1, - CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x0B8B, - CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x0399, - CMSG_MOVE_HEARTBEAT = 0x01F1, - CMSG_MOVE_HOVER_ACK = 0x0FA9, - CMSG_MOVE_JUMP = 0x0BCC, - CMSG_MOVE_KNOCK_BACK_ACK = 0x09EC, + CMSG_MISSILE_TRAJECTORY_COLLISION = 0xBADD, + CMSG_MOUNT_SET_FAVORITE = 0x061E, + CMSG_MOUNT_SPECIAL_ANIM = 0x02D1, + CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x090F, + CMSG_MOVE_CHANGE_TRANSPORT = 0x044F, + CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x0404, + CMSG_MOVE_CHARM_TELEPORT_CHEAT = 0x055B, + CMSG_MOVE_DISMISS_VEHICLE = 0x085F, + CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x0944, + CMSG_MOVE_FALL_LAND = 0x095F, + CMSG_MOVE_FALL_RESET = 0x0448, + CMSG_MOVE_FEATHER_FALL_ACK = 0x0120, + CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x0148, + CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x004F, + CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x0410, + CMSG_MOVE_FORCE_ROOT_ACK = 0x0008, + CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x044C, + CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x0407, + CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x0110, + CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0x0517, + CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0x014C, + CMSG_MOVE_FORCE_UNROOT_ACK = 0x054C, + CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x0813, + CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x050B, + CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x0017, + CMSG_MOVE_HEARTBEAT = 0x055C, + CMSG_MOVE_HOVER_ACK = 0x0860, + CMSG_MOVE_JUMP = 0x0158, + CMSG_MOVE_KNOCK_BACK_ACK = 0x040F, CMSG_MOVE_NOT_ACTIVE_MOVER = 0xBADD, - CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x0899, - CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0xBADD, - CMSG_MOVE_SET_CAN_FLY_ACK = 0x01FA, + CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x0913, + CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x090C, + CMSG_MOVE_SET_CAN_FLY_ACK = 0x0C03, CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK = 0xBADD, - CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0xBADD, - CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x01CC, - CMSG_MOVE_SET_FACING = 0x09CA, - CMSG_MOVE_SET_FLY = 0x05AB, - CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0xBADD, - CMSG_MOVE_SET_PITCH = 0x0FAC, - CMSG_MOVE_SET_RELATIVE_POSITION = 0xBADD, - CMSG_MOVE_SET_RUN_MODE = 0x01AC, - CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x00F2, - CMSG_MOVE_SET_WALK_MODE = 0x01DA, - CMSG_MOVE_SPLINE_DONE = 0x0091, - CMSG_MOVE_START_ASCEND = 0x078C, - CMSG_MOVE_START_BACKWARD = 0x0389, - CMSG_MOVE_START_DESCEND = 0x00D2, - CMSG_MOVE_START_FORWARD = 0x01EB, - CMSG_MOVE_START_PITCH_DOWN = 0x0BAB, - CMSG_MOVE_START_PITCH_UP = 0x03B2, - CMSG_MOVE_START_STRAFE_LEFT = 0x03D2, - CMSG_MOVE_START_STRAFE_RIGHT = 0x01CB, - CMSG_MOVE_START_SWIM = 0x01B2, - CMSG_MOVE_START_TURN_LEFT = 0x0189, - CMSG_MOVE_START_TURN_RIGHT = 0x0DAA, - CMSG_MOVE_STOP = 0x0892, - CMSG_MOVE_STOP_ASCEND = 0x01F9, - CMSG_MOVE_STOP_PITCH = 0x01AB, - CMSG_MOVE_STOP_STRAFE = 0x0D8A, - CMSG_MOVE_STOP_SWIM = 0x03F9, - CMSG_MOVE_STOP_TURN = 0x05E9, - CMSG_MOVE_TELEPORT_ACK = 0x0FCB, - CMSG_MOVE_TELEPORT_CHEAT = 0xBADD, - CMSG_MOVE_TIME_SKIPPED = 0x07EB, + CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x054F, + CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x0018, + CMSG_MOVE_SET_FACING = 0x0803, + CMSG_MOVE_SET_FLY = 0x010C, + CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0x0557, + CMSG_MOVE_SET_PITCH = 0x080F, + CMSG_MOVE_SET_RELATIVE_POSITION = 0x051B, + CMSG_MOVE_SET_RUN_MODE = 0x0053, + CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x091B, + CMSG_MOVE_SET_WALK_MODE = 0x0843, + CMSG_MOVE_SPLINE_DONE = 0x0514, + CMSG_MOVE_START_ASCEND = 0x0510, + CMSG_MOVE_START_BACKWARD = 0x0147, + CMSG_MOVE_START_DESCEND = 0x0117, + CMSG_MOVE_START_FORWARD = 0x0004, + CMSG_MOVE_START_PITCH_DOWN = 0x004B, + CMSG_MOVE_START_PITCH_UP = 0x0450, + CMSG_MOVE_START_STRAFE_LEFT = 0x0844, + CMSG_MOVE_START_STRAFE_RIGHT = 0x0957, + CMSG_MOVE_START_SWIM = 0x0157, + CMSG_MOVE_START_TURN_LEFT = 0x0918, + CMSG_MOVE_START_TURN_RIGHT = 0x094B, + CMSG_MOVE_STOP = 0x044B, + CMSG_MOVE_STOP_ASCEND = 0x011C, + CMSG_MOVE_STOP_PITCH = 0x045B, + CMSG_MOVE_STOP_STRAFE = 0x084B, + CMSG_MOVE_STOP_SWIM = 0x081B, + CMSG_MOVE_STOP_TURN = 0x0854, + CMSG_MOVE_TELEPORT_ACK = 0x0520, + CMSG_MOVE_TELEPORT_CHEAT = 0x0C0B, + CMSG_MOVE_TIME_SKIPPED = 0x0903, CMSG_MOVE_TOGGLE_COLLISION_ACK = 0xBADD, - CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0DEB, - CMSG_MOVE_WATER_WALK_ACK = 0x0BE9, - CMSG_MOVE_WORLDPORT_ACK = 0x17B3, - CMSG_NAME_QUERY = 0x15A2, + CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0548, + CMSG_MOVE_WATER_WALK_ACK = 0x0C07, + CMSG_MOVE_WORLDPORT_ACK = 0x061D, + CMSG_NAME_QUERY = 0x0BBD, CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0xBADD, CMSG_NEW_SPELL_SLOT = 0xBADD, - CMSG_NEXT_CINEMATIC_CAMERA = 0x110B, - CMSG_NPC_TEXT_QUERY = 0x0E44, - CMSG_OBJECT_UPDATE_FAILED = 0xBADD, - CMSG_OBJECT_UPDATE_RESCUED = 0x0C8A, - CMSG_OFFER_PETITION = 0xBADD, + CMSG_NEXT_CINEMATIC_CAMERA = 0x0CE1, + CMSG_NPC_TEXT_QUERY = 0x1E24, + CMSG_OBJECT_UPDATE_FAILED = 0x0B2D, + CMSG_OBJECT_UPDATE_RESCUED = 0x0A89, + CMSG_OFFER_PETITION = 0x1A17, CMSG_OPENING_CINEMATIC = 0xBADD, - CMSG_OPEN_GARRISON_MISSION_NPC = 0x1911, - CMSG_OPEN_ITEM = 0x0E51, + CMSG_OPEN_GARRISON_MISSION_NPC = 0x0BA9, + CMSG_OPEN_ITEM = 0x0354, CMSG_OPEN_SHIPMENT_GAME_OBJ = 0xBADD, - CMSG_OPEN_SHIPMENT_NPC = 0x0E41, - CMSG_OPT_OUT_OF_LOOT = 0xBADD, + CMSG_OPEN_SHIPMENT_NPC = 0x074F, + CMSG_OPT_OUT_OF_LOOT = 0x1F89, CMSG_PAGE_TEXT_QUERY = 0xBADD, - CMSG_PARTY_INVITE = 0x19E2, - CMSG_PARTY_INVITE_RESPONSE = 0x157A, + CMSG_PARTY_INVITE = 0x12BD, + CMSG_PARTY_INVITE_RESPONSE = 0x16BF, CMSG_PARTY_SILENCE = 0xBADD, - CMSG_PARTY_UNINVITE = 0xBADD, + CMSG_PARTY_UNINVITE = 0x02B6, CMSG_PARTY_UNSILENCE = 0xBADD, - CMSG_PETITION_BUY = 0x159B, - CMSG_PETITION_RENAME_GUILD = 0xBADD, - CMSG_PETITION_SHOW_LIST = 0x06E1, - CMSG_PETITION_SHOW_SIGNATURES = 0x115A, - CMSG_PET_ABANDON = 0xBADD, - CMSG_PET_ACTION = 0x114A, - CMSG_PET_BATTLE_FINAL_NOTIFY = 0x004B, - CMSG_PET_BATTLE_INPUT = 0x1B34, - CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0xBADD, - CMSG_PET_BATTLE_QUIT_NOTIFY = 0xBADD, - CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x192A, + CMSG_PETITION_BUY = 0x1872, + CMSG_PETITION_RENAME_GUILD = 0x0E37, + CMSG_PETITION_SHOW_LIST = 0x0CF5, + CMSG_PETITION_SHOW_SIGNATURES = 0x09B6, + CMSG_PET_ABANDON = 0x09E1, + CMSG_PET_ACTION = 0x09F5, + CMSG_PET_BATTLE_FINAL_NOTIFY = 0x030D, + CMSG_PET_BATTLE_INPUT = 0xBADD, + CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0x1ACF, + CMSG_PET_BATTLE_QUIT_NOTIFY = 0x0B03, + CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0x0B35, CMSG_PET_BATTLE_REQUEST_PVP = 0xBADD, - CMSG_PET_BATTLE_REQUEST_WILD = 0x084C, - CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0xBADD, - CMSG_PET_CANCEL_AURA = 0xBADD, - CMSG_PET_CAST_SPELL = 0x1FC1, + CMSG_PET_BATTLE_REQUEST_WILD = 0x1FAC, + CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x0EAB, + CMSG_PET_CANCEL_AURA = 0x01E9, + CMSG_PET_CAST_SPELL = 0xBADD, CMSG_PET_NAME_CACHE = 0xBADD, - CMSG_PET_NAME_QUERY = 0x0CCB, - CMSG_PET_RENAME = 0x1333, - CMSG_PET_SET_ACTION = 0xBADD, + CMSG_PET_NAME_QUERY = 0xBADD, + CMSG_PET_RENAME = 0x1618, + CMSG_PET_SET_ACTION = 0x0C75, CMSG_PET_SET_SPECIALIZATION = 0xBADD, - CMSG_PET_SPELL_AUTOCAST = 0xBADD, - CMSG_PET_STOP_ATTACK = 0xBADD, - CMSG_PING = 0x167B, - CMSG_PLAYED_TIME = 0x0074, - CMSG_PLAYER_LOGIN = 0x1D31, + CMSG_PET_SPELL_AUTOCAST = 0x0CE5, + CMSG_PET_STOP_ATTACK = 0x09A6, + CMSG_PING = 0x12DE, + CMSG_PLAYED_TIME = 0x0750, + CMSG_PLAYER_LOGIN = 0x0E98, CMSG_PLAY_DANCE = 0xBADD, - CMSG_PORT_GRAVEYARD = 0x11DA, - CMSG_PUSH_QUEST_TO_PARTY = 0xBADD, - CMSG_PVP_LOG_DATA = 0xBADD, - CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x1962, - CMSG_QUERY_CORPSE_TRANSPORT = 0x1164, - CMSG_QUERY_COUNTDOWN_TIMER = 0x015B, - CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0xBADD, - CMSG_QUERY_NEXT_MAIL_TIME = 0x1119, + CMSG_PORT_GRAVEYARD = 0x0C65, + CMSG_PUSH_QUEST_TO_PARTY = 0x0DE1, + CMSG_PVP_LOG_DATA = 0x0E08, + CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x03B7, + CMSG_QUERY_CORPSE_TRANSPORT = 0x1215, + CMSG_QUERY_COUNTDOWN_TIMER = 0x06F1, + CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x014E, + CMSG_QUERY_NEXT_MAIL_TIME = 0x08B6, CMSG_QUERY_PETITION = 0xBADD, - CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x0662, + CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x0489, CMSG_QUERY_SCENARIO_POI = 0xBADD, - CMSG_QUERY_TIME = 0x04E4, - CMSG_QUESTGIVER_ACCEPT_QUEST = 0x0A62, + CMSG_QUERY_TIME = 0x0F0A, + CMSG_QUESTGIVER_ACCEPT_QUEST = 0x1865, CMSG_QUESTGIVER_CANCEL = 0xBADD, - CMSG_QUESTGIVER_CHOOSE_REWARD = 0x0CE1, - CMSG_QUESTGIVER_COMPLETE_QUEST = 0x0A69, - CMSG_QUESTGIVER_HELLO = 0x0B2A, - CMSG_QUESTGIVER_QUERY_QUEST = 0x131A, + CMSG_QUESTGIVER_CHOOSE_REWARD = 0x0DA2, + CMSG_QUESTGIVER_COMPLETE_QUEST = 0x0CE6, + CMSG_QUESTGIVER_HELLO = 0x01CE, + CMSG_QUESTGIVER_QUERY_QUEST = 0x0DA6, CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0xBADD, - CMSG_QUESTGIVER_REQUEST_REWARD = 0x1509, - CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0A39, - CMSG_QUESTGIVER_STATUS_QUERY = 0x0A7B, - CMSG_QUESTLOG_REMOVE_QUEST = 0x04C3, + CMSG_QUESTGIVER_REQUEST_REWARD = 0x19F6, + CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0DA5, + CMSG_QUESTGIVER_STATUS_QUERY = 0x0836, + CMSG_QUESTLOG_REMOVE_QUEST = 0x1DE1, CMSG_QUESTLOG_SWAP_QUEST = 0xBADD, - CMSG_QUEST_CLOSE_AUTOACCEPT_QUEST = 0x150A, + CMSG_QUEST_CLOSE_AUTOACCEPT_QUEST = 0x0925, CMSG_QUEST_CONFIRM_ACCEPT = 0xBADD, - CMSG_QUEST_POI_QUERY = 0x1B2A, - CMSG_QUEST_PUSH_RESULT = 0xBADD, - CMSG_QUEST_QUERY = 0x005A, - CMSG_QUEUED_MESSAGES_END = 0x147B, - CMSG_RANDOMIZE_CHAR_NAME = 0x17FA, - CMSG_RANDOM_ROLL = 0x1BE2, - CMSG_READY_CHECK_RESPONSE = 0xBADD, - CMSG_READ_ITEM = 0xBADD, - CMSG_REAGENT_BANK_BUY_TAB = 0x0A3C, - CMSG_REALM_NAME_QUERY = 0x17BC, - CMSG_RECLAIM_CORPSE = 0x093B, - CMSG_RECRUIT_A_FRIEND = 0xBADD, - CMSG_REGISTER_ADDON_PREFIXES = 0x063B, - CMSG_REORDER_CHARACTERS = 0x1729, - CMSG_REPAIR_ITEM = 0x05E2, + CMSG_QUEST_POI_QUERY = 0x1240, + CMSG_QUEST_PUSH_RESULT = 0x1F81, + CMSG_QUEST_QUERY = 0x0FA9, + CMSG_QUEUED_MESSAGES_END = 0x027E, + CMSG_RANDOMIZE_CHAR_NAME = 0x0B3E, + CMSG_RANDOM_ROLL = 0x179F, + CMSG_READY_CHECK_RESPONSE = 0x07B5, + CMSG_READ_ITEM = 0x042A, + CMSG_REAGENT_BANK_BUY_TAB = 0x1D75, + CMSG_REALM_NAME_QUERY = 0x0F9F, + CMSG_RECLAIM_CORPSE = 0x0DB1, + CMSG_RECRUIT_A_FRIEND = 0x0F3E, + CMSG_REGISTER_ADDON_PREFIXES = 0x1D2A, + CMSG_REORDER_CHARACTERS = 0x17B7, + CMSG_REPAIR_ITEM = 0x19A2, CMSG_REPLACE_ACCOUNT_DATA = 0xBADD, CMSG_REPLACE_TROPHY = 0xBADD, - CMSG_REPOP_REQUEST = 0x0B3B, - CMSG_REPORT_FILTERED = 0xBADD, - CMSG_REPORT_IGNORED = 0xBADD, - CMSG_REPORT_PVP_AFK = 0xBADD, - CMSG_REQUEST_ACCOUNT_DATA = 0x1934, - CMSG_REQUEST_ARTIFACT_COMPLETION_HISTORY = 0x025A, - CMSG_REQUEST_BATTLEFIELD_STATUS = 0x17EC, - CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x0C72, - CMSG_REQUEST_CEMETERY_LIST = 0x0421, - CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x1342, - CMSG_REQUEST_FORCED_REACTIONS = 0x012A, - CMSG_REQUEST_GUILD_REWARDS_LIST = 0x015A, + CMSG_REPOP_REQUEST = 0x0D36, + CMSG_REPORT_FILTERED = 0x159E, + CMSG_REPORT_IGNORED = 0x151A, + CMSG_REPORT_PVP_AFK = 0x0F0C, + CMSG_REQUEST_ACCOUNT_DATA = 0x0798, + CMSG_REQUEST_ARTIFACT_COMPLETION_HISTORY = 0xBADD, + CMSG_REQUEST_BATTLEFIELD_STATUS = 0x039D, + CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x0ED3, + CMSG_REQUEST_CEMETERY_LIST = 0x0FD0, + CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x1B8A, + CMSG_REQUEST_FORCED_REACTIONS = 0x1AAC, + CMSG_REQUEST_GUILD_REWARDS_LIST = 0xBADD, CMSG_REQUEST_HONOR_STATS = 0xBADD, CMSG_REQUEST_LFG_LIST_BLACKLIST = 0xBADD, - CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x1339, - CMSG_REQUEST_PARTY_MEMBER_STATS = 0x1972, - CMSG_REQUEST_PET_INFO = 0x0981, + CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x0620, + CMSG_REQUEST_PARTY_MEMBER_STATS = 0x0EB8, + CMSG_REQUEST_PET_INFO = 0x19F5, CMSG_REQUEST_PVP_OPTIONS_ENABLED = 0xBADD, CMSG_REQUEST_PVP_REWARDS = 0xBADD, - CMSG_REQUEST_RAID_INFO = 0x1163, + CMSG_REQUEST_RAID_INFO = 0x0A96, CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0xBADD, CMSG_REQUEST_RATED_BG_STATS = 0xBADD, - CMSG_REQUEST_STABLED_PETS = 0x110C, - CMSG_REQUEST_VEHICLE_EXIT = 0x1743, + CMSG_REQUEST_STABLED_PETS = 0x01CA, + CMSG_REQUEST_VEHICLE_EXIT = 0x054D, CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0xBADD, CMSG_REQUEST_VEHICLE_PREV_SEAT = 0xBADD, - CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0xBADD, - CMSG_RESET_CHALLENGE_MODE = 0xBADD, + CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x0E7C, + CMSG_RESET_CHALLENGE_MODE = 0x1248, CMSG_RESET_FACTION_CHEAT = 0xBADD, CMSG_RESET_INSTANCES = 0xBADD, - CMSG_RESURRECT_RESPONSE = 0x177C, - CMSG_REVERT_TROPHY = 0xBADD, - CMSG_RIDE_VEHICLE_INTERACT = 0x023A, + CMSG_RESURRECT_RESPONSE = 0x033E, + CMSG_REVERT_TROPHY = 0x0679, + CMSG_RIDE_VEHICLE_INTERACT = 0x1ED0, CMSG_ROLE_POLL_BEGIN = 0xBADD, - CMSG_SAVE_CUF_PROFILES = 0x10E9, - CMSG_SAVE_GUILD_EMBLEM = 0xBADD, + CMSG_SAVE_CUF_PROFILES = 0x0EC7, + CMSG_SAVE_GUILD_EMBLEM = 0x0B0C, CMSG_SAVE_PLAYER = 0xBADD, - CMSG_SCENE_PLAYBACK_CANCELED = 0x1F94, - CMSG_SCENE_PLAYBACK_COMPLETE = 0x024A, + CMSG_SCENE_PLAYBACK_CANCELED = 0x0A8C, + CMSG_SCENE_PLAYBACK_COMPLETE = 0x0BD0, CMSG_SCENE_TRIGGER_EVENT = 0xBADD, - CMSG_SELF_RES = 0xBADD, - CMSG_SELL_ITEM = 0x1349, - CMSG_SEND_CONTACT_LIST = 0x15F9, + CMSG_SELF_RES = 0x1E0B, + CMSG_SELL_ITEM = 0x1931, + CMSG_SEND_CONTACT_LIST = 0x0EC0, CMSG_SEND_MAIL = 0xBADD, - CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0xBADD, - CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID = 0xBADD, + CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0x1335, + CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID = 0x0AB5, CMSG_SERVERTIME = 0xBADD, CMSG_SETDEATHBINDPOINT = 0xBADD, - CMSG_SET_ACHIEVEMENTS_HIDDEN = 0xBADD, - CMSG_SET_ACTIONBAR_TOGGLES = 0x111B, - CMSG_SET_ACTION_BUTTON = 0x13BA, - CMSG_SET_ACTIVE_MOVER = 0x07CC, - CMSG_SET_ACTIVE_VOICE_CHANNEL = 0xBADD, - CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x017C, - CMSG_SET_ASSISTANT_LEADER = 0xBADD, + CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x16D0, + CMSG_SET_ACTIONBAR_TOGGLES = 0x0F81, + CMSG_SET_ACTION_BUTTON = 0x133F, + CMSG_SET_ACTIVE_MOVER = 0x0108, + CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x0298, + CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x035A, + CMSG_SET_ASSISTANT_LEADER = 0x0395, CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0xBADD, CMSG_SET_BANK_AUTOSORT_DISABLED = 0xBADD, - CMSG_SET_CONTACT_NOTES = 0x13AC, - CMSG_SET_CURRENCY_FLAGS = 0xBADD, - CMSG_SET_DIFFICULTY_ID = 0xBADD, - CMSG_SET_DUNGEON_DIFFICULTY = 0x117A, - CMSG_SET_EVERYONE_IS_ASSISTANT = 0xBADD, - CMSG_SET_FACTION_AT_WAR = 0x05E4, + CMSG_SET_CONTACT_NOTES = 0x0B3D, + CMSG_SET_CURRENCY_FLAGS = 0x065C, + CMSG_SET_DIFFICULTY_ID = 0x0BD3, + CMSG_SET_DUNGEON_DIFFICULTY = 0x0E16, + CMSG_SET_EVERYONE_IS_ASSISTANT = 0x1716, + CMSG_SET_FACTION_AT_WAR = 0x1C66, CMSG_SET_FACTION_CHEAT = 0xBADD, - CMSG_SET_FACTION_INACTIVE = 0x0821, - CMSG_SET_FACTION_NOT_AT_WAR = 0x15C9, + CMSG_SET_FACTION_INACTIVE = 0x1862, + CMSG_SET_FACTION_NOT_AT_WAR = 0x0DF2, CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0xBADD, - CMSG_SET_LFG_BONUS_FACTION_ID = 0xBADD, + CMSG_SET_LFG_BONUS_FACTION_ID = 0x0252, CMSG_SET_LFG_COMMENT = 0xBADD, - CMSG_SET_LOOT_SPECIALIZATION = 0x0B7A, - CMSG_SET_PARTY_ASSIGNMENT = 0xBADD, - CMSG_SET_PARTY_LEADER = 0x1932, - CMSG_SET_PET_SLOT = 0xBADD, - CMSG_SET_PLAYER_DECLINED_NAMES = 0x1331, + CMSG_SET_LOOT_SPECIALIZATION = 0x0D72, + CMSG_SET_PARTY_ASSIGNMENT = 0x0AB8, + CMSG_SET_PARTY_LEADER = 0x131D, + CMSG_SET_PET_SLOT = 0x1B02, + CMSG_SET_PLAYER_DECLINED_NAMES = 0x1617, CMSG_SET_PREFERED_CEMETERY = 0xBADD, - CMSG_SET_PVP = 0xBADD, - CMSG_SET_RAID_DIFFICULTY = 0x1162, + CMSG_SET_PVP = 0x1BC7, + CMSG_SET_RAID_DIFFICULTY = 0x0397, CMSG_SET_RELATIVE_POSITION = 0xBADD, - CMSG_SET_ROLE = 0x11B2, - CMSG_SET_SAVED_INSTANCE_EXTEND = 0xBADD, - CMSG_SET_SELECTION = 0x0DC4, - CMSG_SET_SHEATHED = 0x0A64, + CMSG_SET_ROLE = 0x0398, + CMSG_SET_SAVED_INSTANCE_EXTEND = 0x0B97, + CMSG_SET_SELECTION = 0x0E8C, + CMSG_SET_SHEATHED = 0x1CB1, CMSG_SET_SKILL_CHEAT = 0xBADD, CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0xBADD, - CMSG_SET_SPECIALIZATION = 0x0472, + CMSG_SET_SPECIALIZATION = 0x0759, CMSG_SET_TAXI_BENCHMARK_MODE = 0xBADD, - CMSG_SET_TITLE = 0x0654, - CMSG_SET_TRADE_CURRENCY = 0x0261, - CMSG_SET_TRADE_GOLD = 0xBADD, - CMSG_SET_TRADE_ITEM = 0xBADD, + CMSG_SET_TITLE = 0x1650, + CMSG_SET_TRADE_CURRENCY = 0x06F2, + CMSG_SET_TRADE_GOLD = 0x0E5A, + CMSG_SET_TRADE_ITEM = 0x0626, CMSG_SET_VEHICLE_REC_ID_ACK = 0xBADD, - CMSG_SET_WATCHED_FACTION = 0x154B, - CMSG_SHOWING_CLOAK = 0x1199, - CMSG_SHOWING_HELM = 0x05A3, - CMSG_SHOW_TRADE_SKILL = 0xBADD, - CMSG_SIGN_PETITION = 0xBADD, - CMSG_SILENCE_PARTY_TALKER = 0xBADD, - CMSG_SOCKET_GEMS = 0xBADD, - CMSG_SORT_BAGS = 0x0254, - CMSG_SORT_BANK_BAGS = 0x1901, - CMSG_SORT_REAGENT_BANK_BAGS = 0xBADD, - CMSG_SPELLCLICK = 0x0DE3, - CMSG_SPIRIT_HEALER_ACTIVATE = 0x0CA4, - CMSG_SPLIT_ITEM = 0x0095, - CMSG_STAND_STATE_CHANGE = 0x037A, + CMSG_SET_WATCHED_FACTION = 0x1E82, + CMSG_SHOWING_CLOAK = 0x0F04, + CMSG_SHOWING_HELM = 0x0C36, + CMSG_SHOW_TRADE_SKILL = 0x1735, + CMSG_SIGN_PETITION = 0x18E5, + CMSG_SILENCE_PARTY_TALKER = 0x1A36, + CMSG_SOCKET_GEMS = 0x0F8B, + CMSG_SORT_BAGS = 0x0AF1, + CMSG_SORT_BANK_BAGS = 0x0659, + CMSG_SORT_REAGENT_BANK_BAGS = 0x06D2, + CMSG_SPELLCLICK = 0x1DB2, + CMSG_SPIRIT_HEALER_ACTIVATE = 0x1E8A, + CMSG_SPLIT_ITEM = 0x052B, + CMSG_STAND_STATE_CHANGE = 0x01AD, CMSG_START_QUEST = 0xBADD, - CMSG_START_SPECTATOR_WAR_GAME = 0xBADD, + CMSG_START_SPECTATOR_WAR_GAME = 0x16B5, CMSG_START_WARGAME = 0xBADD, CMSG_STOP_DANCE = 0xBADD, CMSG_STORE_LOOT_IN_SLOT = 0xBADD, - CMSG_SUMMON_RESPONSE = 0x1BFA, - CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x11BB, - CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x1BB1, - CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x1B63, - CMSG_SUSPEND_COMMS_ACK = 0x123C, - CMSG_SUSPEND_TOKEN_RESPONSE = 0x1273, - CMSG_SWAP_INV_ITEM = 0x00C5, - CMSG_SWAP_ITEM = 0x0206, - CMSG_SWAP_SUB_GROUPS = 0xBADD, + CMSG_SUMMON_RESPONSE = 0x0740, + CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x06B6, + CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x16C0, + CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x1A16, + CMSG_SUSPEND_COMMS_ACK = 0x1375, + CMSG_SUSPEND_TOKEN_RESPONSE = 0x1255, + CMSG_SWAP_INV_ITEM = 0x003C, + CMSG_SWAP_ITEM = 0x0438, + CMSG_SWAP_SUB_GROUPS = 0x0F98, CMSG_SYNC_DANCE = 0xBADD, - CMSG_TABARD_VENDOR_ACTIVATE = 0x1951, + CMSG_TABARD_VENDOR_ACTIVATE = 0x07FC, CMSG_TAXICLEARALLNODES = 0xBADD, CMSG_TAXIENABLEALLNODES = 0xBADD, CMSG_TAXISHOWNODES = 0xBADD, - CMSG_TAXI_NODE_STATUS_QUERY = 0x0EA1, - CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x0A3B, - CMSG_TELEPORT_TO_UNIT = 0xBADD, - CMSG_TEXT_EMOTE = 0x0B2B, - CMSG_TIME_ADJUSTMENT_RESPONSE = 0xBADD, - CMSG_TIME_SYNC_RESPONSE = 0x0B8C, - CMSG_TIME_SYNC_RESPONSE_DROPPED = 0xBADD, + CMSG_TAXI_NODE_STATUS_QUERY = 0x0CF1, + CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x0E02, + CMSG_TELEPORT_TO_UNIT = 0x069D, + CMSG_TEXT_EMOTE = 0x01EE, + CMSG_TIME_ADJUSTMENT_RESPONSE = 0x0554, + CMSG_TIME_SYNC_RESPONSE = 0x0550, + CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x040B, CMSG_TIME_SYNC_RESPONSE_FAILED = 0xBADD, - CMSG_TOGGLE_DIFFICULTY = 0xBADD, - CMSG_TOGGLE_PVP = 0x10A2, - CMSG_TOTEM_DESTROYED = 0x1189, - CMSG_TOY_SET_FAVORITE = 0xBADD, - CMSG_TRAINER_BUY_SPELL = 0x151A, - CMSG_TRAINER_LIST = 0x130C, - CMSG_TRANSMOGRIFY_ITEMS = 0xBADD, + CMSG_TOGGLE_DIFFICULTY = 0x0FC0, + CMSG_TOGGLE_PVP = 0x1BAB, + CMSG_TOTEM_DESTROYED = 0x19B5, + CMSG_TOY_SET_FAVORITE = 0x02BE, + CMSG_TRAINER_BUY_SPELL = 0x0921, + CMSG_TRAINER_LIST = 0x0D21, + CMSG_TRANSMOGRIFY_ITEMS = 0x03F1, CMSG_TRIGGER_CINEMATIC_CHEAT = 0xBADD, CMSG_TROPHY_MONUMENT_LOAD_SELECTED_TROPHY_ID = 0xBADD, - CMSG_TURN_IN_PETITION = 0xBADD, - CMSG_TUTORIAL_FLAG = 0x1132, - CMSG_TWITTER_GET_STATUS = 0x1128, - CMSG_UI_TIME_REQUEST = 0x1B7B, - CMSG_UNACCEPT_TRADE = 0xBADD, - CMSG_UNDELETE_CHARACTER = 0xBADD, - CMSG_UNLEARN_SKILL = 0xBADD, - CMSG_UNLEARN_SPECIALIZATION = 0xBADD, - CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0x0C5B, - CMSG_UPDATE_ACCOUNT_DATA = 0x17BB, + CMSG_TURN_IN_PETITION = 0x0DF5, + CMSG_TUTORIAL_FLAG = 0x0E9F, + CMSG_TWITTER_GET_STATUS = 0xBADD, + CMSG_UI_TIME_REQUEST = 0x0316, + CMSG_UNACCEPT_TRADE = 0x0AD1, + CMSG_UNDELETE_CHARACTER = 0x1296, + CMSG_UNLEARN_SKILL = 0x0931, + CMSG_UNLEARN_SPECIALIZATION = 0x0708, + CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0x15FA, + CMSG_UPDATE_ACCOUNT_DATA = 0x1637, CMSG_UPDATE_CLIENT_SETTINGS = 0xBADD, CMSG_UPDATE_MISSILE_TRAJECTORY = 0xBADD, CMSG_UPDATE_PROJECTILE_POSITION = 0xBADD, - CMSG_UPDATE_RAID_TARGET = 0xBADD, + CMSG_UPDATE_RAID_TARGET = 0x17A0, CMSG_UPGRADE_GARRISON = 0xBADD, - CMSG_UPGRADE_ITEM = 0xBADD, - CMSG_USED_FOLLOW = 0xBADD, - CMSG_USE_CRITTER_ITEM = 0xBADD, - CMSG_USE_EQUIPMENT_SET = 0x0026, - CMSG_USE_ITEM = 0x0A5A, - CMSG_USE_PARTY_GARRISON = 0xBADD, - CMSG_USE_TOY = 0x1BC3, - CMSG_VIOLENCE_LEVEL = 0x0071, + CMSG_UPGRADE_ITEM = 0x0AA4, + CMSG_USED_FOLLOW = 0x054E, + CMSG_USE_CRITTER_ITEM = 0x0ADC, + CMSG_USE_EQUIPMENT_SET = 0x083C, + CMSG_USE_ITEM = 0x06D0, + CMSG_USE_PARTY_GARRISON = 0x1A26, + CMSG_USE_TOY = 0xBADD, + CMSG_VIOLENCE_LEVEL = 0x0F48, CMSG_VOICE_ADD_IGNORE = 0xBADD, CMSG_VOICE_DEL_IGNORE = 0xBADD, - CMSG_VOICE_SESSION_ENABLE = 0x153A, - CMSG_VOID_STORAGE_QUERY = 0x17C3, - CMSG_VOID_STORAGE_TRANSFER = 0x0674, - CMSG_VOID_STORAGE_UNLOCK = 0xBADD, - CMSG_VOID_SWAP_ITEM = 0xBADD, - CMSG_WARDEN_DATA = 0x11E3, - CMSG_WHO = 0x1B3B, - CMSG_WHOIS = 0xBADD, + CMSG_VOICE_SESSION_ENABLE = 0x1238, + CMSG_VOID_STORAGE_QUERY = 0x03D3, + CMSG_VOID_STORAGE_TRANSFER = 0x0E07, + CMSG_VOID_STORAGE_UNLOCK = 0x0AA1, + CMSG_VOID_SWAP_ITEM = 0x0B02, + CMSG_WARDEN_DATA = 0x02B8, + CMSG_WHO = 0x079E, + CMSG_WHO_IS = 0x17BF, CMSG_WORLD_TELEPORT = 0xBADD, CMSG_WRAP_ITEM = 0xBADD, CMSG_ZONEUPDATE = 0xBADD, @@ -799,1057 +799,929 @@ enum OpcodeClient : uint32 // SMSGs 6.0.3.19342 enum OpcodeServer : uint32 { - SMSG_ABORT_NEW_WORLD = 0xBADD, - SMSG_ACCOUNT_CRITERIA_UPDATE = 0x0A7A, - SMSG_ACCOUNT_DATA_TIMES = 0x15F3, - SMSG_ACCOUNT_INFO_RESPONSE = 0xBADD, - SMSG_ACCOUNT_MOUNT_UPDATE = 0x19A2, - SMSG_ACCOUNT_PROFILE = 0xBADD, - SMSG_ACCOUNT_RESTRICTED_WARNING = 0xBADD, - SMSG_ACCOUNT_TOYS_UPDATE = 0x1F1C, - SMSG_ACHIEVEMENT_DELETED = 0x0B2C, - SMSG_ACHIEVEMENT_EARNED = 0x1D8C, - SMSG_ACTION_BUTTONS = 0x153B, - SMSG_ACTIVATE_TAXI_REPLY = 0x1B8A, - SMSG_ADDON_INFO = 0x1F5C, - SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0xBADD, - SMSG_ADD_ITEM_PASSIVE = 0xBADD, - SMSG_ADD_LOSS_OF_CONTROL = 0xBADD, - SMSG_ADD_RUNE_POWER = 0xBADD, - SMSG_ADJUST_SPLINE_DURATION = 0x131C, - SMSG_AE_LOOT_TARGETS = 0x1763, - SMSG_AE_LOOT_TARGET_ACK = 0x1B9A, - SMSG_AI_REACTION = 0x1BDA, - SMSG_ALL_ACCOUNT_CRITERIA = 0x17AC, - SMSG_ALL_ACHIEVEMENT_DATA = 0x097A, - SMSG_ALL_GUILD_ACHIEVEMENTS = 0x02F4, - SMSG_ARCHAEOLOGY_SURVERY_CAST = 0xBADD, - SMSG_AREA_SHARE_INFO_RESPONSE = 0xBADD, - SMSG_AREA_SHARE_MAPPINGS_RESPONSE = 0xBADD, - SMSG_AREA_SPIRIT_HEALER_TIME = 0xBADD, - SMSG_AREA_TRIGGER_DEBUG_PLAYER_INSIDE = 0xBADD, - SMSG_AREA_TRIGGER_DEBUG_SWEEP = 0xBADD, - SMSG_AREA_TRIGGER_DENIED = 0x19FC, - SMSG_AREA_TRIGGER_MESSAGE = 0xBADD, - SMSG_AREA_TRIGGER_NO_CORPSE = 0xBADD, - SMSG_AREA_TRIGGER_RE_PATH = 0xBADD, - SMSG_AREA_TRIGGER_RE_SHAPE = 0xBADD, - SMSG_ARENA_ERROR = 0xBADD, - SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0xBADD, - SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0xBADD, + SMSG_ABORT_NEW_WORLD = 0x0740, + SMSG_ACCOUNT_CRITERIA_UPDATE = 0x1635, + SMSG_ACCOUNT_DATA_TIMES = 0x16B8, + SMSG_ACCOUNT_MOUNT_UPDATE = 0x079D, + SMSG_ACCOUNT_TOYS_UPDATE = 0x0E1D, + SMSG_ACHIEVEMENT_DELETED = 0x1CF2, + SMSG_ACHIEVEMENT_EARNED = 0x06C0, + SMSG_ACTIVATE_TAXI_REPLY = 0x0C61, + SMSG_ADDON_INFO = 0x1715, + SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x0F8B, + SMSG_ADD_ITEM_PASSIVE = 0x1DB1, + SMSG_ADD_LOSS_OF_CONTROL = 0x19E2, + SMSG_ADD_RUNE_POWER = 0x1718, + SMSG_ADJUST_SPLINE_DURATION = 0x0E97, + SMSG_AE_LOOT_TARGETS = 0x1835, + SMSG_AE_LOOT_TARGET_ACK = 0x1C72, + SMSG_AI_REACTION = 0x1739, + SMSG_ALL_ACCOUNT_CRITERIA = 0x0392, + SMSG_ALL_ACHIEVEMENT_DATA = 0x163D, + SMSG_ALL_GUILD_ACHIEVEMENTS = 0x14AB, + SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x160F, + SMSG_AREA_SPIRIT_HEALER_TIME = 0x02B7, + SMSG_AREA_TRIGGER_DENIED = 0x1391, + SMSG_AREA_TRIGGER_NO_CORPSE = 0x0297, + SMSG_AREA_TRIGGER_RE_PATH = 0x1F09, + SMSG_AREA_TRIGGER_RE_SHAPE = 0x1A0E, + SMSG_ARENA_ERROR = 0x122E, + SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x1876, + SMSG_ATTACKER_STATE_UPDATE = 0x0EBD, + SMSG_ATTACK_START = 0x1971, + SMSG_ATTACK_STOP = 0x17C0, + SMSG_ATTACK_SWING_ERROR = 0x1D66, + SMSG_ATTACK_SWING_LANDED_LOG = 0x1865, + SMSG_AUCTION_CLOSED_NOTIFICATION = 0x0EA0, + SMSG_AUCTION_COMMAND_RESULT = 0x13B6, + SMSG_AUCTION_HELLO_RESPONSE = 0x1338, + SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x02B9, + SMSG_AUCTION_LIST_ITEMS_RESULT = 0x0E01, + SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x0FA0, + SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x0E1F, + SMSG_AUCTION_OUTBID_NOTIFICATION = 0x073E, + SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x0612, + SMSG_AUCTION_REPLICATE_RESPONSE = 0x161D, + SMSG_AUCTION_WON_NOTIFICATION = 0x161A, + SMSG_AURA_POINTS_DEPLETED = 0x119D, + SMSG_AURA_UPDATE = 0x1999, + SMSG_AUTH_CHALLENGE = 0x007E, + SMSG_AUTH_RESPONSE = 0x18F6, + SMSG_AVAILABLE_VOICE_CHANNEL = 0x15C3, + SMSG_BARBER_SHOP_RESULT = 0x1866, + SMSG_BATTLEFIELD_LIST = 0x0338, + SMSG_BATTLEFIELD_PORT_DENIED = 0x1E82, + SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x0B38, + SMSG_BATTLEFIELD_STATUS_FAILED = 0x0715, + SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION = 0x1E8A, + SMSG_BATTLEFIELD_STATUS_NONE = 0x07B7, + SMSG_BATTLEFIELD_STATUS_QUEUED = 0x163F, + SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS = 0x0791, + SMSG_BATTLEGROUND_INFO_THROTTLED = 0x12A0, + SMSG_BATTLEGROUND_INIT = 0x1961, + SMSG_BATTLEGROUND_PLAYER_JOINED = 0x1C26, + SMSG_BATTLEGROUND_PLAYER_LEFT = 0x0AA0, + SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x0976, + SMSG_BATTLEGROUND_POINTS = 0x0617, + SMSG_BATTLENET_CHALLENGE_ABORT = 0x0312, + SMSG_BATTLENET_CHALLENGE_START = 0x0961, + SMSG_BATTLE_PAY_ACK_FAILED = 0x09F6, + SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x1716, + SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x0DE1, + SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x058E, + SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x0CE1, + SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x02C0, + SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x1639, + SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x1212, + SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x0F04, + SMSG_BATTLE_PETS_HEALED = 0x162E, + SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x1972, + SMSG_BATTLE_PET_DELETED = 0x0A40, + SMSG_BATTLE_PET_ERROR = 0x1DB2, + SMSG_BATTLE_PET_JOURNAL = 0x1C35, + SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x023F, + SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x1346, + SMSG_BATTLE_PET_LICENSE_CHANGED = 0x131A, + SMSG_BATTLE_PET_RESTORED = 0x1D62, + SMSG_BATTLE_PET_REVOKED = 0x0F0C, + SMSG_BATTLE_PET_TRAP_LEVEL = 0x0638, + SMSG_BATTLE_PET_UPDATES = 0x1340, + SMSG_BF_MGR_DROP_TIMER_CANCELLED = 0x120D, + SMSG_BF_MGR_DROP_TIMER_STARTED = 0x0F98, + SMSG_BF_MGR_EJECTED = 0x121E, + SMSG_BF_MGR_EJECT_PENDING = 0x0F95, + SMSG_BF_MGR_ENTERING = 0x0299, + SMSG_BF_MGR_ENTRY_INVITE = 0x18B1, + SMSG_BF_MGR_QUEUE_INVITE = 0x0B17, + SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE = 0x1631, + SMSG_BF_MGR_QUEUE_STATUS_UPDATE = 0x169A, + SMSG_BF_MGR_STATE_CHANGED = 0x0316, + SMSG_BINDER_CONFIRM = 0x19E5, + SMSG_BIND_POINT_UPDATE = 0x0399, + SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x0DB2, + SMSG_BLACK_MARKET_OPEN_RESULT = 0x18B5, + SMSG_BLACK_MARKET_OUTBID = 0x18E6, + SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x06B6, + SMSG_BLACK_MARKET_WON = 0x1A45, + SMSG_BONUS_ROLL_EMPTY = 0x0A46, + SMSG_BOSS_KILL_CREDIT = 0x0395, + SMSG_BREAK_TARGET = 0x0E02, + SMSG_BUY_FAILED = 0x1337, + SMSG_BUY_SUCCEEDED = 0x1320, + SMSG_CACHE_VERSION = 0x0E09, + SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x0932, + SMSG_CALENDAR_COMMAND_RESULT = 0x0CE5, + SMSG_CALENDAR_EVENT_INITIAL_INVITES = 0x1F82, + SMSG_CALENDAR_EVENT_INVITE = 0x0298, + SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x1797, + SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS = 0x0835, + SMSG_CALENDAR_EVENT_INVITE_NOTES = 0x0F01, + SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x1922, + SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x09A6, + SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x0A20, + SMSG_CALENDAR_EVENT_INVITE_STATUS = 0x1637, + SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x0738, + SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x061D, + SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x12B7, + SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x05AE, + SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x07B9, + SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x0CF5, + SMSG_CALENDAR_SEND_CALENDAR = 0x0A1F, + SMSG_CALENDAR_SEND_EVENT = 0x17BE, + SMSG_CALENDAR_SEND_NUM_PENDING = 0x129E, + SMSG_CAMERA_SHAKE = 0x1638, + SMSG_CANCEL_AUTO_REPEAT = 0x1931, + SMSG_CANCEL_COMBAT = 0x0220, + SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x10ED, + SMSG_CANCEL_SCENE = 0x0AB8, + SMSG_CANCEL_SPELL_VISUAL = 0x106D, + SMSG_CANCEL_SPELL_VISUAL_KIT = 0x112E, + SMSG_CAN_DUEL_RESULT = 0x1831, + SMSG_CAST_FAILED = 0x1409, + SMSG_CATEGORY_COOLDOWN = 0x15FA, + SMSG_CHALLEGE_MODE_REWARDS = 0x08F5, + SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0x0D22, + SMSG_CHALLENGE_MODE_COMPLETE = 0x0A97, + SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE = 0x07C0, + SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD = 0x13A0, + SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x1976, + SMSG_CHALLENGE_MODE_RESET = 0x1232, + SMSG_CHALLENGE_MODE_START = 0x03B1, + SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x0921, + SMSG_CHANNEL_LIST = 0x14CC, + SMSG_CHANNEL_NOTIFY = 0x15EF, + SMSG_CHANNEL_NOTIFY_JOINED = 0x14C3, + SMSG_CHANNEL_NOTIFY_LEFT = 0x19CF, + SMSG_CHARACTER_LOGIN_FAILED = 0x0FBD, + SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x0872, + SMSG_CHARACTER_RENAME_RESULT = 0x1F81, + SMSG_CHARACTER_UPGRADE_CHARACTER_CHOSEN = 0x0FBF, + SMSG_CHARACTER_UPGRADE_COMPLETE = 0x063F, + SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0x0339, + SMSG_CHARACTER_UPGRADE_STARTED = 0x1732, + SMSG_CHAR_CUSTOMIZE = 0x03B9, + SMSG_CHAR_CUSTOMIZE_FAILED = 0x121A, + SMSG_CHAR_FACTION_CHANGE_RESULT = 0x0F8A, + SMSG_CHAT = 0x11E7, + SMSG_CHAT_AUTO_RESPONDED = 0x14C7, + SMSG_CHAT_DOWN = 0x14E7, + SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0x19CB, + SMSG_CHAT_IS_DOWN = 0x15EB, + SMSG_CHAT_NOT_IN_PARTY = 0x19CC, + SMSG_CHAT_PLAYER_AMBIGUOUS = 0x18E3, + SMSG_CHAT_PLAYER_NOTFOUND = 0x19D0, + SMSG_CHAT_RECONNECT = 0x14F0, + SMSG_CHAT_RESTRICTED = 0x19E8, + SMSG_CHAT_SERVER_MESSAGE = 0x14E3, + SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0x118E, + SMSG_CHECK_WARGAME_ENTRY = 0x129F, + SMSG_CHUNKED_PACKET = 0x005A, + SMSG_CLEAR_ALL_SPELL_CHARGES = 0x152D, + SMSG_CLEAR_BOSS_EMOTES = 0x18A1, + SMSG_CLEAR_COOLDOWN = 0x0A38, + SMSG_CLEAR_COOLDOWNS = 0x15ED, + SMSG_CLEAR_LOSS_OF_CONTROL = 0x0636, + SMSG_CLEAR_SPELL_CHARGES = 0x10AE, + SMSG_CLEAR_TARGET = 0x1DF5, + SMSG_COIN_REMOVED = 0x069D, + SMSG_COMBAT_EVENT_FAILED = 0x0792, + SMSG_COMMENTATOR_MAP_INFO = 0x02B6, + SMSG_COMMENTATOR_PLAYER_INFO = 0x1A30, + SMSG_COMMENTATOR_STATE_CHANGED = 0x0332, + SMSG_COMPLAINT_RESULT = 0x1C71, + SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x0EBE, + SMSG_COMPRESSED_PACKET = 0x007D, + SMSG_CONNECT_TO = 0x0119, + SMSG_CONQUEST_FORMULA_CONSTANTS = 0x1C75, + SMSG_CONSOLE_WRITE = 0x169F, + SMSG_CONTACT_LIST = 0x039F, + SMSG_CONTROL_UPDATE = 0x0D32, + SMSG_CONVERT_RUNE = 0x052E, + SMSG_COOLDOWN_CHEAT = 0x029D, + SMSG_COOLDOWN_EVENT = 0x0922, + SMSG_CORPSE_LOCATION = 0x0ABF, + SMSG_CORPSE_RECLAIM_DELAY = 0x02BA, + SMSG_CORPSE_TRANSPORT_QUERY = 0x1E2E, + SMSG_CREATE_CHAR = 0x16BA, + SMSG_CREATE_SHIPMENT_RESPONSE = 0x0D61, + SMSG_CRITERIA_DELETED = 0x1E2F, + SMSG_CRITERIA_UPDATE = 0x0716, + SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x133A, + SMSG_CUSTOM_LOAD_SCREEN = 0x1E0E, + SMSG_DAILY_QUESTS_RESET = 0x055B, + SMSG_DAMAGE_CALC_LOG = 0x123D, + SMSG_DANCE_STUDIO_CREATE_RESULT = 0x09E6, + SMSG_DB_REPLY = 0x09A5, + SMSG_DEATH_RELEASE_LOC = 0x0A17, + SMSG_DEFENSE_MESSAGE = 0x11E3, + SMSG_DELETE_CHAR = 0x06B8, + SMSG_DESTROY_ARENA_UNIT = 0x0826, + SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x08B5, + SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x1DE5, + SMSG_DISENCHANT_CREDIT = 0x19A1, + SMSG_DISMOUNT = 0x03BF, + SMSG_DISMOUNT_RESULT = 0x0C62, + SMSG_DISPEL_FAILED = 0x148E, + SMSG_DISPLAY_GAME_ERROR = 0x13B1, + SMSG_DISPLAY_PLAYER_CHOICE = 0x0C76, + SMSG_DISPLAY_PROMOTION = 0x0236, + SMSG_DISPLAY_QUEST_POPUP = 0x0827, + SMSG_DISPLAY_TOAST = 0x1CF1, + SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x162D, + SMSG_DROP_NEW_CONNECTION = 0x011E, + SMSG_DUEL_COMPLETE = 0x1E83, + SMSG_DUEL_COUNTDOWN = 0x0318, + SMSG_DUEL_IN_BOUNDS = 0x0796, + SMSG_DUEL_OUT_OF_BOUNDS = 0x07B1, + SMSG_DUEL_REQUESTED = 0x0BBF, + SMSG_DUEL_WINNER = 0x1299, + SMSG_DURABILITY_DAMAGE_DEATH = 0x1936, + SMSG_EMOTE = 0x0FC0, + SMSG_ENABLE_BARBER_SHOP = 0x17B1, + SMSG_ENCHANTMENT_LOG = 0x0DA6, + SMSG_ENCOUNTER_END = 0x0862, + SMSG_ENCOUNTER_START = 0x171A, + SMSG_ENUM_CHARACTERS_RESULT = 0x18F1, + SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x183E, + SMSG_EQUIPMENT_SET_ID = 0x03B7, + SMSG_EXPECTED_SPAM_RECORDS = 0x18C3, + SMSG_EXPLORATION_EXPERIENCE = 0x0692, + SMSG_FACTION_BONUS_INFO = 0x0E89, + SMSG_FAILED_PLAYER_CONDITION = 0x0A9E, + SMSG_FEATURE_SYSTEM_STATUS = 0x0B3E, + SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x0A1D, + SMSG_FEIGN_DEATH_RESISTED = 0x1CE5, + SMSG_FINAL_CHUNK = 0x001A, + SMSG_FISH_ESCAPED = 0x0A3E, + SMSG_FISH_NOT_HOOKED = 0x0231, + SMSG_FLIGHT_SPLINE_SYNC = 0x1647, + SMSG_FORCED_DEATH_UPDATE = 0x0346, + SMSG_FORCE_ANIM = 0x0F37, + SMSG_FORCE_OBJECT_RELINK = 0x173F, + SMSG_FRIEND_STATUS = 0x0F03, + SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x0DA5, + SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x0797, + SMSG_GAME_OBJECT_DESPAWN = 0x0E0A, + SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x19AD, + SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x141D, + SMSG_GAME_OBJECT_RESET_STATE = 0x1CB1, + SMSG_GAME_SPEED_SET = 0x1331, + SMSG_GAME_TIME_SET = 0x0F9F, + SMSG_GAME_TIME_UPDATE = 0x0D76, + SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x08A3, + SMSG_GARRISON_ADD_MISSION_RESULT = 0x01DB, + SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0x0187, + SMSG_GARRISON_BUILDING_ACTIVATED = 0x00AB, + SMSG_GARRISON_BUILDING_REMOVED = 0x08F7, + SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = 0x00F8, + SMSG_GARRISON_COMPLETE_MISSION_RESULT = 0x00F7, + SMSG_GARRISON_DELETE_RESULT = 0x01FC, + SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL = 0x01B4, + SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL2 = 0x0093, + SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0x00AC, + SMSG_GARRISON_IS_UPGRADEABLE_RESULT = 0x01A8, + SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0x08D8, + SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = 0x08AB, + SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0x01FB, + SMSG_GARRISON_LIST_MISSIONS_CHEAT_RESULT = 0x08C3, + SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT = 0x019C, + SMSG_GARRISON_NUM_FOLLOWER_ACTIVATIONS_REMAINING = 0x088F, + SMSG_GARRISON_OPEN_ARCHITECT = 0x08FB, + SMSG_GARRISON_OPEN_MISSION_NPC = 0x08C0, + SMSG_GARRISON_OPEN_TRADESKILL_NPC = 0x018F, + SMSG_GARRISON_PLACE_BUILDING_RESULT = 0x08A4, + SMSG_GARRISON_PLOT_PLACED = 0x00E7, + SMSG_GARRISON_PLOT_REMOVED = 0x01AB, + SMSG_GARRISON_RECRUITMENT_FOLLOWERS_GENERATED = 0x0088, + SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT = 0x01EC, + SMSG_GARRISON_REMOTE_INFO = 0x01B0, + SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT = 0x01AC, + SMSG_GARRISON_REMOVE_FOLLOWER_RESULT = 0x098B, + SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT = 0x08B4, + SMSG_GARRISON_START_MISSION_RESULT = 0x01E0, + SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT = 0x08EB, + SMSG_GARRISON_UPGRADE_RESULT = 0x00B3, + SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x0216, + SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x0DB6, + SMSG_GET_DISPLAYED_TROPHY_LIST_RESPONSE = 0x01D4, + SMSG_GET_GARRISON_INFO_RESULT = 0x0084, + SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = 0x1A10, + SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x1D35, + SMSG_GET_TROPHY_LIST_RESPONSE = 0x0391, + SMSG_GM_PLAYER_INFO = 0x0CB5, + SMSG_GM_REQUEST_PLAYER_INFO = 0x0BC0, + SMSG_GM_TICKET_CASE_STATUS = 0x17B7, + SMSG_GM_TICKET_GET_TICKET_RESPONSE = 0x0B95, + SMSG_GM_TICKET_RESOLVE_RESPONSE = 0x0A37, + SMSG_GM_TICKET_RESPONSE = 0x07B6, + SMSG_GM_TICKET_RESPONSE_ERROR = 0x08A2, + SMSG_GM_TICKET_STATUS_UPDATE = 0x13B7, + SMSG_GM_TICKET_SYSTEM_STATUS = 0x0B16, + SMSG_GM_TICKET_UPDATE = 0x0925, + SMSG_GOD_MODE = 0x0DE2, + SMSG_GOSSIP_COMPLETE = 0x0010, + SMSG_GOSSIP_MESSAGE = 0x0077, + SMSG_GOSSIP_POI = 0x1CA1, + SMSG_GROUP_ACTION_THROTTLED = 0x1F02, + SMSG_GROUP_DECLINE = 0x139F, + SMSG_GROUP_DESTROYED = 0x1395, + SMSG_GROUP_NEW_LEADER = 0x0C32, + SMSG_GROUP_UNINVITE = 0x1318, + SMSG_GUILD_ACHIEVEMENT_DELETED = 0x11AB, + SMSG_GUILD_ACHIEVEMENT_EARNED = 0x14B8, + SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x10B3, + SMSG_GUILD_BANK_LOG_QUERY_RESULTS = 0x10AB, + SMSG_GUILD_BANK_QUERY_RESULTS = 0x1083, + SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0x1588, + SMSG_GUILD_BANK_TEXT_QUERY_RESULT = 0x10B8, + SMSG_GUILD_CHALLENGE_COMPLETED = 0x14AF, + SMSG_GUILD_CHALLENGE_UPDATE = 0x1183, + SMSG_GUILD_CHANGE_NAME_RESULT = 0x11B4, + SMSG_GUILD_COMMAND_RESULT = 0x10AC, + SMSG_GUILD_CRITERIA_DELETED = 0x118F, + SMSG_GUILD_CRITERIA_UPDATE = 0x14AC, + SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0x11AF, + SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x10C0, + SMSG_GUILD_EVENT_DISBANDED = 0x14A3, + SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0x119B, + SMSG_GUILD_EVENT_MOTD = 0x10BF, + SMSG_GUILD_EVENT_NEW_LEADER = 0x1587, + SMSG_GUILD_EVENT_PLAYER_JOINED = 0x1198, + SMSG_GUILD_EVENT_PLAYER_LEFT = 0x109B, + SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x10AF, + SMSG_GUILD_EVENT_RANKS_UPDATED = 0x11BC, + SMSG_GUILD_EVENT_RANK_CHANGED = 0x10BC, + SMSG_GUILD_EVENT_TAB_ADDED = 0x1084, + SMSG_GUILD_EVENT_TAB_DELETED = 0x1190, + SMSG_GUILD_EVENT_TAB_MODIFIED = 0x14A8, + SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x1497, + SMSG_GUILD_FLAGGED_FOR_RENAME = 0x14B3, + SMSG_GUILD_INVITE = 0x11C0, + SMSG_GUILD_INVITE_DECLINED = 0x10A7, + SMSG_GUILD_INVITE_EXPIRED = 0x118B, + SMSG_GUILD_KNOWN_RECIPES = 0x11A3, + SMSG_GUILD_MEMBERS_WITH_RECIPE = 0x1090, + SMSG_GUILD_MEMBER_DAILY_RESET = 0x148C, + SMSG_GUILD_MEMBER_RECIPES = 0x1483, + SMSG_GUILD_MEMBER_UPDATE_NOTE = 0x1187, + SMSG_GUILD_MOVED = 0x11A8, + SMSG_GUILD_MOVE_STARTING = 0x14A7, + SMSG_GUILD_NAME_CHANGED = 0x1488, + SMSG_GUILD_NEWS = 0x10A4, + SMSG_GUILD_NEWS_DELETED = 0x149B, + SMSG_GUILD_PARTY_STATE = 0x1094, + SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0x1097, + SMSG_GUILD_RANKS = 0x14B0, + SMSG_GUILD_REPUTATION_REACTION_CHANGED = 0x149F, + SMSG_GUILD_RESET = 0x119C, + SMSG_GUILD_REWARD_LIST = 0x1494, + SMSG_GUILD_ROSTER = 0x1498, + SMSG_GUILD_ROSTER_UPDATE = 0x1493, + SMSG_GUILD_SEND_RANK_CHANGE = 0x10B7, + SMSG_HEALTH_UPDATE = 0x07BD, + SMSG_HIGHEST_THREAT_UPDATE = 0x0F35, + SMSG_HOTFIX_NOTIFY = 0x1736, + SMSG_HOTFIX_NOTIFY_BLOB = 0x1D71, + SMSG_INCREASE_CAST_TIME_FOR_SPELL = 0x1C8E, + SMSG_INITIALIZE_FACTIONS = 0x1C32, + SMSG_INITIAL_SETUP = 0x0238, + SMSG_INIT_WORLD_STATES = 0x09E1, + SMSG_INSPECT_HONOR_STATS = 0x1740, + SMSG_INSPECT_PVP = 0x12B9, + SMSG_INSPECT_RESULT = 0x1D22, + SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x0C72, + SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x1DB6, + SMSG_INSTANCE_ENCOUNTER_END = 0x16B5, + SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x08E6, + SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x0866, + SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x1717, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x0735, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x0B3D, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x1219, + SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x0F89, + SMSG_INSTANCE_ENCOUNTER_START = 0x06B9, + SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x0619, + SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x1C22, + SMSG_INSTANCE_INFO = 0x12B5, + SMSG_INSTANCE_RESET = 0x0825, + SMSG_INSTANCE_RESET_FAILED = 0x0F40, + SMSG_INSTANCE_SAVE_CREATED = 0x0DA2, + SMSG_INVALIDATE_PLAYER = 0x0B9D, + SMSG_INVALID_PROMOTION_CODE = 0x1A16, + SMSG_INVENTORY_CHANGE_FAILURE = 0x07B5, + SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x0063, + SMSG_ITEM_CHANGED = 0x19B5, + SMSG_ITEM_COOLDOWN = 0x0D35, + SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x1E30, + SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x1798, + SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x1620, + SMSG_ITEM_PUSH_RESULT = 0x0B15, + SMSG_ITEM_TIME_UPDATE = 0x1DB5, + SMSG_KICK_REASON = 0x042E, + SMSG_LEARNED_SPELLS = 0x183D, + SMSG_LEARN_TALENT_FAILED = 0x0B9E, + SMSG_LEVEL_UP_INFO = 0x0B36, + SMSG_LFG_BOOT_PLAYER = 0x0E11, + SMSG_LFG_DISABLED = 0x0EBA, + SMSG_LFG_JOIN_RESULT = 0x1B31, + SMSG_LFG_LIST_JOIN_RESULT = 0x0B99, + SMSG_LFG_LIST_SEARCH_RESULTS = 0x0B32, + SMSG_LFG_LIST_SEARCH_STATUS = 0x1A9A, + SMSG_LFG_LIST_UPDATE_BLACKLIST = 0x0F31, + SMSG_LFG_LIST_UPDATE_STATUS = 0x0B12, + SMSG_LFG_OFFER_CONTINUE = 0x0FB9, + SMSG_LFG_PARTY_INFO = 0x1B39, + SMSG_LFG_PLAYER_INFO = 0x0E32, + SMSG_LFG_PLAYER_REWARD = 0x0E91, + SMSG_LFG_PROPOSAL_UPDATE = 0x1B3A, + SMSG_LFG_QUEUE_STATUS = 0x1A91, + SMSG_LFG_READY_CHECK_RESULT = 0x0EB2, + SMSG_LFG_READY_CHECK_UPDATE = 0x0F11, + SMSG_LFG_ROLE_CHECK_UPDATE = 0x1A11, + SMSG_LFG_SEARCH_RESULTS = 0x0E19, + SMSG_LFG_SLOT_INVALID = 0x1AB9, + SMSG_LFG_TELEPORT_DENIED = 0x0FB1, + SMSG_LFG_UPDATE_STATUS = 0x1A92, + SMSG_LF_GUILD_APPLICANT_LIST_CHANGED = 0x118C, + SMSG_LF_GUILD_APPLICATIONS = 0x11BF, + SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED = 0x1193, + SMSG_LF_GUILD_BROWSE = 0x1197, + SMSG_LF_GUILD_COMMAND_RESULT = 0x11A0, + SMSG_LF_GUILD_POST = 0x10B0, + SMSG_LF_GUILD_RECRUITS = 0x11BB, + SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x1A0D, + SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x0E3D, + SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x18B2, + SMSG_LOAD_CUF_PROFILES = 0x139A, + SMSG_LOAD_EQUIPMENT_SET = 0x079E, + SMSG_LOAD_SELECTED_TROPHY_RESULT = 0x1D72, + SMSG_LOGIN_SET_TIME_SPEED = 0x0D65, + SMSG_LOGIN_VERIFY_WORLD = 0x0A98, + SMSG_LOGOUT_CANCEL_ACK = 0x08B2, + SMSG_LOGOUT_COMPLETE = 0x0E95, + SMSG_LOGOUT_RESPONSE = 0x0731, + SMSG_LOG_XP_GAIN = 0x0E3E, + SMSG_LOOT_ALL_PASSED = 0x0C26, + SMSG_LOOT_CONTENTS = 0x02BF, + SMSG_LOOT_ITEM_LIST = 0x061F, + SMSG_LOOT_LIST = 0x08E2, + SMSG_LOOT_MONEY_NOTIFY = 0x17A0, + SMSG_LOOT_RELEASE = 0x06B7, + SMSG_LOOT_RELEASE_ALL = 0x1C61, + SMSG_LOOT_REMOVED = 0x0F15, + SMSG_LOOT_RESPONSE = 0x122D, + SMSG_LOOT_ROLL = 0x09B2, + SMSG_LOOT_ROLLS_COMPLETE = 0x0219, + SMSG_LOOT_ROLL_WON = 0x1296, + SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x0737, + SMSG_MAIL_COMMAND_RESULT = 0x17BF, + SMSG_MAIL_LIST_RESULT = 0x0871, + SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x0F8C, + SMSG_MAP_OBJECTIVES_INIT = 0x1238, + SMSG_MAP_OBJ_EVENTS = 0x161F, + SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x1821, + SMSG_MESSAGE_BOX = 0x13BD, + SMSG_MINIMAP_PING = 0x1697, + SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x159E, + SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x151A, + SMSG_MISSILE_CANCEL = 0x1A17, + SMSG_MODIFY_COOLDOWN = 0x0832, + SMSG_MOTD = 0x18E8, + SMSG_MOUNT_RESULT = 0x06BE, + SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x1F50, + SMSG_MOVE_DISABLE_COLLISION = 0x0A2A, + SMSG_MOVE_DISABLE_GRAVITY = 0x1B81, + SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x1EAC, + SMSG_MOVE_ENABLE_COLLISION = 0x1E27, + SMSG_MOVE_ENABLE_GRAVITY = 0x002D, + SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0BCF, + SMSG_MOVE_KNOCK_BACK = 0x1BA3, + SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x000E, + SMSG_MOVE_ROOT = 0x018A, + SMSG_MOVE_SET_ACTIVE_MOVER = 0x025B, + SMSG_MOVE_SET_CAN_FLY = 0x012A, + SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x0EA1, + SMSG_MOVE_SET_COLLISION_HEIGHT = 0x1BA4, + SMSG_MOVE_SET_COMPOUND_STATE = 0x02D0, + SMSG_MOVE_SET_FEATHER_FALL = 0x0674, + SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x030D, + SMSG_MOVE_SET_FLIGHT_SPEED = 0x046D, + SMSG_MOVE_SET_HOVERING = 0x0B21, + SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x1347, + SMSG_MOVE_SET_LAND_WALK = 0x0AC7, + SMSG_MOVE_SET_NORMAL_FALL = 0x04EE, + SMSG_MOVE_SET_PITCH_RATE = 0x0B2C, + SMSG_MOVE_SET_RUN_BACK_SPEED = 0x03DA, + SMSG_MOVE_SET_RUN_SPEED = 0x1EA9, + SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x0605, + SMSG_MOVE_SET_SWIM_SPEED = 0x1628, + SMSG_MOVE_SET_TURN_RATE = 0x1E24, + SMSG_MOVE_SET_VEHICLE_REC_ID = 0x1A29, + SMSG_MOVE_SET_WALK_SPEED = 0x0F28, + SMSG_MOVE_SET_WATER_WALK = 0x035C, + SMSG_MOVE_SKIP_TIME = 0x0FCF, + SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x1A8A, + SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x1A21, + SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x0254, + SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x0252, + SMSG_MOVE_SPLINE_ROOT = 0x02D1, + SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x0F30, + SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0x1F22, + SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x1208, + SMSG_MOVE_SPLINE_SET_FLYING = 0x0B2A, + SMSG_MOVE_SPLINE_SET_HOVER = 0x1B21, + SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x1A28, + SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x037A, + SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0x02C8, + SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0x0305, + SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x1A8C, + SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x164F, + SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0x0A47, + SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0x0E22, + SMSG_MOVE_SPLINE_SET_TURN_RATE = 0x035B, + SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x0B09, + SMSG_MOVE_SPLINE_SET_WALK_SPEED = 0x1205, + SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x0EAB, + SMSG_MOVE_SPLINE_START_SWIM = 0x1A81, + SMSG_MOVE_SPLINE_STOP_SWIM = 0x1A0B, + SMSG_MOVE_SPLINE_UNROOT = 0x1BA2, + SMSG_MOVE_SPLINE_UNSET_FLYING = 0x1A2C, + SMSG_MOVE_SPLINE_UNSET_HOVER = 0x0E47, + SMSG_MOVE_TELEPORT = 0x1206, + SMSG_MOVE_UNROOT = 0x046E, + SMSG_MOVE_UNSET_CAN_FLY = 0x03DC, + SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x124F, + SMSG_MOVE_UNSET_HOVERING = 0x0651, + SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x0F2B, + SMSG_MOVE_UPDATE = 0x0F2C, + SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE = 0x0705, + SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0x1A04, + SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0x032E, + SMSG_MOVE_UPDATE_FLIGHT_SPEED = 0x0628, + SMSG_MOVE_UPDATE_KNOCK_BACK = 0x0273, + SMSG_MOVE_UPDATE_PITCH_RATE = 0x1AAC, + SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE = 0x1F47, + SMSG_MOVE_UPDATE_RUN_BACK_SPEED = 0x1B82, + SMSG_MOVE_UPDATE_RUN_SPEED = 0x06DA, + SMSG_MOVE_UPDATE_SWIM_BACK_SPEED = 0x0B06, + SMSG_MOVE_UPDATE_SWIM_SPEED = 0x1A83, + SMSG_MOVE_UPDATE_TELEPORT = 0x1F21, + SMSG_MOVE_UPDATE_TURN_RATE = 0x000A, + SMSG_MOVE_UPDATE_WALK_SPEED = 0x1F29, + SMSG_MULTIPLE_PACKETS = 0x0039, + SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x1332, + SMSG_NEW_TAXI_PATH = 0x06BA, + SMSG_NEW_WORLD = 0x0A15, + SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x1589, + SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x073F, + SMSG_NOTIFY_MONEY = 0x0B1E, + SMSG_NOTIFY_RECEIVED_MAIL = 0x18E2, + SMSG_OFFER_PETITION_ERROR = 0x1DA2, + SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x0C66, + SMSG_ON_MONSTER_MOVE = 0x0EA9, + SMSG_OPEN_CONTAINER = 0x0235, + SMSG_OPEN_LFG_DUNGEON_FINDER = 0x0E99, + SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x1712, + SMSG_OPEN_SHIPMENT_NPC_RESULT = 0x1230, + SMSG_OVERRIDE_LIGHT = 0x0936, + SMSG_PAGE_TEXT = 0x0E03, + SMSG_PARTY_COMMAND_RESULT = 0x13B5, + SMSG_PARTY_INVITE = 0x0E83, + SMSG_PARTY_KILL_LOG = 0x120F, + SMSG_PARTY_MEMBER_STATE = 0x0335, + SMSG_PARTY_UPDATE = 0x0F02, + SMSG_PAUSE_MIRROR_TIMER = 0x029F, + SMSG_PENDING_RAID_LOCK = 0x071D, + SMSG_PETITION_ALREADY_SIGNED = 0x0F18, + SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x1484, + SMSG_PETITION_SHOW_LIST = 0x0B1F, + SMSG_PETITION_SHOW_SIGNATURES = 0x1CA2, + SMSG_PETITION_SIGN_RESULTS = 0x1C31, + SMSG_PET_ACTION_FEEDBACK = 0x1692, + SMSG_PET_ACTION_SOUND = 0x0875, + SMSG_PET_ADDED = 0x0F83, + SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x1396, + SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0x1F01, + SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x0A35, + SMSG_PET_BATTLE_FINAL_ROUND = 0x18B6, + SMSG_PET_BATTLE_FINISHED = 0x19B6, + SMSG_PET_BATTLE_FIRST_ROUND = 0x08A1, + SMSG_PET_BATTLE_INITIAL_UPDATE = 0x17B6, + SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0x0962, + SMSG_PET_BATTLE_PVP_CHALLENGE = 0x1A2F, + SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0x1C76, + SMSG_PET_BATTLE_QUEUE_STATUS = 0x1612, + SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x0E9E, + SMSG_PET_BATTLE_REQUEST_FAILED = 0x0EB5, + SMSG_PET_BATTLE_ROUND_RESULT = 0x0292, + SMSG_PET_BATTLE_SLOT_UPDATES = 0x1D21, + SMSG_PET_CAST_FAILED = 0x108D, + SMSG_PET_CLEAR_SPELLS = 0x193A, + SMSG_PET_DISMISS_SOUND = 0x0237, + SMSG_PET_GOD_MODE = 0x1C66, + SMSG_PET_GUI_DS = 0x0245, + SMSG_PET_LEARNED_SPELLS = 0x1099, + SMSG_PET_MODE = 0x1F0B, + SMSG_PET_NAME_INVALID = 0x0975, + SMSG_PET_SLOT_UPDATED = 0x0640, + SMSG_PET_SPELLS_MESSAGE = 0x14CA, + SMSG_PET_STABLE_LIST = 0x0D36, + SMSG_PET_STABLE_RESULT = 0x0E0C, + SMSG_PET_TAME_FAILURE = 0x0616, + SMSG_PET_UNLEARNED_SPELLS = 0x15CD, + SMSG_PHASE_SHIFT_CHANGE = 0x18A6, + SMSG_PLAYED_TIME = 0x1875, + SMSG_PLAYER_BOUND = 0x1935, + SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x148B, + SMSG_PLAYER_SKINNED = 0x0D21, + SMSG_PLAYER_TABARD_VENDOR_ACTIVATE = 0x139E, + SMSG_PLAY_MUSIC = 0x09F1, + SMSG_PLAY_OBJECT_SOUND = 0x16BF, + SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x0FB6, + SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x191E, + SMSG_PLAY_SCENE = 0x09B1, + SMSG_PLAY_SOUND = 0x1298, + SMSG_PLAY_SPEAKERBOT_SOUND = 0x0F81, + SMSG_PLAY_SPELL_VISUAL = 0x11EA, + SMSG_PLAY_SPELL_VISUAL_KIT = 0x1859, + SMSG_PLAY_TIME_WARNING = 0x0972, + SMSG_PONG = 0x005E, + SMSG_POWER_UPDATE = 0x0F96, + SMSG_PRE_RESSURECT = 0x058D, + SMSG_PRINT_NOTIFICATION = 0x0F3D, + SMSG_PROC_RESIST = 0x0611, + SMSG_PROPOSE_LEVEL_GRANT = 0x1C65, + SMSG_PVP_CREDIT = 0x0B18, + SMSG_PVP_LOG_DATA = 0x063E, + SMSG_PVP_OPTIONS_ENABLED = 0x1E0F, + SMSG_PVP_SEASON = 0x1D61, + SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x17BD, + SMSG_QUERY_CREATURE_RESPONSE = 0x1A15, + SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x1345, + SMSG_QUERY_GUILD_INFO_RESPONSE = 0x1194, + SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x1D36, + SMSG_QUERY_NPC_TEXT_RESPONSE = 0x071E, + SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x048E, + SMSG_QUERY_PETITION_RESPONSE = 0x1872, + SMSG_QUERY_PET_NAME_RESPONSE = 0x023D, + SMSG_QUERY_PLAYER_NAME_RESPONSE = 0x0C71, + SMSG_QUERY_QUEST_INFO_RESPONSE = 0x0817, + SMSG_QUERY_TIME_RESPONSE = 0x0CF1, + SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x0540, + SMSG_QUEST_CONFIRM_ACCEPT = 0x054C, + SMSG_QUEST_FORCE_REMOVED = 0x0504, + SMSG_QUEST_GIVER_INVALID_QUEST = 0x0543, + SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE = 0x0547, + SMSG_QUEST_GIVER_QUEST_COMPLETE = 0x004C, + SMSG_QUEST_GIVER_QUEST_DETAILS = 0x0534, + SMSG_QUEST_GIVER_QUEST_FAILED = 0x007F, + SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE = 0x0843, + SMSG_QUEST_GIVER_REQUEST_ITEMS = 0x0528, + SMSG_QUEST_GIVER_STATUS = 0x052F, + SMSG_QUEST_GIVER_STATUS_MULTIPLE = 0x0814, + SMSG_QUEST_LOG_FULL = 0x0508, + SMSG_QUEST_POI_QUERY_RESPONSE = 0x051F, + SMSG_QUEST_PUSH_RESULT = 0x007B, + SMSG_QUEST_UPDATE_ADD_CREDIT = 0x006C, + SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x0070, + SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x005B, + SMSG_QUEST_UPDATE_COMPLETE = 0x0480, + SMSG_QUEST_UPDATE_FAILED = 0x0573, + SMSG_QUEST_UPDATE_FAILED_TIMER = 0x0108, + SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0x0695, + SMSG_RAID_DIFFICULTY_SET = 0x0E8B, + SMSG_RAID_GROUP_ONLY = 0x1832, + SMSG_RAID_INSTANCE_MESSAGE = 0x15CB, + SMSG_RAID_MARKERS_CHANGED = 0x18F5, + SMSG_RANDOM_ROLL = 0x1240, + SMSG_RATED_BATTLEFIELD_INFO = 0x0311, + SMSG_READY_CHECK_COMPLETED = 0x0B35, + SMSG_READY_CHECK_RESPONSE = 0x0DF6, + SMSG_READY_CHECK_STARTED = 0x1618, + SMSG_READ_ITEM_RESULT_FAILED = 0x1617, + SMSG_READ_ITEM_RESULT_OK = 0x131E, + SMSG_REALM_QUERY_RESPONSE = 0x0DF2, + SMSG_REALM_SPLIT = 0x1E8C, + SMSG_RECRUIT_A_FRIEND_RESPONSE = 0x08F1, + SMSG_REFER_A_FRIEND_EXPIRED = 0x0C25, + SMSG_REFER_A_FRIEND_FAILURE = 0x0B98, + SMSG_REFRESH_COMPONENT = 0x0E04, + SMSG_REFRESH_SPELL_HISTORY = 0x153D, + SMSG_REMOVE_ITEM_PASSIVE = 0x179D, + SMSG_REMOVE_LOSS_OF_CONTROL = 0x0821, + SMSG_REPLACE_TROPHY_RESPONSE = 0x19B2, + SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x12B2, + SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x1398, + SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x0218, + SMSG_RESEARCH_COMPLETE = 0x1335, + SMSG_RESET_COMPRESSION_CONTEXT = 0x0059, + SMSG_RESET_FAILED_NOTIFY = 0x040D, + SMSG_RESET_RANGED_COMBAT_TIMER = 0x171F, + SMSG_RESET_WEEKLY_CURRENCY = 0x18F2, + SMSG_RESPEC_WIPE_CONFIRM = 0x1630, + SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x1A2E, + SMSG_RESUME_CAST_BAR = 0x10F9, + SMSG_RESUME_COMMS = 0x003A, + SMSG_RESUME_TOKEN = 0x0E20, + SMSG_RESURRECT_REQUEST = 0x0CF2, + SMSG_RESYNC_RUNES = 0x06BD, + SMSG_ROLE_CHANGED_INFORM = 0x0F09, + SMSG_ROLE_CHOSEN = 0x0A9A, + SMSG_ROLE_POLL_INFORM = 0x0EC0, + SMSG_RUNE_REGEN_DEBUG = 0x0732, + SMSG_SCENARIO_BOOT = 0x0212, + SMSG_SCENARIO_COMPLETED = 0x1925, + SMSG_SCENARIO_OUT_OF_BOUNDS = 0x16BD, + SMSG_SCENARIO_PO_IS = 0x0CB2, + SMSG_SCENARIO_PROGRESS_UPDATE = 0x1F89, + SMSG_SCENARIO_STATE = 0x0E16, + SMSG_SCENE_OBJECT_EVENT = 0x1DA5, + SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x1792, + SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x1610, + SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x1611, + SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x021E, + SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x0A36, + SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x1E84, + SMSG_SCRIPT_CAST = 0x106A, + SMSG_SELL_RESPONSE = 0x133E, + SMSG_SEND_ITEM_PASSIVES = 0x0CB6, + SMSG_SEND_KNOWN_SPELLS = 0x109A, + SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x1F84, + SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x1F0C, + SMSG_SEND_SPELL_CHARGES = 0x187E, + SMSG_SEND_SPELL_HISTORY = 0x142D, + SMSG_SEND_UNLEARN_SPELLS = 0x155D, + SMSG_SERVER_FIRST_ACHIEVEMENT = 0x11D0, + SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x0337, + SMSG_SERVER_TIME = 0x160D, + SMSG_SETUP_CURRENCY = 0x1CE2, + SMSG_SETUP_RESEARCH_HISTORY = 0x071F, + SMSG_SET_AI_ANIM_KIT = 0x1295, + SMSG_SET_ALL_TASK_PROGRESS = 0x0ABD, + SMSG_SET_ANIM_TIER = 0x0317, + SMSG_SET_CURRENCY = 0x0336, + SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x0FBA, + SMSG_SET_DUNGEON_DIFFICULTY = 0x19F2, + SMSG_SET_FACTION_AT_WAR = 0x0F9D, + SMSG_SET_FACTION_NOT_VISIBLE = 0x1217, + SMSG_SET_FACTION_STANDING = 0x1210, + SMSG_SET_FACTION_VISIBLE = 0x18A5, + SMSG_SET_FLAT_SPELL_MODIFIER = 0x192A, + SMSG_SET_FORCED_REACTIONS = 0x07BA, + SMSG_SET_ITEM_PURCHASE_DATA = 0x179E, + SMSG_SET_LFG_TIME_WALKER = 0x0A92, + SMSG_SET_LOOT_METHOD_FAILED = 0x09B6, + SMSG_SET_MAX_WEEKLY_QUANTITY = 0x0D31, + SMSG_SET_MELEE_ANIM_KIT = 0x0BB5, + SMSG_SET_MOVEMENT_ANIM_KIT = 0x0D25, + SMSG_SET_PCT_SPELL_MODIFIER = 0x1DAA, + SMSG_SET_PET_SPECIALIZATION = 0x1336, + SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x0CA2, + SMSG_SET_PLAY_HOVER_ANIM = 0x0F9E, + SMSG_SET_PROFICIENCY = 0x0D75, + SMSG_SET_SPELL_CHARGES = 0x1909, + SMSG_SET_TASK_COMPLETE = 0x0865, + SMSG_SET_TIME_ZONE_INFORMATION = 0x073A, + SMSG_SET_VEHICLE_REC_ID = 0x0F1F, + SMSG_SHOW_BANK = 0x179F, + SMSG_SHOW_MAILBOX = 0x1871, + SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x0331, + SMSG_SHOW_TAXI_NODES = 0x0FB8, + SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x1E0D, + SMSG_SOCKET_GEMS = 0x1DF6, + SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x1640, + SMSG_SPECIAL_MOUNT_ANIM = 0x1319, + SMSG_SPELL_CHANNEL_START = 0x103E, + SMSG_SPELL_CHANNEL_UPDATE = 0x10D9, + SMSG_SPELL_COOLDOWN = 0x1D2A, + SMSG_SPELL_DAMAGE_SHIELD = 0x10FE, + SMSG_SPELL_DELAYED = 0x14FD, + SMSG_SPELL_DISPELL_LOG = 0x10FD, + SMSG_SPELL_ENERGIZE_LOG = 0x1C3D, + SMSG_SPELL_EXECUTE_LOG = 0x1D9A, + SMSG_SPELL_FAILED_OTHER = 0x10CE, + SMSG_SPELL_FAILURE = 0x1CAD, + SMSG_SPELL_GO = 0x1CB9, + SMSG_SPELL_HEAL_LOG = 0x155A, + SMSG_SPELL_INSTAKILL_LOG = 0x11FE, + SMSG_SPELL_INTERRUPT_LOG = 0x185E, + SMSG_SPELL_MISS_LOG = 0x147A, + SMSG_SPELL_MULTISTRIKE_EFFECT = 0x150A, + SMSG_SPELL_NON_MELEE_DAMAGE_LOG = 0x141E, + SMSG_SPELL_OR_DAMAGE_IMMUNE = 0x11B9, + SMSG_SPELL_PERIODIC_AURA_LOG = 0x14E9, + SMSG_SPELL_START = 0x14BA, + SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x1419, + SMSG_SPIRIT_HEALER_CONFIRM = 0x1737, + SMSG_STAND_STATE_UPDATE = 0x0B37, + SMSG_START_ELAPSED_TIMER = 0x0E98, + SMSG_START_ELAPSED_TIMERS = 0x063D, + SMSG_START_LOOT_ROLL = 0x0831, + SMSG_START_MIRROR_TIMER = 0x0861, + SMSG_START_TIMER = 0x1A2D, + SMSG_STOP_ELAPSED_TIMER = 0x0795, + SMSG_STOP_MIRROR_TIMER = 0x0BB6, + SMSG_STOP_SPEAKERBOT_SOUND = 0x1E81, + SMSG_STREAMING_MOVIES = 0x0DE6, + SMSG_SUMMON_CANCEL = 0x1926, + SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x08E5, + SMSG_SUMMON_REQUEST = 0x1CE1, + SMSG_SUPERCEDED_SPELLS = 0x15EA, + SMSG_SUPPRESS_NPC_GREETINGS = 0x07A0, + SMSG_SUSPEND_COMMS = 0x001E, + SMSG_SUSPEND_TOKEN = 0x07BF, + SMSG_TALENTS_INVOLUNTARILY_RESET = 0x1246, + SMSG_TAXI_NODE_STATUS = 0x0EBF, + SMSG_TEXT_EMOTE = 0x0696, + SMSG_THREAT_CLEAR = 0x0F1D, + SMSG_THREAT_REMOVE = 0x0BBE, + SMSG_THREAT_UPDATE = 0x0AC0, + SMSG_TIME_ADJUSTMENT = 0x06C8, + SMSG_TIME_SYNC_REQUEST = 0x1E23, + SMSG_TITLE_EARNED = 0x1E03, + SMSG_TITLE_LOST = 0x03B2, + SMSG_TOTEM_CREATED = 0x0BB7, + SMSG_TOTEM_MOVED = 0x040E, + SMSG_TRADE_STATUS = 0x071A, + SMSG_TRADE_UPDATED = 0x123F, + SMSG_TRAINER_BUY_FAILED = 0x0876, + SMSG_TRAINER_LIST = 0x17B2, + SMSG_TRANSFER_ABORTED = 0x1D31, + SMSG_TRANSFER_PENDING = 0x03B8, + SMSG_TRIGGER_CINEMATIC = 0x1CF6, + SMSG_TRIGGER_MOVIE = 0x163A, + SMSG_TURN_IN_PETITION_RESULT = 0x0A45, + SMSG_TUTORIAL_FLAGS = 0x0E82, + SMSG_UI_TIME = 0x0DA1, + SMSG_UNDELETE_CHARACTER_RESPONSE = 0x0CA5, + SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x0B9F, + SMSG_UNLEARNED_SPELLS = 0x151E, + SMSG_UPDATE_ACCOUNT_DATA = 0x1698, + SMSG_UPDATE_ACTION_BUTTONS = 0x03C0, + SMSG_UPDATE_CHARACTER_FLAGS = 0x171E, + SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0x0B3A, + SMSG_UPDATE_EXPANSION_LEVEL = 0x1236, + SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x12BF, + SMSG_UPDATE_LAST_INSTANCE = 0x0971, + SMSG_UPDATE_OBJECT = 0x1CB2, + SMSG_UPDATE_TALENT_DATA = 0x1862, + SMSG_UPDATE_TASK_PROGRESS = 0x1317, + SMSG_UPDATE_WEEKLY_SPELL_USAGE = 0x103A, + SMSG_UPDATE_WORLD_STATE = 0x1DF1, + SMSG_USERLIST_ADD = 0x15F0, + SMSG_USERLIST_REMOVE = 0x10E4, + SMSG_USERLIST_UPDATE = 0x18EF, + SMSG_USE_EQUIPMENT_SET_RESULT = 0x07B2, + SMSG_VENDOR_INVENTORY = 0x0E40, + SMSG_VIGNETTE_UPDATE = 0x1691, + SMSG_VOICE_CHAT_STATUS = 0x10D0, + SMSG_VOICE_PARENTAL_CONTROLS = 0x18E4, + SMSG_VOICE_SESSION_LEAVE = 0x18EB, + SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x11C4, + SMSG_VOID_ITEM_SWAP_RESPONSE = 0x08A5, + SMSG_VOID_STORAGE_CONTENTS = 0x0F82, + SMSG_VOID_STORAGE_FAILED = 0x1962, + SMSG_VOID_STORAGE_TRANSFER_CHANGES = 0x162F, + SMSG_VOID_TRANSFER_RESULT = 0x0D66, + SMSG_WAIT_QUEUE_FINISH = 0x163E, + SMSG_WAIT_QUEUE_UPDATE = 0x0A18, + SMSG_WARDEN_DATA = 0x0E96, + SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x0965, + SMSG_WEATHER = 0x0397, + SMSG_WEEKLY_SPELL_USAGE = 0x1199, + SMSG_WHO = 0x11CC, + SMSG_WHO_IS = 0x0F20, + SMSG_WORLD_SERVER_INFO = 0x0FB5, + SMSG_WORLD_TEXT = 0x1CB6, + SMSG_XP_GAIN_ABORTED = 0x19F5, + SMSG_XP_GAIN_ENABLED = 0x0EB7, + SMSG_ZONE_UNDER_ATTACK = 0x14CF, + + // Deleted opcodes, here only to allow compile SMSG_ARENA_TEAM_COMMAND_RESULT = 0xBADD, SMSG_ARENA_TEAM_EVENT = 0xBADD, SMSG_ARENA_TEAM_INVITE = 0xBADD, SMSG_ARENA_TEAM_QUERY_RESPONSE = 0xBADD, SMSG_ARENA_TEAM_ROSTER = 0xBADD, SMSG_ARENA_TEAM_STATS = 0xBADD, - SMSG_ATTACKERSTATEUPDATE = 0x13DC, - SMSG_ATTACKSTART = 0x19A4, - SMSG_ATTACKSTOP = 0x171A, - SMSG_ATTACKSWING_ERROR = 0x1F4C, - SMSG_ATTACKSWING_LANDED_LOG = 0x15CB, - SMSG_AUCTION_BIDDER_NOTIFICATION = 0xBADD, - SMSG_AUCTION_CLOSED_NOTIFICATION = 0x0B73, - SMSG_AUCTION_COMMAND_RESULT = 0x1972, - SMSG_AUCTION_HELLO_RESPONSE = 0x0A29, - SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x1339, - SMSG_AUCTION_LIST_ITEMS_RESULT = 0x09C4, - SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x0929, - SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x1F89, - SMSG_AUCTION_OUTBID_NOTIFICATION = 0x0972, - SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x1B09, - SMSG_AUCTION_OWNER_NOTIFICATION = 0xBADD, - SMSG_AUCTION_REMOVED_NOTIFICATION = 0xBADD, - SMSG_AUCTION_REPLICATE_RESPONSE = 0x193B, - SMSG_AUCTION_WON_NOTIFICATION = 0x136B, - SMSG_AURACASTLOG = 0xBADD, - SMSG_AURA_POINTS_DEPLETED = 0x02A9, - SMSG_AURA_UPDATE = 0x070A, - SMSG_AUTH_CHALLENGE = 0x0403, - SMSG_AUTH_RESPONSE = 0x0B61, - SMSG_AVAILABLE_VOICE_CHANNEL = 0xBADD, - SMSG_AVERAGE_ITEM_LEVEL_INFORM = 0xBADD, - SMSG_BARBER_SHOP_RESULT = 0x1B89, - SMSG_BATTLEFIELD_LIST = 0xBADD, - SMSG_BATTLEFIELD_MGR_DROP_TIMER_CANCELED = 0xBADD, - SMSG_BATTLEFIELD_MGR_DROP_TIMER_STARTED = 0xBADD, - SMSG_BATTLEFIELD_MGR_EJECTED = 0xBADD, - SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0xBADD, - SMSG_BATTLEFIELD_MGR_ENTERING = 0xBADD, - SMSG_BATTLEFIELD_MGR_ENTRY_INVITE = 0xBADD, - SMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0xBADD, - SMSG_BATTLEFIELD_MGR_QUEUE_INVITE = 0xBADD, - SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE = 0xBADD, - SMSG_BATTLEFIELD_MGR_STATE_CHANGED = 0xBADD, - SMSG_BATTLEFIELD_PORT_DENIED = 0xBADD, - SMSG_BATTLEFIELD_RATED_INFO = 0x1322, - SMSG_BATTLEFIELD_STATUS_ACTIVE = 0xBADD, - SMSG_BATTLEFIELD_STATUS_FAILED = 0xBADD, - SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION = 0xBADD, - SMSG_BATTLEFIELD_STATUS_NONE = 0xBADD, - SMSG_BATTLEFIELD_STATUS_QUEUED = 0x135A, - SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS = 0xBADD, - SMSG_BATTLEGROUND_INFO_THROTTLED = 0xBADD, - SMSG_BATTLEGROUND_INIT = 0xBADD, - SMSG_BATTLEGROUND_PLAYER_JOINED = 0xBADD, - SMSG_BATTLEGROUND_PLAYER_LEFT = 0xBADD, - SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x1962, - SMSG_BATTLEGROUND_POINTS = 0x15AB, - SMSG_BATTLENET_CHALLENGE_ABORT = 0xBADD, - SMSG_BATTLENET_CHALLENGE_START = 0xBADD, - SMSG_BATTLE_PAY_ACK_FAILED = 0xBADD, - SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0xBADD, - SMSG_BATTLE_PAY_DELIVERY_ENDED = 0xBADD, - SMSG_BATTLE_PAY_DELIVERY_STARTED = 0xBADD, - SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0xBADD, - SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x17A3, - SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0xBADD, - SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x1FC9, - SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0xBADD, - SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0xBADD, - SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0xBADD, - SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x175B, - SMSG_BATTLE_PET_DELETED = 0x150A, - SMSG_BATTLE_PET_ERROR = 0x1599, - SMSG_BATTLE_PET_HEALED = 0x093C, - SMSG_BATTLE_PET_JOURNAL = 0x15AC, - SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x13A9, - SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x1359, - SMSG_BATTLE_PET_LICENSE_CHANGED = 0x0823, - SMSG_BATTLE_PET_RESTORED = 0x0E82, - SMSG_BATTLE_PET_REVOKED = 0x0B72, - SMSG_BATTLE_PET_TRAP_LEVEL = 0x1BCB, - SMSG_BATTLE_PET_UPDATES = 0x1FCC, - SMSG_BINDER_CONFIRM = 0x1BBB, - SMSG_BINDPOINTUPDATE = 0x156C, - SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0xBADD, - SMSG_BLACK_MARKET_OPEN_RESULT = 0xBADD, - SMSG_BLACK_MARKET_OUTBID = 0xBADD, - SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0xBADD, - SMSG_BLACK_MARKET_WON = 0xBADD, - SMSG_BONUS_ROLL_EMPTY = 0xBADD, - SMSG_BREAK_TARGET = 0x159A, SMSG_BUY_BANK_SLOT_RESULT = 0xBADD, - SMSG_BUY_FAILED = 0xBADD, - SMSG_BUY_SUCCEEDED = 0x117B, - SMSG_CALENDAR_ACTION_PENDING = 0xBADD, SMSG_CALENDAR_ARENA_TEAM = 0xBADD, - SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0xBADD, - SMSG_CALENDAR_COMMAND_RESULT = 0xBADD, - SMSG_CALENDAR_EVENT_INITIAL_INVITES = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_ALERT = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_NOTES = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_STATUS = 0xBADD, - SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0xBADD, - SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0xBADD, - SMSG_CALENDAR_EVENT_STATUS = 0xBADD, - SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0xBADD, - SMSG_CALENDAR_FILTER_GUILD = 0xBADD, - SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x0C83, - SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0xBADD, - SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0xBADD, - SMSG_CALENDAR_SEND_CALENDAR = 0x1562, - SMSG_CALENDAR_SEND_EVENT = 0xBADD, - SMSG_CALENDAR_SEND_NUM_PENDING = 0x17B1, - SMSG_CALENDAR_UPDATE_INVITE_LIST = 0xBADD, - SMSG_CAMERA_SHAKE = 0xBADD, - SMSG_CANCEL_AUTO_REPEAT = 0x1959, - SMSG_CANCEL_COMBAT = 0x09A2, - SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x0579, - SMSG_CANCEL_SCENE = 0x19B2, - SMSG_CANCEL_SPELL_VISUAL = 0x1849, - SMSG_CANCEL_SPELL_VISUAL_KIT = 0x00AC, - SMSG_CAN_DUEL_RESULT = 0x11BB, - SMSG_CAST_FAILED = 0x040C, - SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0xBADD, - SMSG_CHALLENGE_MODE_COMPLETE = 0xBADD, - SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE = 0xBADD, - SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD = 0xBADD, - SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0xBADD, - SMSG_CHALLENGE_MODE_REWARDS = 0xBADD, - SMSG_CHALLENGE_MODE_START = 0xBADD, - SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0xBADD, - SMSG_CHANNEL_LIST = 0x12FC, - SMSG_CHANNEL_NOTIFY = 0x1634, - SMSG_CHANNEL_NOTIFY_JOINED = 0x123B, - SMSG_CHANNEL_NOTIFY_LEFT = 0x143B, - SMSG_CHANNEL_START = 0x0F5A, - SMSG_CHANNEL_UPDATE = 0x12CA, - SMSG_CHARACTER_LOGIN_FAILED = 0x1722, - SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0xBADD, - SMSG_CHARACTER_UPGRADE_COMPLETE = 0xBADD, - SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0xBADD, - SMSG_CHAR_CREATE = 0x13E4, - SMSG_CHAR_CUSTOMIZE = 0xBADD, - SMSG_CHAR_CUSTOMIZE_RESULT = 0xBADD, - SMSG_CHAR_DELETE = 0x01C2, - SMSG_CHAR_ENUM = 0x13F2, - SMSG_CHAR_FACTION_CHANGE = 0x0A64, - SMSG_CHAR_RENAME = 0xBADD, - SMSG_CHAR_UPGRADE_STARTED = 0xBADD, - SMSG_CHAT_AUTO_RESPONDED = 0xBADD, - SMSG_CHAT_DOWN = 0xBADD, - SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0xBADD, - SMSG_CHAT_IS_DOWN = 0xBADD, - SMSG_CHAT_NOT_IN_PARTY = 0xBADD, - SMSG_CHAT_PLAYER_AMBIGUOUS = 0xBADD, - SMSG_CHAT_PLAYER_NOT_FOUND = 0xBADD, - SMSG_CHAT_RECONNECT = 0xBADD, - SMSG_CHAT_RESTRICTED = 0xBADD, - SMSG_CHAT_WRONG_FACTION = 0xBADD, - SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0xBADD, - SMSG_CHECK_FOR_BOTS = 0xBADD, - SMSG_CHECK_WARGAME_ENTRY = 0xBADD, - SMSG_CLEAR_ALL_SPELL_CHARGES = 0xBADD, - SMSG_CLEAR_BOSS_EMOTES = 0xBADD, - SMSG_CLEAR_COOLDOWN = 0x0964, - SMSG_CLEAR_COOLDOWNS = 0xBADD, - SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0xBADD, - SMSG_CLEAR_LOSS_OF_CONTROL = 0xBADD, - SMSG_CLEAR_SPELL_CHARGES = 0xBADD, - SMSG_CLEAR_TARGET = 0x17FA, - SMSG_CLIENTCACHE_VERSION = 0x116C, - SMSG_CLIENT_CONTROL_UPDATE = 0x1B4C, - SMSG_COIN_REMOVED = 0x11A4, - SMSG_COMBAT_EVENT_FAILED = 0x19D9, - SMSG_COMBAT_LOG_MULTIPLE = 0xBADD, - SMSG_COMMENTATOR_MAP_INFO = 0xBADD, - SMSG_COMMENTATOR_PARTY_INFO = 0xBADD, - SMSG_COMMENTATOR_PLAYER_INFO = 0xBADD, - SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1 = 0xBADD, - SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2 = 0xBADD, - SMSG_COMMENTATOR_STATE_CHANGED = 0xBADD, - SMSG_COMPLAINT_RESULT = 0xBADD, - SMSG_COMPLETE_SHIPMENT_RESPONSE = 0xBADD, - SMSG_COMPRESSED_MOVES = 0xBADD, - SMSG_COMPRESSED_PACKET = 0x0689, - SMSG_COMSAT_CONNECT_FAIL = 0xBADD, - SMSG_COMSAT_DISCONNECT = 0xBADD, - SMSG_COMSAT_RECONNECT_TRY = 0xBADD, - SMSG_CONQUEST_FORMULA_CONSTANTS = 0x1B29, - SMSG_CONSOLE_WRITE = 0xBADD, - SMSG_CONTACT_LIST = 0x15A1, - SMSG_CONTACT_STATUS = 0x174C, - SMSG_CONVERT_RUNE = 0xBADD, - SMSG_COOLDOWN_CHEAT = 0xBADD, - SMSG_COOLDOWN_EVENT = 0x1BE4, - SMSG_CORPSE_LOCATION = 0x0A63, - SMSG_CORPSE_RECLAIM_DELAY = 0x1B9C, - SMSG_CORPSE_TRANSPORT_QUERY = 0x0B6C, - SMSG_CREATE_SHIPMENT_RESPONSE = 0x0839, - SMSG_CREATURE_QUERY_RESPONSE = 0x0DC2, - SMSG_CRITERIA_DELETED = 0x0B2A, - SMSG_CRITERIA_UPDATE = 0x115A, - SMSG_CROSSED_INEBRIATION_THRESHOLD = 0xBADD, - SMSG_CURRENCY_LOOT_REMOVED = 0xBADD, - SMSG_CURRENCY_LOOT_RESTORED = 0xBADD, - SMSG_CUSTOM_LOAD_SCREEN = 0xBADD, - SMSG_DAILY_QUESTS_RESET = 0xBADD, - SMSG_DAMAGE_CALC_LOG = 0xBADD, - SMSG_DAMAGE_DONE_OBSOLETE = 0xBADD, - SMSG_DANCE_QUERY_RESPONSE = 0xBADD, - SMSG_DANCE_STUDIO_CREATE_RESULT = 0x15F2, - SMSG_DB_LOOKUP_RESULTS = 0xBADD, - SMSG_DB_REPLY = 0x097C, - SMSG_DEATH_RELEASE_LOC = 0x15DC, - SMSG_DEBUG_AISTATE = 0xBADD, - SMSG_DEBUG_DRAW_AURA = 0xBADD, - SMSG_DEBUG_SERVER_GEO = 0xBADD, - SMSG_DEFENSE_MESSAGE = 0x14F1, - SMSG_DESTROY_ARENA_UNIT = 0xBADD, - SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0xBADD, - SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0xBADD, - SMSG_DISENCHANT_CREDIT = 0xBADD, - SMSG_DISMOUNT = 0x1371, - SMSG_DISMOUNT_RESULT = 0xBADD, - SMSG_DISPEL_FAILED = 0xBADD, - SMSG_DISPLAY_GAME_ERROR = 0x173B, - SMSG_DISPLAY_PLAYER_CHOICE = 0x087C, - SMSG_DISPLAY_PROMOTION = 0x01E2, - SMSG_DISPLAY_QUEST_POPUP = 0xBADD, - SMSG_DISPLAY_TOAST = 0x17DA, - SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0xBADD, - SMSG_DROP_NEW_CONNECTION = 0xBADD, - SMSG_DUEL_COMPLETE = 0x1531, - SMSG_DUEL_COUNTDOWN = 0x1B1A, - SMSG_DUEL_IN_BOUNDS = 0x13A3, - SMSG_DUEL_OUT_OF_BOUNDS = 0x15F4, - SMSG_DUEL_REQUESTED = 0x0983, - SMSG_DUEL_WINNER = 0x1519, - SMSG_DUMP_RIDE_TICKETS_RESPONSE = 0xBADD, - SMSG_DURABILITY_DAMAGE_DEATH = 0x1BCA, - SMSG_DYNAMIC_DROP_ROLL_RESULT = 0xBADD, - SMSG_ECHO_PARTY_SQUELCH = 0xBADD, - SMSG_EMOTE = 0x171C, - SMSG_ENABLE_BARBER_SHOP = 0x1D5C, - SMSG_ENCHANTMENT_LOG = 0x1563, - SMSG_ENCOUNTER_END = 0x0EC4, - SMSG_ENCOUNTER_START = 0x1B5C, - SMSG_ENVIRONMENTALDAMAGELOG = 0x0679, - SMSG_EQUIPMENT_SET_LIST = 0x111A, - SMSG_EQUIPMENT_SET_SAVED = 0xBADD, - SMSG_EXPECTED_SPAM_RECORDS = 0xBADD, - SMSG_EXPLORATION_EXPERIENCE = 0x1139, - SMSG_FACTION_BONUS_INFO = 0x13B9, - SMSG_FAILED_PLAYER_CONDITION = 0x1161, - SMSG_FEATURE_SYSTEM_STATUS = 0x13F3, - SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x117A, - SMSG_FEIGN_DEATH_RESISTED = 0xBADD, - SMSG_FISH_ESCAPED = 0xBADD, - SMSG_FISH_NOT_HOOKED = 0xBADD, - SMSG_FLIGHT_SPLINE_SYNC = 0x0272, - SMSG_FLOOD_DETECTED = 0xBADD, - SMSG_FORCEACTIONSHOW = 0xBADD, - SMSG_FORCED_DEATH_UPDATE = 0xBADD, - SMSG_FORCE_ACTION_SHOW_RESPONSE = 0xBADD, - SMSG_FORCE_ANIM = 0xBADD, - SMSG_FORCE_DISPLAY_UPDATE = 0xBADD, - SMSG_FORCE_OBJECT_RELINK = 0xBADD, - SMSG_FORGE_MASTER_SET = 0xBADD, - SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT = 0xBADD, - SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x0873, - SMSG_GAMEOBJECT_DESPAWN = 0x1B99, - SMSG_GAMEOBJECT_DESPAWN_ANIM = 0xBADD, - SMSG_GAMEOBJECT_PAGETEXT = 0xBADD, - SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL = 0xBADD, - SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL_KIT = 0xBADD, - SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x1559, - SMSG_GAMEOBJECT_RESET_STATE = 0xBADD, - SMSG_GAME_EVENT_DEBUG_LOG = 0xBADD, - SMSG_GAME_SPEED_SET = 0xBADD, - SMSG_GAME_TIME_SET = 0x1309, - SMSG_GAME_TIME_UPDATE = 0x13E9, - SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0xBADD, - SMSG_GARRISON_ADD_MISSION_RESULT = 0xBADD, - SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0xBADD, - SMSG_GARRISON_BUILDING_ACTIVATED = 0x07AA, - SMSG_GARRISON_BUILDING_REMOVED = 0x0723, - SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = 0xBADD, - SMSG_GARRISON_COMPLETE_MISSION_RESULT = 0x02C2, - SMSG_GARRISON_DELETE_RESULT = 0xBADD, - SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0xBADD, - SMSG_GARRISON_LANDINGPAGE_SHIPMENTS = 0xBADD, - SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0x0701, - SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = 0xBADD, - SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0xBADD, - SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT = 0xBADD, - SMSG_GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED = 0xBADD, - SMSG_GARRISON_OPEN_ARCHITECT = 0xBADD, - SMSG_GARRISON_OPEN_MISSION_NPC = 0xBADD, - SMSG_GARRISON_OPEN_TRADESKILL_NPC_RESPONSE = 0xBADD, - SMSG_GARRISON_PLACE_BUILDING_RESULT = 0x07CA, - SMSG_GARRISON_PLOT_PLACED = 0xBADD, - SMSG_GARRISON_PLOT_REMOVED = 0xBADD, - SMSG_GARRISON_REMOTE_INFO = 0x0C39, - SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT = 0xBADD, - SMSG_GARRISON_REMOVE_FOLLOWER_RESULT = 0xBADD, - SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT = 0xBADD, - SMSG_GARRISON_SET_NUM_FOLLOWER_ACTIVATIONS_REMAINING = 0xBADD, - SMSG_GARRISON_START_MISSION_RESULT = 0x0AA1, - SMSG_GARRISON_UNK1 = 0xBADD, - SMSG_GARRISON_UNK3 = 0xBADD, - SMSG_GARRISON_UPGRADEABLE_RESULT = 0xBADD, - SMSG_GARRISON_UPGRADE_FOLLOWER_ITEM_LEVEL = 0xBADD, - SMSG_GARRISON_UPGRADE_RESULT = 0xBADD, - SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0xBADD, - SMSG_GET_GARRISON_INFO_RESULT = 0x0733, - SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x1F09, - SMSG_GET_TROPHY_LIST_RESPONSE = 0xBADD, - SMSG_GHOST = 0xBADD, - SMSG_GHOSTEE_GONE = 0xBADD, - SMSG_GM_ACCOUNT_ONLINE_RESPONSE = 0xBADD, - SMSG_GM_CHANGE_ARENA_RATING = 0xBADD, - SMSG_GM_CHARACTER_RESTORE_RESPONSE = 0xBADD, - SMSG_GM_MESSAGECHAT = 0xBADD, - SMSG_GM_PLAYER_INFO = 0xBADD, - SMSG_GM_REQUEST_PLAYER_INFO = 0xBADD, - SMSG_GM_SUMMON = 0xBADD, - SMSG_GM_TICKET_CASE_STATUS = 0x086B, - SMSG_GM_TICKET_GET_TICKET_RESPONSE = 0x0183, - SMSG_GM_TICKET_RESOLVE_RESPONSE = 0x0869, - SMSG_GM_TICKET_RESPONSE = 0x1729, - SMSG_GM_TICKET_RESPONSE_ERROR = 0x0A33, - SMSG_GM_TICKET_STATUS_UPDATE = 0x0B74, - SMSG_GM_TICKET_SYSTEM_STATUS = 0x134C, - SMSG_GM_TICKET_UPDATE = 0x193A, - SMSG_GOD_MODE = 0xBADD, - SMSG_GOSSIP_COMPLETE = 0x07A8, - SMSG_GOSSIP_MESSAGE = 0x0117, - SMSG_GOSSIP_POI = 0x1BBC, - SMSG_GROUP_ACTION_THROTTLED = 0xBADD, - SMSG_GROUP_CANCEL = 0xBADD, - SMSG_GROUP_DECLINE = 0xBADD, - SMSG_GROUP_DESTROYED = 0xBADD, - SMSG_GROUP_NEW_LEADER = 0x1BF1, - SMSG_GROUP_UNINVITE = 0xBADD, - SMSG_GUILD_ACHIEVEMENT_DELETED = 0x07B3, - SMSG_GUILD_ACHIEVEMENT_EARNED = 0x00F3, - SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x0B93, - SMSG_GUILD_BANK_LOG_QUERY_RESULT = 0xBADD, - SMSG_GUILD_BANK_QUERY_RESULTS = 0xBADD, - SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0x0793, - SMSG_GUILD_BANK_TEXT_QUERY_RESULT = 0xBADD, - SMSG_GUILD_CANCEL = 0xBADD, - SMSG_GUILD_CHALLENGE_COMPLETED = 0xBADD, - SMSG_GUILD_CHALLENGE_UPDATE = 0x04F3, - SMSG_GUILD_CHANGE_NAME_RESULT = 0xBADD, - SMSG_GUILD_COMMAND_RESULT = 0x0B94, - SMSG_GUILD_CRITERIA_DELETED = 0x09B4, - SMSG_GUILD_CRITERIA_UPDATE = 0x03D4, - SMSG_GUILD_DECLINE = 0xBADD, - SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0x01F4, - SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x04B4, - SMSG_GUILD_EVENT_DISBANDED = 0x02F3, - SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0x0794, - SMSG_GUILD_EVENT_MOTD = 0x09D3, - SMSG_GUILD_EVENT_NEW_LEADER = 0x0AB4, - SMSG_GUILD_EVENT_PLAYER_JOINED = 0x0AB3, - SMSG_GUILD_EVENT_PLAYER_LEFT = 0x0093, - SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x0C94, - SMSG_GUILD_EVENT_RANKS_UPDATED = 0x02D4, - SMSG_GUILD_EVENT_RANK_CHANGED = 0x09F3, - SMSG_GUILD_EVENT_TAB_ADDED = 0x0BB4, - SMSG_GUILD_EVENT_TAB_DELETED = 0x01D4, - SMSG_GUILD_EVENT_TAB_MODIFIED = 0x0693, - SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x0594, - SMSG_GUILD_FLAGGED_FOR_RENAME = 0xBADD, - SMSG_GUILD_INVITE = 0xBADD, - SMSG_GUILD_INVITE_CANCEL = 0xBADD, - SMSG_GUILD_INVITE_DECLINED = 0xBADD, - SMSG_GUILD_INVITE_EXPIRED = 0xBADD, - SMSG_GUILD_KNOWN_RECIPES = 0x04B3, - SMSG_GUILD_MEMBERS_WITH_RECIPE = 0xBADD, - SMSG_GUILD_MEMBER_DAILY_RESET = 0x08D4, - SMSG_GUILD_MEMBER_RECIPES = 0xBADD, - SMSG_GUILD_MEMBER_UPDATE_NOTE = 0xBADD, - SMSG_GUILD_MOVED = 0xBADD, - SMSG_GUILD_MOVE_STARTING = 0xBADD, - SMSG_GUILD_NAME_CHANGED = 0xBADD, - SMSG_GUILD_NEWS = 0x05F4, - SMSG_GUILD_NEWS_DELETED = 0x0194, - SMSG_GUILD_PARTY_STATE_RESPONSE = 0x0BD4, - SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0x07D4, - SMSG_GUILD_QUERY_RESPONSE = 0x06F3, - SMSG_GUILD_RANKS = 0x01D3, - SMSG_GUILD_RECIPES = 0xBADD, - SMSG_GUILD_REPUTATION_REACTION_CHANGED = 0x0293, - SMSG_GUILD_RESET = 0xBADD, - SMSG_GUILD_REWARDS_LIST = 0x04D3, - SMSG_GUILD_ROSTER = 0x07F3, - SMSG_GUILD_ROSTER_UPDATE = 0xBADD, - SMSG_GUILD_SEND_RANK_CHANGE = 0xBADD, - SMSG_HEALTH_UPDATE = 0x1BD9, - SMSG_HIGHEST_THREAT_UPDATE = 0x086A, - SMSG_HOTFIX_NOTIFY = 0xBADD, - SMSG_HOTFIX_NOTIFY_BLOB = 0x19B9, - SMSG_IGNORE_REQUIREMENTS_CHEAT = 0xBADD, - SMSG_IMMIGRANT_HOST_SEARCH_LOG = 0xBADD, - SMSG_INCREASE_CAST_TIME_FOR_SPELL = 0xBADD, - SMSG_INITIALIZE_FACTIONS = 0x06C3, - SMSG_INITIAL_SETUP = 0x0A6B, - SMSG_INITIAL_SPELLS = 0x12C2, - SMSG_INIT_WORLD_STATES = 0x11F9, - SMSG_INSPECT_HONOR_STATS = 0xBADD, - SMSG_INSPECT_PVP = 0xBADD, - SMSG_INSPECT_RESULT = 0x0C82, - SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x1971, - SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x0682, - SMSG_INSTANCE_ENCOUNTER_END = 0x1B2A, - SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x1BAA, - SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x0EA2, - SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x1D9B, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x17F4, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x0B3C, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x1331, - SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x11B9, - SMSG_INSTANCE_ENCOUNTER_START = 0x0A2C, - SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x19F4, - SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x0EC3, - SMSG_INSTANCE_INFO = 0x082B, - SMSG_INSTANCE_LOCK_WARNING_QUERY = 0xBADD, - SMSG_INSTANCE_RESET = 0x15CA, - SMSG_INSTANCE_RESET_FAILED = 0x194C, - SMSG_INSTANCE_SAVE_CREATED = 0x1B39, - SMSG_INVALIDATE_DANCE = 0xBADD, - SMSG_INVALIDATE_PLAYER = 0x1799, - SMSG_INVALID_PROMOTION_CODE = 0xBADD, - SMSG_INVENTORY_CHANGE_FAILURE = 0x05E1, - SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x0108, - SMSG_ITEM_COOLDOWN = 0x05A3, - SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x176A, - SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x112B, - SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x158C, - SMSG_ITEM_PUSH_RESULT = 0x1121, - SMSG_ITEM_REFUND_INFO_RESPONSE = 0xBADD, - SMSG_ITEM_TIME_UPDATE = 0x174A, - SMSG_ITEM_UPGRADE_RESULT = 0xBADD, - SMSG_JOINED_BATTLEGROUND_QUEUE = 0xBADD, - SMSG_KICK_REASON = 0xBADD, - SMSG_LEARNED_DANCE_MOVES = 0xBADD, - SMSG_LEARNED_SPELLS = 0x08E9, - SMSG_LEARN_TALENT_FAILED = 0xBADD, - SMSG_LEVELUP_INFO = 0x092C, - SMSG_LFG_BOOT_PLAYER = 0xBADD, - SMSG_LFG_BOOT_PROPOSAL_UPDATE = 0xBADD, - SMSG_LFG_DISABLED = 0xBADD, - SMSG_LFG_JOIN_RESULT = 0x01BA, - SMSG_LFG_LIST_JOIN_RESULT = 0xBADD, - SMSG_LFG_LIST_UPDATE_BLACKLIST = 0xBADD, - SMSG_LFG_LIST_UPDATE_STATUS = 0xBADD, - SMSG_LFG_OFFER_CONTINUE = 0xBADD, - SMSG_LFG_OPEN_FROM_GOSSIP = 0xBADD, - SMSG_LFG_PARTY_INFO = 0xBADD, - SMSG_LFG_PLAYER_INFO = 0x03FA, - SMSG_LFG_PLAYER_REWARD = 0xBADD, - SMSG_LFG_PROPOSAL_UPDATE = 0xBADD, - SMSG_LFG_QUEUE_STATUS = 0x0292, - SMSG_LFG_ROLE_CHECK_UPDATE = 0x01D9, - SMSG_LFG_ROLE_CHOSEN = 0xBADD, - SMSG_LFG_SEARCH_RESULTS = 0xBADD, - SMSG_LFG_SLOT_INVALID = 0x0191, - SMSG_LFG_TELEPORT_DENIED = 0xBADD, - SMSG_LFG_UPDATE_LIST = 0xBADD, - SMSG_LFG_UPDATE_SEARCH = 0xBADD, - SMSG_LFG_UPDATE_STATUS = 0x02B1, - SMSG_LF_GUILD_APPLICANT_LIST_UPDATED = 0xBADD, - SMSG_LF_GUILD_APPLICATIONS = 0xBADD, - SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED = 0xBADD, - SMSG_LF_GUILD_BROWSE = 0xBADD, - SMSG_LF_GUILD_COMMAND_RESULT = 0xBADD, - SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED = 0xBADD, - SMSG_LF_GUILD_POST = 0x0BD3, - SMSG_LF_GUILD_RECRUITS = 0x0CB3, - SMSG_LIST_INVENTORY = 0x17A1, - SMSG_LIST_TARGETS = 0xBADD, - SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0xBADD, - SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0xBADD, - SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0xBADD, - SMSG_LOAD_CUF_PROFILES = 0x17EA, - SMSG_LOGIN_SETTIMESPEED = 0x1573, - SMSG_LOGIN_VERIFY_WORLD = 0x0B31, - SMSG_LOGOUT_CANCEL_ACK = 0x1D8A, - SMSG_LOGOUT_COMPLETE = 0x17AA, - SMSG_LOGOUT_RESPONSE = 0x05C3, - SMSG_LOG_XPGAIN = 0x1B8B, - SMSG_LOOT_ALL_PASSED = 0xBADD, - SMSG_LOOT_CONTENTS = 0x1334, - SMSG_LOOT_ITEM_LIST = 0xBADD, - SMSG_LOOT_ITEM_NOTIFY = 0xBADD, - SMSG_LOOT_LIST = 0x05A1, - SMSG_LOOT_MONEY_NOTIFY = 0x1B23, - SMSG_LOOT_RELEASE = 0x1789, - SMSG_LOOT_RELEASE_ALL = 0x1B59, - SMSG_LOOT_REMOVED = 0x17E9, - SMSG_LOOT_RESPONSE = 0x1939, - SMSG_LOOT_ROLL = 0xBADD, - SMSG_LOOT_ROLLS_COMPLETE = 0xBADD, - SMSG_LOOT_ROLL_WON = 0xBADD, - SMSG_LOOT_SLOT_CHANGED = 0xBADD, - SMSG_LOOT_UPDATED = 0xBADD, - SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x04C2, - SMSG_MAIL_LIST_RESULT = 0x1B71, - SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x083A, - SMSG_MAP_OBJECTIVES_INIT = 0xBADD, - SMSG_MAP_OBJ_EVENTS = 0xBADD, - SMSG_MASTER_LOOT_CANDIDATE_LIST = 0xBADD, - SMSG_MEETINGSTONE_COMPLETE = 0xBADD, - SMSG_MEETINGSTONE_IN_PROGRESS = 0xBADD, - SMSG_MEETINGSTONE_MEMBER_ADDED = 0xBADD, - SMSG_MEETINGSTONE_SETQUEUE = 0xBADD, - SMSG_MESSAGECHAT = 0x1472, - SMSG_MESSAGE_BOX = 0xBADD, - SMSG_MINIGAME_SETUP = 0xBADD, - SMSG_MINIGAME_STATE = 0xBADD, - SMSG_MINIMAP_PING = 0xBADD, - SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0xBADD, - SMSG_MIRROR_IMAGE_CREATURE_DATA = 0xBADD, - SMSG_MISSILE_CANCEL = 0xBADD, - SMSG_MODIFY_COOLDOWN = 0x15EA, - SMSG_MONEY_NOTIFY = 0xBADD, - SMSG_MOTD = 0x12FB, - SMSG_MOUNT_RESULT = 0x1BAC, - SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x033A, - SMSG_MOVE_CHARACTER_CHEAT_FAILURE = 0xBADD, - SMSG_MOVE_CHARACTER_CHEAT_SUCCESS = 0xBADD, - SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0C12, - SMSG_MOVE_DISABLE_COLLISION = 0x027C, - SMSG_MOVE_DISABLE_GRAVITY = 0x0124, - SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0AC9, - SMSG_MOVE_ENABLE_COLLISION = 0x0512, - SMSG_MOVE_ENABLE_GRAVITY = 0x0024, - SMSG_MOVE_KNOCK_BACK = 0x048B, - SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x0361, - SMSG_MOVE_ROOT = 0x0031, - SMSG_MOVE_SET_ACTIVE_MOVER = 0x024C, - SMSG_MOVE_SET_ANIM_KIT = 0x1F9B, - SMSG_MOVE_SET_CAN_FLY = 0x0D11, - SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x027A, - SMSG_MOVE_SET_COLLISION_HEIGHT = 0x0D52, - SMSG_MOVE_SET_COMPOUND_STATE = 0x0041, - SMSG_MOVE_SET_FEATHER_FALL = 0x0264, - SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x0752, - SMSG_MOVE_SET_FLIGHT_SPEED = 0x0324, - SMSG_MOVE_SET_HOVER = 0x0673, - SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x0C8B, - SMSG_MOVE_SET_LAND_WALK = 0x0661, - SMSG_MOVE_SET_NORMAL_FALL = 0x1301, - SMSG_MOVE_SET_PITCH_RATE = 0x0D21, - SMSG_MOVE_SET_RUN_BACK_SPEED = 0x0019, - SMSG_MOVE_SET_RUN_SPEED = 0x0363, - SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x0021, - SMSG_MOVE_SET_SWIM_SPEED = 0x0432, - SMSG_MOVE_SET_TURN_RATE = 0x0E74, - SMSG_MOVE_SET_VEHICLE_REC_ID = 0x1302, - SMSG_MOVE_SET_WALK_IN_AIR = 0xBADD, - SMSG_MOVE_SET_WALK_SPEED = 0x024A, - SMSG_MOVE_SET_WATER_WALK = 0x0D62, - SMSG_MOVE_SKIP_TIME = 0x0359, - SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x1392, - SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x002A, - SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x0152, - SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x0641, - SMSG_MOVE_SPLINE_ROOT = 0x0A4B, - SMSG_MOVE_SPLINE_SET_ANIM = 0xBADD, - SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x094B, - SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0x0C02, - SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x0A5B, - SMSG_MOVE_SPLINE_SET_FLYING = 0x0212, - SMSG_MOVE_SPLINE_SET_HOVER = 0x0301, - SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x0632, - SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x0073, - SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0x0289, - SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0x0111, - SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x014A, - SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x0C89, - SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0x0811, - SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0x0131, - SMSG_MOVE_SPLINE_SET_TURN_RATE = 0x13C1, - SMSG_MOVE_SPLINE_SET_WALK_BACK_SPEED = 0x0172, - SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x0A51, - SMSG_MOVE_SPLINE_SET_WALK_SPEED = 0xBADD, - SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x0CCB, - SMSG_MOVE_SPLINE_START_SWIM = 0x1594, - SMSG_MOVE_SPLINE_STOP_SWIM = 0x11D1, - SMSG_MOVE_SPLINE_UNROOT = 0x02CC, - SMSG_MOVE_SPLINE_UNSET_FLYING = 0x1344, - SMSG_MOVE_SPLINE_UNSET_HOVER = 0x025C, - SMSG_MOVE_TELEPORT = 0x0C21, - SMSG_MOVE_UNROOT = 0x0A52, - SMSG_MOVE_UNSET_CAN_FLY = 0x0163, - SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x015C, - SMSG_MOVE_UNSET_HOVER = 0x1581, - SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x0E31, - SMSG_MOVE_UNSET_WALK_IN_AIR = 0xBADD, - SMSG_MOVE_UPDATE = 0x1514, - SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE = 0x1193, - SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0x0624, - SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0x036B, - SMSG_MOVE_UPDATE_FLIGHT_SPEED = 0x0D72, - SMSG_MOVE_UPDATE_KNOCK_BACK = 0x1304, - SMSG_MOVE_UPDATE_PITCH_RATE = 0x0372, - SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE = 0x13D1, - SMSG_MOVE_UPDATE_RUN_BACK_SPEED = 0x012A, - SMSG_MOVE_UPDATE_RUN_SPEED = 0x015B, - SMSG_MOVE_UPDATE_SWIM_BACK_SPEED = 0x0223, - SMSG_MOVE_UPDATE_SWIM_SPEED = 0x016B, - SMSG_MOVE_UPDATE_TELEPORT = 0x0171, - SMSG_MOVE_UPDATE_TURN_RATE = 0x084A, - SMSG_MOVE_UPDATE_WALK_SPEED = 0x0A19, - SMSG_MULTIPLE_PACKETS = 0x0C33, - SMSG_NAME_QUERY_RESPONSE = 0x11A9, - SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0xBADD, - SMSG_NEW_TAXI_PATH = 0xBADD, - SMSG_NEW_WORLD = 0x190B, - SMSG_NOTIFICATION = 0xBADD, - SMSG_NOTIFY_DANCE = 0xBADD, - SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0xBADD, - SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x1F49, - SMSG_NOTIFY_MONEY = 0xBADD, - SMSG_NOTIFY_RECEIVED_MAIL = 0x136C, - SMSG_NPC_TEXT_UPDATE = 0x0A31, - SMSG_NPC_WONT_TALK = 0xBADD, - SMSG_OFFER_PETITION_ERROR = 0xBADD, - SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x096C, - SMSG_ON_MONSTER_MOVE = 0x0B09, - SMSG_OPEN_CONTAINER = 0xBADD, - SMSG_OPEN_LFG_DUNGEON_FINDER = 0xBADD, - SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x11F2, - SMSG_OPEN_SHIPMENT_NPC_RESULT = 0xBADD, - SMSG_OVERRIDE_LIGHT = 0xBADD, - SMSG_PAGE_TEXT = 0xBADD, - SMSG_PAGE_TEXT_QUERY_RESPONSE = 0xBADD, - SMSG_PARTY_COMMAND_RESULT = 0xBADD, - SMSG_PARTY_INVITE = 0x1F9C, - SMSG_PARTY_KILL_LOG = 0x0CA4, - SMSG_PARTY_MEMBER_STATE = 0x1564, - SMSG_PARTY_MEMBER_STATS = 0xBADD, - SMSG_PARTY_MEMBER_STATS_FULL = 0xBADD, - SMSG_PARTY_UPDATE = 0x0981, - SMSG_PAUSE_MIRROR_TIMER = 0xBADD, - SMSG_PENDING_RAID_LOCK = 0xBADD, - SMSG_PERIODICAURALOG = 0x184B, - SMSG_PETITION_ALREADY_SIGNED = 0xBADD, - SMSG_PETITION_DECLINED = 0xBADD, - SMSG_PETITION_RENAME_GUILD_RESPONSE = 0xBADD, - SMSG_PETITION_SHOW_LIST = 0x1134, - SMSG_PETITION_SHOW_SIGNATURES = 0xBADD, - SMSG_PETITION_SIGN_RESULTS = 0xBADD, - SMSG_PET_ACTION_FEEDBACK = 0xBADD, - SMSG_PET_ACTION_SOUND = 0x1924, - SMSG_PET_ADDED = 0xBADD, - SMSG_PET_BATTLE_CHAT_RESTRICTED = 0xBADD, - SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0xBADD, - SMSG_PET_BATTLE_FINALIZE_LOCATION = 0x1D24, - SMSG_PET_BATTLE_FINAL_ROUND = 0x0B29, - SMSG_PET_BATTLE_FINISHED = 0x15FC, - SMSG_PET_BATTLE_FIRST_ROUND = 0x11CA, - SMSG_PET_BATTLE_INITIAL_UPDATE = 0x153A, - SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = 0xBADD, - SMSG_PET_BATTLE_PVP_CHALLENGE = 0xBADD, - SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = 0xBADD, - SMSG_PET_BATTLE_QUEUE_STATUS = 0xBADD, - SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0xBADD, - SMSG_PET_BATTLE_REQUEST_FAILED = 0xBADD, - SMSG_PET_BATTLE_ROUND_RESULT = 0x15F9, - SMSG_PET_BATTLE_SLOT_UPDATES = 0xBADD, - SMSG_PET_BROKEN = 0xBADD, - SMSG_PET_CAST_FAILED = 0xBADD, - SMSG_PET_CLEAR_SPELLS = 0x0EEA, - SMSG_PET_DISMISS_SOUND = 0x11BC, - SMSG_PET_GOD_MODE = 0xBADD, - SMSG_PET_GUIDS = 0x198A, - SMSG_PET_LEARNED_SPELL = 0xBADD, - SMSG_PET_MODE = 0x196B, - SMSG_PET_NAME_INVALID = 0xBADD, - SMSG_PET_NAME_QUERY_RESPONSE = 0x15A9, - SMSG_PET_REMOVED_SPELL = 0xBADD, - SMSG_PET_RENAMEABLE = 0xBADD, - SMSG_PET_SLOT_UPDATED = 0xBADD, - SMSG_PET_SPECIALIZATION = 0xBADD, - SMSG_PET_SPELLS = 0x1283, - SMSG_PET_STABLE_LIST = 0x04E2, - SMSG_PET_STABLE_RESULT = 0xBADD, - SMSG_PET_TAME_FAILURE = 0xBADD, - SMSG_PET_UPDATE_COMBO_POINTS = 0xBADD, - SMSG_PLAYED_TIME = 0x0B71, - SMSG_PLAYER_BOUND = 0x19A1, - SMSG_PLAYER_SKINNED = 0xBADD, - SMSG_PLAYER_VEHICLE_DATA = 0xBADD, - SMSG_PLAY_DANCE = 0xBADD, - SMSG_PLAY_MUSIC = 0x1BBA, - SMSG_PLAY_OBJECT_SOUND = 0x1BB9, - SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x1162, - SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x164B, - SMSG_PLAY_SCENE = 0x17CA, - SMSG_PLAY_SOUND = 0x1B79, - SMSG_PLAY_SPEAKERBOT_SOUND = 0xBADD, - SMSG_PLAY_SPELL_VISUAL = 0x0749, - SMSG_PLAY_SPELL_VISUAL_KIT = 0x0F6C, - SMSG_PLAY_TIME_WARNING = 0x19EB, - SMSG_PONG = 0x0C34, - SMSG_POWER_UPDATE = 0x1B0A, - SMSG_PRE_RESSURECT = 0x1572, - SMSG_PROC_RESIST = 0xBADD, - SMSG_PROFILE_DATA_RESPONSE = 0xBADD, - SMSG_PROPOSE_LEVEL_GRANT = 0xBADD, - SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0xBADD, - SMSG_PVP_CREDIT = 0xBADD, - SMSG_PVP_LOG_DATA = 0xBADD, - SMSG_PVP_OPTIONS_ENABLED = 0xBADD, - SMSG_PVP_SEASON = 0x13A1, - SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x0584, - SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x119A, - SMSG_QUERY_OBJ_POSITION = 0xBADD, - SMSG_QUERY_OBJ_ROTATION = 0xBADD, - SMSG_QUERY_PETITION_RESPONSE = 0x04A2, - SMSG_QUERY_TIME_RESPONSE = 0x13B1, - SMSG_QUESTGIVER_INVALID_QUEST = 0x01AD, - SMSG_QUESTGIVER_OFFER_REWARD = 0x05A0, - SMSG_QUESTGIVER_QUEST_COMPLETE = 0x01A7, - SMSG_QUESTGIVER_QUEST_DETAILS = 0x0925, - SMSG_QUESTGIVER_QUEST_FAILED = 0x0325, - SMSG_QUESTGIVER_QUEST_INVALID = 0xBADD, - SMSG_QUESTGIVER_QUEST_LIST = 0x0507, - SMSG_QUESTGIVER_REQUEST_ITEMS = 0x0526, - SMSG_QUESTGIVER_STATUS = 0x039D, - SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x030F, - SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x071D, - SMSG_QUEST_CONFIRM_ACCEPT = 0xBADD, - SMSG_QUEST_FORCE_REMOVED = 0x0120, - SMSG_QUEST_LOG_FULL = 0xBADD, - SMSG_QUEST_POI_QUERY_RESPONSE = 0x01AE, - SMSG_QUEST_PUSH_RESULT = 0xBADD, - SMSG_QUEST_QUERY_RESPONSE = 0x0508, - SMSG_QUEST_UPDATE_ADD_CREDIT = 0x098F, - SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x03A8, - SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x05A7, - SMSG_QUEST_UPDATE_COMPLETE = 0x030E, - SMSG_QUEST_UPDATE_FAILED = 0x07A6, - SMSG_QUEST_UPDATE_FAILED_TIMER = 0x018F, - SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0xBADD, - SMSG_RAID_GROUP_ONLY = 0xBADD, - SMSG_RAID_INSTANCE_INFO = 0xBADD, - SMSG_RAID_INSTANCE_MESSAGE = 0x12F3, - SMSG_RAID_MARKERS_CHANGED = 0xBADD, - SMSG_RANDOMIZE_CHAR_NAME = 0x195B, - SMSG_RANDOM_ROLL = 0x04C1, - SMSG_RATED_BG_RATING = 0xBADD, - SMSG_RATED_BG_STATS = 0xBADD, - SMSG_READY_CHECK_COMPLETED = 0xBADD, - SMSG_READY_CHECK_RESPONSE = 0xBADD, - SMSG_READY_CHECK_STARTED = 0xBADD, - SMSG_READ_ITEM_FAILED = 0xBADD, - SMSG_READ_ITEM_RESULT_OK = 0xBADD, - SMSG_REALM_QUERY_RESPONSE = 0x1D22, - SMSG_REALM_SPLIT = 0xBADD, - SMSG_REAL_GROUP_UPDATE = 0xBADD, - SMSG_RECRUIT_A_FRIEND_RESPONSE = 0xBADD, - SMSG_REDIRECT_CLIENT = 0x0413, - SMSG_REFER_A_FRIEND_EXPIRED = 0xBADD, - SMSG_REFER_A_FRIEND_FAILURE = 0xBADD, - SMSG_REFRESH_COMPONENT = 0xBADD, - SMSG_REFRESH_SPELL_HISTORY = 0x072B, - SMSG_REMOVE_ITEM_PASSIVE = 0xBADD, - SMSG_REMOVE_LOSS_OF_CONTROL = 0xBADD, - SMSG_REPLACE_TROPHY_RESPONSE = 0xBADD, - SMSG_REPORT_PVP_AFK_RESULT = 0xBADD, - SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x15BB, - SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x1B74, - SMSG_RESEARCH_COMPLETE = 0xBADD, - SMSG_RESEARCH_SETUP_HISTORY = 0x1D8B, - SMSG_RESET_AREA_TRIGGER = 0xBADD, - SMSG_RESET_COMPRESSION_CONTEXT = 0xBADD, - SMSG_RESET_FAILED_NOTIFY = 0xBADD, - SMSG_RESET_RANGED_COMBAT_TIMER = 0x135C, - SMSG_RESET_WEEKLY_CURRENCY = 0xBADD, - SMSG_RESISTLOG = 0xBADD, - SMSG_RESPEC_WIPE_CONFIRM = 0xBADD, - SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x0974, - SMSG_RESTRICTED_ACCOUNT_WARNING = 0xBADD, - SMSG_RESUME_CAST_BAR = 0x1282, - SMSG_RESUME_COMMS = 0x068A, - SMSG_RESUME_TOKEN = 0x0DA2, - SMSG_RESURRECT_FAILED = 0xBADD, - SMSG_RESURRECT_REQUEST = 0xBADD, - SMSG_RESYNC_RUNES = 0xBADD, - SMSG_ROLE_CHANGED_INFORM = 0xBADD, - SMSG_ROLE_CHOSEN = 0xBADD, - SMSG_ROLE_POLL_INFORM = 0xBADD, - SMSG_RUNE_REGEN_DEBUG = 0xBADD, - SMSG_SAVE_GUILD_EMBLEM = 0xBADD, - SMSG_SCENARIO_BOOT = 0xBADD, - SMSG_SCENARIO_COMPLETED = 0xBADD, - SMSG_SCENARIO_OUT_OF_BOUNDS = 0xBADD, - SMSG_SCENARIO_POIS = 0xBADD, - SMSG_SCENARIO_PROGRESS_UPDATE = 0xBADD, - SMSG_SCENARIO_STATE = 0xBADD, - SMSG_SCENE_OBJECT_EVENT = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0xBADD, - SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0xBADD, - SMSG_SCRIPT_CAST = 0xBADD, - SMSG_SCRIPT_MESSAGE = 0xBADD, - SMSG_SELL_RESPONSE = 0x0933, - SMSG_SEND_ITEM_PASSIVES = 0xBADD, - SMSG_SEND_MAIL_RESULT = 0x01C4, - SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0xBADD, - SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0xBADD, - SMSG_SEND_SPELL_CHARGES = 0x0CEB, - SMSG_SEND_SPELL_HISTORY = 0x168C, - SMSG_SEND_UNLEARN_SPELLS = 0x16CC, - SMSG_SERVER_BUCK_DATA = 0xBADD, - SMSG_SERVER_BUCK_DATA_START = 0xBADD, - SMSG_SERVER_FIRST_ACHIEVEMENT = 0xBADD, - SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x0834, - SMSG_SERVER_INFO_QUERY_RESPONSE = 0xBADD, - SMSG_SERVER_INFO_RESPONSE = 0xBADD, - SMSG_SERVER_MESSAGE = 0xBADD, - SMSG_SERVER_PERF = 0xBADD, - SMSG_SERVER_TIME = 0xBADD, - SMSG_SETUP_CURRENCY = 0x0969, - SMSG_SETUP_TROPHY = 0xBADD, - SMSG_SET_AI_ANIM_KIT = 0x1B0B, - SMSG_SET_ALL_TASK_PROGRESS = 0x0821, - SMSG_SET_ANIM_TIER = 0x15D9, - SMSG_SET_CURRENCY = 0x194A, - SMSG_SET_DF_FAST_LAUNCH_RESULT = 0xBADD, - SMSG_SET_DUNGEON_DIFFICULTY = 0x1109, - SMSG_SET_FACTION_AT_WAR = 0x1589, - SMSG_SET_FACTION_NOT_VISIBLE = 0x15A3, - SMSG_SET_FACTION_STANDING = 0x1129, - SMSG_SET_FACTION_VISIBLE = 0x0A72, - SMSG_SET_FLAT_SPELL_MODIFIER = 0x120B, - SMSG_SET_FORCED_REACTIONS = 0x0EC2, - SMSG_SET_ITEM_PURCHASE_DATA = 0xBADD, - SMSG_SET_LFG_TIME_WALKER = 0xBADD, - SMSG_SET_LOOT_METHOD_FAILED = 0xBADD, - SMSG_SET_MAX_WEEKLY_QUANTITY = 0x1372, - SMSG_SET_MELEE_ANIM_KIT = 0x1B2C, - SMSG_SET_PCT_SPELL_MODIFIER = 0x0E59, - SMSG_SET_PHASE_SHIFT_CHANGE = 0x17F9, - SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x1363, - SMSG_SET_PLAY_HOVER_ANIM = 0x01C3, - SMSG_SET_PROFICIENCY = 0x092A, - SMSG_SET_PROJECTILE_POSITION = 0xBADD, - SMSG_SET_PROMOTION_RESPONSE = 0xBADD, - SMSG_SET_RAID_DIFFICULTY = 0x1319, - SMSG_SET_SERVER_WOW_TIME = 0xBADD, - SMSG_SET_SPELL_CHARGES = 0xBADD, - SMSG_SET_TASK_COMPLETE = 0xBADD, - SMSG_SET_TIME_ZONE_INFORMATION = 0x15B4, - SMSG_SET_VEHICLE_REC_ID = 0x0971, - SMSG_SET_VIGNETTE = 0x11E4, - SMSG_SHOW_BANK = 0x1B3A, - SMSG_SHOW_MAILBOX = 0x1B7A, - SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x1D5A, - SMSG_SHOW_RATINGS = 0xBADD, - SMSG_SHOW_TAXI_NODES = 0x13B3, - SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x151B, - SMSG_SHOW_ZONES_CHEAT_RESULT = 0xBADD, - SMSG_SOCKET_GEMS = 0xBADD, - SMSG_SORT_BAGS_ACK = 0xBADD, - SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0xBADD, - SMSG_SPECIAL_MOUNT_ANIM = 0x19B1, - SMSG_SPELLBREAKLOG = 0xBADD, - SMSG_SPELLSTEALLOG = 0xBADD, - SMSG_SPELL_ABSORB_LOG = 0x12C1, - SMSG_SPELL_CATEGORY_COOLDOWN = 0x0E5B, - SMSG_SPELL_COOLDOWN = 0x047B, - SMSG_SPELL_DAMAGE_SHIELD = 0xBADD, - SMSG_SPELL_DELAYED = 0x0D7A, - SMSG_SPELL_DISPEL_LOG = 0x045B, - SMSG_SPELL_ENERGIZE_LOG = 0x1809, - SMSG_SPELL_EXECUTE_LOG = 0x044C, - SMSG_SPELL_FAILED_OTHER = 0x128A, - SMSG_SPELL_FAILURE = 0x072A, - SMSG_SPELL_GO = 0x1281, - SMSG_SPELL_HEAL_LOG = 0x1043, - SMSG_SPELL_INSTAKILL_LOG = 0x074C, - SMSG_SPELL_INTERRUPT_LOG = 0x160C, - SMSG_SPELL_MISS_LOG = 0x057A, - SMSG_SPELL_MULTISTRIKE_EFFECT = 0x06A9, - SMSG_SPELL_NON_MELEE_DAMAGE_LOG = 0x0479, - SMSG_SPELL_OR_DAMAGE_IMMUNE = 0xBADD, - SMSG_SPELL_START = 0x0629, - SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x0AAB, - SMSG_SPIRIT_HEALER_CONFIRM = 0xBADD, - SMSG_STAND_STATE_UPDATE = 0x178A, - SMSG_START_ELAPSED_TIMER = 0xBADD, - SMSG_START_ELAPSED_TIMERS = 0x192B, - SMSG_START_LOOT_ROLL = 0xBADD, - SMSG_START_MIRROR_TIMER = 0x15FB, - SMSG_START_TIMER = 0xBADD, - SMSG_STOP_DANCE = 0xBADD, - SMSG_STOP_ELAPSED_TIMER = 0x092B, - SMSG_STOP_MIRROR_TIMER = 0x0D81, - SMSG_STREAMING_MOVIE = 0x0A7B, - SMSG_SUMMON_CANCEL = 0xBADD, - SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0xBADD, - SMSG_SUMMON_REQUEST = 0xBADD, - SMSG_SUPERCEDED_SPELL = 0xBADD, - SMSG_SUPPRESS_NPC_GREETINGS = 0x118B, - SMSG_SUSPEND_COMMS = 0x068B, - SMSG_SUSPEND_TOKEN = 0x1BB4, - SMSG_TABARD_VENDOR_ACTIVATE = 0x15BC, - SMSG_TALENTS_ERROR = 0xBADD, - SMSG_TALENTS_INFO = 0x04C4, - SMSG_TALENTS_INVOLUNTARILY_RESET = 0xBADD, - SMSG_TAXINODE_STATUS = 0x13F1, - SMSG_TEST_DROP_RATE_RESULT = 0xBADD, - SMSG_TEXT_EMOTE = 0x158A, - SMSG_THREAT_CLEAR = 0x1929, - SMSG_THREAT_REMOVE = 0x0CC1, - SMSG_THREAT_UPDATE = 0x0B33, - SMSG_TIME_ADJUSTMENT = 0xBADD, - SMSG_TIME_SYNC_REQ = 0x0A01, - SMSG_TITLE_EARNED = 0x0D83, - SMSG_TITLE_LOST = 0x083B, - SMSG_TOTEM_CREATED = 0x1F5A, - SMSG_TOTEM_MOVED = 0xBADD, - SMSG_TRADE_STATUS = 0xBADD, - SMSG_TRADE_UPDATED = 0xBADD, - SMSG_TRAINER_BUY_FAILED = 0xBADD, SMSG_TRAINER_BUY_SUCCEEDED = 0xBADD, - SMSG_TRAINER_LIST = 0x1F4B, - SMSG_TRANSFER_ABORTED = 0x1B7C, - SMSG_TRANSFER_PENDING = 0x1BDB, - SMSG_TRIGGER_CINEMATIC = 0x0863, - SMSG_TRIGGER_MOVIE = 0x1B3C, - SMSG_TURN_IN_PETITION_RESULTS = 0xBADD, - SMSG_TUTORIAL_FLAGS = 0x0A39, - SMSG_UI_TIME = 0x05E3, - SMSG_UNDELETE_CHARACTER_RESPONSE = 0xBADD, - SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x1DDB, - SMSG_UNIT_HEALTH_FREQUENT = 0xBADD, - SMSG_UNIT_SPELLCAST_START = 0xBADD, - SMSG_UNLEARNED_SPELLS = 0xBADD, - SMSG_UPDATE_ACCOUNT_DATA = 0x093B, - SMSG_UPDATE_CAPTURE_POINT = 0xBADD, - SMSG_UPDATE_CHARACTER_FLAGS = 0xBADD, - SMSG_UPDATE_COMBO_POINTS = 0xBADD, - SMSG_UPDATE_CURRENCY_WEEK_LIMIT = 0xBADD, - SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0x09F1, - SMSG_UPDATE_EXPANSION_LEVEL = 0x0D82, - SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0xBADD, - SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x0922, - SMSG_UPDATE_LAST_INSTANCE = 0x1B5A, - SMSG_UPDATE_OBJECT = 0x1762, - SMSG_UPDATE_SERVER_PLAYER_POSITION = 0xBADD, - SMSG_UPDATE_TASK_PROGRESS = 0x155A, - SMSG_UPDATE_WORLD_STATE = 0x15BA, - SMSG_USERLIST_ADD = 0xBADD, - SMSG_USERLIST_REMOVE = 0xBADD, - SMSG_USERLIST_UPDATE = 0xBADD, - SMSG_USE_EQUIPMENT_SET_RESULT = 0xBADD, - SMSG_VOICESESSION_FULL = 0xBADD, - SMSG_VOICE_CHAT_STATUS = 0xBADD, - SMSG_VOICE_PARENTAL_CONTROLS = 0xBADD, - SMSG_VOICE_SESSION_LEAVE = 0xBADD, - SMSG_VOICE_SESSION_ROSTER_UPDATE = 0xBADD, - SMSG_VOICE_SET_TALKER_MUTED = 0xBADD, - SMSG_VOID_ITEM_SWAP_RESPONSE = 0xBADD, - SMSG_VOID_STORAGE_CONTENTS = 0x1122, - SMSG_VOID_STORAGE_FAILED = 0xBADD, - SMSG_VOID_STORAGE_TRANSFER_CHANGES = 0x1BAB, - SMSG_VOID_TRANSFER_RESULT = 0x192C, - SMSG_WAIT_QUEUE_FINISH = 0xBADD, - SMSG_WAIT_QUEUE_UPDATE = 0xBADD, - SMSG_WARDEN_DATA = 0x110A, - SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0xBADD, - SMSG_WEATHER = 0x0939, - SMSG_WEEKLY_LAST_RESET = 0xBADD, - SMSG_WEEKLY_SPELL_USAGE = 0x0CEC, - SMSG_WEEKLY_SPELL_USAGE_UPDATE = 0xBADD, - SMSG_WHO = 0x14F2, - SMSG_WHOIS = 0xBADD, - SMSG_WORLD_SERVER_INFO = 0x0864, - SMSG_WORLD_TEXT = 0x172C, - SMSG_XP_GAIN_ABORTED = 0x0B23, - SMSG_XP_GAIN_ENABLED = 0x1B73, - SMSG_ZONE_UNDER_ATTACK = 0x1474 }; inline bool IsInstanceOnlyOpcode(uint32 opcode) { switch (opcode) { - case SMSG_QUESTGIVER_STATUS: // ClientQuest + case SMSG_QUEST_GIVER_STATUS: // ClientQuest case SMSG_DUEL_REQUESTED: // Client case SMSG_DUEL_IN_BOUNDS: // Client case SMSG_QUERY_TIME_RESPONSE: // Client case SMSG_DUEL_WINNER: // Client case SMSG_DUEL_COMPLETE: // Client case SMSG_DUEL_OUT_OF_BOUNDS: // Client - case SMSG_ATTACKSTOP: // Client - case SMSG_ATTACKSTART: // Client + case SMSG_ATTACK_STOP: // Client + case SMSG_ATTACK_START: // Client case SMSG_MOUNT_RESULT: // Client return true; default: @@ -1992,3 +1864,4 @@ inline std::string GetOpcodeNameForLogging(T id) #endif /// @} + diff --git a/src/server/game/Server/Protocol/PacketLog.cpp b/src/server/game/Server/Protocol/PacketLog.cpp index fa3d6c1f924..bc3e09ef3b7 100644 --- a/src/server/game/Server/Protocol/PacketLog.cpp +++ b/src/server/game/Server/Protocol/PacketLog.cpp @@ -86,7 +86,7 @@ void PacketLog::Initialize() header.Signature[0] = 'P'; header.Signature[1] = 'K'; header.Signature[2] = 'T'; header.FormatVersion = 0x0301; header.SnifferId = 'T'; - header.Build = 19678; // 6.1.0 + header.Build = 19802; // 6.1.2 header.Locale[0] = 'e'; header.Locale[1] = 'n'; header.Locale[2] = 'U'; header.Locale[3] = 'S'; std::memset(header.SessionKey, 0, sizeof(header.SessionKey)); header.SniffStartUnixtime = time(NULL); diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 6c889b51631..783c1dd2022 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -283,6 +283,7 @@ void WorldSession::SendPacket(WorldPacket const* packet, bool forced /*= false*/ sScriptMgr->OnPacketSend(this, *packet); + TC_LOG_TRACE("network.opcode", "S->C: %s %s", GetPlayerInfo().c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet->GetOpcode())).c_str()); m_Socket[conIdx]->SendPacket(*packet); } @@ -1204,12 +1205,12 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co { uint32 maxPacketCounterAllowed; switch (opcode) - {/* + { // CPU usage sending 2000 packets/second on a 3.70 GHz 4 cores on Win x64 // [% CPU mysqld] [%CPU worldserver RelWithDebInfo] case CMSG_PLAYER_LOGIN: // 0 0.5 case CMSG_NAME_QUERY: // 0 1 - case CMSG_PET_NAME_QUERY: // 0 1 + //case CMSG_PET_NAME_QUERY: // 0 1 case CMSG_NPC_TEXT_QUERY: // 0 1 case CMSG_ATTACKSTOP: // 0 1 //case CMSG_QUERY_TIME: // 0 1 @@ -1243,12 +1244,12 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co //case CMSG_REQUEST_PARTY_MEMBER_STATS: // 0 1.5 case CMSG_QUESTGIVER_COMPLETE_QUEST: // 0 1.5 case CMSG_SET_ACTION_BUTTON: // 0 1.5 - case CMSG_RESET_INSTANCES: // 0 1.5 - case CMSG_HEARTH_AND_RESURRECT: // 0 1.5 + //case CMSG_RESET_INSTANCES: // 0 1.5 + //case CMSG_HEARTH_AND_RESURRECT: // 0 1.5 case CMSG_TOGGLE_PVP: // 0 1.5 case CMSG_PET_ABANDON: // 0 1.5 - case CMSG_ACTIVATE_TAXI_EXPRESS: // 0 1.5 - case CMSG_ACTIVATE_TAXI: // 0 1.5 + //case CMSG_ACTIVATE_TAXI_EXPRESS: // 0 1.5 + //case CMSG_ACTIVATE_TAXI: // 0 1.5 case CMSG_SELF_RES: // 0 1.5 case CMSG_UNLEARN_SKILL: // 0 1.5 case CMSG_EQUIPMENT_SET_SAVE: // 0 1.5 @@ -1259,13 +1260,13 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co //case CMSG_GROUP_INVITE_RESPONSE: // 0 1.5 //case CMSG_GROUP_UNINVITE_GUID: // 0 1.5 //case CMSG_LEAVE_GROUP: // 0 1.5 - case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5 + //case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5 case CMSG_BATTLEFIELD_LEAVE: // 0 1.5 - case CMSG_GUILD_BANK_LOG_QUERY: // 0 2 + //case CMSG_GUILD_BANK_LOG_QUERY: // 0 2 case CMSG_LOGOUT_CANCEL: // 0 2 case CMSG_ALTER_APPEARANCE: // 0 2 //case CMSG_QUEST_CONFIRM_ACCEPT: // 0 2 - case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5 + //case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5 case CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY: // 0 2.5 //case CMSG_BEGIN_TRADE: // 0 2.5 //case CMSG_INITIATE_TRADE: // 0 3 @@ -1303,8 +1304,8 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co //case CMSG_QUESTLOG_REMOVE_QUEST: // 0 4 case CMSG_QUESTGIVER_CHOOSE_REWARD: // 0 4 //case CMSG_SEND_CONTACT_LIST: // 0 5 - case CMSG_AUTOBANK_ITEM: // 0 6 - case CMSG_AUTOSTORE_BANK_ITEM: // 0 6 + //case CMSG_AUTOBANK_ITEM: // 0 6 + //case CMSG_AUTOSTORE_BANK_ITEM: // 0 6 case CMSG_WHO: // 0 7 //case CMSG_RIDE_VEHICLE_INTERACT: // 0 8 case CMSG_MOVE_HEARTBEAT: @@ -1395,16 +1396,16 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co //case CMSG_ARENA_TEAM_LEADER: // not profiled case CMSG_LOOT_METHOD: // not profiled case CMSG_GUILD_INVITE_BY_NAME: // not profiled - case CMSG_ACCEPT_GUILD_INVITE: // not profiled - case CMSG_GUILD_DECLINE_INVITATION: // not profiled + //case CMSG_ACCEPT_GUILD_INVITE: // not profiled + //case CMSG_GUILD_DECLINE_INVITATION: // not profiled case CMSG_GUILD_LEAVE: // not profiled - case CMSG_GUILD_DELETE: // not profiled - case CMSG_GUILD_SET_GUILD_MASTER: // not profiled - case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled + //case CMSG_GUILD_DELETE: // not profiled + //case CMSG_GUILD_SET_GUILD_MASTER: // not profiled + //case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled case CMSG_GUILD_SET_RANK_PERMISSIONS: // not profiled - case CMSG_GUILD_ADD_RANK: // not profiled - case CMSG_GUILD_DELETE_RANK: // not profiled - case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled + //case CMSG_GUILD_ADD_RANK: // not profiled + //case CMSG_GUILD_DELETE_RANK: // not profiled + //case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled case CMSG_GUILD_BANK_DEPOSIT_MONEY: // not profiled case CMSG_GUILD_BANK_WITHDRAW_MONEY: // not profiled case CMSG_GUILD_BANK_BUY_TAB: // not profiled @@ -1426,7 +1427,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co { maxPacketCounterAllowed = PLAYER_SLOTS_COUNT; break; - }*/ + } default: { maxPacketCounterAllowed = 100; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index e1ad57bbc77..9d85ee5c83c 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -110,6 +110,7 @@ namespace WorldPackets struct CharRaceOrFactionChangeInfo; struct CharacterUndeleteInfo; + class AlterApperance; class EnumCharacters; class CreateChar; class DeleteChar; @@ -421,9 +422,9 @@ enum AccountDataType enum TutorialAction { - TUTORIAL_ACTION_CLEAR = 1, - TUTORIAL_ACTION_UPDATE = 2, - TUTORIAL_ACTION_RESET = 3 + TUTORIAL_ACTION_RESET = 0, + TUTORIAL_ACTION_UPDATE = 1, + TUTORIAL_ACTION_CLEAR = 2 }; /* @@ -581,7 +582,6 @@ class WorldSession void SendNotification(uint32 stringId, ...); void SendPetNameInvalid(uint32 error, std::string const& name, DeclinedName *declinedName); void SendPartyResult(PartyOperation operation, std::string const& member, PartyResult res, uint32 val = 0); - void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2, 3); void SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps); void SendQueryTimeResponse(); @@ -790,7 +790,7 @@ class WorldSession void HandleCharRenameOpcode(WorldPackets::Character::CharacterRenameRequest& request); void HandleCharRenameCallBack(PreparedQueryResult result, WorldPackets::Character::CharacterRenameInfo* renameInfo); void HandleSetPlayerDeclinedNames(WorldPacket& recvData); - void HandleAlterAppearance(WorldPacket& recvData); + void HandleAlterAppearance(WorldPackets::Character::AlterApperance& packet); void HandleCharCustomizeOpcode(WorldPackets::Character::CharCustomize& packet); void HandleCharCustomizeCallback(PreparedQueryResult result, WorldPackets::Character::CharCustomizeInfo* customizeInfo); void HandleCharRaceOrFactionChangeOpcode(WorldPackets::Character::CharRaceOrFactionChange& packet); @@ -1135,7 +1135,6 @@ class WorldSession void HandleChatMessageEmoteOpcode(WorldPackets::Chat::ChatMessageEmote& packet); void SendPlayerNotFoundNotice(std::string const& name); void SendPlayerAmbiguousNotice(std::string const& name); - void SendWrongFactionNotice(); void SendChatRestrictedNotice(ChatRestrictionType restriction); void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet); void HandleChatIgnoredOpcode(WorldPacket& recvPacket); @@ -1221,7 +1220,7 @@ class WorldSession void HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet); void HandleRealmSplitOpcode(WorldPacket& recvData); void HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet); - void HandleWhoisOpcode(WorldPackets::Who::WhoIsRequest& packet); + void HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet); void HandleResetInstancesOpcode(WorldPacket& recvData); void HandleHearthAndResurrect(WorldPacket& recvData); void HandleInstanceLockResponse(WorldPacket& recvPacket); @@ -1356,8 +1355,6 @@ class WorldSession void SendSpellCategoryCooldowns(); - int32 HandleEnableNagleAlgorithm(); - // Compact Unit Frames (4.x) void HandleSaveCUFProfiles(WorldPacket& recvPacket); void SendLoadCUFProfiles(); diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 01035154214..963d6a1b71e 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -57,7 +57,7 @@ uint32 const SizeOfServerHeader[2] = { sizeof(uint16) + sizeof(uint32), sizeof(u WorldSocket::WorldSocket(tcp::socket&& socket) : Socket(std::move(socket)), _type(CONNECTION_TYPE_REALM), _authSeed(rand32()), _OverSpeedPings(0), - _worldSession(nullptr), _compressionStream(nullptr), _initialized(false) + _worldSession(nullptr), _authed(false), _compressionStream(nullptr), _initialized(false) { _headerBuffer.Resize(SizeOfClientHeader[0][0]); } @@ -96,7 +96,15 @@ void WorldSocket::HandleSendAuthSession() memcpy(&challenge.DosChallenge[4], _decryptSeed.AsByteArray(16).get(), 16); challenge.DosZeroBits = 1; - SendPacket(*challenge.Write()); + SendPacketAndLogOpcode(*challenge.Write()); +} + +void WorldSocket::OnClose() +{ + { + std::lock_guard<std::mutex> sessionGuard(_worldSessionLock); + _worldSession = nullptr; + } } void WorldSocket::ReadHandler() @@ -182,15 +190,8 @@ bool WorldSocket::ReadHeaderHandler() if (!ClientPktHeader::IsValidSize(size) || (_initialized && !ClientPktHeader::IsValidOpcode(opcode))) { - if (_worldSession) - { - Player* player = _worldSession->GetPlayer(); - TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client (account: %u, char [%s, name: %s]) sent malformed packet (size: %u, cmd: %u)", - _worldSession->GetAccountId(), player ? player->GetGUID().ToString().c_str() : "GUID: Empty", player ? player->GetName().c_str() : "<none>", size, opcode); - } - else - TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client %s sent malformed packet (size: %u, cmd: %u)", - GetRemoteIpAddress().to_string().c_str(), size, opcode); + TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client %s sent malformed packet (size: %u, cmd: %u)", + GetRemoteIpAddress().to_string().c_str(), size, opcode); CloseSocket(); return false; @@ -217,19 +218,29 @@ bool WorldSocket::ReadDataHandler() if (sPacketLog->CanLogPacket()) sPacketLog->LogPacket(packet, CLIENT_TO_SERVER, GetRemoteIpAddress(), GetRemotePort(), GetConnectionType()); - TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(opcode).c_str()); + std::unique_lock<std::mutex> sessionGuard(_worldSessionLock, std::defer_lock); switch (opcode) { case CMSG_PING: + LogOpcodeText(opcode, sessionGuard); HandlePing(packet); break; case CMSG_AUTH_SESSION: { - if (_worldSession) + LogOpcodeText(opcode, sessionGuard); + if (_authed) { - TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_SESSION from %s", _worldSession->GetPlayerInfo().c_str()); - break; + // locking just to safely log offending user is probably overkill but we are disconnecting him anyway + { + if (sessionGuard.try_lock()) + { + TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_SESSION from %s", _worldSession->GetPlayerInfo().c_str()); + sessionGuard.unlock(); // unlock session guard to prevent deadlocking in CloseSocket + } + } + CloseSocket(); + return false; } WorldPackets::Auth::AuthSession authSession(std::move(packet)); @@ -239,10 +250,19 @@ bool WorldSocket::ReadDataHandler() } case CMSG_AUTH_CONTINUED_SESSION: { - if (_worldSession) + LogOpcodeText(opcode, sessionGuard); + if (_authed) { - TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_CONTINUED_SESSION from %s", _worldSession->GetPlayerInfo().c_str()); - break; + // locking just to safely log offending user is probably overkill but we are disconnecting him anyway + { + if (sessionGuard.try_lock()) + { + TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_CONTINUED_SESSION from %s", _worldSession->GetPlayerInfo().c_str()); + sessionGuard.unlock(); // unlock session guard to prevent deadlocking in CloseSocket + } + } + CloseSocket(); + return false; } WorldPackets::Auth::AuthContinuedSession authSession(std::move(packet)); @@ -251,24 +271,21 @@ bool WorldSocket::ReadDataHandler() break; } case CMSG_KEEP_ALIVE: - TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str()); - sScriptMgr->OnPacketReceive(_worldSession, packet); + LogOpcodeText(opcode, sessionGuard); break; case CMSG_LOG_DISCONNECT: + LogOpcodeText(opcode, sessionGuard); packet.rfinish(); // contains uint32 disconnectReason; - TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str()); - sScriptMgr->OnPacketReceive(_worldSession, packet); return true; case CMSG_ENABLE_NAGLE: - { - TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str()); - sScriptMgr->OnPacketReceive(_worldSession, packet); - if (_worldSession) - _worldSession->HandleEnableNagleAlgorithm(); + LogOpcodeText(opcode, sessionGuard); + SetNoDelay(false); break; - } case CMSG_CONNECT_TO_FAILED: { + sessionGuard.lock(); + + LogOpcodeText(opcode, sessionGuard); WorldPackets::Auth::ConnectToFailed connectToFailed(std::move(packet)); connectToFailed.Read(); HandleConnectToFailed(connectToFailed); @@ -276,6 +293,10 @@ bool WorldSocket::ReadDataHandler() } default: { + sessionGuard.lock(); + + LogOpcodeText(opcode, sessionGuard); + if (!_worldSession) { TC_LOG_ERROR("network.opcode", "ProcessIncoming: Client not authed opcode = %u", uint32(opcode)); @@ -283,13 +304,6 @@ bool WorldSocket::ReadDataHandler() return false; } - // prevent invalid memory access/crash with custom opcodes - if (static_cast<uint32>(opcode) >= NUM_OPCODE_HANDLERS) - { - CloseSocket(); - return false; - } - OpcodeHandler const* handler = opcodeTable[opcode]; if (!handler) { @@ -339,6 +353,25 @@ bool WorldSocket::ReadDataHandler() return true; } +void WorldSocket::LogOpcodeText(OpcodeClient opcode, std::unique_lock<std::mutex> const& guard) const +{ + if (!guard) + { + TC_LOG_TRACE("network.opcode", "C->S: %s %s", GetRemoteIpAddress().to_string().c_str(), GetOpcodeNameForLogging(opcode).c_str()); + } + else + { + TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), + GetOpcodeNameForLogging(opcode).c_str()); + } +} + +void WorldSocket::SendPacketAndLogOpcode(WorldPacket const& packet) +{ + TC_LOG_TRACE("network.opcode", "S->C: %s %s", GetRemoteIpAddress().to_string().c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet.GetOpcode())).c_str()); + SendPacket(packet); +} + void WorldSocket::SendPacket(WorldPacket const& packet) { if (!IsOpen()) @@ -347,8 +380,6 @@ void WorldSocket::SendPacket(WorldPacket const& packet) if (sPacketLog->CanLogPacket()) sPacketLog->LogPacket(packet, SERVER_TO_CLIENT, GetRemoteIpAddress(), GetRemotePort(), GetConnectionType()); - TC_LOG_TRACE("network.opcode", "S->C: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet.GetOpcode())).c_str()); - uint32 packetSize = packet.size(); uint32 sizeOfHeader = SizeOfServerHeader[_authCrypt.IsInitialized()]; if (packetSize > 0x400) @@ -656,6 +687,7 @@ void WorldSocket::HandleAuthSession(WorldPackets::Auth::AuthSession& authSession // At this point, we can safely hook a successful login sScriptMgr->OnAccountLogin(id); + _authed = true; _worldSession = new WorldSession(id, battlenetAccountId, shared_from_this(), AccountTypes(security), expansion, mutetime, locale, recruiter, isRecruiter); _worldSession->LoadGlobalAccountData(); _worldSession->LoadTutorialsData(); @@ -715,8 +747,10 @@ void WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSe return; } + _authed = true; + WorldPackets::Auth::ResumeComms resumeComms; - SendPacket(*resumeComms.Write()); + SendPacketAndLogOpcode(*resumeComms.Write()); _worldSession->AddInstanceConnection(shared_from_this()); _worldSession->HandleContinuePlayerLogin(); @@ -755,10 +789,9 @@ void WorldSocket::HandleConnectToFailed(WorldPackets::Auth::ConnectToFailed& con //else //{ // transfer_aborted when/if we get map node redirection - // SendPacket(*WorldPackets::Auth::ResumeComms().Write()); + // SendPacketAndLogOpcode(*WorldPackets::Auth::ResumeComms().Write()); //} } - } void WorldSocket::SendAuthResponseError(uint8 code) @@ -767,7 +800,7 @@ void WorldSocket::SendAuthResponseError(uint8 code) response.SuccessInfo.HasValue = false; response.WaitInfo.HasValue = false; response.Result = code; - SendPacket(*response.Write()); + SendPacketAndLogOpcode(*response.Write()); } void WorldSocket::HandlePing(WorldPacket& recvPacket) @@ -799,6 +832,8 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket) if (maxAllowed && _OverSpeedPings > maxAllowed) { + std::lock_guard<std::mutex> sessionGuard(_worldSessionLock); + if (_worldSession && !_worldSession->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_OVERSPEED_PING)) { TC_LOG_ERROR("network", "WorldSocket::HandlePing: %s kicked for over-speed pings (address: %s)", @@ -813,20 +848,24 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket) _OverSpeedPings = 0; } - if (_worldSession) { - _worldSession->SetLatency(latency); - _worldSession->ResetClientTimeDelay(); - } - else - { - TC_LOG_ERROR("network", "WorldSocket::HandlePing: peer sent CMSG_PING, but is not authenticated or got recently kicked, address = %s", GetRemoteIpAddress().to_string().c_str()); + std::lock_guard<std::mutex> sessionGuard(_worldSessionLock); - CloseSocket(); - return; + if (_worldSession) + { + _worldSession->SetLatency(latency); + _worldSession->ResetClientTimeDelay(); + } + else + { + TC_LOG_ERROR("network", "WorldSocket::HandlePing: peer sent CMSG_PING, but is not authenticated or got recently kicked, address = %s", GetRemoteIpAddress().to_string().c_str()); + + CloseSocket(); + return; + } } WorldPacket packet(SMSG_PONG, 4); packet << ping; - return SendPacket(packet); + return SendPacketAndLogOpcode(packet); } diff --git a/src/server/game/Server/WorldSocket.h b/src/server/game/Server/WorldSocket.h index a0304468682..45e19a93767 100644 --- a/src/server/game/Server/WorldSocket.h +++ b/src/server/game/Server/WorldSocket.h @@ -86,11 +86,17 @@ public: ConnectionType GetConnectionType() const { return _type; } protected: + void OnClose() override; void ReadHandler() override; bool ReadHeaderHandler(); bool ReadDataHandler(); private: + /// writes network.opcode log + /// accessing WorldSession is not threadsafe, only do it when holding _worldSessionLock + void LogOpcodeText(OpcodeClient opcode, std::unique_lock<std::mutex> const& guard) const; + /// sends and logs network.opcode without accessing WorldSession + void SendPacketAndLogOpcode(WorldPacket const& packet); void WritePacketToBuffer(WorldPacket const& packet, MessageBuffer& buffer); uint32 CompressPacket(uint8* buffer, WorldPacket const& packet); @@ -114,7 +120,9 @@ private: std::chrono::steady_clock::time_point _LastPingTime; uint32 _OverSpeedPings; + std::mutex _worldSessionLock; WorldSession* _worldSession; + bool _authed; MessageBuffer _headerBuffer; MessageBuffer _packetBuffer; diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp index 0a2b3cb4edf..673c96717ff 100644 --- a/src/server/game/Server/WorldSocketMgr.cpp +++ b/src/server/game/Server/WorldSocketMgr.cpp @@ -51,13 +51,12 @@ WorldSocketMgr::~WorldSocketMgr() delete _instanceAcceptor; } -int const boost::asio::socket_base::max_connections; - bool WorldSocketMgr::StartNetwork(boost::asio::io_service& service, std::string const& bindIp, uint16 port) { _tcpNoDelay = sConfigMgr->GetBoolDefault("Network.TcpNodelay", true); - TC_LOG_DEBUG("misc", "Max allowed socket connections %d", boost::asio::socket_base::max_connections); + int const max_connections = boost::asio::socket_base::max_connections; + TC_LOG_DEBUG("misc", "Max allowed socket connections %d", max_connections); // -1 means use default _socketSendBufferSize = sConfigMgr->GetIntDefault("Network.OutKBuff", -1); diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index dd29b7c1b4b..83e9dcbc2ef 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5415,7 +5415,7 @@ void AuraEffect::HandleAuraSetVehicle(AuraApplication const* aurApp, uint8 mode, if (target->GetTypeId() != TYPEID_PLAYER) return; - WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, target->GetPackGUID().size()+4); + WorldPacket data(SMSG_SET_VEHICLE_REC_ID, target->GetPackGUID().size() + 4); data << target->GetPackGUID(); data << uint32(apply ? vehicleId : 0); target->SendMessageToSet(&data, true); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index ffc39e40713..a5c143f1c63 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4247,7 +4247,7 @@ void Spell::SendChannelUpdate(uint32 time) m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, 0); } - WorldPacket data(SMSG_CHANNEL_UPDATE, 8+4); + WorldPacket data(SMSG_SPELL_CHANNEL_UPDATE, 8 + 4); data << m_caster->GetPackGUID(); data << uint32(time); @@ -4261,7 +4261,7 @@ void Spell::SendChannelStart(uint32 duration) if (m_UniqueTargetInfo.size() + m_UniqueGOTargetInfo.size() == 1) // this is for TARGET_SELECT_CATEGORY_NEARBY channelTarget = !m_UniqueTargetInfo.empty() ? m_UniqueTargetInfo.front().targetGUID : m_UniqueGOTargetInfo.front().targetGUID; - WorldPacket data(SMSG_CHANNEL_START, (8+4+4)); + WorldPacket data(SMSG_SPELL_CHANNEL_START, (8 + 4 + 4)); data << m_caster->GetPackGUID(); data << uint32(m_spellInfo->Id); data << uint32(duration); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index e2537461979..61634e2be7c 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2340,7 +2340,7 @@ void Spell::EffectDispel(SpellEffIndex effIndex) if (success_list.empty()) return; - WorldPacket dataSuccess(SMSG_SPELL_DISPEL_LOG, 8+8+4+1+4+success_list.size()*5); + WorldPacket dataSuccess(SMSG_SPELL_DISPELL_LOG, 8 + 8 + 4 + 1 + 4 + success_list.size() * 5); // Send packet header dataSuccess << unitTarget->GetPackGUID(); // Victim GUID dataSuccess << m_caster->GetPackGUID(); // Caster GUID @@ -5154,7 +5154,7 @@ void Spell::EffectStealBeneficialBuff(SpellEffIndex /*effIndex*/) if (success_list.empty()) return; - WorldPacket dataSuccess(SMSG_SPELLSTEALLOG, 8+8+4+1+4+damage*5); + WorldPacket dataSuccess(SMSG_SPELL_DISPELL_LOG, 8 + 8 + 4 + 1 + 4 + damage * 5); dataSuccess << unitTarget->GetPackGUID(); // Victim GUID dataSuccess << m_caster->GetPackGUID(); // Caster GUID dataSuccess << uint32(m_spellInfo->Id); // dispel spell id diff --git a/src/server/game/Support/SupportMgr.cpp b/src/server/game/Support/SupportMgr.cpp index f7a85a91faa..5040608d48b 100644 --- a/src/server/game/Support/SupportMgr.cpp +++ b/src/server/game/Support/SupportMgr.cpp @@ -406,6 +406,7 @@ void ComplaintTicket::DeleteFromDB() stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GM_COMPLAINT_CHATLOG); stmt->setUInt32(0, _id); + CharacterDatabase.Execute(stmt); } std::string ComplaintTicket::FormatViewMessageString(ChatHandler& handler, bool detailed) const @@ -518,7 +519,8 @@ std::string SuggestionTicket::FormatViewMessageString(ChatHandler& handler, bool } SupportMgr::SupportMgr() : _lastGmTicketId(0), _lastBugId(0), _lastComplaintId(0), _lastSuggestionId(0), _openGmTicketCount(0), -_openBugTicketCount(0), _openComplaintTicketCount(0), _openSuggestionTicketCount(0) { } +_openBugTicketCount(0), _openComplaintTicketCount(0), _openSuggestionTicketCount(0), _lastChange(0), _supportSystemStatus(false), +_bugSystemStatus(false), _complaintSystemStatus(false), _suggestionSystemStatus(false) { } SupportMgr::~SupportMgr() { diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 5e3fcd1fd0e..6eb11499a4d 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -442,7 +442,7 @@ void World::LoadConfigSettings(bool reload) sSupportMgr->SetSuggestionSystemStatus(m_bool_configs[CONFIG_SUPPORT_SUGGESTIONS_ENABLED]); } m_float_configs[CONFIG_CHANCE_OF_GM_SURVEY] = sConfigMgr->GetFloatDefault("Support.ChanceOfGMSurvey", 50.0f); - + ///- Get string for new logins (newly created characters) SetNewCharString(sConfigMgr->GetStringDefault("PlayerStart.String", "")); @@ -2756,7 +2756,7 @@ void World::ShutdownCancel() /// Send a server message to the user(s) void World::SendServerMessage(ServerMessageType type, const char *text, Player* player) { - WorldPacket data(SMSG_SERVER_MESSAGE, 50); // guess size + WorldPacket data(SMSG_CHAT_SERVER_MESSAGE, 50); // guess size data << uint32(type); if (type <= SERVER_MSG_STRING) data << text; diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index e08557dd357..7a98d1c0c13 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -33,6 +33,7 @@ EndScriptData */ #include "GossipDef.h" #include "Transport.h" #include "Language.h" +#include "MovementPackets.h" #include <fstream> @@ -1349,9 +1350,9 @@ public: target->DestroyForNearbyPlayers(); // Force new SMSG_UPDATE_OBJECT:CreateObject else { - WorldPacket data(SMSG_MOVE_UPDATE); - target->WriteMovementInfo(data); - target->SendMessageToSet(&data, true); + WorldPackets::Movement::MoveUpdate moveUpdate; + moveUpdate.movementInfo = &target->m_movementInfo; + target->SendMessageToSet(moveUpdate.Write(), true); } handler->PSendSysMessage(LANG_MOVEFLAGS_SET, target->GetUnitMovementFlags(), target->GetExtraUnitMovementFlags()); diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp index 3ce7db3e36a..36c0f953c60 100644 --- a/src/server/scripts/Commands/cs_send.cpp +++ b/src/server/scripts/Commands/cs_send.cpp @@ -271,9 +271,8 @@ public: } /// - Send the message - // Use SendAreaTriggerMessage for fastest delivery. - player->GetSession()->SendAreaTriggerMessage("%s", msgStr); - player->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r"); + player->GetSession()->SendNotification("%s", msgStr); + player->GetSession()->SendNotification("|cffff0000[Message from administrator]:|r"); // Confirmation message std::string nameLink = handler->GetNameLink(player); diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index ca5e4697c35..3bd4abd899f 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -27,10 +27,13 @@ EndScriptData */ npc_webbed_creature EndContentData */ +#include "Player.h" +#include "Group.h" +#include "GridNotifiers.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" +#include "ScriptedEscortAI.h" #include "PassiveAI.h" -#include "Player.h" /*###### ## npc_webbed_creature @@ -88,7 +91,722 @@ public: } }; +/*###### +## Quest 9759: Ending Their World +######*/ + +enum EndingTheirWorldMisc +{ + SAY_SIRONAS_1 = 0, + + SAY_LEGOSO_1 = 0, + SAY_LEGOSO_2 = 1, + SAY_LEGOSO_3 = 2, + SAY_LEGOSO_4 = 3, + SAY_LEGOSO_5 = 4, + SAY_LEGOSO_6 = 5, + SAY_LEGOSO_7 = 6, + SAY_LEGOSO_8 = 7, + SAY_LEGOSO_9 = 8, + SAY_LEGOSO_10 = 9, + SAY_LEGOSO_11 = 10, + SAY_LEGOSO_12 = 11, + SAY_LEGOSO_13 = 12, + SAY_LEGOSO_14 = 13, + SAY_LEGOSO_15 = 14, + SAY_LEGOSO_16 = 15, + SAY_LEGOSO_17 = 16, + SAY_LEGOSO_18 = 17, + SAY_LEGOSO_19 = 18, + SAY_LEGOSO_20 = 19, + SAY_LEGOSO_21 = 20, + + SPELL_BLOODMYST_TESLA = 31611, + SPELL_SIRONAS_CHANNELING = 31612, + + SPELL_UPPERCUT = 10966, + SPELL_IMMOLATE = 12742, + SPELL_CURSE_OF_BLOOD = 8282, + + SPELL_FROST_SHOCK = 8056, + SPELL_HEALING_SURGE = 8004, + SPELL_SEARING_TOTEM = 38116, + SPELL_STRENGTH_OF_EARTH_TOTEM = 31633, + + NPC_SIRONAS = 17678, + NPC_BLOODMYST_TESLA_COIL = 17979, + NPC_LEGOSO = 17982, + + GO_DRAENEI_EXPLOSIVES_1 = 182088, + GO_DRAENEI_EXPLOSIVES_2 = 182091, + GO_FIRE_EXPLOSION = 182071, + + ACTION_SIRONAS_CHANNEL_START = 1, + ACTION_SIRONAS_CHANNEL_STOP = 2, + + ACTION_LEGOSO_SIRONAS_KILLED = 1, + + EVENT_UPPERCUT = 1, + EVENT_IMMOLATE = 2, + EVENT_CURSE_OF_BLOOD = 3, + + EVENT_FROST_SHOCK = 1, + EVENT_HEALING_SURGE = 2, + EVENT_SEARING_TOTEM = 3, + EVENT_STRENGTH_OF_EARTH_TOTEM = 4, + + WP_START = 1, + WP_EXPLOSIVES_FIRST_POINT = 21, + WP_EXPLOSIVES_FIRST_PLANT = 22, + WP_EXPLOSIVES_FIRST_RUNOFF = 23, + WP_EXPLOSIVES_FIRST_DETONATE = 24, + WP_DEBUG_1 = 25, + WP_DEBUG_2 = 26, + WP_SIRONAS_HILL = 33, + WP_EXPLOSIVES_SECOND_BATTLEROAR = 35, + WP_EXPLOSIVES_SECOND_PLANT = 39, + WP_EXPLOSIVES_SECOND_DETONATE = 40, + + PHASE_NONE = 0, + PHASE_CONTINUE = -1, + PHASE_WP_26 = 1, + PHASE_WP_22 = 2, + PHASE_PLANT_FIRST_KNEEL = 3, + PHASE_PLANT_FIRST_STAND = 4, + PHASE_PLANT_FIRST_WORK = 5, + PHASE_PLANT_FIRST_FINISH = 6, + PHASE_PLANT_FIRST_TIMER_1 = 7, + PHASE_PLANT_FIRST_TIMER_2 = 8, + PHASE_PLANT_FIRST_TIMER_3 = 9, + PHASE_PLANT_FIRST_DETONATE = 10, + PHASE_PLANT_FIRST_SPEECH = 11, + PHASE_PLANT_FIRST_ROTATE = 12, + PHASE_PLANT_FIRST_POINT = 13, + PHASE_FEEL_SIRONAS_1 = 14, + PHASE_FEEL_SIRONAS_2 = 15, + PHASE_MEET_SIRONAS_ROAR = 16, + PHASE_MEET_SIRONAS_TURN = 17, + PHASE_MEET_SIRONAS_SPEECH = 18, + PHASE_PLANT_SECOND_KNEEL = 19, + PHASE_PLANT_SECOND_SPEECH = 20, + PHASE_PLANT_SECOND_STAND = 21, + PHASE_PLANT_SECOND_FINISH = 22, + PHASE_PLANT_SECOND_WAIT = 23, + PHASE_PLANT_SECOND_TIMER_1 = 24, + PHASE_PLANT_SECOND_TIMER_2 = 25, + PHASE_PLANT_SECOND_TIMER_3 = 26, + PHASE_PLANT_SECOND_DETONATE = 27, + PHASE_FIGHT_SIRONAS_STOP = 28, + PHASE_FIGHT_SIRONAS_SPEECH_1 = 29, + PHASE_FIGHT_SIRONAS_SPEECH_2 = 30, + PHASE_FIGHT_SIRONAS_START = 31, + PHASE_SIRONAS_SLAIN_SPEECH_1 = 32, + PHASE_SIRONAS_SLAIN_EMOTE_1 = 33, + PHASE_SIRONAS_SLAIN_EMOTE_2 = 34, + PHASE_SIRONAS_SLAIN_SPEECH_2 = 35, + + DATA_EVENT_STARTER_GUID = 0, + + MAX_EXPLOSIVES = 5, + + QUEST_ENDING_THEIR_WORLD = 9759 +}; + +Position const ExplosivesPos[2][MAX_EXPLOSIVES] = +{ + { + { -1954.946f, -10654.714f, 110.448f }, + { -1956.331f, -10654.494f, 110.869f }, + { -1955.906f, -10656.221f, 110.791f }, + { -1957.294f, -10656.000f, 111.219f }, + { -1954.462f, -10656.451f, 110.404f } + }, + { + { -1915.137f, -10583.651f, 178.365f }, + { -1914.006f, -10582.964f, 178.471f }, + { -1912.717f, -10582.398f, 178.658f }, + { -1915.056f, -10582.251f, 178.162f }, + { -1913.883f, -10581.778f, 178.346f } + } +}; + +/*###### +## npc_sironas +######*/ + +class npc_sironas : public CreatureScript +{ +public: + npc_sironas() : CreatureScript("npc_sironas") { } + + struct npc_sironasAI : public ScriptedAI + { + npc_sironasAI(Creature* creature) : ScriptedAI(creature) { } + + void Reset() override + { + _events.Reset(); + me->SetDisplayId(me->GetCreatureTemplate()->Modelid2); + } + + void EnterCombat(Unit* /*who*/) override + { + _events.ScheduleEvent(EVENT_UPPERCUT, 15 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_IMMOLATE, 10 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 5 * IN_MILLISECONDS); + } + + void JustDied(Unit* killer) override + { + me->SetObjectScale(1.0f); + _events.Reset(); + if (Creature* legoso = me->FindNearestCreature(NPC_LEGOSO, SIZE_OF_GRIDS)) + { + Group* group = me->GetLootRecipientGroup(); + + if (killer->GetGUID() == legoso->GetGUID() || + (group && group->IsMember(killer->GetGUID())) || + killer->GetGUID() == legoso->AI()->GetGUID(DATA_EVENT_STARTER_GUID)) + legoso->AI()->DoAction(ACTION_LEGOSO_SIRONAS_KILLED); + } + } + + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + return; + + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_UPPERCUT: + DoCastVictim(SPELL_UPPERCUT); + _events.ScheduleEvent(EVENT_UPPERCUT, urand(10, 12) * IN_MILLISECONDS); + break; + case EVENT_IMMOLATE: + DoCastVictim(SPELL_IMMOLATE); + _events.ScheduleEvent(EVENT_IMMOLATE, urand(15, 20) * IN_MILLISECONDS); + break; + case EVENT_CURSE_OF_BLOOD: + DoCastVictim(SPELL_CURSE_OF_BLOOD); + _events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, urand(20, 25) * IN_MILLISECONDS); + break; + default: + break; + } + } + + DoMeleeAttackIfReady(); + } + + void DoAction(int32 param) override + { + switch (param) + { + case ACTION_SIRONAS_CHANNEL_START: + { + DoCast(me, SPELL_SIRONAS_CHANNELING); + std::list<Creature*> BeamList; + me->GetCreatureListWithEntryInGrid(BeamList, NPC_BLOODMYST_TESLA_COIL, SIZE_OF_GRIDS); + if (!BeamList.empty()) + for (std::list<Creature*>::iterator itr = BeamList.begin(); itr != BeamList.end(); ++itr) + (*itr)->CastSpell(*itr, SPELL_BLOODMYST_TESLA); + break; + } + case ACTION_SIRONAS_CHANNEL_STOP: + { + me->InterruptNonMeleeSpells(true, SPELL_SIRONAS_CHANNELING); + std::list<Creature*> creatureList; + GetCreatureListWithEntryInGrid(creatureList, me, NPC_BLOODMYST_TESLA_COIL, 500.0f); + if (!creatureList.empty()) + for (std::list<Creature*>::iterator itr = creatureList.begin(); itr != creatureList.end(); ++itr) + (*itr)->InterruptNonMeleeSpells(true, SPELL_BLOODMYST_TESLA); + } + default: + break; + } + } + + private: + EventMap _events; + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_sironasAI(creature); + } +}; + +/*###### +## npc_demolitionist_legoso +######*/ + +class npc_demolitionist_legoso : public CreatureScript +{ +public: + npc_demolitionist_legoso() : CreatureScript("npc_demolitionist_legoso") { } + + struct npc_demolitionist_legosoAI : public npc_escortAI + { + npc_demolitionist_legosoAI(Creature* creature) : npc_escortAI(creature) + { + Initialize(); + } + + void Initialize() + { + _phase = PHASE_NONE; + _moveTimer = 0; + } + + void sQuestAccept(Player* player, Quest const* quest) override + { + if (quest->GetQuestId() == QUEST_ENDING_THEIR_WORLD) + { + SetGUID(player->GetGUID(), DATA_EVENT_STARTER_GUID); + Start(true, true, player->GetGUID(), quest); + } + } + + ObjectGuid GetGUID(int32 type) const override + { + if (type == DATA_EVENT_STARTER_GUID) + return _eventStarterGuid; + + return ObjectGuid::Empty; + } + + void SetGUID(ObjectGuid guid, int32 type) override + { + switch (type) + { + case DATA_EVENT_STARTER_GUID: + _eventStarterGuid = guid; + break; + default: + break; + } + } + + void Reset() override + { + me->SetCanDualWield(true); + Initialize(); + _events.Reset(); + _events.ScheduleEvent(EVENT_FROST_SHOCK, 1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_HEALING_SURGE, 5 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SEARING_TOTEM, 15 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, 20 * IN_MILLISECONDS); + } + + void UpdateAI(uint32 diff) override + { + _events.Update(diff); + + if (UpdateVictim()) + { + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_FROST_SHOCK: + DoCastVictim(SPELL_FROST_SHOCK); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_FROST_SHOCK, urand(10, 15) * IN_MILLISECONDS); + break; + case EVENT_SEARING_TOTEM: + DoCast(me, SPELL_SEARING_TOTEM); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_SEARING_TOTEM, urand(110, 130) * IN_MILLISECONDS); + break; + case EVENT_STRENGTH_OF_EARTH_TOTEM: + DoCast(me, SPELL_STRENGTH_OF_EARTH_TOTEM); + _events.DelayEvents(1 * IN_MILLISECONDS); + _events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, urand(110, 130) * IN_MILLISECONDS); + break; + case EVENT_HEALING_SURGE: + { + Unit* target = NULL; + if (me->GetHealthPct() < 85) + target = me; + else if (Player* player = GetPlayerForEscort()) + if (player->GetHealthPct() < 85) + target = player; + if (target) + { + DoCast(target, SPELL_HEALING_SURGE); + _events.ScheduleEvent(EVENT_HEALING_SURGE, 10 * IN_MILLISECONDS); + } + else + _events.ScheduleEvent(EVENT_HEALING_SURGE, 2 * IN_MILLISECONDS); + break; + } + default: + break; + } + } + + DoMeleeAttackIfReady(); + } + + if (HasEscortState(STATE_ESCORT_NONE)) + return; + + npc_escortAI::UpdateAI(diff); + + if (_phase) + { + if (_moveTimer <= diff) + { + switch (_phase) + { + case PHASE_WP_26: //debug skip path to point 26, buggy path calculation + me->GetMotionMaster()->MovePoint(WP_DEBUG_2, -2021.77f, -10648.8f, 129.903f, false); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_CONTINUE: // continue escort + SetEscortPaused(false); + _moveTimer = 0 * IN_MILLISECONDS; + _phase = PHASE_NONE; + break; + case PHASE_WP_22: //debug skip path to point 22, buggy path calculation + me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_PLANT, -1958.026f, -10660.465f, 111.547f, false); + Talk(SAY_LEGOSO_3); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_KNEEL; + break; + case PHASE_PLANT_FIRST_KNEEL: // plant first explosives stage 1 kneel + me->SetStandState(UNIT_STAND_STATE_KNEEL); + _moveTimer = 10 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_STAND; + break; + case PHASE_PLANT_FIRST_STAND: // plant first explosives stage 1 stand + me->SetStandState(UNIT_STAND_STATE_STAND); + _moveTimer = 0.5* IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_WORK; + break; + case PHASE_PLANT_FIRST_WORK: // plant first explosives stage 2 work + Talk(SAY_LEGOSO_4); + _moveTimer = 17.5 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_FINISH; + break; + case PHASE_PLANT_FIRST_FINISH: // plant first explosives finish + _explosivesGuids.clear(); + for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i) + { + if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_1, ExplosivesPos[0][i].m_positionX, ExplosivesPos[0][i].m_positionY, ExplosivesPos[0][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0)) + _explosivesGuids.push_back(explosive->GetGUID()); + } + me->HandleEmoteCommand(EMOTE_ONESHOT_NONE); // reset anim state + // force runoff movement so he will not screw up next waypoint + me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_RUNOFF, -1955.6f, -10669.8f, 110.65f, false); + Talk(SAY_LEGOSO_5); + _moveTimer = 1.5 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_FIRST_TIMER_1: // first explosives detonate timer 1 + Talk(SAY_LEGOSO_6); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_2; + break; + case PHASE_PLANT_FIRST_TIMER_2: // first explosives detonate timer 2 + Talk(SAY_LEGOSO_7); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_3; + break; + case PHASE_PLANT_FIRST_TIMER_3: // first explosives detonate timer 3 + Talk(SAY_LEGOSO_8); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_DETONATE; + break; + case PHASE_PLANT_FIRST_DETONATE: // first explosives detonate finish + for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr) + { + if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) + me->RemoveGameObject(explosive, true); + } + _explosivesGuids.clear(); + me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_SPEECH; + break; + case PHASE_PLANT_FIRST_SPEECH: // after detonation 1 speech + Talk(SAY_LEGOSO_9); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_ROTATE; + break; + case PHASE_PLANT_FIRST_ROTATE: // after detonation 1 rotate to next point + me->SetFacingTo(2.272f); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_POINT; + break; + case PHASE_PLANT_FIRST_POINT: // after detonation 1 send point anim and go on to next point + me->HandleEmoteCommand(EMOTE_ONESHOT_POINT); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_FEEL_SIRONAS_1: // legoso exclamation before sironas 1.1 + Talk(SAY_LEGOSO_10); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_FEEL_SIRONAS_2; + break; + case PHASE_FEEL_SIRONAS_2: // legoso exclamation before sironas 1.2 + Talk(SAY_LEGOSO_11); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_MEET_SIRONAS_ROAR: // legoso exclamation before sironas 2.1 + Talk(SAY_LEGOSO_12); + _moveTimer = 4 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_TURN; + break; + case PHASE_MEET_SIRONAS_TURN: // legoso exclamation before sironas 2.2 + if (Player* player = GetPlayerForEscort()) + me->SetFacingToObject(player); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_SPEECH; + break; + case PHASE_MEET_SIRONAS_SPEECH: // legoso exclamation before sironas 2.3 + Talk(SAY_LEGOSO_13); + _moveTimer = 7 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_SECOND_KNEEL: // plant second explosives stage 1 kneel + me->SetStandState(UNIT_STAND_STATE_KNEEL); + _moveTimer = 11 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_SPEECH; + break; + case PHASE_PLANT_SECOND_SPEECH: // plant second explosives stage 2 kneel + Talk(SAY_LEGOSO_14); + _moveTimer = 13 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_STAND; + break; + case PHASE_PLANT_SECOND_STAND: // plant second explosives finish + me->SetStandState(UNIT_STAND_STATE_STAND); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_FINISH; + break; + case PHASE_PLANT_SECOND_FINISH: // plant second explosives finish - create explosives + _explosivesGuids.clear(); + for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i) + { + if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_2, ExplosivesPos[1][i].m_positionX, ExplosivesPos[1][i].m_positionY, ExplosivesPos[1][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0)) + _explosivesGuids.push_back(explosive->GetGUID()); + } + Talk(SAY_LEGOSO_15); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_WAIT; + break; + case PHASE_PLANT_SECOND_WAIT: // plant second explosives finish - proceed to next point + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_PLANT_SECOND_TIMER_1: // second explosives detonate timer 1 + Talk(SAY_LEGOSO_16); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_2; + break; + case PHASE_PLANT_SECOND_TIMER_2: // second explosives detonate timer 2 + Talk(SAY_LEGOSO_17); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_3; + break; + case PHASE_PLANT_SECOND_TIMER_3: // second explosives detonate timer 3 + Talk(SAY_LEGOSO_18); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_DETONATE; + break; + case PHASE_PLANT_SECOND_DETONATE: // second explosives detonate finish + for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr) + { + if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr)) + me->RemoveGameObject(explosive, true); + } + _explosivesGuids.clear(); + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + { + sironas->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + me->SetFacingToObject(sironas); + } + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_STOP; + break; + case PHASE_FIGHT_SIRONAS_STOP: // sironas channel stop + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_STOP); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_SPEECH_1; + break; + case PHASE_FIGHT_SIRONAS_SPEECH_1: // sironas exclamation before aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->AI()->Talk(SAY_SIRONAS_1); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_SPEECH_2; + break; + case PHASE_FIGHT_SIRONAS_SPEECH_2: // legoso exclamation before aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + sironas->SetObjectScale(3.0f); + Talk(SAY_LEGOSO_19); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FIGHT_SIRONAS_START; + break; + case PHASE_FIGHT_SIRONAS_START: // legoso exclamation at aggro + if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS)) + { + Unit* target = GetPlayerForEscort(); + if (!target) + target = me; + + target->AddThreat(sironas, 0.001f); + sironas->Attack(target, true); + sironas->GetMotionMaster()->MoveChase(target); + } + _moveTimer = 10 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case PHASE_SIRONAS_SLAIN_SPEECH_1: // legoso exclamation after battle - stage 1.1 + Talk(SAY_LEGOSO_20); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_EMOTE_1; + break; + case PHASE_SIRONAS_SLAIN_EMOTE_1: // legoso exclamation after battle - stage 1.2 + me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_EMOTE_2; + break; + case PHASE_SIRONAS_SLAIN_EMOTE_2: // legoso exclamation after battle - stage 1.3 + if (Player* player = GetPlayerForEscort()) + player->GroupEventHappens(QUEST_ENDING_THEIR_WORLD, me); + me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER); + _moveTimer = 5 * IN_MILLISECONDS; + _phase = PHASE_SIRONAS_SLAIN_SPEECH_2; + break; + case PHASE_SIRONAS_SLAIN_SPEECH_2: // legoso exclamation after battle - stage 2 + Talk(SAY_LEGOSO_21); + _moveTimer = 30 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + default: + break; + } + } + else if (!me->IsInCombat()) + _moveTimer -= diff; + } + } + + void WaypointReached(uint32 waypointId) override + { + Player* player = GetPlayerForEscort(); + if (!player) + return; + + switch (waypointId) + { + case WP_START: + SetEscortPaused(true); + me->SetFacingToObject(player); + Talk(SAY_LEGOSO_1); + _moveTimer = 2.5 * IN_MILLISECONDS; + _phase = PHASE_CONTINUE; + break; + case WP_EXPLOSIVES_FIRST_POINT: + SetEscortPaused(true); + Talk(SAY_LEGOSO_2); + _moveTimer = 8 * IN_MILLISECONDS; + _phase = PHASE_WP_22; + break; + case WP_EXPLOSIVES_FIRST_PLANT: + me->SetFacingTo(1.46f); + break; + case WP_EXPLOSIVES_FIRST_DETONATE: + SetEscortPaused(true); + me->SetFacingTo(1.05f); + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_PLANT_FIRST_TIMER_1; + break; + case WP_DEBUG_1: + SetEscortPaused(true); + _moveTimer = 0.5 * IN_MILLISECONDS; + _phase = PHASE_WP_26; + break; + case WP_SIRONAS_HILL: + { + SetEscortPaused(true); + + //Find Sironas and make it respawn if needed + Creature* sironas = NULL; + Trinity::AllCreaturesOfEntryInRange check(me, NPC_SIRONAS, SIZE_OF_GRIDS); + Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(me, sironas, check); + me->VisitNearbyObject(SIZE_OF_GRIDS, searcher); + + if (sironas) + { + if (!sironas->IsAlive()) + sironas->Respawn(true); + + sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_START); + me->SetFacingToObject(sironas); + } + _moveTimer = 1 * IN_MILLISECONDS; + _phase = PHASE_FEEL_SIRONAS_1; + break; + } + case WP_EXPLOSIVES_SECOND_BATTLEROAR: + SetEscortPaused(true); + _moveTimer = 0.2 * IN_MILLISECONDS; + _phase = PHASE_MEET_SIRONAS_ROAR; + break; + case WP_EXPLOSIVES_SECOND_PLANT: + SetEscortPaused(true); + _moveTimer = 0.5 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_KNEEL; + break; + case WP_EXPLOSIVES_SECOND_DETONATE: + SetEscortPaused(true); + me->SetFacingTo(5.7f); + _moveTimer = 2 * IN_MILLISECONDS; + _phase = PHASE_PLANT_SECOND_TIMER_1; + break; + default: + break; + } + } + + void DoAction(int32 param) override + { + switch (param) + { + case ACTION_LEGOSO_SIRONAS_KILLED: + _phase = PHASE_SIRONAS_SLAIN_SPEECH_1; + _moveTimer = 5 * IN_MILLISECONDS; + break; + default: + break; + } + } + + private: + int8 _phase; + uint32 _moveTimer; + ObjectGuid _eventStarterGuid; + GuidList _explosivesGuids; + EventMap _events; + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_demolitionist_legosoAI(creature); + } +}; + void AddSC_bloodmyst_isle() { new npc_webbed_creature(); + new npc_sironas(); + new npc_demolitionist_legoso(); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index 511a2044f6a..bfb7c13d47b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -746,7 +746,7 @@ class npc_gunship : public CreatureScript { cannon->CastSpell(cannon, SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO, TRIGGERED_FULL_MASK); - WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, cannon->GetPackGUID().size() + 4); + WorldPacket data(SMSG_SET_VEHICLE_REC_ID, cannon->GetPackGUID().size() + 4); data << cannon->GetPackGUID(); data << uint32(0); cannon->SendMessageToSet(&data, true); @@ -2101,7 +2101,7 @@ class spell_igb_overheat : public SpellScriptLoader { if (Player* player = passenger->ToPlayer()) { - WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1); + WorldPacket data(SMSG_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1); data << GetUnitOwner()->GetPackGUID(); data << uint8(value); player->GetSession()->SendPacket(&data); diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 95e02f7bc19..c6e643174e6 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -816,6 +816,44 @@ class spell_shredder_delivery : public SpellScriptLoader } }; +enum InfectedWorgenBite +{ + SPELL_INFECTED_WORGEN_BITE = 53094, + SPELL_WORGENS_CALL = 53095 +}; + +class spell_infected_worgen_bite : public SpellScriptLoader +{ + public: + spell_infected_worgen_bite() : SpellScriptLoader("spell_infected_worgen_bite") { } + + class spell_infected_worgen_bite_AuraScript : public AuraScript + { + PrepareAuraScript(spell_infected_worgen_bite_AuraScript); + + void HandleAfterEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + Unit* target = GetTarget(); + if (target->GetTypeId() == TYPEID_PLAYER) + if (GetStackAmount() == GetSpellInfo()->StackAmount) + { + Remove(); + target->CastSpell(target, SPELL_WORGENS_CALL, true); + } + } + + void Register() override + { + AfterEffectApply += AuraEffectApplyFn(spell_infected_worgen_bite_AuraScript::HandleAfterEffectApply, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAPPLY); + } + }; + + AuraScript* GetAuraScript() const override + { + return new spell_infected_worgen_bite_AuraScript(); + } +}; + void AddSC_grizzly_hills() { new npc_emily(); @@ -827,4 +865,5 @@ void AddSC_grizzly_hills() new npc_venture_co_straggler(); new npc_lake_frog(); new spell_shredder_delivery(); + new spell_infected_worgen_bite(); } diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 31779c4df22..451dc933d86 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3622,6 +3622,44 @@ class spell_gen_eject_all_passengers : public SpellScriptLoader } }; +class spell_gen_eject_passenger : public SpellScriptLoader +{ + public: + spell_gen_eject_passenger() : SpellScriptLoader("spell_gen_eject_passenger") { } + + class spell_gen_eject_passenger_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_eject_passenger_SpellScript); + + bool Validate(SpellInfo const* spellInfo) override + { + SpellEffectInfo const* effect = spellInfo->GetEffect(EFFECT_0); + if (!effect || effect->CalcValue() < 1) + return false; + return true; + } + + void EjectPassenger(SpellEffIndex /*effIndex*/) + { + if (Vehicle* vehicle = GetHitUnit()->GetVehicleKit()) + { + if (Unit* passenger = vehicle->GetPassenger(GetEffectValue() - 1)) + passenger->ExitVehicle(); + } + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_eject_passenger_SpellScript::EjectPassenger, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const override + { + return new spell_gen_eject_passenger_SpellScript(); + } +}; + enum GMFreeze { SPELL_GM_FREEZE = 9454 @@ -4116,6 +4154,7 @@ void AddSC_generic_spell_scripts() new spell_gen_wg_water(); new spell_gen_whisper_gulch_yogg_saron_whisper(); new spell_gen_eject_all_passengers(); + new spell_gen_eject_passenger(); new spell_gen_gm_freeze(); new spell_gen_stand(); new spell_gen_mixology_bonus(); diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index 91ef240a1a3..7d43157376f 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -85,6 +85,7 @@ enum MageSpells SPELL_MAGE_FINGERS_OF_FROST = 44544, SPELL_MAGE_TEMPORAL_DISPLACEMENT = 80354, + SPELL_PET_NETHERWINDS_FATIGUED = 160455, }; enum MageIcons @@ -1434,7 +1435,8 @@ class spell_mage_time_warp : public SpellScriptLoader if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY) || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EXHAUSTION) - || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SATED)) + || !sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SATED) + || !sSpellMgr->GetSpellInfo(SPELL_PET_NETHERWINDS_FATIGUED)) return false; return true; } diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index f9224e435af..af4ff1f4485 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -61,7 +61,8 @@ enum ShamanSpells SPELL_SHAMAN_TOTEM_EARTHBIND_TOTEM = 6474, SPELL_SHAMAN_TOTEM_EARTHEN_POWER = 59566, SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL = 52042, - SPELL_SHAMAN_TIDAL_WAVES = 53390 + SPELL_SHAMAN_TIDAL_WAVES = 53390, + SPELL_PET_NETHERWINDS_FATIGUED = 160455 }; enum ShamanSpellIcons @@ -176,7 +177,8 @@ class spell_sha_bloodlust : public SpellScriptLoader { if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SATED) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY) - || !sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT)) + || !sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT) + || !sSpellMgr->GetSpellInfo(SPELL_PET_NETHERWINDS_FATIGUED)) return false; return true; } @@ -671,7 +673,8 @@ class spell_sha_heroism : public SpellScriptLoader { if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EXHAUSTION) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY) - || !sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT)) + || !sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT) + || !sSpellMgr->GetSpellInfo(SPELL_PET_NETHERWINDS_FATIGUED)) return false; return true; } diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index 1fa3f01a5e1..5a98757abb5 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -491,7 +491,9 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo) m_reconnecting = true; uint64 oldThreadId = mysql_thread_id(GetHandle()); mysql_close(GetHandle()); - if (this->Open()) // Don't remove 'this' pointer unless you want to skip loading all prepared statements.... + + // Don't remove 'this' pointer unless you want to skip loading all prepared statements.... + if (this->Open() && this->PrepareStatements()) { TC_LOG_INFO("sql.sql", "Connection to the MySQL server is active."); if (oldThreadId != mysql_thread_id(GetHandle())) diff --git a/src/server/shared/Logging/Appender.cpp b/src/server/shared/Logging/Appender.cpp index ca40a857419..ba23d879ec2 100644 --- a/src/server/shared/Logging/Appender.cpp +++ b/src/server/shared/Logging/Appender.cpp @@ -80,26 +80,13 @@ void Appender::write(LogMessage* message) std::ostringstream ss; if (flags & APPENDER_FLAGS_PREFIX_TIMESTAMP) - ss << message->getTimeStr(); + ss << message->getTimeStr() << ' '; if (flags & APPENDER_FLAGS_PREFIX_LOGLEVEL) - { - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; - - ss << Trinity::StringFormat("%-5s", Appender::getLogLevelString(message->level)); - } + ss << Trinity::StringFormat("%-5s ", Appender::getLogLevelString(message->level)); if (flags & APPENDER_FLAGS_PREFIX_LOGFILTERTYPE) - { - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; - - ss << '[' << message->type << ']'; - } - - if (ss.rdbuf()->in_avail() == 0) - ss << ' '; + ss << '[' << message->type << "] "; message->prefix = std::move(ss.str()); _write(message); diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h index 38c45b3bcf1..73af351e41d 100644 --- a/src/server/shared/Logging/Appender.h +++ b/src/server/shared/Logging/Appender.h @@ -62,6 +62,9 @@ struct LogMessage : level(_level), type(_type), text(std::forward<std::string>(_text)), mtime(time(NULL)) { } + LogMessage(LogMessage const& /*other*/) = delete; + LogMessage& operator=(LogMessage const& /*other*/) = delete; + static std::string getTimeStr(time_t time); std::string getTimeStr(); diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h index 20d83d2dcf0..d4653960b15 100644 --- a/src/server/shared/Logging/Log.h +++ b/src/server/shared/Logging/Log.h @@ -75,9 +75,7 @@ class Log std::unique_ptr<LogMessage> msg(new LogMessage(LOG_LEVEL_INFO, "commands.gm", std::move(Trinity::StringFormat(fmt, args...)))); - std::ostringstream ss; - ss << account; - msg->param1 = ss.str(); + msg->param1 = std::to_string(account); write(std::move(msg)); } diff --git a/src/server/shared/Networking/Socket.h b/src/server/shared/Networking/Socket.h index f7a1b954cb0..0ac23a96224 100644 --- a/src/server/shared/Networking/Socket.h +++ b/src/server/shared/Networking/Socket.h @@ -62,7 +62,7 @@ public: return false; #ifndef TC_SOCKET_USE_IOCP - std::unique_lock<std::mutex> guard(_writeLock, std::try_to_lock); + std::unique_lock<std::mutex> guard(_writeLock); if (!guard) return true; @@ -140,6 +140,8 @@ public: if (shutdownError) TC_LOG_DEBUG("network", "Socket::CloseSocket: %s errored when shutting down socket: %i (%s)", GetRemoteIpAddress().to_string().c_str(), shutdownError.value(), shutdownError.message().c_str()); + + OnClose(); } /// Marks the socket for closing after write buffer becomes empty @@ -148,6 +150,8 @@ public: MessageBuffer& GetReadBuffer() { return _readBuffer; } protected: + virtual void OnClose() { } + virtual void ReadHandler() = 0; bool AsyncProcessQueue(std::unique_lock<std::mutex>&) @@ -169,6 +173,15 @@ protected: return false; } + void SetNoDelay(bool enable) + { + boost::system::error_code err; + _socket.set_option(boost::asio::ip::tcp::no_delay(enable), err); + if (err) + TC_LOG_DEBUG("network", "Socket::SetNoDelay: failed to set_option(boost::asio::ip::tcp::no_delay) for %s - %d (%s)", + GetRemoteIpAddress().to_string().c_str(), err.value(), err.message().c_str()); + } + std::mutex _writeLock; std::queue<MessageBuffer> _writeQueue; #ifndef TC_SOCKET_USE_IOCP diff --git a/src/server/shared/Updater/UpdateFetcher.cpp b/src/server/shared/Updater/UpdateFetcher.cpp index b93ca614729..2b12f39780c 100644 --- a/src/server/shared/Updater/UpdateFetcher.cpp +++ b/src/server/shared/Updater/UpdateFetcher.cpp @@ -309,7 +309,7 @@ uint32 UpdateFetcher::Update(bool const redundancyChecks, bool const allowRehash CleanUp(applied); else { - TC_LOG_ERROR("sql.updates", "Cleanup is disabled! There are %zu dirty files that were applied to your database " \ + TC_LOG_ERROR("sql.updates", "Cleanup is disabled! There are " SZFMTD " dirty files that were applied to your database " \ "but are now missing in your source directory!", applied.size()); } } |