feat: magic system visuals, audio sfx, and ui polish

This commit is contained in:
2026-01-07 22:42:34 +01:00
parent df3f892eb2
commit f2f399c296
15 changed files with 841 additions and 107 deletions

View File

@@ -116,19 +116,7 @@ game.onCombatResult = (log) => {
const defender = game.heroes.find(h => h.id === log.defenderId) || game.monsters.find(m => m.id === log.defenderId);
if (defender) {
setTimeout(() => { // Slight delay for cause-effect
if (log.hitSuccess) {
if (log.woundsCaused > 0) {
// HIT and WOUND
renderer.triggerDamageEffect(log.defenderId);
renderer.showFloatingText(defender.x, defender.y, `💥 -${log.woundsCaused}`, '#ff0000');
} else {
// BLOCKED (Hit but Toughness saved)
renderer.showFloatingText(defender.x, defender.y, `🛡️ Block`, '#ffff00');
}
} else {
// MISS
renderer.showFloatingText(defender.x, defender.y, `💨 Miss`, '#aaaaaa');
}
renderer.showCombatFeedback(defender.x, defender.y, log.woundsCaused, log.hitSuccess);
}, 500);
}
};
@@ -294,7 +282,16 @@ renderer.setupInteraction(
handleClick,
() => {
// Right Click Handler
if (game.targetingMode === 'spell' || game.targetingMode === 'ranged') {
game.cancelTargeting();
if (window.RENDERER) window.RENDERER.hideAreaPreview();
ui.showTemporaryMessage('Cancelado', 'Lanzamiento de hechizo cancelado.', 1000);
return;
}
game.executeMovePath();
},
(x, y) => {
if (game.onCellHover) game.onCellHover(x, y);
}
);