From 65115eb4eee839bd61102825f8656dfbd02487ef Mon Sep 17 00:00:00 2001 From: 1brucben <1benjbruce@gmail.com> Date: Thu, 5 Jun 2025 18:02:38 +0200 Subject: [PATCH] add hospital visual --- src/client/NewsModal.ts | 6 ++++-- src/client/graphics/layers/ControlPanel.ts | 13 ++++++++++--- src/client/graphics/layers/TopBar.ts | 6 +++++- src/core/configuration/DefaultConfig.ts | 9 +-------- src/core/execution/AttackExecution.ts | 15 +++++++++++++++ src/core/execution/PlayerExecution.ts | 5 ++++- src/core/game/Game.ts | 3 +++ src/core/game/GameUpdates.ts | 1 + src/core/game/GameView.ts | 3 +++ src/core/game/PlayerImpl.ts | 13 +++++++++++++ 10 files changed, 59 insertions(+), 15 deletions(-) diff --git a/src/client/NewsModal.ts b/src/client/NewsModal.ts index ff9b7aabc..81db0b235 100644 --- a/src/client/NewsModal.ts +++ b/src/client/NewsModal.ts @@ -52,8 +52,10 @@ export class NewsModal extends LitElement {
This test version introduces a new building: - Hospitals. Each hospital reduces your troop - losses in both offensive and defensive combat. + Hospitals. Each hospital restores some of + your troop losses from both offensive and defensive combat. + The restored troops are displayed next to your population + growth count in your control panel.
The first hospital provides a diff --git a/src/client/graphics/layers/ControlPanel.ts b/src/client/graphics/layers/ControlPanel.ts index 836d9390c..e3d3f5bfb 100644 --- a/src/client/graphics/layers/ControlPanel.ts +++ b/src/client/graphics/layers/ControlPanel.ts @@ -34,6 +34,9 @@ export class ControlPanel extends LitElement implements Layer { @state() private popRate: number; + @state() + private _hospitalReturns: number = 0; + @state() private _troops: number; @@ -121,6 +124,7 @@ export class ControlPanel extends LitElement implements Layer { this._population = player.population(); this._maxPopulation = this.game.config().maxPopulation(player); + this._hospitalReturns = player.hospitalReturns() * 10; this._gold = player.gold(); this._troops = player.troops(); this._workers = player.workers(); @@ -221,9 +225,12 @@ export class ControlPanel extends LitElement implements Layer { ? "text-green-500" : "text-yellow-500"}" translate="no" - >(+${renderTroops(this.popRate)}) + > + (+${renderTroops( + this.popRate, + )}${`/ +${renderTroops(this._hospitalReturns)}`}) + +