aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp19
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h16
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 36 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 01164039420..8560a54067d 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -677,3 +677,22 @@ WorldPacket const* WorldPackets::Spells::SpellChannelUpdate::Write()
_worldPacket << int32(TimeRemaining);
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Spells::ResurrectRequest::Write()
+{
+ _worldPacket << ResurrectOffererGUID;
+ _worldPacket << ResurrectOffererVirtualRealmAddress;
+
+ _worldPacket << PetNumber;
+ _worldPacket << SpellID;
+
+ _worldPacket.WriteBits(Name.length(), 6);
+ _worldPacket.WriteBit(UseTimer);
+ _worldPacket.WriteBit(Sickness);
+
+ _worldPacket.FlushBits();
+
+ _worldPacket.WriteString(Name);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 1f7cdd0b93a..87120cf8d00 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -660,6 +660,22 @@ namespace WorldPackets
ObjectGuid CasterGUID;
int32 TimeRemaining = 0;
};
+
+ class ResurrectRequest final : public ServerPacket
+ {
+ public:
+ ResurrectRequest() : ServerPacket(SMSG_RESURRECT_REQUEST, 16 + 4 + 4 + 4 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid ResurrectOffererGUID;
+ uint32 ResurrectOffererVirtualRealmAddress = 0;
+ uint32 PetNumber = 0;
+ int32 SpellID = 0;
+ bool UseTimer = false;
+ bool Sickness = false;
+ std::string Name;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index a9cc63e4eb5..30442711a8a 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1568,7 +1568,7 @@ void OpcodeTable::Initialize()
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_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESURRECT_REQUEST, STATUS_NEVER, 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);