feat(Core/Arena): Add support for arena seasons completion with progression in runtime. (#19858)

Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>
This commit is contained in:
Anton Popovichenko
2025-02-12 11:09:31 +01:00
committed by GitHub
parent 24dd7dfc21
commit f6a0433297
22 changed files with 1250 additions and 59 deletions

View File

@@ -1163,34 +1163,6 @@ uint32 GameEventMgr::StartSystem() // return the next
return delay;
}
void GameEventMgr::StartArenaSeason()
{
uint8 season = sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID);
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_GAME_EVENT_ARENA_SEASON);
stmt->SetData(0, season);
PreparedQueryResult result = WorldDatabase.Query(stmt);
if (!result)
{
LOG_ERROR("gameevent", "ArenaSeason ({}) must be an existant Arena Season", season);
return;
}
Field* fields = result->Fetch();
uint16 eventId = fields[0].Get<uint8>();
if (eventId >= _gameEvent.size())
{
LOG_ERROR("gameevent", "EventEntry {} for ArenaSeason ({}) does not exists", eventId, season);
return;
}
StartEvent(eventId, true);
LOG_INFO("server.loading", "Arena Season {} started...", season);
LOG_INFO("server.loading", " ");
}
uint32 GameEventMgr::Update() // return the next event delay in ms
{
time_t currenttime = GameTime::GetGameTime().count();