-
7b738a072d
art
master
Bastian Wagner
2026-08-22 23:03:48 +02:00
-
69a26460ae
notice board
Bastian Wagner
2026-08-22 22:46:58 +02:00
-
fb7a96f032
layout interactions
Bastian Wagner
2026-08-22 22:42:55 +02:00
-
93916457cb
icons
Bastian Wagner
2026-08-22 22:34:51 +02:00
-
2dadc5c4a7
art
Bastian Wagner
2026-08-22 21:56:28 +02:00
-
139c5517f2
Merge branch 'slice/0.8.5-reputation-gated-merchant-offers'
Bastian Wagner
2026-08-22 21:27:30 +02:00
-
-
481c6be5a8
docs: translate the 0.8.5 research notes to English
Bastian Wagner
2026-08-22 21:07:27 +02:00
-
1a7018d790
test(seed): prove a re-seed leaves five offers at the tuned numbers
Bastian Wagner
2026-08-22 21:07:26 +02:00
-
a454cf955e
test(shop): make three nominal spec §10 cases exercise what they claim
Bastian Wagner
2026-08-22 21:07:25 +02:00
-
f0edf89ad3
fix(shop): make purchase resolve offers the same way the view does
Bastian Wagner
2026-08-22 21:07:05 +02:00
-
ab8bbeae5d
fix(shop): render a bag offer's capacity line once, not twice
Bastian Wagner
2026-08-22 21:06:46 +02:00
-
81e44b2c15
docs: record 0.8.5 acceptance and the 0.9 referral mechanism
Bastian Wagner
2026-08-22 20:43:53 +02:00
-
7b03310458
style: apply eslint --fix reformatting to files this slice touched
Bastian Wagner
2026-08-22 20:41:47 +02:00
-
374926e494
feat(web): announce offers a trade just unlocked
Bastian Wagner
2026-08-22 20:30:36 +02:00
-
681af334bf
fix(web): make ShopOfferView.effectSummary/requirements required
Bastian Wagner
2026-08-22 20:20:26 +02:00
-
00784094ab
feat(web): show offer requirements, current progress and effects
Bastian Wagner
2026-08-22 20:15:51 +02:00
-
36adc32659
feat(content): gate the trophy pouch, hide bag and bandit blade
Bastian Wagner
2026-08-22 20:04:48 +02:00
-
80be829309
test(shops): make the gate's guards fail when they are removed
Bastian Wagner
2026-08-22 18:52:23 +02:00
-
7a5e800a18
feat(shops): sell loot bags, honour bypass conditions, explain locks
Bastian Wagner
2026-08-22 18:34:24 +02:00
-
7e1b79315e
test(shops): cover non-finite and missing-key guards in describeRequirement
Bastian Wagner
2026-08-22 18:18:44 +02:00
-
149a9521be
feat(shops): describe offer requirements and effects in English
Bastian Wagner
2026-08-22 18:14:12 +02:00
-
9bd28b5e2c
feat(conditions): report the current value behind each condition
Bastian Wagner
2026-08-22 18:07:57 +02:00
-
c295bae63a
test(shops): add entity-schema cross-check for sellable loot bags
Bastian Wagner
2026-08-22 17:59:37 +02:00
-
3b28450fb1
feat(shops): let an offer sell a loot bag and carry bypass conditions
Bastian Wagner
2026-08-22 17:51:47 +02:00
-
8e6ec7b43c
fix(web): stop hunting encounter cards from collapsing to 0px height
Bastian Wagner
2026-08-22 17:03:11 +02:00
-
-
081c9f83f9
docs
Bastian Wagner
2026-08-22 16:41:47 +02:00
-
dfa62fd152
fix: translate the last five German fixture strings found by the final review's re-review
Bastian Wagner
2026-08-22 09:17:23 +02:00
-
8418a93329
fix: correct final whole-branch review findings for 0.6.6 English content
Bastian Wagner
2026-08-22 09:03:13 +02:00
-
6b32f14bb5
fix(test): translate the e2e smoke test's monster name assertions to English
Bastian Wagner
2026-08-21 23:36:18 +02:00
-
fdd83f2dee
fix(test): translate the remaining Worn Shortsword and Padded Helm fixture names
Bastian Wagner
2026-08-21 23:18:12 +02:00
-
1322285b0f
fix: close out remaining German player-facing text across web and API tests
Bastian Wagner
2026-08-21 22:59:34 +02:00
-
ae163f000a
test: reconcile the shared location fixture with Task 1's English seed content
Bastian Wagner
2026-08-21 22:59:14 +02:00
-
846bb7428c
feat(web): translate topbar, navigation, context panel, footer, and reputation display to English
Bastian Wagner
2026-08-21 22:23:20 +02:00
-
14d26d06a4
feat(web): translate hunt screen and encounter card copy to English
Bastian Wagner
2026-08-21 22:11:50 +02:00
-
1c0a13475c
feat(web): translate location, travel, and world-map screen copy to English
Bastian Wagner
2026-08-21 22:02:26 +02:00
-
ca3e072807
feat(web): translate inventory and item-detail screen copy to English
Bastian Wagner
2026-08-21 21:52:53 +02:00
-
833074d9fe
fix(web): translate the combat page's monster level badge to English
Bastian Wagner
2026-08-21 21:45:53 +02:00
-
2dd0f32f88
docs: fill a glossary gap the survey missed -- combat page monster level
Bastian Wagner
2026-08-21 21:41:24 +02:00
-
0923fc0a23
feat(web): translate combat log, action buttons, and victory/defeat screen to English
Bastian Wagner
2026-08-21 21:40:04 +02:00
-
5586e6c672
feat(web): translate error messages surfaced from API error codes to English
Bastian Wagner
2026-08-21 21:29:10 +02:00
-
5222bfb2ab
feat(web): translate slot, rarity, danger, and location-type labels to English
Bastian Wagner
2026-08-21 20:16:56 +02:00
-
e48409fbf1
feat(reputation): translate rank labels to English
Bastian Wagner
2026-08-21 20:08:59 +02:00
-
b8ee56ca1a
feat(content): translate seeded items, locations, and reputation faction to English
Bastian Wagner
2026-08-21 20:00:04 +02:00
-
74fc89dfe5
docs: implementation plan for Slice 0.6.6 English Game Content Foundation
Bastian Wagner
2026-08-21 19:50:51 +02:00
-
9214bf99d2
docs: design doc for Slice 0.6.6 English Game Content Foundation
Bastian Wagner
2026-08-21 19:43:41 +02:00
-
cedd87f648
Merge branch 'master' into worktree-playable-slice-0.6.5-renown-reputation
Bastian Wagner
2026-08-21 19:23:10 +02:00
-
-
23ed527eea
fix: address the final whole-branch review's findings
Bastian Wagner
2026-08-21 18:50:30 +02:00
-
0c9f00d9a8
fix(web): finish the reward-preview sweep the seed change started
Bastian Wagner
2026-08-21 18:28:52 +02:00
-
688c4cf70f
test(inventory): cover the non-equippable branch of the detail panel
Bastian Wagner
2026-08-21 18:16:53 +02:00
-
18f4be586b
fix(web): locations recommend Ansehen, not the abolished Stufe
Bastian Wagner
2026-08-21 18:15:42 +02:00
-
b350c3f9b1
fix(web): sweep every remaining fixture off level/experience/requiredLevel
Bastian Wagner
2026-08-21 18:13:37 +02:00
-
b5bcd50dcd
docs(web): correct the victory-refresh comment about what combat grants
Bastian Wagner
2026-08-21 18:06:38 +02:00
-
4cb759b628
feat(reputation): add the reusable Regional Reputation display component
Bastian Wagner
2026-08-21 18:06:37 +02:00
-
221819880c
arts und agents
Bastian Wagner
2026-08-21 17:32:05 +02:00
-
ab6227881e
feat(web): bind the HUD health bar to the locally-ticking HP value
Bastian Wagner
2026-08-21 16:12:55 +02:00
-
848f9d9195
feat(web): count displayed HP up locally between server syncs
Bastian Wagner
2026-08-21 16:06:54 +02:00
-
c27b6c5026
feat(web): model HP regen fields and map CHARACTER_TOO_WOUNDED
Bastian Wagner
2026-08-21 15:59:32 +02:00
-
caf63b34a4
chore(api): anchor the seeded demo character's HP regeneration
Bastian Wagner
2026-08-21 15:53:20 +02:00
-
cfe1866956
test(api): update combat/equipment integration harness for HP vitals wiring
Bastian Wagner
2026-08-21 15:49:35 +02:00
-
52178ba79d
test(api): make equip() re-anchor test exercise the overflow scenario
Bastian Wagner
2026-08-21 15:46:28 +02:00
-
dd204db4b3
feat(api): re-anchor HP regeneration before an equipment-driven max-HP change
Bastian Wagner
2026-08-21 15:40:27 +02:00
-
9d1c1a7706
feat(web): drop the XP block from the combat victory screen
Bastian Wagner
2026-08-21 15:38:40 +02:00
-
b070bf2b0d
feat(api): mirror HP onto the character each round and resume regen at combat end
Bastian Wagner
2026-08-21 15:08:04 +02:00
-
c0401d5c60
feat(inventory): remove the requiredLevel equip gate from the detail panel
Bastian Wagner
2026-08-21 15:06:00 +02:00
-
df4c0c5527
fix(web): use the German "Ansehen" for Renown in the Topbar
Bastian Wagner
2026-08-21 14:59:01 +02:00
-
ac1329be46
feat(api): carry HP into combat and gate starting a fight on it
Bastian Wagner
2026-08-21 14:56:05 +02:00
-
cea1d2ecf5
feat(web): show Renown instead of Level in the Topbar, remove the XP display
Bastian Wagner
2026-08-21 14:51:04 +02:00
-
432483e958
feat(api): add CHARACTER_TOO_WOUNDED combat error
Bastian Wagner
2026-08-21 14:48:05 +02:00
-
909f793eb6
feat(api): expose effective HP and regen anchor from GET /characters/me
Bastian Wagner
2026-08-21 14:45:31 +02:00
-
02037b2917
feat(api): CharacterStatsService reports effective (regenerated) HP
Bastian Wagner
2026-08-21 14:41:17 +02:00
-
c32d1804d3
feat(renown): add Renown/Reputation/TurnIn web models and API client methods
Bastian Wagner
2026-08-21 14:41:11 +02:00
-
47494abf50
feat(api): provide CharacterVitalsService from CharactersModule
Bastian Wagner
2026-08-21 14:36:22 +02:00
-
71f58bc1b6
feat(api): add CharacterVitalsService for anchored HP regeneration
Bastian Wagner
2026-08-21 14:32:18 +02:00
-
7609c49899
feat(characters): expose renown on GET /api/characters/me instead of level/experience
Bastian Wagner
2026-08-21 14:31:03 +02:00
-
e5752c7ee9
fix(content): stop promising rewards the burned road can no longer drop
Bastian Wagner
2026-08-21 14:30:53 +02:00
-
ea26e4b844
feat(api): add HP regeneration rate constant
Bastian Wagner
2026-08-21 14:29:35 +02:00
-
40ff950390
test(combat): stop asserting the deleted experience reward contract
Bastian Wagner
2026-08-21 14:27:20 +02:00
-
19e08f0b16
feat(api): add hp_regen_since column for persistent HP regeneration
Bastian Wagner
2026-08-21 14:26:44 +02:00
-
b55518b451
refactor(api): move Clock abstraction from travel to shared
Bastian Wagner
2026-08-21 14:21:39 +02:00
-
34a7bb9dbd
fix(api): sweep every remaining test fixture off level/experience/requiredLevel/experienceReward
Bastian Wagner
2026-08-21 14:19:12 +02:00
-
2579b23a5c
Add implementation plan for persistent HP and out-of-combat regeneration
Bastian Wagner
2026-08-21 14:12:38 +02:00
-
8835671657
fix(monsters): finish deleting experienceReward, column included
Bastian Wagner
2026-08-21 14:07:47 +02:00
-
a75a670509
Add design doc for persistent character HP and out-of-combat regeneration
Bastian Wagner
2026-08-21 13:56:43 +02:00
-
dce26e00ad
feat(content): migrate ItemType, seed Räuberabzeichen/Grenzwacht/turn-ins, zero direct monster rewards
Bastian Wagner
2026-08-21 13:49:49 +02:00
-
dd90e05446
optik
Bastian Wagner
2026-08-21 13:39:52 +02:00
-
413fafd574
feat(equipment): remove the requiredLevel equipment gate - owned items are always equippable
Bastian Wagner
2026-08-21 13:34:10 +02:00
-
83eef5d9e5
docs(rewards): drop the stale XP reference from the no-partial-writes comment
Bastian Wagner
2026-08-21 13:28:53 +02:00
-
c9d9144b5f
feat(rewards): remove classical XP from the combat reward pipeline
Bastian Wagner
2026-08-21 13:23:46 +02:00
-
6fb61792e7
test(turn-in): cover the unknown-character rejection path
Bastian Wagner
2026-08-21 13:19:17 +02:00
-
4e3af9fe39
feat(turn-in): add TurnInService with atomic item/silver/reputation exchange and POST /api/turn-ins
Bastian Wagner
2026-08-21 13:07:46 +02:00
-
987242541d
inventory
Bastian Wagner
2026-08-21 12:52:44 +02:00
-
321738496d
fix(reputation): validate the character exists before granting reputation
Bastian Wagner
2026-08-21 09:30:04 +02:00
-
79d4e04172
feat(reputation): add ReputationService, rank resolver integration, and GET /api/reputation
Bastian Wagner
2026-08-21 09:22:36 +02:00
-
4c9397336f
feat(renown): add RenownService with milestone completion and base-stat recomputation
Bastian Wagner
2026-08-21 09:14:36 +02:00
-
152499acfc
Pair every API suite verification with a build
Bastian Wagner
2026-08-21 09:07:37 +02:00
-
4fa1923525
feat(renown): add Reputation/Renown/TurnIn entities and update Character/ItemDefinition/CombatReward
Bastian Wagner
2026-08-21 09:03:37 +02:00
-
3662029ec9
test(renown): pin the migration's backfill and constraint statement ordering
Bastian Wagner
2026-08-21 08:56:48 +02:00
-
1a50e817f1
feat(renown): migrate Character/ItemDefinition schema and add Reputation/Renown/TurnIn tables
Bastian Wagner
2026-08-21 08:48:54 +02:00
-
88b98aa605
feat(renown): add the Renown power-curve table and reputation-rank resolver
Bastian Wagner
2026-08-21 08:42:29 +02:00
-
e14f6dcbce
Fix two plan defects found in SDD pre-flight scan
Bastian Wagner
2026-08-21 08:39:43 +02:00
-