WeeklyTimerFix
Syncs weekly overtime, incursion, amalgamation, and cranius timers onto the same Mycopunk week clock.
About this mod Author’s original text
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 to Mission.GetResetDateTime for ResetWeekly content. 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, or 5: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 legacy weekData so content uses the modern CurrentWeek path. Prefer this if you want overtime content phase-locked to the same clock as the timer.
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 Seed if 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.
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: