Commit Graph

397 Commits

Author SHA1 Message Date
ctan cd796ecffb docs: document LLM observation contract and expanded action options 2026-09-06 11:14:18 +02:00
ctan e75ab58055 feat(combat): add serializable Observation snapshot and LLMPolicy adapter 2026-09-06 11:07:30 +02:00
ctan 7843756de2 feat(combat): expose charge failure reasons via ChargeResult 2026-09-06 10:47:36 +02:00
ctan 56c8970d5b feat(combat): expose threatened squares and movement cost fields for LLM policy
Rename _threatened_squares -> threatened_squares and
_enemies_threatening -> enemies_threatening (public read-only API for a
future LLM policy), and add reachable_ft(state, budget) and
movement_cost_ft(state, target) accessors returning movement costs in
feet. Pure exposure: no behavior change, resolution engine untouched,
goldens bit-identical.
2026-09-06 10:36:48 +02:00
ctan 9c49f85af8 feat(combat): resolve all natural melee weapons in full_attack 2026-09-06 10:22:58 +02:00
ctan fdcd103e8a feat(combat): add repair_weapon action to fix broken weapons 2026-09-06 10:05:55 +02:00
ctan 8e957c9fac feat(combat): add retrieve_weapon action to recover stolen weapons 2026-09-06 10:01:07 +02:00
ctan b640e29a91 feat(combat): add trick_condition field to Action for dirty trick 2026-09-05 18:49:56 +02:00
ctan 7fbf3988e9 feat(combat): add direction field to Action for directional maneuvers 2026-09-05 18:37:26 +02:00
ctan febd408f29 docs: document B5 engine hardening - reach, sizes, elevation, immediate actions 2026-09-05 18:04:35 +02:00
ctan 66b6d1f387 feat(combat): support off-turn immediate actions via reaction policy 2026-09-05 17:03:51 +02:00
ctan ab99ab67e3 feat(grid): apply elevation to movement cost and high ground 2026-09-05 16:18:56 +02:00
ctan 30f8905a3e feat(combat): support multi-cell occupancy for large and larger creatures 2026-09-05 16:01:28 +02:00
ctan 7f57df16a6 feat(combat): support variable melee reach for weapons and creature size 2026-09-05 15:10:21 +02:00
ctan 7cb3653750 fix(combat): apply save negates to targeted spell damage effects 2026-09-05 12:52:58 +02:00
ctan cd75a4f2bf feat(combat): implement overrun, dirty trick, steal, reposition and drag maneuvers 2026-09-05 12:37:06 +02:00
ctan 2f2acd992f fix(combat): evaluate conditional stat modifiers with action context 2026-09-05 12:17:58 +02:00
ctan 31d970dd5f fix(combat): resolve touch attacks against touch AC and firearms 2026-09-05 11:28:46 +02:00
ctan 8e2753e67a chore: final green gate 2026-09-05 09:09:20 +02:00
ctan 2929045e4b feat(data): add Thrune Agent monster 2026-09-05 00:33:07 +02:00
ctan 22d76e9677 fix(combat): channel energy targets living vs undead 2026-09-05 00:16:17 +02:00
ctan 7591614460 feat(cli): add --transcript option 2026-09-04 23:34:12 +02:00
ctan cedff5b932 feat(data): add giant belostomatid monster 2026-09-04 23:22:38 +02:00
ctan 83a5250ca6 fix(combat): deed range gating 2026-09-04 23:02:27 +02:00
ctan c5f31c30d1 fix(combat): summon spawns only on passable cells 2026-09-04 23:02:27 +02:00
ctan f4fc66a6ab docs: align README with fixed behavior 2026-09-04 23:02:26 +02:00
ctan 0dcb967033 test(combat): pin ScriptedRng transcripts, unique per scenario 2026-09-04 23:02:26 +02:00
ctan 6e08df6eb6 feat(combat): class abilities from default_policy 2026-09-04 23:02:26 +02:00
ctan 66a664ad85 fix(data): lich fear aura, paralyzing touch, slot keys 2026-09-04 23:02:26 +02:00
ctan d0833c7a2c feat(data): wire all 55 PC feats 2026-09-04 23:02:25 +02:00
ctan 5353018c80 fix(combat): single roll to escape grapple 2026-09-04 23:02:25 +02:00
ctan f575c77037 fix(combat): sunder damages weapon not HP 2026-09-04 23:02:25 +02:00
ctan 6e4a9d8323 feat(combat): Combat Reflexes extra AoOs 2026-09-04 23:02:24 +02:00
ctan 679d405943 feat(combat): enforce prone/staggered/nauseated/paralyzed 2026-09-04 23:02:24 +02:00
ctan 0d61ad44ab fix(combat): bound cackle hex extension 2026-09-04 23:02:24 +02:00
ctan 735642a607 fix(combat): summoned creatures act and expire 2026-09-04 23:02:23 +02:00
ctan 2e4d192522 refactor(combat): single source active_buffs/active_conditions 2026-09-04 23:02:23 +02:00
ctan 073da40fca feat(combat): class-ability action kinds, engine RNG only 2026-09-04 23:02:22 +02:00
ctan 0058e71550 fix(combat): correct hex and AoE DCs, DR bypassed by spells 2026-09-04 23:02:22 +02:00
ctan a7729eebf1 fix(combat): correct concentration DCs by situation 2026-09-04 23:02:22 +02:00
ctan 625e8c56b9 feat(runner): wire spell registry in CLI and Monte Carlo 2026-09-04 23:02:21 +02:00
ctan fd94522546 feat(data): per-level spell slots for 8 PCs 2026-09-04 23:02:21 +02:00
ctan 1893072b5d chore(lint): restore green gate 2026-09-04 23:02:20 +02:00
ctan 31d62b39c2 feat(data): lich monster 2026-09-04 23:02:20 +02:00
ctan 510990188a feat(combat): class action patterns 2026-09-04 23:02:20 +02:00
ctan a6366edd33 feat(combat): channel energy and hexes 2026-09-04 23:02:19 +02:00
ctan 77ffad8e2f feat(data): companions and mounts 2026-09-04 23:02:19 +02:00
ctan 4d7f1b8233 feat(loaders): map 8-PC feats 2026-09-04 23:02:18 +02:00
ctan 934d443d7d feat(combat): summoning 2026-09-04 23:02:18 +02:00
ctan 136ddcf7aa feat(combat): combat maneuvers CMB/CMD 2026-09-04 23:02:18 +02:00