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();