- When instructed to choose a card to heal/wound X times, a card with vitality/wounds <X can be chosen, as long as
that character can be healed/wounded by the card at least once.
This commit is contained in:
@@ -25,7 +25,7 @@ public class ChooseAndAssignCharacterToMinionEffect extends ChooseActiveCardEffe
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(final LotroGame game) {
|
protected Filter getExtraFilterForPlaying(final LotroGame game) {
|
||||||
final Side side = game.getGameState().getCurrentPlayerId().equals(_playerId) ? Side.FREE_PEOPLE : Side.SHADOW;
|
final Side side = game.getGameState().getCurrentPlayerId().equals(_playerId) ? Side.FREE_PEOPLE : Side.SHADOW;
|
||||||
return Filters.canBeAssignedToSkirmishByEffectAgainst(side, _minion);
|
return Filters.canBeAssignedToSkirmishByEffectAgainst(side, _minion);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class ChooseAndAssignMinionToCompanionEffect extends ChooseActiveCardEffe
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(final LotroGame game) {
|
protected Filter getExtraFilterForPlaying(final LotroGame game) {
|
||||||
final Side side = game.getGameState().getCurrentPlayerId().equals(_playerId) ? Side.FREE_PEOPLE : Side.SHADOW;
|
final Side side = game.getGameState().getCurrentPlayerId().equals(_playerId) ? Side.FREE_PEOPLE : Side.SHADOW;
|
||||||
return Filters.and(
|
return Filters.and(
|
||||||
CardType.MINION,
|
CardType.MINION,
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class ChooseAndExertCharactersEffect extends ChooseActiveCardsEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
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) {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class ChooseAndExhaustCharactersEffect extends ChooseActiveCardsEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
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) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ public class ChooseAndRemoveCultureTokensFromCardEffect extends ChooseActiveCard
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
if (_token != null)
|
if (_token != null)
|
||||||
return Filters.hasToken(_token, _count);
|
return Filters.hasToken(_token, _count);
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -40,13 +40,17 @@ public abstract class ChooseActiveCardsEffect extends AbstractEffect {
|
|||||||
_choiceText = choiceText;
|
_choiceText = choiceText;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
return Filters.any;
|
return Filters.any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Filter getExtraFilterForPlayabilityCheck(LotroGame game) {
|
||||||
|
return getExtraFilterForPlaying(game);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isPlayableInFull(LotroGame game) {
|
public boolean isPlayableInFull(LotroGame game) {
|
||||||
return Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.and(_filters, getExtraFilter(game))) >= _minimum;
|
return Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.and(_filters, getExtraFilterForPlayabilityCheck(game))) >= _minimum;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -61,7 +65,7 @@ public abstract class ChooseActiveCardsEffect extends AbstractEffect {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FullEffectResult playEffectReturningResult(final LotroGame game) {
|
protected FullEffectResult playEffectReturningResult(final LotroGame game) {
|
||||||
final Collection<PhysicalCard> matchingCards = Filters.filterActive(game.getGameState(), game.getModifiersQuerying(), Filters.and(_filters, getExtraFilter(game)));
|
final Collection<PhysicalCard> matchingCards = Filters.filterActive(game.getGameState(), game.getModifiersQuerying(), Filters.and(_filters, getExtraFilterForPlaying(game)));
|
||||||
|
|
||||||
int minimum = _minimum;
|
int minimum = _minimum;
|
||||||
if (matchingCards.size() < minimum)
|
if (matchingCards.size() < minimum)
|
||||||
|
|||||||
@@ -33,7 +33,19 @@ public class ChooseAndHealCharactersEffect extends ChooseActiveCardsEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlayabilityCheck(LotroGame game) {
|
||||||
|
return Filters.and(
|
||||||
|
Filters.hasWounds(_count),
|
||||||
|
new Filter() {
|
||||||
|
@Override
|
||||||
|
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||||
|
return modifiersQuerying.canBeHealed(gameState, physicalCard);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
return Filters.and(
|
return Filters.and(
|
||||||
Filters.wounded,
|
Filters.wounded,
|
||||||
new Filter() {
|
new Filter() {
|
||||||
|
|||||||
@@ -31,7 +31,12 @@ public class ChooseAndWoundCharactersEffect extends ChooseActiveCardsEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter getExtraFilter(LotroGame game) {
|
protected Filter getExtraFilterForPlaying(LotroGame game) {
|
||||||
|
return Filters.canTakeWound;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Filter getExtraFilterForPlayabilityCheck(LotroGame game) {
|
||||||
return Filters.canTakeWounds(_count);
|
return Filters.canTakeWounds(_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
<pre style="font-size:80%">
|
<pre style="font-size:80%">
|
||||||
|
<b>30 Nov. 2011</b>
|
||||||
|
- When instructed to choose a card to heal/wound X times, a card with vitality/wounds <X can be chosen, as long as
|
||||||
|
that character can be healed/wounded by the card at least once.
|
||||||
|
|
||||||
<b>27 Nov. 2011</b>
|
<b>27 Nov. 2011</b>
|
||||||
- Characters should not die between turns.
|
- Characters should not die between turns.
|
||||||
- "Great Hill Troll" site number is 5 now.
|
- "Great Hill Troll" site number is 5 now.
|
||||||
|
|||||||
Reference in New Issue
Block a user