Mycopunk
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
2 weeks ago
Downloads
24
Size
28KB

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

  1. WeeklyOvertimeAssignment.GetResetDateTime — always returns the next Mycopunk week boundary (Global.MycopunkStartSeconds + (CurrentWeek + 1) * SecondsPerWeek), identical to Mission.GetResetDateTime for ResetWeekly content. Always on.
  2. 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.
  3. 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
GeneralUse 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.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.