mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
[KHM] fixed Vorinclex, Monstrous Raider - can't double counters on planeswalkers (#7463);
This commit is contained in:
parent
6f2ce47885
commit
91bac931b7
2 changed files with 32 additions and 2 deletions
|
@ -12,6 +12,8 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -85,10 +87,17 @@ class VorinclexMonstrousRaiderEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (game.getPlayer(event.getTargetId()) == null
|
||||
&& game.getState().getZone(event.getTargetId()) != Zone.BATTLEFIELD) {
|
||||
Player targetPlayer = game.getPlayer(event.getTargetId());
|
||||
Permanent targetPermanet = game.getPermanentEntering(event.getTargetId());
|
||||
if (targetPermanet == null) {
|
||||
targetPermanet = game.getPermanent(event.getTargetId());
|
||||
}
|
||||
|
||||
// on a permanent or player
|
||||
if (targetPlayer == null && targetPermanet == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return source.isControlledBy(event.getPlayerId())
|
||||
|| game.getOpponents(event.getPlayerId()).contains(source.getControllerId());
|
||||
}
|
||||
|
|
|
@ -11,10 +11,15 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
|||
*/
|
||||
public class VorinclexMonstrousRaiderTest extends CardTestPlayerBase {
|
||||
|
||||
// If you would put one or more counters on a permanent or player, put twice that many of each of
|
||||
// those kinds of counters on that permanent or player instead.
|
||||
// If an opponent would put one or more counters on a permanent or player, they put half that
|
||||
// many of each of those kinds of counters on that permanent or player instead, rounded down.
|
||||
private static final String vorinclex = "Vorinclex, Monstrous Raider";
|
||||
private static final String boon = "Dragonscale Boon";
|
||||
private static final String bear = "Grizzly Bears";
|
||||
private static final String rats = "Ichor Rats";
|
||||
private static final String planeswalker = "Chandra, Fire Artisan"; // 4 loyalty
|
||||
|
||||
@Test
|
||||
public void testIDoubleCountersOnMyStuff() {
|
||||
|
@ -67,6 +72,22 @@ public class VorinclexMonstrousRaiderTest extends CardTestPlayerBase {
|
|||
assertCounterCount(playerB, CounterType.POISON, 2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIDoubleCountersOnPlaneswalker() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, vorinclex);
|
||||
addCard(Zone.HAND, playerA, planeswalker); // {2}{R}{R}
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
|
||||
|
||||
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, planeswalker);
|
||||
|
||||
setStrictChooseMode(true);
|
||||
setStopAt(1, PhaseStep.END_TURN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
|
||||
assertCounterCount(playerA, planeswalker, CounterType.LOYALTY, 4 * 2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTheyHalveCountersOnTheirStuff() {
|
||||
addCard(Zone.BATTLEFIELD, playerB, "Forest", 4);
|
||||
|
|
Loading…
Reference in a new issue