import type { OnboardingGoal, ScriptedTutorialContract, VeteranPilot } from "../schemas"; /** Special tutorial contracts by run (decision 0.5.33). */ export const scriptedTutorialContracts: ScriptedTutorialContract[] = [ { id: "unmarked-crates", run: 3, name: "Unmarked crates", cargoTypeId: "standard", payMultiplier: 2, flavorMessage: "Nobody asked what was inside. You got paid. Licensed hazardous-cargo pilots earn this kind of money every run.", }, ]; /** First-session goals, in the order they are shown (decision 0.5.34). Rewards are first guesses. */ /** * Halvorsen's last hire, who comes with the deal (decision 0.5.70): level 2, * one point already in Heavy Cargo, the rest unspent. */ export const veteranPilot: VeteranPilot = { name: "Rosa Kell", bio: "Halvorsen's pilot for twelve years.", level: 2, skills: { "heavy-cargo": 1 }, }; export const onboardingGoals: OnboardingGoal[] = [ { id: "first-own-delivery", title: "Deliver a contract with your own ship", condition: { kind: "own-ship-deliveries", count: 1 }, reward: 300, }, { id: "first-skill-point", title: "Spend your first skill point", condition: { kind: "skill-points-spent", count: 1 }, reward: 300, }, { id: "second-ship", title: "Buy a second ship", condition: { kind: "ships-owned", count: 2 }, reward: 1000, }, { // Replaces "Hire your first pilot" (CR-010): the veteran comes with the deal. id: "veteran-contract", title: `Fly a contract with ${veteranPilot.name}`, condition: { kind: "veteran-contracts", count: 1 }, reward: 1000, }, { id: "first-discovery", title: "Discover a new location", condition: { kind: "locations-discovered", count: 1 }, reward: 2000, }, { id: "loan-paid-off", title: "Pay off your loan", condition: { kind: "loan-paid-off" }, reward: 2500, }, ];