Core/Quests: Reset seasonal quests based on saved completion time and intended holiday start time

This commit is contained in:
Shauren authored and Ovahlord committed 2022-12-24 23:56:06 +01:00
1 parent e7f8a0e086
commit 3ae02de71b
9 files changed
+63 -22

No files matched your search

+3 -2
View File
@@ -3513,17 +3513,18 @@ void World::SetPlayerSecurityLimit(AccountTypes _sec)
KickAllLess(m_allowedSecurityLevel);
}
void World::ResetEventSeasonalQuests(uint16 event_id)
void World::ResetEventSeasonalQuests(uint16 event_id, time_t eventStartTime)
{
TC_LOG_INFO("misc", "Seasonal quests reset for all characters.");
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_SEASONAL_BY_EVENT);
stmt->setUInt16(0, event_id);
stmt->setInt64(1, eventStartTime);
CharacterDatabase.Execute(stmt);
for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
if (itr->second->GetPlayer())
itr->second->GetPlayer()->ResetSeasonalQuestStatus(event_id);
itr->second->GetPlayer()->ResetSeasonalQuestStatus(event_id, eventStartTime);
}
void World::ResetRandomBG()
+2 -2
View File
@@ -787,8 +787,8 @@ class TC_GAME_API World
void UpdateAreaDependentAuras();
uint32 GetCleaningFlags() const { return m_CleaningFlags; }
void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; }
void ResetEventSeasonalQuests(uint16 event_id);
void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; }
void ResetEventSeasonalQuests(uint16 event_id, time_t eventStartTime);
void ReloadRBAC();