c96b36d3f9
ConditionEffect gains save_partial (JSON 'on_success': condition_name + duration_rounds). On a successful save that would otherwise negate, _apply_condition_effect now imposes the weaker condition (SRD fear.md: panicked on a failed Will save, shaken for 1 round on a success). Extended _metamagic_transform_sub to preserve/double it; extracted _impose_condition helper. Updated fear.json, added failed/successful-save and loader tests in test_spells.py, and the README. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
28 lines
906 B
JSON
28 lines
906 B
JSON
{
|
|
"name": "Fear",
|
|
"level": 4,
|
|
"school": "necromancy",
|
|
"range": "close",
|
|
"save": "will",
|
|
"base_dc": 10,
|
|
"cast_time": "standard",
|
|
"effects": [
|
|
{
|
|
"type": "area",
|
|
"shape": "cone",
|
|
"radius_ft": 30,
|
|
"save_for_half": false,
|
|
"effects": [
|
|
{
|
|
"type": "condition",
|
|
"condition_name": "panicked",
|
|
"duration_rounds": 4,
|
|
"save_negates": true,
|
|
"on_success": { "condition_name": "shaken", "duration_rounds": 1 }
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"description": "SRD spells/fear.md: each living creature in the 30-ft. cone becomes panicked unless it succeeds on a Will save; a creature that succeeds on the save is instead shaken for 1 round (partial save). Modeled as panicked for 4 rounds on a failed save, shaken for 1 round on a successful save. The SRD range is 30 ft. - modeled as the closest category (close)."
|
|
}
|