diff --git a/Mage.Sets/src/mage/cards/b/BewitchingLeechcraft.java b/Mage.Sets/src/mage/cards/b/BewitchingLeechcraft.java index 1aaeaa5565a..889b49a2f12 100644 --- a/Mage.Sets/src/mage/cards/b/BewitchingLeechcraft.java +++ b/Mage.Sets/src/mage/cards/b/BewitchingLeechcraft.java @@ -89,9 +89,9 @@ class BewitchingLeechcraftReplacementEffect extends ReplacementEffectImpl { int amountBefore = permanentUntapping.getCounters(game).getCount(CounterType.P1P1); permanentUntapping.removeCounters(CounterType.P1P1.getName(), 1, source, game); int amountAfter = permanentUntapping.getCounters(game).getCount(CounterType.P1P1); - // If we could not remove a counter, we are replacing the UNTAP event. - // If we could remove a counter, we are not replacing the UNTAP, just adding to it. - return amountBefore < amountAfter; + // If we could not remove a counter, we are replacing the UNTAP event - return true. + // If we could remove a counter, we are not replacing the UNTAP, just adding to it - return false. + return amountBefore <= amountAfter; } @Override diff --git a/Mage.Sets/src/mage/cards/n/NefariousImp.java b/Mage.Sets/src/mage/cards/n/NefariousImp.java index 478dcbec888..b908ffa6df0 100644 --- a/Mage.Sets/src/mage/cards/n/NefariousImp.java +++ b/Mage.Sets/src/mage/cards/n/NefariousImp.java @@ -79,7 +79,7 @@ class NefariousImpTriggeredAbility extends TriggeredAbilityImpl { zEvent.getCards() .stream() .map(MageItem::getId) - .map(game::getPermanent) + .map(game::getPermanentOrLKIBattlefield) .filter(Objects::nonNull) ).map(Controllable::getControllerId).anyMatch(this::isControlledBy); } diff --git a/Mage/src/main/java/mage/game/stack/Spell.java b/Mage/src/main/java/mage/game/stack/Spell.java index 5c2b69d19e1..c234e901643 100644 --- a/Mage/src/main/java/mage/game/stack/Spell.java +++ b/Mage/src/main/java/mage/game/stack/Spell.java @@ -190,14 +190,16 @@ public class Spell extends StackObjectImpl implements Card { return true; } - public String getActivatedMessage(Game game) { + public String getActivatedMessage(Game game, Zone fromZone) { StringBuilder sb = new StringBuilder(); + sb.append(" casts "); if (isCopy()) { - sb.append(" copies "); - } else { - sb.append(" casts "); + sb.append("a copied "); } - return sb.append(ability.getGameLogMessage(game)).toString(); + sb.append(ability.getGameLogMessage(game)); + sb.append(" from "); + sb.append(fromZone.toString().toLowerCase(Locale.ENGLISH)); + return sb.toString(); } public String getSpellCastText(Game game) { diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index ebe719cbbf8..682cb5ce3d7 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -1297,7 +1297,7 @@ public abstract class PlayerImpl implements Player, Serializable { castedEvent.setZone(fromZone); game.fireEvent(castedEvent); if (!game.isSimulation()) { - game.informPlayers(getLogName() + spell.getActivatedMessage(game)); + game.informPlayers(getLogName() + spell.getActivatedMessage(game, fromZone)); } game.removeBookmark(bookmark); resetStoredBookmark(game);