requiresKeyword set → only contributes when the action's NATIVE
keyword list contains that string
The filter checks native keywords only (not the merged list), so a rule
with requiresKeyword: "X" can never trigger another rule that appends
"X" — no cascades. Suppressed / disabled effects are skipped.
Keyword resolution — unions an action's native keywords with any passive
appendKeywordsentries on the acting actor's active effects.An append rule is
{ append, requiresKeyword }:requiresKeywordempty → unconditional; always contributesappendrequiresKeywordset → only contributes when the action's NATIVE keyword list contains that stringThe filter checks native keywords only (not the merged list), so a rule with
requiresKeyword: "X"can never trigger another rule that appends "X" — no cascades. Suppressed / disabled effects are skipped.