A few fixes.
This commit is contained in:
@@ -9,7 +9,6 @@ import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.game.state.Skirmish;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
|
||||
@@ -38,14 +37,14 @@ public class Card1_011 extends AbstractCompanion {
|
||||
@Override
|
||||
public Modifier getAlwaysOnEffect(final PhysicalCard self) {
|
||||
return new StrengthModifier(self,
|
||||
new Filter() {
|
||||
@Override
|
||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||
Skirmish activeSkirmish = gameState.getSkirmish();
|
||||
return (activeSkirmish != null
|
||||
&& activeSkirmish.getFellowshipCharacter().equals(self)
|
||||
&& Filters.filter(activeSkirmish.getShadowCharacters(), gameState, modifiersQuerying, Filters.race(Race.ORC)).size() > 0);
|
||||
}
|
||||
}, 2);
|
||||
Filters.and(
|
||||
Filters.sameCard(self),
|
||||
Filters.inSkirmish(),
|
||||
new Filter() {
|
||||
@Override
|
||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||
return Filters.canSpot(gameState, modifiersQuerying, Filters.race(Race.ORC), Filters.inSkirmish());
|
||||
}
|
||||
}), 2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,11 +51,11 @@ public class Card1_183 extends AbstractPermanent {
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.and(Filters.culture(Culture.MORIA), Filters.race(Race.ORC)))) {
|
||||
List<PhysicalCard> shadowCharacters = game.getGameState().getSkirmish().getShadowCharacters();
|
||||
if (PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.and(Filters.culture(Culture.MORIA), Filters.race(Race.ORC)))
|
||||
&& Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.MORIA), Filters.race(Race.ORC), Filters.inSkirmish())) {
|
||||
final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, null, "Stack winning MORIA Orc on this condition");
|
||||
action.addEffect(
|
||||
new ChooseActiveCardEffect(playerId, "Choose a MORIA Orc", Filters.culture(Culture.MORIA), Filters.race(Race.ORC), Filters.in(shadowCharacters)) {
|
||||
new ChooseActiveCardEffect(playerId, "Choose a MORIA Orc", Filters.culture(Culture.MORIA), Filters.race(Race.ORC), Filters.inSkirmish()) {
|
||||
@Override
|
||||
protected void cardSelected(PhysicalCard moriaOrc) {
|
||||
action.addEffect(new StackCardFromPlayEffect(moriaOrc, self));
|
||||
|
||||
@@ -63,6 +63,20 @@ public class Filters {
|
||||
return visitor.getCounter();
|
||||
}
|
||||
|
||||
public static Filter inSkirmish() {
|
||||
return new Filter() {
|
||||
@Override
|
||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||
Skirmish skirmish = gameState.getSkirmish();
|
||||
if (skirmish != null) {
|
||||
return (skirmish.getFellowshipCharacter() == physicalCard)
|
||||
|| skirmish.getShadowCharacters().contains(physicalCard);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static Filter notAssigned() {
|
||||
return new Filter() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user