UNPKG

hathora-et-labora-game

Version:

Game logic reducer for Uwe Rosenberg's Ora et Labora

31 lines (30 loc) 2.64 kB
import { PlayerColor, Tile, BuildingEnum, Clergy, GameCommandConfigParams, ErectionEnum, StateReducer, Tableau } from '../types'; export declare const districtPrices: (config: GameCommandConfigParams) => number[]; export declare const plotPrices: (config: GameCommandConfigParams) => number[]; export declare const findBuildingWithoutOffset: (building: BuildingEnum) => (landscape: Tile[][]) => [number, number] | undefined; export declare const findBuilding: (landscape: Tile[][], landscapeOffset: number, building: BuildingEnum) => { row?: number; col?: number; }; export declare const findClergy: (clergy: Clergy[]) => (landscape: Tile[][]) => [number, number, Tile][]; export declare const makeLandscape: (color: PlayerColor) => Tile[][]; export declare const checkLandTypeMatches: (row: number, col: number, erection: ErectionEnum) => StateReducer; export declare const checkLandscapeFree: (row: number, col: number, toBuild: ErectionEnum) => StateReducer; export declare const getAdjacentOffsets: (col: number) => [number, number][]; export declare const checkCloisterAdjacencyPlayer: (row: number, col: number, building: ErectionEnum) => (player: Tableau) => Tableau | undefined; export declare const checkCloisterAdjacency: (row: number, col: number, building: ErectionEnum) => StateReducer; export declare const moveClergyToOwnBuilding: (building: BuildingEnum) => StateReducer; export declare const moveClergyToNeutralBuilding: (building: BuildingEnum, withPrior: boolean) => StateReducer; export declare const moveClergyInBonusRoundTo: (building: BuildingEnum) => StateReducer; export declare const occupiedBuildingsForPlayers: (list: readonly Tableau[]) => BuildingEnum[]; export declare const forestLocationsForCol: (rawCol: string, player: Tableau) => string[]; export declare const forestLocations: (player: Tableau) => string[]; export declare const moorLocationsForCol: (rawCol: string, player: Tableau) => string[]; export declare const moorLocations: (player: Tableau) => string[]; export declare const erectableLocationsCol: (erection: ErectionEnum, rawCol: string, player: Tableau) => string[]; export declare const erectableLocations: import("ts-toolbelt/out/Function/Curry").Curry<(erection: ErectionEnum, player: Tableau) => string[]>; export declare const LANDSCAPES: ErectionEnum[]; export declare const allVacantUsableBuildings: (landscape: Tile[][]) => BuildingEnum[]; export declare const allBuiltBuildings: (landscape: readonly Tile[][]) => BuildingEnum[]; export declare const allBuildingPoints: (landscape: Tile[][]) => number; export declare const allDwellingPoints: (landscape: Tile[][]) => number[];