|
|
@@ -126,6 +126,10 @@ void TurnTimerHandler::onPlayerMakingTurn(PlayerColor player, int waitTime)
|
|
|
const auto * state = gameHandler.getPlayerState(player);
|
|
|
if(state && state->human && timer.isActive && !timer.isBattle && state->status == EPlayerStatus::INGAME)
|
|
|
{
|
|
|
+ // turn timers are only used if turn timer is non-zero
|
|
|
+ if (si->turnTimerInfo.turnTimer == 0)
|
|
|
+ return;
|
|
|
+
|
|
|
if(timerCountDown(timer.turnTimer, si->turnTimerInfo.turnTimer, player, waitTime))
|
|
|
return;
|
|
|
|
|
|
@@ -276,17 +280,21 @@ void TurnTimerHandler::onBattleLoop(const BattleID & battleID, int waitTime)
|
|
|
auto & timer = timers[player];
|
|
|
if(timer.isActive && timer.isBattle)
|
|
|
{
|
|
|
- if (timerCountDown(timer.unitTimer, si->turnTimerInfo.unitTimer, player, waitTime))
|
|
|
+ // in pvp battles, timers are only used if unit timer is non-zero
|
|
|
+ if(isPvpBattle(battleID) && si->turnTimerInfo.unitTimer == 0)
|
|
|
return;
|
|
|
|
|
|
- if (timerCountDown(timer.battleTimer, si->turnTimerInfo.battleTimer, player, waitTime))
|
|
|
- return;
|
|
|
+ if (timerCountDown(timer.unitTimer, si->turnTimerInfo.unitTimer, player, waitTime))
|
|
|
+ return;
|
|
|
|
|
|
- if (timerCountDown(timer.turnTimer, si->turnTimerInfo.turnTimer, player, waitTime))
|
|
|
- return;
|
|
|
+ if (timerCountDown(timer.battleTimer, si->turnTimerInfo.battleTimer, player, waitTime))
|
|
|
+ return;
|
|
|
|
|
|
- if (timerCountDown(timer.baseTimer, si->turnTimerInfo.baseTimer, player, waitTime))
|
|
|
- return;
|
|
|
+ if (timerCountDown(timer.turnTimer, si->turnTimerInfo.turnTimer, player, waitTime))
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (timerCountDown(timer.baseTimer, si->turnTimerInfo.baseTimer, player, waitTime))
|
|
|
+ return;
|
|
|
|
|
|
if(isPvpBattle(battleID))
|
|
|
{
|