fix(shop): render a bag offer's capacity line once, not twice

`resolveTarget` gave a bag target the same string for `description` and
`effectSummary`, and the shop row renders both, so the slice's two flagship
offers showed "Capacity: 5 Raider Trophies" on consecutive lines. Spec §5's
worked example shows it once.

A bag definition carries no flavour text of its own, so the description is now
empty and the row omits the span entirely rather than emitting an empty one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Bastian Wagner
2026-08-22 21:06:46 +02:00
parent 81e44b2c15
commit ab8bbeae5d
3 changed files with 27 additions and 8 deletions

View File

@@ -307,9 +307,11 @@ export class ShopService {
definitionId: offer.lootBagDefinition.id,
key: offer.lootBagDefinition.key,
name: offer.lootBagDefinition.name,
// A bag definition carries no flavour text of its own; the capacity
// line is the honest description of what it is.
description: describeBagEffect(offer.lootBagDefinition),
// A bag definition carries no flavour text of its own. The capacity
// line is the whole of what there is to say about it, and it is already
// carried by `effectSummary`; repeating it here would render it twice
// (slice §5 shows the line once).
description: '',
iconPath: offer.lootBagDefinition.iconPath,
effectSummary: describeBagEffect(offer.lootBagDefinition),
};