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) => {