mirror of
https://github.com/magefree/mage.git
synced 2025-12-29 23:12:10 -08:00
Fix Adventures exiling themselves before applying their effects (#10793)
* Rework adventures to exiles themself after applying other effects * fix duelist * finalize all adventures * apply review * add card name to error * fix remaining adventures * finalize the last adventures.
This commit is contained in:
parent
3ed0dd4f84
commit
fe165f1fd0
108 changed files with 322 additions and 18 deletions
|
|
@ -0,0 +1,67 @@
|
|||
|
||||
package org.mage.test.cards.single.woe;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public class HeartflameDuelistTest extends CardTestPlayerBase {
|
||||
|
||||
/**
|
||||
* Heartflame Duelist {1}{W}
|
||||
* Creature — Human Knight
|
||||
* Instant and sorcery spells you control have lifelink.
|
||||
* 3/1
|
||||
* <p>
|
||||
* //
|
||||
* Heartflame Slash {2}{R}
|
||||
* Instant — Adventure
|
||||
* Heartflame Slash deals 3 damage to any target.
|
||||
*/
|
||||
private final String duelist = "Heartflame Duelist";
|
||||
|
||||
@Test
|
||||
public void lifelinkOnPlayer() {
|
||||
setStrictChooseMode(true);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, duelist, 1);
|
||||
addCard(Zone.HAND, playerA, duelist, 1);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Heartflame Slash", playerB);
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertLife(playerA, 20 + 3);
|
||||
assertLife(playerB, 20 - 3);
|
||||
assertPermanentCount(playerA, duelist, 1);
|
||||
assertExileCount(playerA, duelist, 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lifelinkOnPermanent() {
|
||||
setStrictChooseMode(true);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, duelist, 1);
|
||||
addCard(Zone.HAND, playerA, duelist, 1);
|
||||
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 3);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Heartflame Slash", duelist);
|
||||
|
||||
setStopAt(2, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
assertLife(playerA, 20 + 3);
|
||||
assertLife(playerB, 20);
|
||||
assertPermanentCount(playerA, duelist, 0);
|
||||
assertExileCount(playerA, duelist, 1);
|
||||
assertGraveyardCount(playerA, duelist, 1);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue