UNPKG

@kitten-science/kitten-scientists

Version:

Add-on for the wonderful incremental browser game: https://kittensgame.com/web/

64 lines 2.43 kB
import type { AnyFunction } from "@oliversalzburg/js-utils/core.js"; import type { BuildingNotStackableBtnController, ButtonModernController, Panel, TabManager, UnsafeBuildingBtnModel, UnsafeButtonModel } from "./core.js"; import type { GamePage } from "./game.js"; import type { Perk, Price, Unlocks, UnsafeBuyItemResult, UnsafeMeta } from "./index.js"; export type PrestigeManager = TabManager<UnsafeMeta<UnsafePerk>> & { perks: Array<UnsafePerk>; game: GamePage; new (game: GamePage): PrestigeManager; resetState: () => void; save: (saveData: unknown) => void; load: (saveData: unknown) => void; update: () => void; getPerk: (name: string) => UnsafePerk; getSpentParagon: () => number; getParagonRatio: () => number; getBurnedParagonRatio: () => number; getParagonProductionRatio: () => number; getParagonStorageRatio: () => number; unlockAll: () => void; }; export type PrestigeBtnController = BuildingNotStackableBtnController & { getMetadata: <TButtonModel extends UnsafeBuildingBtnModel>(model: TButtonModel) => UnsafePerk; buyItem: (model: unknown, event: unknown) => UnsafeBuyItemResult; updateVisible: <TButtonModel extends UnsafeBuildingBtnModel>(model: TButtonModel) => void; }; export type BurnParagonBtnController = ButtonModernController & { updateVisible: <TButtonModel extends UnsafeButtonModel>(model: TButtonModel) => void; }; export type TurnHGOffButtonController = ButtonModernController & { updateVisible: <TButtonModel extends UnsafeButtonModel>(model: TButtonModel) => void; }; export type PrestigePanel = Panel & { game: null; new (): PrestigePanel; render: (container?: HTMLElement) => void; }; export type UnsafePerk = { name: Perk; label: string; description: string; prices: Array<Price>; unlocked: boolean; defaultUnlocked: boolean; researched: boolean; unlocks: Partial<Unlocks>; effects: Record<string, number>; }; export type UnsafeBurnParagonButtonOptions = { name: string; description: string; handler: AnyFunction; controller: BurnParagonBtnController; }; export type UnsafeTurnHGOffButtonOptions = { name: string; description: string; handler: AnyFunction; controller: TurnHGOffButtonController; }; export type UnsafePrestigeButtonOptions = { id: Perk; controller: PrestigeBtnController; }; //# sourceMappingURL=prestige.d.ts.map