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
ctan
8ae344fd16
feat(combat): area-of-effect spells
2026-09-04 23:02:17 +02:00
ctan
09062b37ea
feat(combat): spellcasting default policy
2026-09-04 23:02:17 +02:00
ctan
ab2874d79b
feat(combat): skills system
2026-09-04 23:02:17 +02:00
ctan
d792b6e28f
feat(combat): AoO and concentration on casting
2026-09-04 23:02:16 +02:00
ctan
0c2e3383d7
feat(combat): enforce behavioral condition flags
2026-09-04 23:02:16 +02:00
ctan
d2c80c0d61
feat(combat): metamagic
2026-09-04 23:02:16 +02:00
ctan
eb8072ace7
feat(models): combat resources
2026-09-04 23:02:15 +02:00
ctan
789d2f5396
fix(combat): correct spell DC formula
2026-09-04 23:02:15 +02:00
ctan
43303cf28e
feat(combat): effect and condition durations
2026-09-04 23:01:57 +02:00
ctan
2e49aa7293
docs(handoff): add finalize-engine plan for session transfer
2026-08-29 13:37:32 +02:00
ctan
52904a0d03
docs(handoff): add session summary for pf1e-simulator transfer
2026-08-29 13:35:47 +02:00
ctan
37f07d90a7
chore(data): drop Plot Armor from misty features (non-combat feat)
2026-08-18 17:34:48 +02:00
ctan
82148cea1e
test(loaders): add unit tests for combatant feat resolution and feature/spell handling
...
Tests for _resolve_feat (known/unknown/Toughness/Weapon Focus),
_resolve_features (filtering, empty lists), load_combatant with
features+spells integration, and backward-compat aliases.
Gate: 401 tests, ruff clean, basedpyright clean.
2026-08-18 15:11:28 +02:00
ctan
36f72dcb37
chore(clean): cleanup .codegraph
2026-08-17 22:54:53 +02:00
ctan
557bb2304a
fix(git): fix gitignore for .codegraph
2026-08-17 22:53:58 +02:00
ctan
c88d8fd6f4
refactor(loaders): unify combatant loader, migrate PC features/spells
...
Rename monster.py → combatant.py with _KNOWN_FEATS lookup table
that resolves feat name strings to AbilitySpec constants (Power Attack,
Iron Will, Toughness, Weapon Focus, etc.). Unknown feats produce
minimal AbilitySpec (data preserved for future implementation).
Migrate all 8 PC JSONs (data/pcs/) with complete feat/spell lists
extracted from Foundry sheets — including traits, racial abilities,
and all spells. Monsters (goblin, orc) unchanged (no feats/spells).
Update all imports, add backward-compatible aliases (load_monster,
MonsterLoadError), update CLI to use load_combatant.
Gate: 377 tests, ruff clean, basedpyright clean.
2026-08-17 22:49:50 +02:00