Interface VariantJSON

This is similar to Variant, but it only has primitive types.

interface VariantJSON {
    alternatingClues?: boolean;
    chimneys?: boolean;
    clueColors?: readonly string[];
    clueRanks?: readonly (1 | 2 | 3 | 4 | 5)[];
    clueStarved?: boolean;
    colorCluesTouchNothing?: boolean;
    cowAndPig?: boolean;
    criticalRank?: 7 | 3 | 1 | 2 | 4 | 5;
    duck?: boolean;
    funnels?: boolean;
    id: number;
    name: string;
    newID: string;
    oddsAndEvens?: boolean;
    rankCluesTouchNothing?: boolean;
    specialRank?: 7 | 3 | 1 | 2 | 4 | 5;
    specialRankAllClueColors?: boolean;
    specialRankAllClueRanks?: boolean;
    specialRankDeceptive?: boolean;
    specialRankNoClueColors?: boolean;
    specialRankNoClueRanks?: boolean;
    stackSize?: 3 | 1 | 2 | 4 | 5;
    sudoku?: boolean;
    suits: readonly string[];
    synesthesia?: boolean;
    throwItInAHole?: boolean;
    upOrDown?: boolean;
}

Hierarchy (View Summary)

Properties

alternatingClues?: boolean
chimneys?: boolean
clueColors?: readonly string[]
clueRanks?: readonly (1 | 2 | 3 | 4 | 5)[]
clueStarved?: boolean
colorCluesTouchNothing?: boolean
cowAndPig?: boolean
criticalRank?: 7 | 3 | 1 | 2 | 4 | 5
duck?: boolean
funnels?: boolean
id: number

A number from 0 to N. For example, "No Variant" is variant 0, "6 Suits" is variant 1, and so on. This is a legacy field; we want to transition to using a more descriptive string ID, which will allow for custom user-defined variants.

name: string
newID: string

A string that describes the variant. For example, "No Variant" is R+Y+G+B+P.

oddsAndEvens?: boolean
rankCluesTouchNothing?: boolean
specialRank?: 7 | 3 | 1 | 2 | 4 | 5
specialRankAllClueColors?: boolean
specialRankAllClueRanks?: boolean
specialRankDeceptive?: boolean
specialRankNoClueColors?: boolean
specialRankNoClueRanks?: boolean
stackSize?: 3 | 1 | 2 | 4 | 5
sudoku?: boolean
suits: readonly string[]
synesthesia?: boolean
throwItInAHole?: boolean
upOrDown?: boolean