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
+15 -7
View File
@@ -2,18 +2,26 @@
"name": "Burning Hands",
"level": 1,
"school": "evocation",
"range": "touch",
"range": "close",
"save": "ref",
"base_dc": 10,
"cast_time": "standard",
"effects": [
{
"type": "damage",
"formula": "0",
"types": ["fire"],
"half_on_save": true,
"scaling": { "dice": "1d4", "per_levels": 1, "max_dice": 5 }
"type": "area",
"shape": "cone",
"radius_ft": 15,
"save_for_half": true,
"effects": [
{
"type": "damage",
"formula": "0",
"types": ["fire"],
"half_on_save": true,
"scaling": { "dice": "1d4", "per_levels": 1, "max_dice": 5 }
}
]
}
],
"description": "SRD spells/burning-hands.md: 1d4 points of fire damage per caster level (maximum 5d4) in a 15-ft. cone; Reflex half. The cone template is applied in the area-shapes batch; until then the spell resolves on the target."
"description": "SRD spells/burning-hands.md: a 15-ft. cone of searing flame dealing 1d4 points of fire damage per caster level (maximum 5d4); Reflex half. The SRD range is 15 ft. - modeled as the closest category (close, 25 ft. at low levels)."
}
+2 -1
View File
@@ -9,6 +9,7 @@
"effects": [
{
"type": "area",
"shape": "cone",
"radius_ft": 15,
"save_for_half": false,
"effects": [
@@ -21,5 +22,5 @@
]
}
],
"description": "A cone of chaotic colors (modeled as a 15-ft burst) blinds and stuns creatures with fewer HD than your level for 1d4 rounds (approximated as 1 round of stunned). Will negates."
"description": "SRD spells/color-spray.md: a 15-ft. cone of chaotic colors blinds and stuns creatures with fewer HD than your level for 1d4 rounds (approximated as 1 round of stunned; the HD tiers are not modeled). Will negates."
}
+14 -6
View File
@@ -2,17 +2,25 @@
"name": "Fear",
"level": 4,
"school": "necromancy",
"range": "medium",
"range": "close",
"save": "will",
"base_dc": 10,
"cast_time": "standard",
"effects": [
{
"type": "condition",
"condition_name": "panicked",
"duration_rounds": 4,
"save_negates": true
"type": "area",
"shape": "cone",
"radius_ft": 30,
"save_for_half": false,
"effects": [
{
"type": "condition",
"condition_name": "panicked",
"duration_rounds": 4,
"save_negates": true
}
]
}
],
"description": "SRD spells/fear.md: each living creature in the 30-ft. cone becomes panicked unless it succeeds on a Will save (a successful save makes it shaken for 1 round instead). Modeled as panicked for 4 rounds on a failed save; the shaken-on-success partial needs partial-save support and the cone template is absent - both documented limitations."
"description": "SRD spells/fear.md: each living creature in the 30-ft. cone becomes panicked unless it succeeds on a Will save (a successful save makes it shaken for 1 round instead). Modeled as panicked for 4 rounds on a failed save; the shaken-on-success partial needs partial-save support (documented limitation). The SRD range is 30 ft. - modeled as the closest category (close)."
}
+3 -2
View File
@@ -9,7 +9,8 @@
"effects": [
{
"type": "area",
"radius_ft": 20,
"shape": "cone",
"radius_ft": 30,
"save_for_half": true,
"effects": [
{
@@ -21,5 +22,5 @@
]
}
],
"description": "A flurry of snowballs hurtles at your foes: any creature in the area takes 4d6 points of cold damage. Reflex half. The RAW 30-ft cone-shaped burst is approximated as a 20-ft burst centered on the target point."
"description": "SRD spells/flurry-of-snowballs.md: any creature in the 30-ft. cone-shaped burst takes 4d6 points of cold damage. Reflex half. The SRD range is 30 ft. - modeled as the closest category (close)."
}
+14 -6
View File
@@ -8,12 +8,20 @@
"cast_time": "standard",
"effects": [
{
"type": "damage",
"formula": "0",
"types": ["electricity"],
"half_on_save": true,
"scaling": { "dice": "1d6", "per_levels": 1, "max_dice": 10 }
"type": "area",
"shape": "line",
"radius_ft": 120,
"save_for_half": true,
"effects": [
{
"type": "damage",
"formula": "0",
"types": ["electricity"],
"half_on_save": true,
"scaling": { "dice": "1d6", "per_levels": 1, "max_dice": 10 }
}
]
}
],
"description": "SRD spells/lightning-bolt.md: you release a powerful stroke of electrical energy dealing 1d6 points of electricity damage per caster level (maximum 10d6). Reflex save for half. The 120-ft line template is applied in the area-shapes batch; until then the spell resolves on the target."
"description": "SRD spells/lightning-bolt.md: a 120-ft. line dealing 1d6 points of electricity damage per caster level (maximum 10d6). Reflex half. The line starts at the caster's cell (the bolt begins at your fingertips), so the caster's own square is in the area."
}