// EvolutionTree.tsx — Arbre d'Évolution permanent (jamais reset) // Visible après le premier prestige (prestigeCount >= 1) import React from "react"; import { useGameStore } from "../store/useGameStore"; import { canBuyEvolutionNode } from "../core/economy"; import type { EvolutionNode } from "../core/economy"; const EFFECT_DESCRIPTIONS: Record string> = { click_multiplier: (v) => `x${v} puissance de Ponte`, production_multiplier: (v) => `x${v} production tous générateurs`, start_bonus: (v) => `+${v} têtards au début de chaque run`, unlock_generator: () => `Débloque le Lac Mystique dès le début`, achievement_scaling: (v) => `+${(v * 100).toFixed(0)}% production par succès`, }; function NodeCard({ node, canBuy, onBuy, }: { node: EvolutionNode; canBuy: boolean; onBuy: () => void; }) { return (
{node.name} {node.unlocked ? "Débloqué" : `${node.cost} ADN`}

{EFFECT_DESCRIPTIONS[node.effect](node.value)}

{!node.unlocked && ( )}
); } export function EvolutionTree() { const state = useGameStore((s) => s.state); const buyNode = useGameStore((s) => s.buyNode); const { evolutionTree, prestigeCount } = state; if (prestigeCount < 1) return null; return (

Arbre d'Évolution

{state.ancestralDna} ADN
{evolutionTree.map((node, index) => ( {index > 0 && (
|
)} buyNode(node.id)} />
))}
); }