From 2cdce06244bcb043a3d89a76a226df5cbe2540e8 Mon Sep 17 00:00:00 2001 From: 1brucben <1benjbruce@gmail.com> Date: Mon, 19 May 2025 20:27:52 +0200 Subject: [PATCH] Enable Shield (#817) ## Description: Shield needs enabling ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: 1brucben --- src/client/graphics/layers/NameLayer.ts | 64 ++++++++++++------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/src/client/graphics/layers/NameLayer.ts b/src/client/graphics/layers/NameLayer.ts index 9fc9584f7..8449c551f 100644 --- a/src/client/graphics/layers/NameLayer.ts +++ b/src/client/graphics/layers/NameLayer.ts @@ -12,7 +12,7 @@ import { ClientID } from "../../../core/Schemas"; import { Theme } from "../../../core/configuration/Config"; import { AllPlayers, Cell, nukeTypes } from "../../../core/game/Game"; import { GameView, PlayerView } from "../../../core/game/GameView"; -import { createCanvas, renderTroops } from "../../Utils"; +import { createCanvas, renderNumber, renderTroops } from "../../Utils"; import { TransformHandler } from "../TransformHandler"; import { Layer } from "./Layer"; @@ -214,20 +214,18 @@ export class NameLayer implements Layer { troopsDiv.style.marginTop = "-5%"; element.appendChild(troopsDiv); - // TODO: enable this for new meta. - - // const shieldDiv = document.createElement("div"); - // shieldDiv.classList.add("player-shield"); - // shieldDiv.style.zIndex = "3"; - // shieldDiv.style.marginTop = "-5%"; - // shieldDiv.style.display = "flex"; - // shieldDiv.style.alignItems = "center"; - // shieldDiv.style.gap = "0px"; - // shieldDiv.innerHTML = ` - // - // 0 - // `; - // element.appendChild(shieldDiv); + const shieldDiv = document.createElement("div"); + shieldDiv.classList.add("player-shield"); + shieldDiv.style.zIndex = "3"; + shieldDiv.style.marginTop = "-5%"; + shieldDiv.style.display = "flex"; + shieldDiv.style.alignItems = "center"; + shieldDiv.style.gap = "0px"; + shieldDiv.innerHTML = ` + + 0 + `; + element.appendChild(shieldDiv); // Start off invisible so it doesn't flash at 0,0 element.style.display = "none"; @@ -293,25 +291,23 @@ export class NameLayer implements Layer { troopsDiv.style.color = render.fontColor; troopsDiv.textContent = renderTroops(render.player.troops()); - // TODO: enable this for new meta. - - // const density = renderNumber( - // render.player.troops() / render.player.numTilesOwned(), - // ); - // const shieldDiv = render.element.querySelector( - // ".player-shield", - // ) as HTMLDivElement; - // const shieldImg = shieldDiv.querySelector("img"); - // const shieldNumber = shieldDiv.querySelector("span"); - // if (shieldImg) { - // shieldImg.style.width = `${render.fontSize * 0.8}px`; - // shieldImg.style.height = `${render.fontSize * 0.8}px`; - // } - // if (shieldNumber) { - // shieldNumber.style.fontSize = `${render.fontSize * 0.6}px`; - // shieldNumber.style.marginTop = `${-render.fontSize * 0.1}px`; - // shieldNumber.textContent = density; - // } + const density = renderNumber( + render.player.troops() / render.player.numTilesOwned(), + ); + const shieldDiv = render.element.querySelector( + ".player-shield", + ) as HTMLDivElement; + const shieldImg = shieldDiv.querySelector("img"); + const shieldNumber = shieldDiv.querySelector("span"); + if (shieldImg) { + shieldImg.style.width = `${render.fontSize * 0.8}px`; + shieldImg.style.height = `${render.fontSize * 0.8}px`; + } + if (shieldNumber) { + shieldNumber.style.fontSize = `${render.fontSize * 0.6}px`; + shieldNumber.style.marginTop = `${-render.fontSize * 0.1}px`; + shieldNumber.textContent = density; + } // Handle icons const iconsDiv = render.element.querySelector(