
WeeklyTimerFix
Syncs weekly overtime, incursion, amalgamation, and cranius timers onto the same Mycopunk week clock.WeeklyTimerFix
Client-side bugfix that puts Weekly Overtime on the same week timer as Incursion, Amalgamation Hunt, Cranius / Ground Zero, and other ResetWeekly missions — and optionally unifies the overtime seed too.
The problem
Mycopunk has several “weekly” systems that were meant to share one reset, but the code used different epoch anchors:
| System | Vanilla clock |
|---|---|
| Incursion floor rewards | Global.CurrentWeek from MycopunkStartSeconds (Thu 17:00 UTC) |
| Cranius / Ground Zero | same CurrentWeek |
Missions with ResetWeekly |
MycopunkStartSeconds + (CurrentWeek + 1) * 604800 |
| Overtime timer | authored weekData[].startTime, then free-run from the last entry |
| Overtime seed (post-table) | Thursday_1975_06_05 grid (Thu 00:00 UTC) |
After the overtime weekData table ran out (or if its phase never matched launch), overtime’s countdown drifted from every other weekly while still looking “weekly.”
What this mod does
WeeklyOvertimeAssignment.GetResetDateTime— always returns the next Mycopunk week boundary (Global.MycopunkStartSeconds + (CurrentWeek + 1) * SecondsPerWeek), identical toMission.GetResetDateTimeforResetWeeklycontent. Always on.- Granular weekly countdowns on mission select buttons — vanilla only showed coarse days; the mod shows exact remaining time (
3d 14:22:05,14:22:05, or5:03). Always on. - Optional unified overtime seed (
Use Unified Overtime Seed, default off):- Off (default): vanilla
GetMissionSeed/weekData— overtime mission roll matches unmodded clients. - On: seed from the Mycopunk week boundary (squirrel hash salt
47832154) and clear legacyweekDataso content uses the modernCurrentWeekpath. Prefer this if you want overtime content phase-locked to the same clock as the timer.
- Off (default): vanilla
Config
BepInEx/config/sparroh.weeklytimerfix.cfg (live-reloads on save):
| Entry | Default | Meaning |
|---|---|---|
General → Use Unified Overtime Seed |
false |
Use Mycopunk-week overtime seed/content instead of vanilla |
Turning unified seed off after it was on in the same session cannot restore cleared weekData without a restart — restart the game if you need full vanilla overtime content again.
Notes
- Client-side. Timer/display fixes are local. For lobbies, hosts and clients should agree on
Use Unified Overtime Seedif that option is enabled (it changes overtime identity vs stock). - No UI-lib dependency.
Dependencies
- Mycopunk
- BepInEx (Mycopunk pack, e.g. 5.4.2403)
Building
dotnet build --configuration Release
Output:
bin/Release/netstandard2.1/WeeklyTimerFix.dll
License
MIT — see LICENSE.