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 d22525ab091..52bf7c612ff 100644
--- a/src/server/game/Handlers/DuelHandler.cpp
+++ b/src/server/game/Handlers/DuelHandler.cpp
@@ -69,8 +69,14 @@ void WorldSession::HandleDuelAccepted()
TC_LOG_DEBUG("network", "Player 1 is: %s (%s)", player->GetGUID().ToString().c_str(), player->GetName().c_str());
TC_LOG_DEBUG("network", "Player 2 is: %s (%s)", plTarget->GetGUID().ToString().c_str(), 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;