export interface GameState { totalClicks: number; users: Record; // Added bonusMultiplier upgrades: Record; milestones: Record; clickMultiplier: number; autoClickRate: number; currentBackground: string; currentClickImage: string; } export interface Upgrade { id: string; name: string; description: string; baseCost: number; multiplier: number; clickBonus?: number; autoClickRate?: number; clickMultiplierBonus?: number; // New: for compounding click boosts from mascots icon: string; mascotTiers?: MascotTier[]; // New: for defining mascot tiers for friendBoost oneTime?: boolean; // New: Indicates if the upgrade is a one-time purchase newsTitles?: string[]; // New: Array of news titles for the news upgrade } export interface MascotTier { level: number; imageSrc: string; multiplier: number; rarity: number; // 0 to 1, 1 being most common } export interface ClickableMascot { // Renamed from Shoominion id: string; x: number; y: number; multiplierBonus: number; // The multiplier this specific mascot provides imageSrc: string; // New: Source for the mascot image } export interface Milestone { threshold: number; id: string; name: string; description: string; background: string; image: string; reward: string; }