diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-12 03:18:03 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-12 03:18:03 +0200 |
commit | fcab9149817e0aef324ae5d07c25c40301a11941 (patch) | |
tree | e3740dd422e20addf6c465b2103bbcd04571f9db /src | |
parent | 10be34303ed63f4e520d85903841284a84d05326 (diff) |
Core/PacketIO: Updated and Enabled CMSG_DELETE_EQUIPMENT_SET for 6.1.2
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 | ||||
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Server/Packets/EquipmentSetPackets.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Server/Packets/EquipmentSetPackets.h | 10 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
7 files changed, 24 insertions, 11 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ff5fe1faf28..5560c78c4ab 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -25222,11 +25222,11 @@ void Player::_SaveBGData(SQLTransaction& trans) trans->Append(stmt); } -void Player::DeleteEquipmentSet(uint64 setGuid) +void Player::DeleteEquipmentSet(uint64 id) { for (EquipmentSetContainer::iterator itr = _equipmentSets.begin(); itr != _equipmentSets.end();) { - if (itr->second.Data.Guid == setGuid) + if (itr->second.Data.Guid == id) { if (itr->second.State == EQUIPMENT_SET_NEW) itr = _equipmentSets.erase(itr); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index f6ad2fecae5..7698cee5a70 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2281,7 +2281,7 @@ class Player : public Unit, public GridObject<Player> void SendEquipmentSetList(); void SetEquipmentSet(EquipmentSetInfo::EquipmentSetData&& newEqSet); - void DeleteEquipmentSet(uint64 setGuid); + void DeleteEquipmentSet(uint64 id); void SendInitWorldStates(uint32 zone, uint32 area); void SendUpdateWorldState(uint32 variable, uint32 value, bool hidden = false); diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 2a6274ca0ca..42bdd6ec736 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1631,14 +1631,11 @@ void WorldSession::HandleEquipmentSetSave(WorldPackets::EquipmentSet::SaveEquipm _player->SetEquipmentSet(std::move(packet.Set)); } -void WorldSession::HandleEquipmentSetDelete(WorldPacket& recvData) +void WorldSession::HandleDeleteEquipmentSet(WorldPackets::EquipmentSet::DeleteEquipmentSet& packet) { - TC_LOG_DEBUG("network", "CMSG_EQUIPMENT_SET_DELETE"); + TC_LOG_DEBUG("network", "CMSG_DELETE_EQUIPMENT_SET"); - uint64 setGuid; - recvData.ReadPackedUInt64(setGuid); - - _player->DeleteEquipmentSet(setGuid); + _player->DeleteEquipmentSet(packet.ID); } void WorldSession::HandleEquipmentSetUse(WorldPacket& recvData) diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.cpp b/src/server/game/Server/Packets/EquipmentSetPackets.cpp index f69e378652e..1e13ca65fb1 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.cpp +++ b/src/server/game/Server/Packets/EquipmentSetPackets.cpp @@ -63,3 +63,8 @@ void WorldPackets::EquipmentSet::SaveEquipmentSet::Read() Set.SetName = _worldPacket.ReadString(setNameLength); Set.SetIcon = _worldPacket.ReadString(setIconLength); } + +void WorldPackets::EquipmentSet::DeleteEquipmentSet::Read() +{ + _worldPacket >> ID; +} diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h index 4b1ead24839..97cfa836cf9 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.h +++ b/src/server/game/Server/Packets/EquipmentSetPackets.h @@ -54,5 +54,15 @@ namespace WorldPackets EquipmentSetInfo::EquipmentSetData Set; }; + + class DeleteEquipmentSet final : public ClientPacket + { + public: + DeleteEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_DELETE_EQUIPMENT_SET, std::move(packet)) { } + + void Read() override; + + uint64 ID; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 55a7094ec47..393e8afd711 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -334,7 +334,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Query::DBQueryBulk, &WorldSession::HandleDBQueryBulk); DEFINE_HANDLER(CMSG_DECLINE_GUILD_INVITES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::DeclineGuildInvites, &WorldSession::HandleDeclineGuildInvites); DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::DeclinePetition, &WorldSession::HandleDeclinePetition); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DELETE_EQUIPMENT_SET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetDelete ); + DEFINE_HANDLER(CMSG_DELETE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::DeleteEquipmentSet, &WorldSession::HandleDeleteEquipmentSet); 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_OPCODE_HANDLER_OLD(CMSG_DEPOSIT_REAGENT_BANK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index ea0ec982a47..513f5f47f9e 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -192,6 +192,7 @@ namespace WorldPackets namespace EquipmentSet { class SaveEquipmentSet; + class DeleteEquipmentSet; } namespace GameObject @@ -1405,7 +1406,7 @@ class WorldSession void HandleRemoveGlyph(WorldPacket& recvData); void HandleGuildSetFocusedAchievement(WorldPackets::Achievement::GuildSetFocusedAchievement& setFocusedAchievement); void HandleEquipmentSetSave(WorldPackets::EquipmentSet::SaveEquipmentSet& packet); - void HandleEquipmentSetDelete(WorldPacket& recvData); + void HandleDeleteEquipmentSet(WorldPackets::EquipmentSet::DeleteEquipmentSet& packet); void HandleEquipmentSetUse(WorldPacket& recvData); void HandleUITimeRequest(WorldPackets::Misc::UITimeRequest& /*request*/); void HandleQueryQuestCompletionNPCs(WorldPackets::Query::QueryQuestCompletionNPCs& queryQuestCompletionNPCs); |