Fix bad use of worldstates table in last commit

--HG--
branch : trunk
This commit is contained in:
Spp
2010-04-15 10:18:38 +02:00
parent 8abcca0a06
commit 08785d63ab
5 changed files with 13 additions and 9 deletions
+5 -7
View File
@@ -2497,17 +2497,15 @@ void World::_UpdateRealmCharCount(QueryResult_AutoPtr resultCharCount, uint32 ac
}
void World::InitWeeklyQuestResetTime()
{
QueryResult_AutoPtr result = CharacterDatabase.Query("SELECT NextWeeklyQuestResetTime FROM worldstates");
if (!result)
{
time_t time = uint64(sWorld.getWorldState(WS_WEEKLY_QUEST_RESET_TIME));
if (!time)
{
m_NextWeeklyQuestReset = time_t(m_gameTime + WEEK);
CharacterDatabase.PExecute("INSERT INTO worldstates (NextWeeklyQuestResetTime) VALUES ('"UI64FMTD"')", uint64(m_NextWeeklyQuestReset));
sWorld.setWorldState(WS_WEEKLY_QUEST_RESET_TIME, uint64(m_NextWeeklyQuestReset));
}
else
{
m_NextWeeklyQuestReset = time_t((*result)[0].GetUInt64());
// move to just before if need
time_t cur = time(NULL);
if (m_NextWeeklyQuestReset < cur)
@@ -2580,7 +2578,7 @@ void World::ResetWeeklyQuests()
itr->second->GetPlayer()->ResetWeeklyQuestStatus();
m_NextWeeklyQuestReset = time_t(m_NextWeeklyQuestReset + WEEK);
CharacterDatabase.PExecute("UPDATE worldstates SET NextWeeklyQuestResetTime = '"UI64FMTD"'", uint64(m_NextWeeklyQuestReset));
sWorld.setWorldState(WS_WEEKLY_QUEST_RESET_TIME, uint64(m_NextWeeklyQuestReset));
}
void World::SetPlayerLimit(int32 limit, bool needUpdate)
+5
View File
@@ -413,6 +413,11 @@ enum RealmZone
REALM_ZONE_CN5_8 = 37 // basic-Latin at create, any at login
};
enum WorldStates
{
WS_WEEKLY_QUEST_RESET_TIME = 20002 // Next weekly reset time
};
// DB scripting commands
#define SCRIPT_COMMAND_TALK 0 // source = unit, target=any, datalong (0=say, 1=whisper, 2=yell, 3=emote text, 4=boss emote text)
#define SCRIPT_COMMAND_EMOTE 1 // source = unit, datalong = anim_id