aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MiscHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index a9db9d52572..a43ec6c2202 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -47,6 +47,7 @@
#include "AchievementPackets.h"
#include "WhoPackets.h"
#include "InstancePackets.h"
+#include "InstanceScript.h"
void WorldSession::HandleRepopRequest(WorldPackets::Misc::RepopRequest& /*packet*/)
{
@@ -449,6 +450,20 @@ void WorldSession::HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse
if (!GetPlayer()->IsResurrectRequestedBy(packet.Resurrecter))
return;
+ if (Player* ressPlayer = ObjectAccessor::GetPlayer(*GetPlayer(), packet.Resurrecter))
+ {
+ if (InstanceScript* instance = ressPlayer->GetInstanceScript())
+ {
+ if (instance->IsEncounterInProgress())
+ {
+ if (!instance->GetCombatResurrectionCharges())
+ return;
+ else
+ instance->UseCombatResurrection();
+ }
+ }
+ }
+
GetPlayer()->ResurrectUsingRequestData();
}