feat: More bonus (exponential) and method to list icons needed

This commit is contained in:
gauvainboiche
2026-10-08 14:20:58 +02:00
parent fc0d5e3ba4
commit a88b8f5f14
25 changed files with 977 additions and 40 deletions
+7 -1
View File
@@ -12,6 +12,7 @@ import {
setPrice,
simulateOffline,
} from './engine/engine.js';
import { buyEndless } from './engine/endless.js';
import { buyChip, buyReliability, gamble } from './engine/gamble.js';
import { buyShares, sellShares } from './engine/investments.js';
import { buyPerk, prestige } from './engine/legacy.js';
@@ -34,6 +35,7 @@ import { applyThemeStyles } from './services/themes.js';
import { createAchievementsView } from './ui/achievementsView.js';
import { createContractsView } from './ui/contractsView.js';
import { $, refreshStaticIcons, setThemeAssets } from './ui/dom.js';
import { createEndlessView } from './ui/endlessView.js';
import { createGambleView } from './ui/gambleView.js';
import { createInvestView } from './ui/investView.js';
import { createLegacyView } from './ui/legacyView.js';
@@ -137,6 +139,7 @@ async function refreshTexts() {
applyTranslations();
document.title = t('theme.title');
view.rebuild(ctx, fmt);
endless.rebuild(ctx, fmt);
for (const screen of Object.values(screens)) screen.rebuild(ctx, fmt);
tabs.rebuild();
refreshStaticIcons();
@@ -212,7 +215,8 @@ function render() {
const d = derive(state, ctx);
view.update(state, d, { income });
tabs.update(state);
if (tabs.active !== 'main') screens[tabs.active]?.update(state, d);
if (tabs.active === 'main') endless.update(state);
else screens[tabs.active]?.update(state, d);
}
// ------------------------------------------------------------------- actions
@@ -232,6 +236,8 @@ const view = createView({
nudgePrice: (delta) => act(setPrice)(state.price + delta),
});
const endless = createEndlessView($('#endless'), { buy: act(buyEndless) });
function restart() {
if (!confirm(t('legacy.confirm'))) return;
const gain = prestige(state, ctx);