mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 21:02:08 -08:00
* Storm Cauldron - Fixed that it wrongly also returned cards to hand that already left the battlefield (fixes #3487).
This commit is contained in:
parent
a22e89d26a
commit
5cfb496899
3 changed files with 61 additions and 7 deletions
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.mage.test.cards.triggers;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class StormCauldronTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* With Storm Cauldron in play (owned by opponent), I sacced Crystal Vein
|
||||
* for 2 mana... except it got returned to my hand, which shouldn't happen.
|
||||
* Haven't tested it with other sac lands yet.
|
||||
*
|
||||
* Relevant ruing for Storm Cauldron:
|
||||
*
|
||||
* 10/4/2004: If a land is tapped for mana and sacrificed all in one action,
|
||||
* it goes to the graveyard before the Cauldron can return it to the
|
||||
* player's hand.
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
public void testLandNotReturnedToHand() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
|
||||
// {T}: Add {C} to your mana pool.
|
||||
// {T}, Sacrifice Crystal Vein: Add {C}{C} to your mana pool.
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Crystal Vein", 1);
|
||||
|
||||
// Each player may play an additional land during each of his or her turns.
|
||||
// Whenever a land is tapped for mana, return it to its owner's hand.
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Storm Cauldron", 1);
|
||||
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Crystal Vein");
|
||||
playLand(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Mountain");
|
||||
|
||||
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}, Sacrifice");
|
||||
|
||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertGraveyardCount(playerA, "Crystal Vein", 1);
|
||||
assertPermanentCount(playerA, "Mountain", 1);
|
||||
assertHandCount(playerA, "Crystal Vein", 0);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue