"Saruman's Staff"
This commit is contained in:
@@ -31,12 +31,7 @@ public class Card1_213 extends AbstractEvent {
|
|||||||
new ChooseActiveCardEffect(self, playerId, "Choose a Nazgul", Filters.race(Race.NAZGUL)) {
|
new ChooseActiveCardEffect(self, playerId, "Choose a Nazgul", Filters.race(Race.NAZGUL)) {
|
||||||
@Override
|
@Override
|
||||||
protected void cardSelected(PhysicalCard nazgul) {
|
protected void cardSelected(PhysicalCard nazgul) {
|
||||||
boolean notAssigned = Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER), Filters.notAssigned());
|
boolean notAssigned = Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER), Filters.notAssignedToSkirmish());
|
||||||
if (notAssigned) {
|
|
||||||
PhysicalCard fpChar = game.getGameState().getSkirmish().getFellowshipCharacter();
|
|
||||||
if (fpChar != null && game.getModifiersQuerying().hasKeyword(game.getGameState(), fpChar, Keyword.RING_BEARER))
|
|
||||||
notAssigned = false;
|
|
||||||
}
|
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new AddUntilEndOfPhaseModifierEffect(
|
new AddUntilEndOfPhaseModifierEffect(
|
||||||
new StrengthModifier(self, Filters.sameCard(nazgul), notAssigned ? 2 : 3), Phase.SKIRMISH));
|
new StrengthModifier(self, Filters.sameCard(nazgul), notAssigned ? 2 : 3), Phase.SKIRMISH));
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ public class Filters {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Filter notAssigned() {
|
public static Filter notAssignedToSkirmish() {
|
||||||
return new Filter() {
|
return new Filter() {
|
||||||
@Override
|
@Override
|
||||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||||
@@ -166,6 +166,12 @@ public class Filters {
|
|||||||
|| assignment.getShadowCharacters().contains(physicalCard))
|
|| assignment.getShadowCharacters().contains(physicalCard))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Skirmish skirmish = gameState.getSkirmish();
|
||||||
|
if (skirmish != null) {
|
||||||
|
if (skirmish.getFellowshipCharacter() == physicalCard
|
||||||
|
|| skirmish.getShadowCharacters().contains(physicalCard))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user