fix(spells): set the correct area shapes

SRD-verified area templates: Burning Hands 15-ft cone, Color Spray 15-ft cone, Fear 30-ft cone, Flurry of Snowballs 30-ft cone, Lightning Bolt 120-ft line (all converted from single-target/burst approximations to proper AreaEffect shapes); Fireball 20-ft burst, Sound Burst 10-ft spread, Sleep 10-ft burst, Web 20-ft spread kept. Close-range spells note the 15/30-ft RAW ranges as an approximation in their descriptions. README: cone/scaling limitations moved out of the limitations list, new area-shape + caster-level scaling rules documented, areas.py added to the architecture.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-09-13 11:01:07 +02:00
parent a6cc5aef36
commit ee8c8f80ff
8 changed files with 108 additions and 45 deletions
+3 -1
View File
@@ -391,8 +391,10 @@ def test_tammara_deed_out_of_range_spends_no_grit() -> None:
def test_misty_emits_inspire_courage_and_spell_combat() -> None:
# Shocking Grasp (not Burning Hands): the offensive-spell scan reads
# top-level damage effects, and Burning Hands is a cone area spell now.
misty = _combatant(
"misty", resources={"bardic_rounds": 12}, spells=["Burning Hands"]
"misty", resources={"bardic_rounds": 12}, spells=["Shocking Grasp"]
)
goblin = _combatant("goblin", hp_max=6)
reg = load_spell_registry(SPELLS_DIR)