Progress bar and steps while generating, loading, opening claims and travelling; saving chip (t30)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+8
-4
@@ -82,11 +82,13 @@ async function openNewClaim() {
|
||||
carried.money -= 5000;
|
||||
let seed; do { seed = Math.floor(Math.random() * 900000) + 100000; } while (seed === worldSeed);
|
||||
const name = claimName(seed, (await listWorlds()).map(w => w.name));
|
||||
await setupNewWorld(seed, w, h, name, carried);
|
||||
await setupNewWorld(seed, w, h, name, carried, 'Opening a new claim');
|
||||
debt = CLAIM_DEBT * 2 ** (n - 1);
|
||||
career = { ...career, claims: [...career.claims, GAME.worldId], claimNo: n };
|
||||
GAME.claimNo = n;
|
||||
showLoading(true, 0.9, 'Saving');
|
||||
if (!await saveWorld('auto', true)) throw new Error('Save failed');
|
||||
showLoading(true, 1, 'Saving');
|
||||
showLoading(false); closeAllModals(); enterGame();
|
||||
showCard({ kind: 'New claim', title: name, body: [`Claim ${n}. You owe ${fmtMoney(debt)} on this claim. Your money, bag, upgrades and what you’ve learned came along. Buildings stayed on the old claim.`], hold: 1.8 });
|
||||
return true;
|
||||
@@ -105,12 +107,14 @@ async function travel(worldId) {
|
||||
try {
|
||||
const entry = (await listWorlds()).find(w => w.id === worldId);
|
||||
if (!entry || entry.career !== GAME.careerId) return false;
|
||||
const progress = (f, s) => showLoading(true, f, s, 'Travelling to ' + entry.name);
|
||||
progress(0, 'Saving');
|
||||
if (!await saveWorld('main', true)) throw new Error('Save failed');
|
||||
const sv = await worldNewest(worldId);
|
||||
if (!sv || !await startFromSave(sv)) return false;
|
||||
const sv = await worldNewest(worldId, progress);
|
||||
if (!sv || !await startFromSave(sv, progress)) return false;
|
||||
closeAllModals(); arrived = true; return true;
|
||||
} catch (e) { toast('Could not travel. Check browser storage and try again.'); return false; }
|
||||
finally { claimBusy = false; if (!arrived) GAME.paused = paused; }
|
||||
finally { showLoading(false); claimBusy = false; if (!arrived) GAME.paused = paused; }
|
||||
}
|
||||
async function renderClaimsTab(body) {
|
||||
body.innerHTML = '<p class=note>Loading claims…</p>';
|
||||
|
||||
Reference in New Issue
Block a user