From 0042dc1ad98a62378ae463a96a325cad6718a44f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 15 Sep 2016 16:10:17 +0200 Subject: [PATCH] Some minor fixes to game log / card rules text /messages. --- Mage.Sets/src/mage/sets/kaladesh/BomatCourier.java | 6 ++++-- Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java | 5 ++--- .../effects/common/ExileTargetForSourceEffect.java | 5 +++-- Mage/src/main/java/mage/players/PlayerImpl.java | 11 +++++++---- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Mage.Sets/src/mage/sets/kaladesh/BomatCourier.java b/Mage.Sets/src/mage/sets/kaladesh/BomatCourier.java index 9d2d7e708ef..666b27c01c6 100644 --- a/Mage.Sets/src/mage/sets/kaladesh/BomatCourier.java +++ b/Mage.Sets/src/mage/sets/kaladesh/BomatCourier.java @@ -29,6 +29,7 @@ package mage.sets.kaladesh; import java.util.UUID; import mage.MageInt; +import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -103,12 +104,13 @@ class BomatCourierExileEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { + MageObject sourceObject = source.getSourceObject(game); + if (controller != null && sourceObject != null) { Card card = controller.getLibrary().getFromTop(game); if (card != null) { UUID exileZoneId = CardUtil.getCardExileZoneId(game, source); card.setFaceDown(true, game); - controller.moveCardsToExile(card, source, game, false, exileZoneId, "Bomat Courier"); + controller.moveCardsToExile(card, source, game, false, exileZoneId, sourceObject.getIdName()); card.setFaceDown(true, game); return true; } diff --git a/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java b/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java index 89fc10225b2..ab9cdbbe719 100644 --- a/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java +++ b/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java @@ -58,7 +58,7 @@ import mage.util.CardUtil; */ public class WispweaverAngel extends CardImpl { - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control"); + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another taget creature you control"); static { filter.add(new AnotherPredicate()); @@ -121,8 +121,7 @@ class WispweaverAngelEffect extends OneShotEffect { for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { if (exileZone.contains(targetId)) { cardsToBattlefield.add(targetId); - } - else { + } else { Card card = game.getCard(targetId); if (card != null && card instanceof MeldCard) { MeldCard meldCard = (MeldCard) card; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileTargetForSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileTargetForSourceEffect.java index a82df619b5f..ef9a51f8e40 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileTargetForSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileTargetForSourceEffect.java @@ -76,8 +76,7 @@ public class ExileTargetForSourceEffect extends OneShotEffect { } } } - } - else { + } else { for (UUID targetId : targetPointer.getTargets(game, source)) { MageObject mageObject = game.getObject(targetId); if (mageObject != null) { @@ -99,6 +98,8 @@ public class ExileTargetForSourceEffect extends OneShotEffect { if (mode.getTargets().isEmpty()) { return "exile it"; + } else if (mode.getTargets().get(0).getTargetName().startsWith("another")) { + return "exile " + mode.getTargets().get(0).getTargetName(); } else { return "exile target " + mode.getTargets().get(0).getTargetName(); } diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index ecc11fbc667..a0ea1227c58 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -3146,7 +3146,7 @@ public abstract class PlayerImpl implements Player, Serializable { successfulMovedCards = moveCardsToGraveyardWithInfo(cards, source, game, fromZone); return successfulMovedCards.size() > 0; case BATTLEFIELD: // new logic that does not yet add the permanents to battlefield while replacement effects are handled - List infoList = new ArrayList(); + List infoList = new ArrayList<>(); for (Card card : cards) { fromZone = game.getState().getZone(card.getId()); ZoneChangeEvent event = new ZoneChangeEvent(card.getId(), source.getSourceId(), byOwner ? card.getOwnerId() : getId(), fromZone, Zone.BATTLEFIELD, appliedEffects); @@ -3158,9 +3158,12 @@ public abstract class PlayerImpl implements Player, Serializable { if (permanent != null) { successfulMovedCards.add(permanent); if (!game.isSimulation()) { - game.informPlayers(game.getPlayer(info.event.getPlayerId()) + " puts " - + (info.faceDown ? "a card face down " : permanent.getLogName()) + " from " - + fromZone.toString().toLowerCase(Locale.ENGLISH) + " onto the Battlefield"); + Player eventPlayer = game.getPlayer(info.event.getPlayerId()); + if (eventPlayer != null && fromZone != null) { + game.informPlayers(eventPlayer.getLogName() + " puts " + + (info.faceDown ? "a card face down " : permanent.getLogName()) + " from " + + fromZone.toString().toLowerCase(Locale.ENGLISH) + " onto the Battlefield"); + } } } }