Files
John Smith 7070dfe79f feat(engine): SRD Invisible — invisible creature's own attacks have advantage (loop 3, iteration 41)
Condition::Invisible was half-wired: the target-side clause (attacks against it have disadvantage) existed via inflicts_disadvantage_on_attacker, but the attacker-side clause (the creature's own attacks have advantage) had no path. Added Condition::grants_advantage_on_own_attacks and wired it into RulesEvaluator::edge_from_conditions alongside the target-side advantage sources. Cancellation semantics preserved: a blind+invisible attacker sets both flags and resolves as a straight d20 in resolve_attack. 3 new unit tests (own-attack advantage, symmetric target-side non-regression, blind+invisible cancellation) — cargo test --workspace 524/0 (was 523), clippy -D warnings clean.
2026-08-31 07:43:13 -04:00
..