Expand description
Daily-board / weekly-set selection.
The daily board is a rotated subset of the authored daily pool: 8 quests per day picked by category quotas, ONLY from objectives whose feature is unlocked for this player (gate rule: never serve a quest the player cannot complete — the served board is fully doable at any chapter), in the size variant matching the player’s chapter band. Selection is a pure, deterministic function of (config, player, day index): the monolith calls it at state load and at the lazy daily reset; there is no stored board.
Code conventions (mirrored by the content generator):
daily.<category>.<objective>[.<band>] category ∈ combat|eco|prog|misc|meta
weekly.<objective>[.<band>]
Band-1 quests have no band suffix (same rule as loop_task.loop.<n>).
Constants§
Functions§
- daily_
board - Today’s daily board: quota-per-category rotation over the open pool,
deterministic in (player band/gates,
day_seed). Shortfall in one category is filled from the remaining open pool so the board reachesBOARD_SIZEwhenever enough objectives are open. - is_
board_ managed - Whether
tplparticipates in board/set selection at all. Templates WITHOUT adaily./weekly.code keep the legacy always-served behavior — deploy-order safety: until the coded content lands, boards fall back to the current static sets. - objective_
gate_ chapter - Chapter at which a quest’s OBJECTIVE becomes completable, derived from what the quest listens to — the objective’s events imply the feature it needs. Derivation (not a per-quest config field) keeps the map self-maintaining: a new quest on the same events inherits the right gate automatically.
- weekly_
set - This week’s weekly set: every gate-open objective in the band-matched variant (no rotation — the weekly pool IS the set).