import type { DispatchFailure, RepositionFailure, UpgradeFailure } from "@deadhead/sim"; /** Player-facing text for each sim validation reason. */ export const VALIDATION_MESSAGES: Record = { "ship-not-idle": "That ship is already flying.", "ship-not-at-origin": "That ship is not at the contract's pickup location.", "ship-in-shop": "That ship is in the upgrade shop until its work is done.", "pilot-resting": "That pilot is resting and cannot fly until their rest ends.", "pilot-not-idle": "That pilot is already flying.", "pilot-not-assigned": "That pilot is not assigned to that ship.", "over-capacity": "The cargo is too heavy for that ship.", "cannot-land": "That ship cannot land at the destination.", "out-of-range": "The destination is out of that ship's range right now.", "would-strand": "That ship couldn't fly anywhere else from the destination, so it would be stranded there.", "too-slow": "That ship can't make this Priority delivery's window.", "cargo-skill-too-low": "The pilot's cargo skill is too low for this contract.", "long-haul-too-low": "The pilot's Long Haul skill is too low for this distance.", "contract-expired": "This contract has expired.", "not-enough-fuel": "Not enough fuel on board for this leg. Refuel first.", "already-there": "The ship is already there.", "location-undiscovered": "You can only fly empty to places you have discovered.", }; /** Player-facing text for each upgrade refusal (CR-009). */ export const UPGRADE_MESSAGES: Record = { "tutorial-active": "Finish the company runs before upgrading ships.", "not-upgradable": "The company loaner can't be upgraded.", "ship-not-idle": "That ship is flying; upgrade it once it lands at an HQ.", "ship-in-shop": "That ship is already in the shop.", "not-at-hq": "Upgrades are installed at an HQ; bring the ship to one of your bays.", "upgrade-maxed": "That upgrade is already at its highest level.", "insufficient-funds": "Not enough credits for that upgrade.", };