- "Balin Avenged" now correctly allows to play the ORC Orcs by removing the card from discard, as an additional cost.

This commit is contained in:
marcins78@gmail.com
2012-09-10 13:36:23 +00:00
parent 445361ab80
commit e6532a58c6
3 changed files with 45 additions and 6 deletions

View File

@@ -51,7 +51,8 @@ public class Card17_002 extends AbstractPermanent {
@Override
public Modifier getAlwaysOnModifier(final PhysicalCard self) {
return new AbstractExtraPlayCostModifier(self, "To play, remove an ORC card from your discard pile from the game.", Filters.and(Culture.ORC, Race.ORC),
return new AbstractExtraPlayCostModifier(self, "To play, remove an ORC card from your discard pile from the game.",
Filters.and(Culture.ORC, Race.ORC),
new AndCondition(
new CanSpotCultureTokensCondition(4, Token.DWARVEN),
new SpotCondition(2, Race.DWARF))) {
@@ -63,7 +64,7 @@ public class Card17_002 extends AbstractPermanent {
@Override
public List<? extends Effect> getExtraCostsToPlay(GameState gameState, ModifiersQuerying modifiersQueirying, Action action, PhysicalCard card) {
return Collections.singletonList(
new ChooseAndRemoveFromTheGameCardsInDiscardEffect(action, self, self.getOwner(), 1, 1, Culture.ORC));
new ChooseAndRemoveFromTheGameCardsInDiscardEffect(action, card, card.getOwner(), 1, 1, Culture.ORC));
}
};
}

View File

@@ -4,6 +4,7 @@ import com.gempukku.lotro.cards.AbstractSite;
import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.common.Block;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Token;
import com.gempukku.lotro.common.Zone;
import com.gempukku.lotro.game.LotroCardBlueprint;
import com.gempukku.lotro.game.PhysicalCard;
@@ -17,15 +18,16 @@ import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
import org.junit.Test;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
public class TimingAtTest extends AbstractAtTest {
@Test
public void playStartingFellowshipWithDiscount() throws DecisionResultInvalidException {
@@ -311,4 +313,37 @@ public class TimingAtTest extends AbstractAtTest {
assertFalse(_game.getModifiersQuerying().hasFlagActive(_game.getGameState(), ModifierFlag.RING_TEXT_INACTIVE));
assertTrue(_game.getModifiersQuerying().hasFlagActive(_game.getGameState(), ModifierFlag.CANT_PREVENT_WOUNDS));
}
@Test
public void extraCostToPlay() throws DecisionResultInvalidException {
initializeSimplestGame();
skipMulligans();
PhysicalCardImpl balinAvenged = new PhysicalCardImpl(100, "17_2", P1, _library.getLotroCardBlueprint("17_2"));
PhysicalCardImpl prowlingOrc = new PhysicalCardImpl(101, "11_136", P2, _library.getLotroCardBlueprint("11_136"));
PhysicalCardImpl dwarvenGuard1 = new PhysicalCardImpl(102, "1_7", P1, _library.getLotroCardBlueprint("1_7"));
PhysicalCardImpl dwarvenGuard2 = new PhysicalCardImpl(103, "1_7", P1, _library.getLotroCardBlueprint("1_7"));
PhysicalCardImpl prowlingOrcInDiscard = new PhysicalCardImpl(104, "11_136", P2, _library.getLotroCardBlueprint("11_136"));
_game.getGameState().addCardToZone(_game, balinAvenged, Zone.SUPPORT);
_game.getGameState().addTokens(balinAvenged, Token.DWARVEN, 4);
_game.getGameState().addCardToZone(_game, dwarvenGuard1, Zone.FREE_CHARACTERS);
_game.getGameState().addCardToZone(_game, dwarvenGuard2, Zone.FREE_CHARACTERS);
_game.getGameState().addCardToZone(_game, prowlingOrc, Zone.HAND);
_game.getGameState().addCardToZone(_game, prowlingOrcInDiscard, Zone.DISCARD);
_game.getGameState().addTwilight(10);
// End fellowship phase
playerDecided(P1, "");
AwaitingDecision shadowDecision = _userFeedback.getAwaitingDecision(P2);
assertEquals(AwaitingDecisionType.CARD_ACTION_CHOICE, shadowDecision.getDecisionType());
validateContents(new String[]{"" + prowlingOrc.getCardId()}, (String[]) shadowDecision.getDecisionParameters().get("cardId"));
playerDecided(P2, "0");
assertEquals(Zone.REMOVED, prowlingOrcInDiscard.getZone());
assertEquals(Zone.SHADOW_CHARACTERS, prowlingOrc.getZone());
}
}

View File

@@ -1,4 +1,7 @@
<pre style="font-size:80%">
<b>10 Sep. 2012</b>
- "Balin Avenged" now correctly allows to play the ORC Orcs by removing the card from discard, as an additional cost.
<b>2 Sep. 2012</b>
- "Slow-kindled Courage" and other FP conditions that give Assignment actions to minions, now actually do that.