diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-19 00:22:46 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-19 00:22:46 +0200 |
| commit | 8bde737d3ac282c470208b1fccd9f17c4a3de057 (patch) | |
| tree | bb0f02b2f91ac03e536623c3a13dcd6102a9815c /src/server/game/Server | |
| parent | 9c7914524aeacc87ac6efec72a9bfe5577454aad (diff) | |
Core/PacketIO: Updated and enabled CMSG_SPIRIT_HEALER_ACTIVATE / SMSG_SPIRIT_HEALER_CONFIRM for WoD
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/NPCPackets.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/NPCPackets.h | 20 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 |
4 files changed, 36 insertions, 3 deletions
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp index 2ca1ad7447d..02186b58a91 100644 --- a/src/server/game/Server/Packets/NPCPackets.cpp +++ b/src/server/game/Server/Packets/NPCPackets.cpp @@ -163,3 +163,15 @@ WorldPacket const* WorldPackets::NPC::GossipPOI::Write() return &_worldPacket; } + +void WorldPackets::NPC::SpiritHealerActivate::Read() +{ + _worldPacket >> Healer; +} + +WorldPacket const* WorldPackets::NPC::SpiritHealerConfirm::Write() +{ + _worldPacket << Unit; + + return &_worldPacket; +}
\ No newline at end of file diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h index a6e265b5d9f..ec23c51a206 100644 --- a/src/server/game/Server/Packets/NPCPackets.h +++ b/src/server/game/Server/Packets/NPCPackets.h @@ -196,6 +196,26 @@ namespace WorldPackets int32 Importance = 0; std::string Name; }; + + class SpiritHealerActivate final : public ClientPacket + { + public: + SpiritHealerActivate(WorldPacket&& packet) : ClientPacket(CMSG_SPIRIT_HEALER_ACTIVATE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Healer; + }; + + class SpiritHealerConfirm final : public ServerPacket + { + public: + SpiritHealerConfirm() : ServerPacket(SMSG_SPIRIT_HEALER_CONFIRM, 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Unit; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 2b5f8c6503d..258fd4a15bb 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -760,7 +760,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SORT_BANK_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SORT_REAGENT_BANK_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_SPELL_CLICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpiritHealerActivateOpcode); + DEFINE_HANDLER(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::SpiritHealerActivate, &WorldSession::HandleSpiritHealerActivate); DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, 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_START_SPECTATOR_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -1657,7 +1657,7 @@ void OpcodeTable::Initialize() 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_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, 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); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 873a926aa82..29a0a0dba4e 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -338,6 +338,7 @@ namespace WorldPackets { class Hello; class GossipSelectOption; + class SpiritHealerActivate; } namespace Petition @@ -1111,7 +1112,7 @@ class WorldSession void HandlePetitionShowList(WorldPackets::Petition::PetitionShowList& packet); void HandleGossipHelloOpcode(WorldPackets::NPC::Hello& packet); void HandleGossipSelectOptionOpcode(WorldPackets::NPC::GossipSelectOption& packet); - void HandleSpiritHealerActivateOpcode(WorldPacket& recvPacket); + void HandleSpiritHealerActivate(WorldPackets::NPC::SpiritHealerActivate& packet); void HandleNpcTextQueryOpcode(WorldPackets::Query::QueryNPCText& packet); void HandleBinderActivateOpcode(WorldPackets::NPC::Hello& packet); void HandleListStabledPetsOpcode(WorldPacket& recvPacket); |
