UNPKG

@sillyal/dominion

Version:

Representation of Dominion, a deck-building card game created by Donald X. Vaccarino and published by Rio Grande Games.

214 lines (213 loc) 7.32 kB
export declare abstract class Card { readonly name: string; readonly cost: number; protected constructor(name: string, cost: number); abstract accept(visitor: CardVisitor): void; } export declare abstract class VictoryCard extends Card { readonly points: number; protected constructor(name: string, cost: number, points: number); } export declare class EstateCard extends VictoryCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Estate: EstateCard; export declare class DuchyCard extends VictoryCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Duchy: DuchyCard; export declare class ProvinceCard extends VictoryCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Province: ProvinceCard; export declare class CurseCard extends VictoryCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Curse: CurseCard; export declare class GardensCard extends VictoryCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Gardens: GardensCard; export declare function isVictoryCard(card: Card): card is VictoryCard; export declare abstract class TreasureCard extends Card { readonly coins: number; protected constructor(name: string, cost: number, coins: number); } export declare class CopperCard extends TreasureCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Copper: CopperCard; export declare class SilverCard extends TreasureCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Silver: SilverCard; export declare class GoldCard extends TreasureCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Gold: GoldCard; export declare function isTreasureCard(card: Card): card is TreasureCard; export declare abstract class ActionCard extends Card { } export declare class CellarCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Cellar: CellarCard; export declare class ChapelCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Chapel: ChapelCard; export declare class MoatCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Moat: MoatCard; export declare class HarbingerCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Harbinger: HarbingerCard; export declare class MerchantCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Merchant: MerchantCard; export declare class VassalCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Vassal: VassalCard; export declare class VillageCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Village: VillageCard; export declare class WorkshopCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Workshop: WorkshopCard; export declare class BureaucratCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Bureaucrat: BureaucratCard; export declare class MilitiaCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Militia: MilitiaCard; export declare class MoneylenderCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Moneylender: MoneylenderCard; export declare class PoachCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Poacher: PoachCard; export declare class RemodelCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Remodel: RemodelCard; export declare class SmithyCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Smithy: SmithyCard; export declare class ThroneRoomCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const ThroneRoom: ThroneRoomCard; export declare class BanditCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Bandit: BanditCard; export declare class FestivalCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Festival: FestivalCard; export declare class LaboratoryCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Laboratory: LaboratoryCard; export declare class LibraryCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Library: LibraryCard; export declare class MarketCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Market: MarketCard; export declare class MineCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Mine: MineCard; export declare class SentryCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Sentry: SentryCard; export declare class WitchCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Witch: WitchCard; export declare class ArtisanCard extends ActionCard { constructor(); accept(visitor: CardVisitor): void; } export declare const Artisan: ArtisanCard; export declare function isActionCard(card: Card): card is ActionCard; export interface CardVisitor { visitEstate(estate: EstateCard): void; visitDuchy(duchy: DuchyCard): void; visitProvince(province: ProvinceCard): void; visitCurse(curse: CurseCard): void; visitGardens(gardens: GardensCard): void; visitCopper(copper: CopperCard): void; visitSilver(silver: SilverCard): void; visitGold(gold: GoldCard): void; visitCellar(cellar: CellarCard): void; visitChapel(chapel: ChapelCard): void; visitMoat(moat: MoatCard): void; visitHarbinger(harbinger: HarbingerCard): void; visitMerchant(merchant: MerchantCard): void; visitVassal(vassal: VassalCard): void; visitVillage(village: VillageCard): void; visitWorkshop(workshop: WorkshopCard): void; visitBureaucrat(bureaucrat: BureaucratCard): void; visitMilitia(militia: MilitiaCard): void; visitMoneylender(moneylender: MoneylenderCard): void; visitPoacher(poacher: PoachCard): void; visitRemodel(remodel: RemodelCard): void; visitSmithy(smithy: SmithyCard): void; visitThroneRoom(throneRoom: ThroneRoomCard): void; visitBandit(bandit: BanditCard): void; visitFestival(festival: FestivalCard): void; visitLaboratory(laboratory: LaboratoryCard): void; visitLibrary(library: LibraryCard): void; visitMarket(market: MarketCard): void; visitMine(mine: MineCard): void; visitSentry(sentry: SentryCard): void; visitWitch(witch: WitchCard): void; visitArtisan(artisan: ArtisanCard): void; }