docs
This commit is contained in:
@@ -56,8 +56,19 @@ Directly implements spec §13's suggested "old Level 1 → Renown 1" mapping, cl
|
||||
Spec §15 frames a direct currency drop as a legitimate *exception* mechanism ("unless the monster explicitly has a lore-valid direct currency drop... an exception rather than the default system"), not something to delete. The cleanest way to keep the mechanism available for a future lore-valid monster while making today's content compliant is: keep the `silverMin`/`silverMax` roll in code (a monster with both set to 0 always rolls 0 — harmless), but delete `experienceReward` and the `character.experience +=` line entirely, since XP has no "legitimate exception" carve-out anywhere in the spec — it is fully abolished (§1, §33). This is the more data-driven choice per §42 (no special-case code to gate the exception; content data alone decides), and required zero seed-monster stat redesign beyond zeroing two columns.
|
||||
*Cost if wrong:* if the "exception" framing turns out unwanted, deleting the roll mechanism later is a small, contained change (one method body, one DTO field).
|
||||
|
||||
> **SUPERSEDED by Playable Slice 0.7 V2 (`docs/playable-slices/0.7-Complete-Burned-Road-V2.md` §7).**
|
||||
> The "exception" framing did turn out unwanted. Slice 0.7 V2 states flatly that a normal
|
||||
> victory must grant no Silver, and routes all currency through merchant exchange instead
|
||||
> (slice 0.8). `MonsterDefinition.silverMin`/`silverMax`, `CombatReward.silverGranted`, and
|
||||
> the silver roll in `CombatRewardService` are all gone as of migration
|
||||
> `1793000000000-CompleteBurnedRoad`. A future lore-valid direct currency drop would be
|
||||
> reintroduced deliberately rather than left standing as an unused code path.
|
||||
|
||||
**R8 — `CombatReward.experienceGranted` column and `CombatRewardDto.experience` field are both deleted.**
|
||||
Follows directly from R7 — once XP is gone as a concept, persisting a granted-XP audit trail is dead weight. `CombatRewardDto` becomes `{ silver: number; items: CombatRewardItemDto[] }`.
|
||||
|
||||
> **Amended by Playable Slice 0.7 V2:** `CombatRewardDto` is now `{ items: CombatRewardItemDto[] }` —
|
||||
> the `silver` field went the same way as `experience`, for the same reason.
|
||||
*Cost if wrong:* trivial to re-add a column; no external consumer beyond this same slice's own new code.
|
||||
|
||||
**R9 — API surface: extend the existing `GET /api/characters/me` response with `renown: number` (replacing `level`/`experience`); add a new `GET /api/reputation` endpoint returning all enabled factions with the character's reputation (defaulting unrepresented factions to 0/Stranger); do not add a separate `GET /api/renown` endpoint.**
|
||||
|
||||
Reference in New Issue
Block a user