-
221819880c
arts und agents
master
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
-
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
-
ac1329be46
feat(api): carry HP into combat and gate starting a fight on it
Bastian Wagner
2026-08-21 14:56:05 +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
-
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
-
ea26e4b844
feat(api): add HP regeneration rate constant
Bastian Wagner
2026-08-21 14:29:35 +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
-
2579b23a5c
Add implementation plan for persistent HP and out-of-combat regeneration
Bastian Wagner
2026-08-21 14:12:38 +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
-
dd90e05446
optik
Bastian Wagner
2026-08-21 13:39:52 +02:00
-
987242541d
inventory
Bastian Wagner
2026-08-21 12:52:44 +02:00
-
a376fb7128
Add implementation plan for Playable Slice 0.6.5 (Renown & Reputation)
Bastian Wagner
2026-08-21 08:34:22 +02:00
-
65dfb466cd
Add design doc for Playable Slice 0.6.5 (Renown & Reputation Foundation)
Bastian Wagner
2026-08-21 08:21:14 +02:00
-
62d6677298
fix(combat): show the potion heal immediately instead of folding it into the monster's reply
Bastian Wagner
2026-08-20 23:54:02 +02:00
-
1aac3416fa
fix(combat): clear the monster's pending action once it is defeated
Bastian Wagner
2026-08-20 23:10:47 +02:00
-
e2f29d5eb6
fix(combat): keep the busy() re-entrancy guard, split the action-mapping test instead
Bastian Wagner
2026-08-20 22:38:52 +02:00
-
0126d1dea1
feat(combat): add the five-action bar, telegraph banner, and generalized round animation
Bastian Wagner
2026-08-20 22:19:13 +02:00
-
b8d00278b8
feat(combat): generalize the web combat action and expose potions/monster intent
Bastian Wagner
2026-08-20 22:01:28 +02:00
-
c7b9601eb4
feat(combat): validate potions, persist telegraph state, and expose both on the combat DTO
Bastian Wagner
2026-08-20 21:48:51 +02:00
-
43d2085d2c
feat(combat): add the COMBAT_NO_POTIONS_REMAINING domain error
Bastian Wagner
2026-08-20 21:40:56 +02:00
-
6eb0f21360
test(combat): cover DEFEND mitigating a resolving Heavy Attack
Bastian Wagner
2026-08-20 21:37:36 +02:00
-
b3dac8f61c
feat(combat): implement HEAVY_STRIKE, SHIELD_BASH, DEFEND, POTION, and monster telegraphing
Bastian Wagner
2026-08-20 21:27:12 +02:00
-
fc1873e41f
feat(combat): model monster intent and potion count in combat state types
Bastian Wagner
2026-08-20 21:21:08 +02:00
-
922c12f20f
feat(combat): migrate combat_event_type_enum for Slice 0.6 event types
Bastian Wagner
2026-08-20 21:17:37 +02:00
-
6f1afaf5a3
feat(combat): add the Slice 0.6 action and event-type enum members
Bastian Wagner
2026-08-20 21:12:46 +02:00
-
eed247d318
feat(combat): support a damage multiplier in calculateDamage
Bastian Wagner
2026-08-20 21:06:54 +02:00
-
96d04d8ba3
Fix plan defect found in SDD pre-flight scan: Task 8 fixture patch
Bastian Wagner
2026-08-20 21:04:19 +02:00
-
67df86a818
Ignore .worktrees/ for isolated feature-branch workspaces
Bastian Wagner
2026-08-20 20:52:36 +02:00
-
9d396b7d96
Add implementation plan for Playable Slice 0.6 (Full First Combat)
Bastian Wagner
2026-08-20 20:51:17 +02:00
-
49a0008a2b
Merge branch 'worktree-playable-slice-0.5-first-upgrade'
Bastian Wagner
2026-08-20 19:42:10 +02:00
-
-
0ce3b420e6
fix: address final-review findings (TopBar hydration, snapshot test, armor doc, inventory refresh test)
Bastian Wagner
2026-08-20 18:44:39 +02:00
-
7f031ac1ce
test(web): update app.spec.ts for the now-enabled Inventar nav button
Bastian Wagner
2026-08-20 18:15:30 +02:00
-
b1968da754
feat(web): add Inventar öffnen button to the victory screen
Bastian Wagner
2026-08-20 18:04:13 +02:00
-
724443de1e
feat(web): route and enable the Inventar nav entry
Bastian Wagner
2026-08-20 17:58:32 +02:00
-
fdd8ae4e41
test(web): cover the same-slot equipped-item filter in InventoryPageComponent
Bastian Wagner
2026-08-20 17:54:38 +02:00
-
9cb0158d80
import aufgeräumt
Bastian Wagner
2026-08-20 17:52:04 +02:00
-
1015505f38
feat(web): add inventory page with grid, detail panel, and equipment overview
Bastian Wagner
2026-08-20 17:46:09 +02:00
-
973d4e3ab4
feat(web): add inventory item detail/comparison panel
Bastian Wagner
2026-08-20 17:39:46 +02:00
-
10dd838465
feat(web): add InventoryStore
Bastian Wagner
2026-08-20 17:32:52 +02:00
-
c994a4c46f
feat(web): add inventory/equipment API models and client methods
Bastian Wagner
2026-08-20 17:27:15 +02:00
-
90094ba1ae
fix(api): key starting-sword seed idempotency on its real unique index
Bastian Wagner
2026-08-20 17:23:45 +02:00
-
6178b88573
feat(api): seed the starting sword as a real, equipped CharacterItem
Bastian Wagner
2026-08-20 17:11:18 +02:00
-
2526ac230d
items
Bastian Wagner
2026-08-20 17:07:40 +02:00
-
2859a00597
test(api): prove equipping a weapon upgrade increases future combat damage
Bastian Wagner
2026-08-20 17:01:45 +02:00
-
820c69704f
feat(api): add inventory API (GET /api/inventory)
Bastian Wagner
2026-08-20 16:50:50 +02:00
-
d1c7ffea86
Merge branch 'worktree-local-location-view'
Bastian Wagner
2026-08-20 16:42:57 +02:00
-
-
9df740e7d4
feat(api): add equipment API (GET/POST /api/equipment)
Bastian Wagner
2026-08-20 16:39:23 +02:00
-
3ee107694c
address code review: POI order matches plan, self-documenting height reserve
Bastian Wagner
2026-08-20 16:33:42 +02:00
-
f45f4b03cb
feat(api): combat snapshots now use CharacterStatsService
Bastian Wagner
2026-08-20 16:32:15 +02:00
-
e5746dec5c
feat(api): retire CharacterCombatStatsService; characters/me returns effective stats
Bastian Wagner
2026-08-20 16:26:33 +02:00
-
67c29e783f
feat(api): add CharacterStatsService as authoritative effective-stat source
Bastian Wagner
2026-08-20 16:20:44 +02:00
-
8a5f57fa1c
specs
Bastian Wagner
2026-08-20 16:17:19 +02:00
-
8debb6f550
feat(api): add equipment domain errors
Bastian Wagner
2026-08-20 16:16:44 +02:00
-
59e88bcf9c
feat(api): add character_equipment table and entity
Bastian Wagner
2026-08-20 16:13:19 +02:00
-
2cbb7cb235
docs: add Playable Slice 0.5 implementation plan
Bastian Wagner
2026-08-20 16:08:51 +02:00
-
c158260623
Merge branch 'master' into worktree-local-location-view
Bastian Wagner
2026-08-20 16:03:59 +02:00
-
-
-
-
60e1734f59
fix(web): keep the primary action bar on screen at every desktop width
Bastian Wagner
2026-08-20 15:50:31 +02:00
-
ec91f3ac7b
grafiken
Bastian Wagner
2026-08-20 15:11:17 +02:00
-
-
-
d31d064d36
images
Bastian Wagner
2026-08-20 13:23:55 +02:00
-
9b839623ce
feat(web): route hunt, combat and arrival back to the location
Bastian Wagner
2026-08-20 10:58:46 +02:00
-
6f0020137b
feat(web): add the local location view at /location
Bastian Wagner
2026-08-20 10:51:08 +02:00
-
d174d46fbd
fix(web): carry the combat rewards field into the resume-combat fixture
Bastian Wagner
2026-08-20 10:41:40 +02:00
-
c7e7e97252
Merge branch 'master' into worktree-local-location-view
Bastian Wagner
2026-08-20 10:38:18 +02:00
-
-
a87a13fad2
Merge branch 'master' into worktree-encounter-status
Bastian Wagner
2026-08-20 10:34:52 +02:00
-
-
-
-
3c59603efb
feat(hunting): show cleared encounters and resume interrupted fights
Bastian Wagner
2026-08-20 10:34:30 +02:00
-
2664495ef4
feat(web): add local location contracts, shared fixtures and content glyphs
Bastian Wagner
2026-08-20 10:34:41 +02:00
-
624c47e5a6
Merge branch 'worktree-slice-0.4-first-loot'
Bastian Wagner
2026-08-20 10:33:39 +02:00
-
-
c85a70484f
feat(world): serve local location view content from the API
Bastian Wagner
2026-08-20 10:30:01 +02:00
-
048cf80e78
test(slice-0.4): assert migration SQL and top-bar silver/XP rendering
Bastian Wagner
2026-08-20 10:25:26 +02:00
-
b92aecb71a
renaming
Bastian Wagner
2026-08-20 10:16:51 +02:00
-
-
-
1a7a766f2b
docs(slice-0.4): record First Loot verification results
Bastian Wagner
2026-08-20 10:04:26 +02:00
-
b0e769d0da
combat
Bastian Wagner
2026-08-20 09:47:24 +02:00
-
-
21b377f70c
feat(web): show authoritative silver and XP in the top bar after victory
Bastian Wagner
2026-08-20 09:40:20 +02:00
-
6711d51bcd
feat(combat): replace the victory placeholder with the reward summary
Bastian Wagner
2026-08-20 09:34:21 +02:00
-
cf576133ff
feat(web): add reward models and the reusable item card
Bastian Wagner
2026-08-20 09:24:58 +02:00
-
6448605a72
feat(characters): expose persisted silver on the character endpoint
Bastian Wagner
2026-08-20 09:13:04 +02:00
-
40e830a321
fix(combat): lock character before combat row and harden reward-transaction test
Bastian Wagner
2026-08-20 09:06:50 +02:00
-
2a8883d479
feat(combat): resolve victory rewards in the combat completion transaction
Bastian Wagner
2026-08-20 00:46:35 +02:00
-
d9585b166a
fix(rewards): resolve item definitions up front and stabilize reward item order
Bastian Wagner
2026-08-20 00:36:54 +02:00
-
af665dc677
feat(rewards): add CombatRewardService with idempotent victory rewards
Bastian Wagner
2026-08-20 00:13:37 +02:00
-
07984110bf
feat(loot): add LootService with deterministic independent rolls
Bastian Wagner
2026-08-20 00:05:59 +02:00
-
c58a46b7d9
feat(loot): seed tier-1 items and the ash rat and road bandit loot tables
Bastian Wagner
2026-08-19 23:59:08 +02:00
-
35559e3d2b
feat(items): extract tier-1 item icons from the art sheet
Bastian Wagner
2026-08-19 23:47:42 +02:00
-
67237f5ad8
effekte
Bastian Wagner
2026-08-19 23:42:18 +02:00
-
fe130c597e
feat(loot): add loot and reward migration
Bastian Wagner
2026-08-19 23:39:17 +02:00
-
af9d422e8b
feat(loot): add item, loot table, and combat reward entities
Bastian Wagner
2026-08-19 23:29:30 +02:00
-
fd9852bfbf
animation
Bastian Wagner
2026-08-19 23:24:36 +02:00
-
a5f7772a6d
refactor(api): move RandomSource to shared and add rollInclusive
Bastian Wagner
2026-08-19 23:19:05 +02:00
-
f008e53cc6
docs(slice-0.4): add the First Loot implementation plan
Bastian Wagner
2026-08-19 23:14:25 +02:00
-