Configuration for a SohlTour. Mirrors Foundry's TourConfig with SoHL step extensions and an optional canStart predicate.

interface SohlTourConfig {
    canBeResumed?: boolean;
    canStart?: () => boolean;
    description?: string;
    display?: boolean;
    id: string;
    localization?: Record<string, string>;
    namespace: string;
    restricted?: boolean;
    seedRng?: string | number | number[];
    steps: SohlTourStep[];
    suggestedNextTours?: string[];
    title: string;
}

Properties

canBeResumed?: boolean

Whether the tour resumes mid-way or always restarts.

canStart?: () => boolean

Optional eligibility predicate surfaced through SohlTour.canStart — e.g. only startable when a suitable actor exists. Defaults to always.

description?: string

Localized description.

display?: boolean

Whether to list the tour in Tour Management.

id: string

Machine id, unique within the namespace.

localization?: Record<string, string>

Extra localization entries merged into the i18n fallback.

namespace: string

The package namespace ("sohl").

restricted?: boolean

Whether the whole tour is GM-only.

seedRng?: string | number | number[]

When set, the tour runs in seeded-RNG mode: sohl.random is seeded with this value at tour start so its scripted rolls are reproducible across runs, and is guaranteed-restored on every exit path (completion, abort, Escape, navigation, or a mid-step error). Only a driven/railroaded tour (the Automated Combat tour) should use this — never a coach-and-wait tour, and never a play path. See the seeded-RNG lifecycle in the authoring guide.

steps: SohlTourStep[]

The ordered steps.

suggestedNextTours?: string[]

Namespaced tours suggested when this one completes.

title: string

Localized human-readable title.