diff options
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 15 |
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(); } |
