fix(spells): make the bleed spell bleed

PF1e (SRD spells/bleed.md): "Saving Throw Will negates" and the target takes 1 point of damage per round. Two divergences: the JSON declared a Fortitude save, and the bleeding condition never set the engine's bleed_damage field, so the spell was a no-op. Bleed now saves Will; _apply_condition_effect sets bleed_damage = 1 when a spell applies bleeding, and _decrement_durations lands the final tick as the last bleeding condition expires before clearing the field (heal-path clearing already existed in _stop_bleeding). README updated.

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-12 12:46:53 +02:00
parent 8c7e7075ad
commit 910ed1dc7d
5 changed files with 61 additions and 6 deletions
+5 -1
View File
@@ -987,7 +987,11 @@ Règles modélisées :
Saignement (`bleeding`, V5b) : une créature qui saigne subit `bleed_damage`
points de dégâts au **début de son tour** (avant politique et flags) ; tout
effet restaurant des points de vie (sort de soin, channel energy) stoppe le
saignement (`bleed_damage = 0`) et retire la condition. Simplification
saignement (`bleed_damage = 0`) et retire la condition ; l'expiration de la
dernière condition `bleeding` inflige son **dernier tick** puis remet
`bleed_damage = 0` (conformance D2 — SRD « Bleed » : le cantrip, sauvegarde
de **Volonté** annule, pose la condition `bleeding` avec `bleed_damage = 1`,
donc 1 point de dégâts par round). Simplification
documentée : le jet de compétence Soin DD 15 n'est pas modélisé (le moteur
n'a pas d'action Soin).
Confus (`confused`, V5b) : au début de chaque tour, jet d% — 01-25 agit