fix(Scripts/WorldState): defeated scourge zone invasions not restarting after a defeat (#22783)

This commit is contained in:
Jelle Meeus
2025-09-03 16:20:04 -07:00
committed by GitHub
parent 599d206584
commit 1e29c31b07

View File

@@ -1072,8 +1072,8 @@ std::string WorldState::GetScourgeInvasionPrintout()
{ {
TimePoint tp = m_siData.m_timers[timerId]; TimePoint tp = m_siData.m_timers[timerId];
std::string timerStr; std::string timerStr;
if (tp.time_since_epoch().count() == 0) if (tp == TimePoint())
timerStr = "0 (not set)"; timerStr = "Not set";
else if (tp <= now) else if (tp <= now)
timerStr = "Elapsed"; timerStr = "Elapsed";
else else
@@ -1420,10 +1420,15 @@ void ScourgeInvasionData::Reset()
std::string ScourgeInvasionData::GetData() std::string ScourgeInvasionData::GetData()
{ {
std::string output = std::to_string(m_state) + " "; std::string output = std::to_string(m_state) + " ";
for (auto& timer : m_timers) for (TimePoint& timer : m_timers)
output += std::to_string(timer.time_since_epoch().count()) + " "; {
if (timer == TimePoint())
output += "0 ";
else
output += std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(timer.time_since_epoch()).count()) + " ";
}
output += std::to_string(m_battlesWon) + " " + std::to_string(m_lastAttackZone) + " "; output += std::to_string(m_battlesWon) + " " + std::to_string(m_lastAttackZone) + " ";
for (auto& remaining : m_remaining) for (uint32& remaining : m_remaining)
output += std::to_string(remaining) + " "; output += std::to_string(remaining) + " ";
return output; return output;
} }