diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-12-17 20:27:13 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-12-17 20:27:13 +0100 |
| commit | 0555ab2f56e5ad326948df96f5c2e35254e0cf4f (patch) | |
| tree | e04eba976ec67bcade40d1b3bfed778a438abe86 /src/server/game/Server | |
| parent | e275c39586dba170c931b972aa7e9cc3c691a533 (diff) | |
Core/Players: Implemented setting tradeskill recipes as favorite
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 11 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 2 |
4 files changed, 20 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 84b5066863f..221a6e5cd96 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -1048,4 +1048,10 @@ WorldPacket const* MissileCancel::Write() return &_worldPacket; } + +void TradeSkillSetFavorite::Read() +{ + _worldPacket >> RecipeID; + IsFavorite = _worldPacket.ReadBit(); +} } diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 4d2380a964f..53cfdfddfcd 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -1073,6 +1073,17 @@ namespace WorldPackets int32 SpellID = 0; }; + class TradeSkillSetFavorite final : public ClientPacket + { + public: + TradeSkillSetFavorite(WorldPacket&& packet) : ClientPacket(CMSG_TRADE_SKILL_SET_FAVORITE, std::move(packet)) { } + + void Read() override; + + int32 RecipeID = 0; + bool IsFavorite = false; + }; + ByteBuffer& operator>>(ByteBuffer& buffer, SpellCastRequest& request); } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 5df4f540e4e..7e70da65e95 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -928,7 +928,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP); DEFINE_HANDLER(CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTotemDestroyed); DEFINE_HANDLER(CMSG_TOY_CLEAR_FANFARE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleToyClearFanfare); - DEFINE_HANDLER(CMSG_TRADE_SKILL_SET_FAVORITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_TRADE_SKILL_SET_FAVORITE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTradeSkillSetFavorite); DEFINE_HANDLER(CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTrainerBuySpellOpcode); DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTrainerListOpcode); DEFINE_HANDLER(CMSG_TRAITS_COMMIT_CONFIG, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTraitsCommitConfig); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index b26204a0989..5bf759a9a01 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -717,6 +717,7 @@ namespace WorldPackets class SpellClick; class MissileTrajectoryCollision; class UpdateMissileTrajectory; + class TradeSkillSetFavorite; } namespace Talent @@ -1506,6 +1507,7 @@ class TC_GAME_API WorldSession void HandleLearnTalentsOpcode(WorldPackets::Talent::LearnTalents& packet); void HandleConfirmRespecWipeOpcode(WorldPackets::Talent::ConfirmRespecWipe& confirmRespecWipe); void HandleUnlearnSkillOpcode(WorldPackets::Spells::UnlearnSkill& packet); + void HandleTradeSkillSetFavorite(WorldPackets::Spells::TradeSkillSetFavorite const& tradeSkillSetFavorite); void HandleTraitsCommitConfig(WorldPackets::Traits::TraitsCommitConfig const& traitsCommitConfig); void HandleClassTalentsRequestNewConfig(WorldPackets::Traits::ClassTalentsRequestNewConfig& classTalentsRequestNewConfig); |
