Correct minion sacrifice and passive talent semantics (refs #19)

Coordinator Root /root, session 01a12399-cfab-7c72-8455-e0e4cb7e156c.
Independently reviewed by /root/combat_source_finish_luna (GPT-6 Luna xhigh).
31 focused DK tests, required release check and complete source type check pass.
This commit is contained in:
warren committed 2026-10-15 09:09:45 -04:00
1 parent a9322a3897
commit 3687c423e2
11 files changed
+284 -10

No files matched your search

+5 -1
View File
@@ -396,7 +396,11 @@ try {
// with the same name on the class skill line. That proc has no player
// activation mechanics, so retain it for the spellbook but classify it
// as passive instead of exposing it as a castable action.
const passive = passiveTalentNames.has(name) && ranks.every((spell) => (
const passive = (passiveTalentNames.has(name) || (Boolean(talentNodeId)
&& ranks.every((spell) => {
const effects = spell.effects.filter((effect) => effect.effectType !== 0);
return effects.length > 0 && effects.every((effect) => effect.effectType === 36);
}))) && ranks.every((spell) => (
spell.castTimeMs === 0
&& spell.recoveryTimeMs === 0
&& spell.categoryRecoveryTimeMs === 0