src/types.ts (view raw)
1export type UpgradeType = 'clickValue' | 'passive' | 'autoClick';
2
3export interface Upgrade {
4 id: string;
5 name: string;
6 description: string;
7 type: UpgradeType;
8 level: number;
9 maxLevel?: number;
10 value: number;
11 baseValue: number;
12 cost: number;
13 baseCost: number;
14 costMultiplier: number;
15 icon: string;
16}
17
18export interface PrestigeUpgrade {
19 id: string;
20 name: string;
21 description: string;
22 cost: number;
23 multiplierBonus: number;
24 purchased: boolean;
25 icon: string;
26}
27
28export interface GameState {
29 currency: number;
30 totalCurrency: number;
31 clickValue: number;
32 passiveIncome: number;
33 autoClickRate: number;
34 prestigePoints: number;
35 prestigeMultiplier: number;
36 lastSaveTime: number;
37 upgrades: Upgrade[];
38 prestigeUpgrades: PrestigeUpgrade[];
39}