Add freshness bar, enhance overlays and renderers
- Add enemy freshness tracking (novelty bonus for repeated deploys) - Add freshness bar to sidepanel enemy cards with penalty indicator - Major overhaul of renderer-overlays.js (790+ lines for UI polish) - Enhanced combat log, shop overlays, and inventory UI - Improved weapon/upgrade display with partial ownership colors - Added element icons and weakness/resistance indicators to cards - Enhanced radial menu and tooltip system - Add "stale/%" penalty text when freshness depleted - Update play link to ffazeshift.net in index.html
This commit is contained in:
+27
-6
@@ -14,7 +14,15 @@ function render() {
|
||||
// Blit cached background — O(1)
|
||||
ctx.drawImage(_bgCanvas, 0, 0);
|
||||
|
||||
drawArenaRangeLine(cx, cy); // faint dashed ring at tower range
|
||||
// World layer — apply camera zoom centred on tower
|
||||
const _zoom = G.camera?.zoom ?? 1.0;
|
||||
ctx.save();
|
||||
ctx.translate(cx, cy);
|
||||
ctx.scale(_zoom, _zoom);
|
||||
ctx.translate(-cx, -cy);
|
||||
|
||||
drawGrid(cx, cy);
|
||||
drawWeaponRanges(cx, cy); // alt-hold: per-weapon range rings
|
||||
drawPortals();
|
||||
drawAoeZones();
|
||||
drawEnemyTrails();
|
||||
@@ -22,14 +30,18 @@ function render() {
|
||||
drawProjectiles();
|
||||
drawChainArcs();
|
||||
drawBeams();
|
||||
drawFog(cx, cy); // dim beyond tower range
|
||||
drawTower(cx, cy);
|
||||
drawShield(cx, cy);
|
||||
drawParticles();
|
||||
drawFloaters();
|
||||
drawArenaMask(W, H, cx, cy); // solid dark outside arena circle
|
||||
drawArenaRing(cx, cy); // glowing border ring
|
||||
ctx.restore(); // end world layer
|
||||
|
||||
// Mask/ring/streak operate in screen space — drawn AFTER world transform
|
||||
drawArenaMask(W, H, cx, cy, _zoom);
|
||||
drawArenaRing(cx, cy, _zoom);
|
||||
drawStreak(cx, cy);
|
||||
|
||||
// UI layer — no camera transform
|
||||
clearHitRegions();
|
||||
_mountDropZones.length = 0;
|
||||
_bagDropZones.length = 0;
|
||||
@@ -38,9 +50,18 @@ function render() {
|
||||
drawBrokeWarning();
|
||||
drawSidePanel();
|
||||
drawInventoryOverlay();
|
||||
drawShopOverlay();
|
||||
drawCommandOverlay();
|
||||
drawArmoryOverlay();
|
||||
drawWeaponDetailOverlay();
|
||||
checkSellHold();
|
||||
checkPrestigeHold();
|
||||
drawThreatPanel();
|
||||
drawPrestigeConfirm();
|
||||
if (G.gameOver) drawGameOverPanel();
|
||||
drawPauseOverlay();
|
||||
|
||||
drawMountInteraction(cx, cy);
|
||||
drawDragGhost();
|
||||
|
||||
drawDragGhost(); // follows cursor — screen space, no zoom
|
||||
drawTooltips();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user