Commit Graph

  • 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