hathora-et-labora-game
Version:
Game logic reducer for Uwe Rosenberg's Ora et Labora
31 lines (30 loc) • 2.64 kB
TypeScript
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[];