diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/rna/FontOfAgoniesTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/rna/FontOfAgoniesTest.java new file mode 100644 index 00000000000..d0ae259645d --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/rna/FontOfAgoniesTest.java @@ -0,0 +1,53 @@ +package org.mage.test.cards.single.rna; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import mage.counters.CounterType; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * @author Susucr + */ +public class FontOfAgoniesTest extends CardTestPlayerBase { + + /** + * {@link mage.cards.f.FontOfAgonies Font of Agonies} {B} + * Enchantment + * Whenever you pay life, put that many blood counters on this enchantment. + * {1}{B}, Remove four blood counters from this enchantment: Destroy target creature. + */ + private static final String font = "Font of Agonies"; + + @Test + public void test_Fetchland() { + addCard(Zone.BATTLEFIELD, playerA, font, 1); + addCard(Zone.BATTLEFIELD, playerA, "Arid Mesa", 1); + + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}"); + addTarget(playerA, "Mountain"); + + setStrictChooseMode(true); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + + assertLife(playerA, 20 - 1); + assertCounterCount(playerA, font, CounterType.BLOOD, 1); + } + + @Test + public void test_Pay2() { + addCard(Zone.BATTLEFIELD, playerA, font, 1); + addCard(Zone.BATTLEFIELD, playerA, "Book of Rass", 1); // {2}, Pay 2 life: Draw a card. + addCard(Zone.BATTLEFIELD, playerA, "Plains", 2); + + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2}"); + + setStrictChooseMode(true); + setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); + execute(); + + assertLife(playerA, 20 - 2); + assertCounterCount(playerA, font, CounterType.BLOOD, 2); + } +} diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index e22531ea3d9..36778e1fde9 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -1774,8 +1774,9 @@ public final class CardUtil { // Waiting on actual ruling of Ashiok, Wicked Manipulator. return true; } - if (player.loseLife(lifeToPay, game, source, false) >= lifeToPay) { - game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIFE_PAID, player.getId(), source, player.getId(), lifeToPay)); + int lostLife = player.loseLife(lifeToPay, game, source, false); + if (lostLife > 0) { + game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIFE_PAID, player.getId(), source, player.getId(), lostLife)); return true; }