deadhead-space-freight-tycoon/packages/content/src/data/onboarding.ts

67 lines
1.9 KiB
TypeScript

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,
},
];