Aka Altar Ego May 2026

// tiny floating effect (simple) function playFloatingText(msg) const flame = document.getElementById("clickFlame"); const span = document.createElement("div"); span.innerText = msg; span.style.position = "fixed"; span.style.left = "50%"; span.style.bottom = "40%"; span.style.transform = "translateX(-50%)"; span.style.background = "#000000aa"; span.style.color = "#ffd58c"; span.style.padding = "6px 16px"; span.style.borderRadius = "40px"; span.style.fontSize = "0.9rem"; span.style.backdropFilter = "blur(8px)"; span.style.zIndex = "999"; span.style.pointerEvents = "none"; span.style.transition = "opacity 1s ease, transform 0.8s"; document.body.appendChild(span); setTimeout(() => span.style.opacity = "0"; span.style.transform = "translateX(-50%) translateY(-40px)"; setTimeout(() => span.remove(), 1000); , 50);

// Update UI numbers on stats panel function updateStatsUI() document.getElementById("clickPowerStat").innerText = clickBase; document.getElementById("autoStat").innerText = autoPerSecond.toFixed(1); document.getElementById("critStat").innerText = critPercent + "%"; aka altar ego

// initial setup function init() loadGame(); bindEvents(); startAutoGeneration(); refreshGlobalBonuses(); renderEgoCards(); updateEssenceUI(); const span = document.createElement("div")

// Helper to compute effective cost for an ego function getDiscountedCost(originalCost) if (discountPercent <= 0) return originalCost; let discount = Math.floor(originalCost * (discountPercent / 100)); let finalCost = originalCost - discount; return Math.max(1, finalCost); span.innerText = msg

// start auto interval function startAutoGeneration() if (gameInterval) clearInterval(gameInterval); gameInterval = setInterval(() => passiveTick(); , 1000);

EGOS.forEach(ego => if (!ego.unlocked) return; if (ego.baseBonus.clickGain) clickBase += ego.baseBonus.clickGain; if (ego.baseBonus.autoGen) autoPerSecond += ego.baseBonus.autoGen; if (ego.baseBonus.critChance) critPercent += ego.baseBonus.critChance; if (ego.baseBonus.discountPercent) discountPercent += ego.baseBonus.discountPercent; ); // cap crit at 60% for fun if (critPercent > 60) critPercent = 60; if (discountPercent > 50) discountPercent = 50; updateStatsUI();