aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/characters_database.sql3
-rw-r--r--sql/updates/characters/3.3.5/9999_99_99_99_characters.sql2
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp4
3 files changed, 7 insertions, 2 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index e824e6bee60..34db0502992 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -2622,7 +2622,8 @@ INSERT INTO `updates` VALUES
('2017_10_29_00_characters.sql','8CFC473E7E87E58C317A72016BF69E9050D3BC83','ARCHIVED','2017-04-19 00:07:40',25),
('2017_11_27_00_characters.sql','6FF1F84B8985ADFC7FF97F0BF8E53403CF13C320','ARCHIVED','2017-11-27 22:08:42',0),
('2018_01_13_00_characters.sql','E3C0DA9995BA71ED5A267294470CD03DC51862DD','ARCHIVED','2018-01-13 00:00:00',0),
-('2018_02_19_00_characters.sql','FE5C5F9B88F0791549DDE680942493781E2269E6','RELEASED','2018-02-18 19:49:38',0);
+('2018_02_19_00_characters.sql','FE5C5F9B88F0791549DDE680942493781E2269E6','RELEASED','2018-02-18 19:49:38',0),
+('9999_99_99_99_characters.sql','77264AB7BEF421C0A4BB81EEAFD0D8C1CBCA840F','RELEASED','2018-04-20 09:38:10',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/characters/3.3.5/9999_99_99_99_characters.sql b/sql/updates/characters/3.3.5/9999_99_99_99_characters.sql
new file mode 100644
index 00000000000..303a1dd9ffd
--- /dev/null
+++ b/sql/updates/characters/3.3.5/9999_99_99_99_characters.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `worldstates` SET `value`=UNIX_TIMESTAMP() WHERE `entry`=20001 AND `value` < UNIX_TIMESTAMP();
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index fe0ab0c4f2f..92136e4c27e 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -171,7 +171,9 @@ void BattlegroundMgr::Update(uint32 diff)
if (GameTime::GetGameTime() > m_NextAutoDistributionTime)
{
sArenaTeamMgr->DistributeArenaPoints();
- m_NextAutoDistributionTime = sWorld->getWorldState(WS_ARENA_DISTRIBUTION_TIME) + BATTLEGROUND_ARENA_POINT_DISTRIBUTION_DAY * sWorld->getIntConfig(CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS);
+
+ time_t arenaDistributionTime = sWorld->getWorldState(WS_ARENA_DISTRIBUTION_TIME) == 0 ? m_NextAutoDistributionTime : time_t(sWorld->getWorldState(WS_ARENA_DISTRIBUTION_TIME));
+ m_NextAutoDistributionTime = arenaDistributionTime + BATTLEGROUND_ARENA_POINT_DISTRIBUTION_DAY * sWorld->getIntConfig(CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS);
sWorld->setWorldState(WS_ARENA_DISTRIBUTION_TIME, uint64(m_NextAutoDistributionTime));
}
m_AutoDistributionTimeChecker = 600000; // check 10 minutes