diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DoublingSeasonTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DoublingSeasonTest.java index a58b0bb718f..41306745836 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DoublingSeasonTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/DoublingSeasonTest.java @@ -192,4 +192,28 @@ public class DoublingSeasonTest extends CardTestPlayerBase { assertLife(playerA, 20); } + + /** + * Gatherer Ruling: + * 10/1/2005: Planeswalkers will enter the battlefield with double the normal amount of loyalty counters. However, + * if you activate an ability whose cost has you put loyalty counters on a planeswalker, the number you put on isn’t doubled. + * This is because those counters are put on as a cost, not as an effect. + */ + @Test + public void testPlaneswalkerLoyalty() { + addCard(Zone.BATTLEFIELD, playerA, "Tibalt, the Fiend-Blooded"); + + addCard(Zone.BATTLEFIELD, playerA, "Doubling Season"); + + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA,"+1: Draw a card, then discard a card at random."); + + setStopAt(1, PhaseStep.END_TURN); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 20); + + //Should not be doubled + assertCounterCount("Tibalt, the Fiend-Blooded", CounterType.LOYALTY, 3); + } } diff --git a/Mage/src/main/java/mage/abilities/costs/common/PayLoyaltyCost.java b/Mage/src/main/java/mage/abilities/costs/common/PayLoyaltyCost.java index cbc9693c896..24a40a8f3be 100644 --- a/Mage/src/main/java/mage/abilities/costs/common/PayLoyaltyCost.java +++ b/Mage/src/main/java/mage/abilities/costs/common/PayLoyaltyCost.java @@ -63,6 +63,12 @@ public class PayLoyaltyCost extends CostImpl { return planeswalker != null && planeswalker.getCounters(game).getCount(CounterType.LOYALTY) + amount >= 0 && planeswalker.canLoyaltyBeUsed(game); } + /** + * Gatherer Ruling: + * 10/1/2005: Planeswalkers will enter the battlefield with double the normal amount of loyalty counters. However, + * if you activate an ability whose cost has you put loyalty counters on a planeswalker, the number you put on isn’t doubled. + * This is because those counters are put on as a cost, not as an effect. + **/ @Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { Permanent planeswalker = game.getPermanent(sourceId);