Skip to content

Add TARDIS homeward protocols - #2167

Open
Peter1169 wants to merge 2 commits into
amblelabs:mainfrom
Peter1169:feat/homeward-protocols
Open

Add TARDIS homeward protocols#2167
Peter1169 wants to merge 2 commits into
amblelabs:mainfrom
Peter1169:feat/homeward-protocols

Conversation

@Peter1169

Copy link
Copy Markdown
Contributor

About the PR

This adds automatic homeward and recovery protocols for unattended or inaccessible TARDISes. It is separated from #2166, which now only handles configuring and manually targeting a TARDIS home.

Automatic journeys only begin while the handbrake is disengaged and the TARDIS is outside its configured home area, unless the recovery exists specifically to restore an inaccessible exterior.

  • A TARDIS which runs out of fuel can use Emergency Power or wait while refuelling until it can return home.
  • Breaking into an unpowered TARDIS with an axe below PILOT loyalty can trigger an automatic Artron Dump and crash landing at home after the intruder enters.
  • Hail Mary now completes a full rescue flight, closes its doors before departure and can return home after the rescued player enters.
    • Optional fall and void rescue materializes at the player's position, enables antigravity and pulls them towards the exterior.
    • The original animations, alarm persistence and autopilot state are restored after the rescue.
  • An empty TARDIS abandoned in the Nether by a passenger below PILOT loyalty can return home after a short randomized delay.
  • An empty TARDIS can flee tagged bosses, refuel at home and return after the original location has remained safe for 60 seconds.
  • A Ghost Monument TARDIS left unattended outside its home area returns to its exact home without consuming fuel.
  • A TARDIS left in siege mode for 33 ingame hours can relocate its siege representation home while remaining in siege mode.
    • This supports placed siege blocks, item entities, player and block inventories, inventory-owning entities and nested container NBT.
  • A landed TARDIS whose interior still exists but whose exterior cannot be found restores the exterior at home.
  • Automatic landings use bounded safe-position searches with an exact-home fallback when no valid nearby position exists.

Why / Balance

These protocols prevent unusual states from making a TARDIS permanently inaccessible while preserving player control and normal travel costs.

The handbrake acts as the direct opt-out for applicable automatic movement. Entering a TARDIS cancels pending unattended recovery where player control should take priority. Accelerated journeys calculate their real cost before reducing flight time and still pay that cost on arrival; insufficient fuel leaves the TARDIS empty and powered down.

Nether returns, boss journeys and post-Hail-Mary returns use normal flight speed. Artron Dumps retain their own damage and crash consequences. Only Ghost Monument and missing-exterior recovery are fuel-free because they restore states which could otherwise strand the TARDIS.

Technical details

  • Added a persistent ReturnHomeHandler for recovery state, automatic travel, fuel recovery, Hail Mary state, threat tracking, siege relocation and missing-exterior restoration.
  • Added instant, normal, free, deferred-cost and Artron Dump travel modes.
  • Automatic travel forces autopilot and suppresses random gameplay flight sequences while preserving lifecycle events used by existing integrations.
  • State is serialized and safely resumed or cancelled after reload.
  • Landing searches are bounded and use request identities so stale asynchronous callbacks cannot materialize a TARDIS twice.
  • Dormant TARDIS audits are staggered and release cold-loaded instances after their recovery state has been checked and persisted.
  • Boss checks temporarily ticket only the required chunks and release those tickets after completion or cancellation.
  • Siege inventory traversal has explicit recursion and node limits, validates locator hints before mutation and uses rollback to prevent item loss or duplication.
  • Added generated English and Spanish text for every new status, configuration option and Handles response.

Media

N/A

Requirements

Breaking changes

N/A

Changelog
🆑

  • feat: Unattended TARDISes can now use configurable homeward protocols when they run out of fuel, are abandoned in the Nether, encounter a boss or remain in Ghost Monument or siege mode for too long.
  • feat: Hail Mary now performs a complete rescue flight and can return the rescued player to the TARDIS home, with an optional fall and void rescue.
  • fix: Missing TARDIS exteriors can now be restored at their configured home instead of leaving the TARDIS inaccessible.
  • tweak: Automatic journeys retain their calculated AU cost when accelerated and use bounded landing searches with a safe exact-home fallback.

@github-actions github-actions Bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. A: Datagen Area: Datagen implementation & API. A: Tardis Components Area: Tardis components & manager. A: Console Area: Tardis console. labels Jul 31, 2026
@Peter1169
Peter1169 marked this pull request as ready for review July 31, 2026 19:31
@Peter1169
Peter1169 requested a review from a team as a code owner July 31, 2026 19:31
@github-actions github-actions Bot added the S: Needs Review Status: Requires additional reviews before being fully accepted. label Jul 31, 2026
@Peter1169 Peter1169 mentioned this pull request Jul 31, 2026
2 tasks
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted. label Aug 5, 2026
@github-actions github-actions Bot added size/XL Denotes a PR that changes 5000+ lines. and removed S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted. labels Aug 5, 2026
@GSMPBot
GSMPBot requested a review from drtheodor August 5, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A: Console Area: Tardis console. A: Datagen Area: Datagen implementation & API. A: Tardis Components Area: Tardis components & manager. S: Needs Review Status: Requires additional reviews before being fully accepted. S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/XL Denotes a PR that changes 5000+ lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant