Context
The fix for Expose being unplayable against fortified enemies (#833 or related) correctly makes Expose playable during the Ranged/Siege phase when enemies are fortified, since Expose's purpose is to remove fortification. However, there's an edge case with Arcane Immunity that should be handled.
Problem
When all enemies are both Fortified AND Arcane Immune, Expose (basic and powered) is truly useless:
- The fortification removal is blocked by Arcane Immunity
- The Ranged Attack can't hit because enemies are still fortified (fortification wasn't removed)
Currently, after the recent fix, Expose would still show as playable in this scenario.
Expected Behavior
| Scenario |
Playable? |
Reason |
| All enemies fortified, at least one NOT arcane immune |
Yes |
Can remove fortification from non-immune enemy, ranged attack works on that target |
| All enemies fortified AND all arcane immune |
No |
Can't remove fortification (arcane immunity blocks it), can't ranged attack (still fortified) |
| At least one enemy NOT fortified (regardless of arcane immunity) |
Yes |
Ranged attack works on non-fortified enemy |
| All enemies arcane immune but at least one NOT fortified |
Yes |
Ranged attack works on the non-fortified enemy |
Rules Reference
S1: Arcane Immunity — An enemy with Arcane Immunity does not lose its fortifications or its Resistances. The Ranged Attack, however, can be used normally against any enemy with Arcane Immunity.
The key insight: the Ranged Attack from Expose works fine against arcane immune enemies — the issue is only when those enemies are also fortified, since the fortification can't be removed.
Implementation Notes
This likely requires extending isRangedAttackUnusable() or effectIsRangedOnlyAttack() in core/src/engine/rules/effectDetection/combatEffects.ts to consider arcane immunity when evaluating whether enemy-targeting effects can actually bypass fortification. The check would need to verify that at least one fortified enemy is targetable (not arcane immune) before allowing the card.
Acceptance Criteria
Context
The fix for Expose being unplayable against fortified enemies (#833 or related) correctly makes Expose playable during the Ranged/Siege phase when enemies are fortified, since Expose's purpose is to remove fortification. However, there's an edge case with Arcane Immunity that should be handled.
Problem
When all enemies are both Fortified AND Arcane Immune, Expose (basic and powered) is truly useless:
Currently, after the recent fix, Expose would still show as playable in this scenario.
Expected Behavior
Rules Reference
The key insight: the Ranged Attack from Expose works fine against arcane immune enemies — the issue is only when those enemies are also fortified, since the fortification can't be removed.
Implementation Notes
This likely requires extending
isRangedAttackUnusable()oreffectIsRangedOnlyAttack()incore/src/engine/rules/effectDetection/combatEffects.tsto consider arcane immunity when evaluating whether enemy-targeting effects can actually bypass fortification. The check would need to verify that at least one fortified enemy is targetable (not arcane immune) before allowing the card.Acceptance Criteria