diff --git a/Frontend/src/components/CockpitHeader.tsx b/Frontend/src/components/CockpitHeader.tsx index 44884b3..fe6e465 100644 --- a/Frontend/src/components/CockpitHeader.tsx +++ b/Frontend/src/components/CockpitHeader.tsx @@ -2,11 +2,13 @@ import { useGameStore } from "../store/useGameStore"; import { formatNumber } from "../utils/formatNumber"; +import { getClickGain } from "../core/economy"; export function CockpitHeader() { const productionPerSecond = useGameStore((s) => s.productionPerSecond); - const { clickMultiplier, prestigeMultiplier, ancestralDna, prestigeCount } = - useGameStore((s) => s.state); + const state = useGameStore((s) => s.state); + const { prestigeMultiplier, ancestralDna, prestigeCount } = state; + const clickGain = getClickGain(state); return (
@@ -18,7 +20,7 @@ export function CockpitHeader() {
Ponte - x{clickMultiplier} + {formatNumber(clickGain)}
Mult diff --git a/Frontend/src/core/economy.ts b/Frontend/src/core/economy.ts index d37a3d4..bb792fc 100644 --- a/Frontend/src/core/economy.ts +++ b/Frontend/src/core/economy.ts @@ -129,10 +129,15 @@ export function applyIdleGains(state: GameState, now: number): GameState { }; } +// Gain réel par clic (pour affichage particule) +export function getClickGain(state: GameState): number { + const treeClickMult = getClickMultiplierFromTree(state.evolutionTree); + return state.clickMultiplier * state.prestigeMultiplier * treeClickMult; +} + // Clic manuel export function applyClick(state: GameState): GameState { - const treeClickMult = getClickMultiplierFromTree(state.evolutionTree); - const gain = state.clickMultiplier * state.prestigeMultiplier * treeClickMult; + const gain = getClickGain(state); return { ...state, resources: state.resources + gain, diff --git a/Frontend/src/pages/Home.jsx b/Frontend/src/pages/Home.jsx index 32c3068..a457638 100755 --- a/Frontend/src/pages/Home.jsx +++ b/Frontend/src/pages/Home.jsx @@ -4,6 +4,7 @@ import { useEffect, useCallback } from "react"; import { useGameStore } from "../store/useGameStore"; import { formatNumber } from "../utils/formatNumber"; +import { getClickGain } from "../core/economy"; import { GeneratorShop } from "../components/GeneratorShop"; import { PrestigePanel } from "../components/PrestigePanel"; import { EvolutionTree } from "../components/EvolutionTree"; @@ -17,19 +18,20 @@ export default function Home() { const [toggleRain] = useOutletContext(); const click = useGameStore((s) => s.click); const resources = useGameStore((s) => s.state.resources); - const clickMultiplier = useGameStore((s) => s.state.clickMultiplier); + const state = useGameStore((s) => s.state); + const clickGain = getClickGain(state); const createParticle = useCallback((clientX, clientY) => { const particle = document.createElement("span"); particle.className = "click-particle"; - particle.textContent = `+${formatNumber(clickMultiplier)}`; + particle.textContent = `+${formatNumber(clickGain)}`; particle.style.left = `${clientX}px`; particle.style.top = `${clientY}px`; document.body.appendChild(particle); setTimeout(() => { if (particle.parentNode) particle.parentNode.removeChild(particle); }, 800); - }, [clickMultiplier]); + }, [clickGain]); const handleIncrement = useCallback((e) => { click();