- Add patrol category rules: target selection (own system or faction neighbor via jump gates), deterministic waypoint route builder inside tether regions with anchor clearance and separation constraints, completable fallback for degenerate fields - Extend SideQuestState ledger with active slot, claimed marks, and per-contract route records (waypoints + visited indices); save/restore round-trips all new fields with invariant re-establishment - Wire GameScene seams: acceptSideQuest establishes the patrol route on the ledger; setActiveSideQuest / claimSideQuest manage the active slot and pay out exactly once; updatePatrol checks in waypoints per frame and completes the contract; _drawPatrolMarkers paints in-world beacons; patrolCompassTarget drives the yellow off-screen compass arrow (waypoint or gate) - JobBoardWindow walks the full door state machine: ACCEPT → SET PATROL ACTIVE → active plate → CLAIM REWARD → claimed plate, with destination and route-progress lines in the detail readout - Quests console side tab is now live: accepted contracts appear in questSnapshot with waypoint checklist, progress, reward, and claimable from the same CLAIM REWARD / SET PRIORITY doors as story quests - SurfaceScene exposes activateSurfaceJob / claimSurfaceJob and routes side ids through the existing claim/priority seams - Add capital-neutral-shop video + image assets; update landing.json to reference them - Update all headless tests (sidequests, jobboard, quests) to cover patrol target/route/ledger/scene-seam behavior |
||
|---|---|---|
| .. | ||
| characters | ||
| arid-land-01.mp4 | ||
| arid-land-02.mp4 | ||
| arid-land-03.mp4 | ||
| arid-shop-03.mp4 | ||
| arid-surface-01.mp4 | ||
| arid-surface-02.mp4 | ||
| arid-surface-03.mp4 | ||
| arid-takeoff-01.mp4 | ||
| arid-takeoff-02.mp4 | ||
| arid-takeoff-03.mp4 | ||
| build.mp4 | ||
| capital-bar-neutral.mp4 | ||
| capital-land-neutral.mp4 | ||
| capital-shop-neutral.mp4 | ||
| capital-surface-neutral.mp4 | ||
| capital-takeoff-neutral.mp4 | ||
| gasgiant-land-01.mp4 | ||
| gasgiant-land-02.mp4 | ||
| gasgiant-land-03.mp4 | ||
| gasgiant-shop-01.mp4 | ||
| gasgiant-shop-02.mp4 | ||
| gasgiant-shop-03.mp4 | ||
| gasgiant-surface-01.mp4 | ||
| gasgiant-surface-02.mp4 | ||
| gasgiant-surface-03.mp4 | ||
| gasgiant-takeoff-01.mp4 | ||
| gasgiant-takeoff-02.mp4 | ||
| gasgiant-takeoff-03.mp4 | ||
| ice-land-01.mp4 | ||
| ice-land-02.mp4 | ||
| ice-land-03.mp4 | ||
| ice-shop-01.mp4 | ||
| ice-shop-02.mp4 | ||
| ice-shop-03.mp4 | ||
| ice-surface-01.mp4 | ||
| ice-surface-02.mp4 | ||
| ice-surface-03.mp4 | ||
| ice-takeoff-01.mp4 | ||
| ice-takeoff-02.mp4 | ||
| ice-takeoff-03.mp4 | ||
| jobboard.mp4 | ||
| jump.mp4 | ||
| lava-land-01.mp4 | ||
| lava-land-02.mp4 | ||
| lava-land-03.mp4 | ||
| lava-shop-02.mp4 | ||
| lava-surface-01.mp4 | ||
| lava-surface-02.mp4 | ||
| lava-surface-03.mp4 | ||
| lava-takeoff-01.mp4 | ||
| lava-takeoff-02.mp4 | ||
| lava-takeoff-03.mp4 | ||
| map.mp4 | ||
| quests.mp4 | ||
| research-computer.mp4 | ||
| rocky-land-01.mp4 | ||
| rocky-land-02.mp4 | ||
| rocky-land-03.mp4 | ||
| rocky-shop-01.mp4 | ||
| rocky-shop-02.mp4 | ||
| rocky-shop-03.mp4 | ||
| rocky-surface-01.mp4 | ||
| rocky-surface-02.mp4 | ||
| rocky-surface-03.mp4 | ||
| rocky-takeoff-01.mp4 | ||
| rocky-takeoff-02.mp4 | ||
| rocky-takeoff-03.mp4 | ||
| ss-land-01.mp4 | ||
| ss-land-02.mp4 | ||
| ss-land-03.mp4 | ||
| ss-shop-01.mp4 | ||
| ss-shop-02.mp4 | ||
| ss-shop-03.mp4 | ||
| ss-surface-01.mp4 | ||
| ss-surface-02.mp4 | ||
| ss-surface-03.mp4 | ||
| ss-takeoff-01.mp4 | ||
| ss-takeoff-02.mp4 | ||
| ss-takeoff-03.mp4 | ||
| terran-land-01.mp4 | ||
| terran-land-02.mp4 | ||
| terran-land-03.mp4 | ||
| terran-shop-01.mp4 | ||
| terran-shop-02.mp4 | ||
| terran-shop-03.mp4 | ||
| terran-surface-01.mp4 | ||
| terran-surface-02.mp4 | ||
| terran-surface-03.mp4 | ||
| terran-takeoff-01.mp4 | ||
| terran-takeoff-02.mp4 | ||
| terran-takeoff-03.mp4 | ||