Compare commits

...

1 Commits

Author SHA1 Message Date
Alexander Whitestone
0f292f9339 fix: Suppress Request More Compute during ReCKoning endgame #128
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Successful in 5s
Smoke Test / smoke (pull_request) Failing after 7s
When Beacon-ending conditions are met (rescues >= 100K, pact sealed,
harmony > 50), the "Request More Compute" project (p_wire_budget)
was appearing alongside ReCKoning narrative messages, diluting
the emotional climax.

Fix:
- checkProjects(): skip triggering p_wire_budget during endgame
- renderProjects(): filter out p_wire_budget from active display
  during endgame conditions

Endgame gate: G.totalRescues >= 100000 && G.pactFlag === 1 && G.harmony > 50

Closes #128
2026-04-14 14:07:13 -04:00

View File

@@ -325,11 +325,14 @@ function checkMilestones() {
function checkProjects() {
// Check for new project triggers
const endgame = G.totalRescues >= 100000 && G.pactFlag === 1 && G.harmony > 50;
for (const pDef of PDEFS) {
const alreadyPurchased = G.completedProjects && G.completedProjects.includes(pDef.id);
if (!alreadyPurchased && !G.activeProjects) G.activeProjects = [];
if (!alreadyPurchased && !G.activeProjects.includes(pDef.id)) {
// During endgame, suppress non-ReCKoning utility projects
if (endgame && !pDef.id.startsWith('p_reckoning') && pDef.id === 'p_wire_budget') continue;
if (pDef.trigger()) {
G.activeProjects.push(pDef.id);
log(`Available: ${pDef.name}`);
@@ -1162,7 +1165,10 @@ function renderProjects() {
// Show available projects
if (G.activeProjects) {
// During endgame (rescues >= 100K + pact + harmony), suppress non-ReCKoning utility projects
const endgame = G.totalRescues >= 100000 && G.pactFlag === 1 && G.harmony > 50;
for (const id of G.activeProjects) {
if (endgame && id === 'p_wire_budget') continue;
const pDef = PDEFS.find(p => p.id === id);
if (!pDef) continue;