35 lines
2.0 KiB
TypeScript
35 lines
2.0 KiB
TypeScript
import type { DispatchFailure, RepositionFailure, UpgradeFailure } from "@deadhead/sim";
|
|
|
|
/** Player-facing text for each sim validation reason. */
|
|
export const VALIDATION_MESSAGES: Record<DispatchFailure | RepositionFailure, string> = {
|
|
"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.",
|
|
"insufficient-credits": "Not enough credits for fuel.",
|
|
"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<UpgradeFailure, string> = {
|
|
"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.",
|
|
};
|