Shape of sohl.core.logic.SohlSystem.CONFIG — the system registration surface merged into Foundry's CONFIG. Member docs are intentionally terse; the authoritative detail lives on the referenced classes.

interface SohlConfig {
    ActiveEffect: DocumentConfig;
    Actor: DocumentConfig;
    Combat: DocumentConfig;
    Combatant: DocumentConfig;
    controlIcons: StrictObject<FilePath>;
    Item: DocumentConfig;
    Modifier: {
        CombatModifier: Constructor<sohl.entity.modifier.CombatModifier, any[]>;
        ImpactModifier: Constructor<sohl.entity.modifier.ImpactModifier, any[]>;
        MasteryLevelModifier: Constructor<
            sohl.entity.modifier.MasteryLevelModifier,
            any[],
        >;
        ValueModifier: Constructor<sohl.entity.modifier.ValueModifier, any[]>;
    };
    Result: {
        AttackResult: Constructor<sohl.entity.result.AttackResult, any[]>;
        CombatResult: Constructor<sohl.entity.result.CombatResult, any[]>;
        DefendResult: Constructor<sohl.entity.result.DefendResult, any[]>;
        ImpactResult: Constructor<sohl.entity.result.ImpactResult, any[]>;
        OpposedTestResult: Constructor<
            sohl.entity.result.OpposedTestResult,
            any[],
        >;
        SuccessTestResult: Constructor<
            sohl.entity.result.SuccessTestResult,
            any[],
        >;
    };
    Scene: DocumentConfig;
    SohlSystem: typeof SohlSystem;
    specialStatusEffects: StrictObject<string>;
    statusEffects: ConfigStatusEffect[];
    time: PlainObject;
}

Properties

ActiveEffect: DocumentConfig

Active-effect registration block.

Actor registration block.

Combat registration block.

Combatant: DocumentConfig

Combatant registration block.

controlIcons: StrictObject<FilePath>

Control-icon overrides keyed by role.

Item registration block.

Modifier: {
    CombatModifier: Constructor<sohl.entity.modifier.CombatModifier, any[]>;
    ImpactModifier: Constructor<sohl.entity.modifier.ImpactModifier, any[]>;
    MasteryLevelModifier: Constructor<
        sohl.entity.modifier.MasteryLevelModifier,
        any[],
    >;
    ValueModifier: Constructor<sohl.entity.modifier.ValueModifier, any[]>;
}

Modifier class registry.

Type declaration

Result: {
    AttackResult: Constructor<sohl.entity.result.AttackResult, any[]>;
    CombatResult: Constructor<sohl.entity.result.CombatResult, any[]>;
    DefendResult: Constructor<sohl.entity.result.DefendResult, any[]>;
    ImpactResult: Constructor<sohl.entity.result.ImpactResult, any[]>;
    OpposedTestResult: Constructor<sohl.entity.result.OpposedTestResult, any[]>;
    SuccessTestResult: Constructor<sohl.entity.result.SuccessTestResult, any[]>;
}

Test/result class registry.

Type declaration

Scene registration block.

SohlSystem: typeof SohlSystem

Central system class

specialStatusEffects: StrictObject<string>

Mapping of special status-effect roles to status ids.

statusEffects: ConfigStatusEffect[]

Status effects merged into CONFIG.statusEffects.

time: PlainObject

World-time / calendar configuration.