feat: click panel breakdown + guide updated
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 20s
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 20s
ClickPanel in Production tab — full click breakdown: - Gain per click with formula (base × prestige × tree) - Double Ponte chance (+ how to unlock if not) - Crit Ponte chance (+ how to unlock if not) - Auto-Ponte rate + effective prod/s - Hint to invest in Ponte branch when no tree bonuses Guide updated with 11 sections: - Ponte (clic) section — breakdown, double/crit/auto explained - Generateurs section — effective prod, multi-buy, share bars - Prestige section — quadratic scaling formula explained - Arbre section — 3 branches + convergence detailed - Capstones section — all 3 + convergence alpha/omega
This commit is contained in:
83
Frontend/src/lib/components/ClickPanel.svelte
Normal file
83
Frontend/src/lib/components/ClickPanel.svelte
Normal file
@@ -0,0 +1,83 @@
|
||||
<script lang="ts">
|
||||
import { game } from '$lib/stores/game.svelte';
|
||||
import { getClickBreakdown } from '$lib/core/economy';
|
||||
import { formatNumber } from '$lib/utils/formatNumber';
|
||||
import CollapsiblePanel from './CollapsiblePanel.svelte';
|
||||
|
||||
let b = $derived(getClickBreakdown(game.state));
|
||||
</script>
|
||||
|
||||
<CollapsiblePanel title="Ponte (clic)" badge="{formatNumber(b.total)}/clic" accentClass="" defaultOpen={false}>
|
||||
<!-- Main click value -->
|
||||
<div class="gp-row gp-row--active">
|
||||
<div class="flex flex-col">
|
||||
<span class="gp-value">Gain par clic</span>
|
||||
<span class="gp-label">base {b.base} × prestige x{b.prestigeMult.toFixed(1)} × arbre x{b.treeMult.toFixed(1)}</span>
|
||||
</div>
|
||||
<span class="gp-value gp-accent-green text-lg!">{formatNumber(b.total)}</span>
|
||||
</div>
|
||||
|
||||
<!-- Double ponte -->
|
||||
<div class="gp-row {b.doubleChance > 0 ? 'gp-row--unlocked' : 'gp-row--locked'}">
|
||||
<div class="flex flex-col">
|
||||
<span class="gp-value text-[0.7rem]!">Double Ponte</span>
|
||||
<span class="gp-label">
|
||||
{#if b.doubleChance > 0}
|
||||
{(b.doubleChance * 100).toFixed(0)}% chance × 2 tetards
|
||||
{:else}
|
||||
Branche Ponte — "Double Ponte" (5 ADN)
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
{#if b.doubleChance > 0}
|
||||
<span class="gp-label gp-accent-purple">{(b.doubleChance * 100).toFixed(0)}%</span>
|
||||
{:else}
|
||||
<span class="gp-label">—</span>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<!-- Crit -->
|
||||
<div class="gp-row {b.critChance > 0 ? 'gp-row--unlocked' : 'gp-row--locked'}">
|
||||
<div class="flex flex-col">
|
||||
<span class="gp-value text-[0.7rem]!">Ponte Critique</span>
|
||||
<span class="gp-label">
|
||||
{#if b.critChance > 0}
|
||||
{(b.critChance * 100).toFixed(0)}% chance × 10 tetards
|
||||
{:else}
|
||||
Branche Ponte — "Ponte Critique" (20 ADN)
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
{#if b.critChance > 0}
|
||||
<span class="gp-label gp-accent-amber">{(b.critChance * 100).toFixed(0)}%</span>
|
||||
{:else}
|
||||
<span class="gp-label">—</span>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<!-- Auto-click -->
|
||||
<div class="gp-row {b.autoClicksPerSec > 0 ? 'gp-row--unlocked' : 'gp-row--locked'}">
|
||||
<div class="flex flex-col">
|
||||
<span class="gp-value text-[0.7rem]!">Auto-Ponte</span>
|
||||
<span class="gp-label">
|
||||
{#if b.autoClicksPerSec > 0}
|
||||
{b.autoClicksPerSec.toFixed(1)}/s × {formatNumber(b.total)} = {formatNumber(b.effectivePerSec)}/s
|
||||
{:else}
|
||||
Capstone Ponte — "Ponte Automatique" (200 ADN)
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
{#if b.autoClicksPerSec > 0}
|
||||
<span class="gp-label gp-accent-green">{formatNumber(b.effectivePerSec)}/s</span>
|
||||
{:else}
|
||||
<span class="gp-label">—</span>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<!-- How to boost hint -->
|
||||
{#if b.treeMult <= 1}
|
||||
<div class="text-center py-1">
|
||||
<span class="gp-label gp-accent-amber">Depense ton ADN dans la branche Ponte pour booster tes clics</span>
|
||||
</div>
|
||||
{/if}
|
||||
</CollapsiblePanel>
|
||||
Reference in New Issue
Block a user