aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/DuelHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/DuelHandler.cpp')
-rw-r--r--src/server/game/Handlers/DuelHandler.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Handlers/DuelHandler.cpp b/src/server/game/Handlers/DuelHandler.cpp
index 6e8ff5547d7..79539258bd5 100644
--- a/src/server/game/Handlers/DuelHandler.cpp
+++ b/src/server/game/Handlers/DuelHandler.cpp
@@ -43,8 +43,14 @@ void WorldSession::HandleDuelAcceptedOpcode(WorldPacket& recvPacket)
TC_LOG_DEBUG("network", "Player 1 is: %u (%s)", player->GetGUID().GetCounter(), player->GetName().c_str());
TC_LOG_DEBUG("network", "Player 2 is: %u (%s)", plTarget->GetGUID().GetCounter(), plTarget->GetName().c_str());
- player->UpdateHasCoolDownBeforeDuel();
- plTarget->UpdateHasCoolDownBeforeDuel();
+ if (sWorld->getBoolConfig(CONFIG_RESET_DUEL_COOLDOWNS))
+ {
+ player->GetSpellHistory()->SaveCooldownStateBeforeDuel();
+ plTarget->GetSpellHistory()->SaveCooldownStateBeforeDuel();
+
+ player->RemoveArenaSpellCooldowns(true);
+ plTarget->RemoveArenaSpellCooldowns(true);
+ }
time_t now = time(NULL);
player->duel->startTimer = now;