9768f5ae1d
SpellSpec gains spell_resistance: bool = True (JSON 'spell_resistance'). When false, _spell_delivery_blocked skips the targeted SR check and _apply_area_effect skips the per-creature SR check (threaded through the effect chain). Verified each imported spell against the local KB and set false on the 28 whose SRD block says 'Spell Resistance: no' (Acid Arrow, Flurry of Snowballs, Web, Darkness, Sanctuary, the Protection from X spells, etc.). Added no-SR targeted/area tests and a high-SR control in test_spell_resistance.py, and the README. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
27 lines
841 B
JSON
27 lines
841 B
JSON
{
|
|
"name": "Web",
|
|
"level": 2,
|
|
"school": "conjuration",
|
|
"range": "medium",
|
|
"save": "ref",
|
|
"base_dc": 10,
|
|
"cast_time": "standard",
|
|
"spell_resistance": false,
|
|
"effects": [
|
|
{
|
|
"type": "area",
|
|
"radius_ft": 20,
|
|
"save_for_half": false,
|
|
"effects": [
|
|
{
|
|
"type": "condition",
|
|
"condition_name": "grappled",
|
|
"duration_rounds": 2,
|
|
"save_negates": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "You conjure a many-layered mass of sticky strands filling a 20-ft.-radius spread (modeled as a 20-ft. burst). Creatures caught in the area are grappled by the fibers (Reflex negates) until they break free; the web also makes the area difficult terrain and provides cover (not modeled). Duration 10 min./level approximated as 2 rounds of the grappled condition."
|
|
}
|