Core/Battlegrounds: Stop arena matches after 45 minutes of no win/loss candidate, and deduct 16 points from each team (blizzlike) - Thanks to Alez

Closes issue 2017

--HG--
branch : trunk
This commit is contained in:
click
2010-12-02 22:25:32 +01:00
parent 94fd1487d0
commit 2338eae0ff
7 changed files with 53 additions and 10 deletions
@@ -48,10 +48,14 @@ void BattlegroundBE::Update(uint32 diff)
{
Battleground::Update(diff);
/*if (GetStatus() == STATUS_IN_PROGRESS)
if (GetStatus() == STATUS_IN_PROGRESS)
{
// update something
}*/
if (GetStartTime() >= 47*MINUTE*IN_MILLISECONDS) // after 47 minutes without one team losing, the arena closes with no winner and no rating change
{
UpdateArenaWorldState();
CheckArenaAfterTimerConditions();
}
}
}
void BattlegroundBE::StartingEventCloseDoors()
@@ -47,6 +47,16 @@ BattlegroundDS::~BattlegroundDS()
void BattlegroundDS::Update(uint32 diff)
{
Battleground::Update(diff);
if (GetStatus() == STATUS_IN_PROGRESS)
{
if (GetStartTime() >= 47*MINUTE*IN_MILLISECONDS) // after 47 minutes without one team losing, the arena closes with no winner and no rating change
{
UpdateArenaWorldState();
CheckArenaAfterTimerConditions();
}
}
if (getWaterFallTimer() < diff)
{
if (isWaterFallActive())
@@ -48,10 +48,14 @@ void BattlegroundNA::Update(uint32 diff)
{
Battleground::Update(diff);
/*if (GetStatus() == STATUS_IN_PROGRESS)
if (GetStatus() == STATUS_IN_PROGRESS)
{
// update something
}*/
if (GetStartTime() >= 47*MINUTE*IN_MILLISECONDS) // after 47 minutes without one team losing, the arena closes with no winner and no rating change
{
UpdateArenaWorldState();
CheckArenaAfterTimerConditions();
}
}
}
void BattlegroundNA::StartingEventCloseDoors()
@@ -48,10 +48,14 @@ void BattlegroundRL::Update(uint32 diff)
{
Battleground::Update(diff);
/*if (GetStatus() == STATUS_IN_PROGRESS)
if (GetStatus() == STATUS_IN_PROGRESS)
{
// update something
}*/
if (GetStartTime() >= 47*MINUTE*IN_MILLISECONDS) // after 47 minutes without one team losing, the arena closes with no winner and no rating change
{
UpdateArenaWorldState();
CheckArenaAfterTimerConditions();
}
}
}
void BattlegroundRL::StartingEventCloseDoors()
@@ -48,6 +48,15 @@ void BattlegroundRV::Update(uint32 diff)
{
Battleground::Update(diff);
if (GetStatus() == STATUS_IN_PROGRESS)
{
if (GetStartTime() >= 47*MINUTE*IN_MILLISECONDS) // after 47 minutes without one team losing, the arena closes with no winner and no rating change
{
UpdateArenaWorldState();
CheckArenaAfterTimerConditions();
}
}
if (getTimer() < diff)
{
uint32 i;