From 1ebafd0b889ff8569402097f24b13ef90778088c Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 19 Feb 2025 19:57:33 -0800 Subject: [PATCH] highlight nukes --- src/client/graphics/layers/UnitLayer.ts | 27 +++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/client/graphics/layers/UnitLayer.ts b/src/client/graphics/layers/UnitLayer.ts index 3373edb61..5c900fdce 100644 --- a/src/client/graphics/layers/UnitLayer.ts +++ b/src/client/graphics/layers/UnitLayer.ts @@ -211,17 +211,40 @@ export class UnitLayer implements Layer { private handleNuke(unit: UnitView) { const rel = this.relationship(unit); + let range = 0; + switch (unit.type()) { + case UnitType.AtomBomb: + range = 4; + break; + case UnitType.HydrogenBomb: + range = 6; + break; + case UnitType.MIRV: + range = 9; + break; + } // Clear previous area for (const t of this.game.bfs( unit.lastTile(), - euclDistFN(unit.lastTile(), 2), + euclDistFN(unit.lastTile(), range), )) { this.clearCell(this.game.x(t), this.game.y(t)); } if (unit.isActive()) { - // Paint area + for (const t of this.game.bfs( + unit.tile(), + euclDistFN(unit.tile(), range), + )) { + this.paintCell( + this.game.x(t), + this.game.y(t), + rel, + this.theme.spawnHighlightColor(), + 255, + ); + } for (const t of this.game.bfs(unit.tile(), euclDistFN(unit.tile(), 2))) { this.paintCell( this.game.x(t),