fix(rules): document the burst center-to-center convention as a deferred SRD approximation - the SRD (aiming-a-spell.md) measures a burst from a grid INTERSECTION with the far-edge rule ('count from intersection to intersection'; a square is inside only 'if the far edge of a square is within the spell's area'), but the engine's burst origin is a CELL (target_pos, centered_on_caster, resolved target) counted center-to-center 5-10-5 in _creatures_in_range; matching RAW exactly needs an intersection coordinate added to AreaEffect/Action.target_pos/the observation area snapshot contract plus a per-caster corner choice (the far-edge boundary result depends entirely on which of the cell's four corners is the origin), so it is DEFERRED with a precise explanation in areas.py and a pointer from _creatures_in_range; no behavior change, golden untouched
This commit is contained in:
@@ -7573,6 +7573,12 @@ class CombatEngine:
|
||||
) -> list[CombatantState]:
|
||||
"""Return creatures within radius_cells of center.
|
||||
|
||||
The burst center is a CELL and the radius is counted center-to-center
|
||||
under 5-10-5 - a documented approximation of the SRD's
|
||||
intersection-to-intersection far-edge measurement (see the
|
||||
"BURST MEASUREMENT" note in ``areas.py`` for why a faithful
|
||||
intersection origin is deferred).
|
||||
|
||||
``active_only`` (default) keeps only acting creatures; an area spell
|
||||
passes False so its burst also catches dying/unconscious creatures
|
||||
(SRD aiming-a-spell.md: a burst "affects whatever it catches in its
|
||||
|
||||
Reference in New Issue
Block a user