Skip to content

Commit bfad121

Browse files
committed
Sail into the West should exile itself if "Return" wins vote
Lost a game to this one today, noticed it didn't match what was on the card.
1 parent 4efeced commit bfad121

2 files changed

Lines changed: 53 additions & 1 deletion

File tree

Mage.Sets/src/mage/cards/s/SailIntoTheWest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import mage.abilities.Ability;
44
import mage.abilities.effects.OneShotEffect;
5+
import mage.abilities.effects.common.ExileSourceEffect;
56
import mage.cards.Card;
67
import mage.cards.CardImpl;
78
import mage.cards.CardSetInfo;
@@ -86,7 +87,7 @@ public boolean apply(Game game, Ability source) {
8687
int embarkCount = vote.getVoteCount(false);
8788

8889
if(returnCount > embarkCount) {
89-
return applyReturn(game, source);
90+
return applyReturn(game, source) && new ExileSourceEffect(false).apply(game, source);
9091
}
9192
else {
9293
return applyEmbark(game, source);
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package org.mage.test.cards.single.ltc;
2+
3+
import mage.constants.PhaseStep;
4+
import mage.constants.Zone;
5+
import org.junit.Test;
6+
import org.mage.test.player.TestPlayer;
7+
import org.mage.test.serverside.base.CardTestPlayerBase;
8+
9+
public class SailIntoTheWestTest extends CardTestPlayerBase {
10+
11+
@Test
12+
public void testExileSelfReturn() {
13+
addCard(Zone.BATTLEFIELD, playerA, "Island");
14+
addCard(Zone.BATTLEFIELD, playerA, "Forest");
15+
addCard(Zone.BATTLEFIELD, playerA, "Wastes", 2);
16+
addCard(Zone.HAND, playerA, "Sail into the West");
17+
18+
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sail into the West");
19+
setChoice(playerA, true);
20+
setChoice(playerB, true);
21+
addTarget(playerA, TestPlayer.TARGET_SKIP);
22+
addTarget(playerB, TestPlayer.TARGET_SKIP);
23+
24+
setStrictChooseMode(true);
25+
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
26+
execute();
27+
assertExileCount(playerA, "Sail into the West", 1);
28+
assertGraveyardCount(playerA, "Sail into the West", 0);
29+
}
30+
31+
@Test
32+
public void testNoExileSelfWheel() {
33+
addCard(Zone.BATTLEFIELD, playerA, "Island");
34+
addCard(Zone.BATTLEFIELD, playerA, "Forest");
35+
addCard(Zone.BATTLEFIELD, playerA, "Wastes", 2);
36+
addCard(Zone.HAND, playerA, "Sail into the West");
37+
38+
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Sail into the West");
39+
setChoice(playerA, false);
40+
setChoice(playerB, false);
41+
setChoice(playerA, false);
42+
setChoice(playerB, false);
43+
44+
setStrictChooseMode(true);
45+
setStopAt(1, PhaseStep.PRECOMBAT_MAIN);
46+
execute();
47+
assertExileCount(playerA, "Sail into the West", 0);
48+
assertGraveyardCount(playerA, "Sail into the West", 1);
49+
}
50+
51+
}

0 commit comments

Comments
 (0)