diff --git a/src/client/grid/building_dialog.tsx b/src/client/grid/building_dialog.tsx
index c2ae27a3..1ee22484 100644
--- a/src/client/grid/building_dialog.tsx
+++ b/src/client/grid/building_dialog.tsx
@@ -163,6 +163,7 @@ export function BuildingDialog({
tile={build.tile}
onClick={() => build.reason == null && onSelect(build.action)}
/>
+
${build.cost}
{build.reason}
))}
@@ -288,6 +289,7 @@ export function ModifiedSpace({
interface EligibleBuild {
action: BuildData;
tile: TileData;
+ cost: number;
reason?: string;
}
@@ -351,11 +353,12 @@ function* getAllEligibleBuilds(
for (const orientation of directions) {
const action = { orientation, tileType, coordinates };
const tile = { orientation, tileType, owners: [] };
+ const cost = actionProcessor.totalCostOf(action);
try {
actionProcessor.validate(action);
- yield { action, tile };
+ yield { action, tile, cost };
} catch (e: unknown) {
- yield { action, tile, reason: (e as Error).message };
+ yield { action, tile, cost, reason: (e as Error).message };
}
}
}
diff --git a/src/engine/build/build.ts b/src/engine/build/build.ts
index cf2c62f2..0dc06314 100644
--- a/src/engine/build/build.ts
+++ b/src/engine/build/build.ts
@@ -72,10 +72,11 @@ export class BuildAction implements ActionProcessor {
process(data: BuildData): boolean {
const coordinates = data.coordinates;
- this.moneyManager.addMoneyForCurrentPlayer(-this.totalCostOf(data));
+ const totalCost = this.totalCostOf(data);
+ this.moneyManager.addMoneyForCurrentPlayer(-totalCost);
this.discountManager.applyDiscount(data, this.originalCostOf(data));
const newTile = this.newTile(data);
- this.log.currentPlayer(`builds a ${getTileTypeString(data.tileType)} at ${this.grid().displayName(data.coordinates)}`);
+ this.log.currentPlayer(`builds a ${getTileTypeString(data.tileType)} at ${this.grid().displayName(data.coordinates)} for $${totalCost}`);
this.gridHelper.update(coordinates, (hex) => {
assert(hex.type !== SpaceType.CITY);
hex.tile = newTile;
diff --git a/src/engine/build/claim.ts b/src/engine/build/claim.ts
index 86814641..6a62f56b 100644
--- a/src/engine/build/claim.ts
+++ b/src/engine/build/claim.ts
@@ -63,7 +63,7 @@ export class ClaimAction implements ActionProcessor {
const route = this.grid().getRoute(track);
- this.log.currentPlayer(`claimes the route at ${this.grid().displayName(data.coordinates)}`);
+ this.log.currentPlayer(`claims the route at ${this.grid().displayName(data.coordinates)} for $${this.totalCost(data, track)}`);
for (const t of route) {
this.gridHelper.update(t.coordinates, (space) => {