From acceb33bd985cda3c7d302a260699a8960bc34b5 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sun, 23 Jul 2023 23:56:39 -0400 Subject: [PATCH] fix enter with counter --- .../src/mage/cards/a/AscentOfTheWorthy.java | 5 ++++- Mage.Sets/src/mage/cards/c/CauldronsGift.java | 17 ++++++++--------- .../src/mage/cards/l/LuminousBroodmoth.java | 12 +++++------- .../src/mage/cards/t/TurntimberSymbiosis.java | 13 ++++++------- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AscentOfTheWorthy.java b/Mage.Sets/src/mage/cards/a/AscentOfTheWorthy.java index 3dc047743e0..d459190b54d 100644 --- a/Mage.Sets/src/mage/cards/a/AscentOfTheWorthy.java +++ b/Mage.Sets/src/mage/cards/a/AscentOfTheWorthy.java @@ -11,6 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; +import mage.counters.Counters; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.DamageEvent; @@ -167,12 +168,14 @@ class AscentOfTheWorthyReturnEffect extends OneShotEffect { if (player == null || card == null) { return false; } + Counters countersToAdd = new Counters(); + countersToAdd.addCounter(CounterType.FLYING.createInstance()); + game.setEnterWithCounters(card.getId(), countersToAdd); player.moveCards(card, Zone.BATTLEFIELD, source, game); Permanent permanent = game.getPermanent(card.getId()); if (permanent == null) { return false; } - permanent.addCounters(CounterType.FLYING.createInstance(), source.getControllerId(), source, game); game.addEffect(new AddCardSubTypeTargetEffect( SubType.ANGEL, Duration.Custom ).setTargetPointer(new FixedTarget(permanent, game)), source); diff --git a/Mage.Sets/src/mage/cards/c/CauldronsGift.java b/Mage.Sets/src/mage/cards/c/CauldronsGift.java index 3f44992546e..57c35972e19 100644 --- a/Mage.Sets/src/mage/cards/c/CauldronsGift.java +++ b/Mage.Sets/src/mage/cards/c/CauldronsGift.java @@ -11,9 +11,9 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; +import mage.counters.Counters; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInYourGraveyard; @@ -77,15 +77,14 @@ class CauldronsGiftEffect extends OneShotEffect { TargetCard target = new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD); target.setNotTarget(true); if (!player.choose(outcome, player.getGraveyard(), target, source, game)) { - return false; + return true; } Card card = game.getCard(target.getFirstTarget()); - if (card == null || !player.moveCards(card, Zone.BATTLEFIELD, source, game)) { - return false; - } - Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null) { - permanent.addCounters(CounterType.P1P1.createInstance(), source.getControllerId(), source, game); + if (card != null) { + Counters countersToAdd = new Counters(); + countersToAdd.addCounter(CounterType.P1P1.createInstance()); + game.setEnterWithCounters(card.getId(), countersToAdd); + player.moveCards(card, Zone.BATTLEFIELD, source, game); } return true; } @@ -94,4 +93,4 @@ class CauldronsGiftEffect extends OneShotEffect { public Condition getCondition() { return AdamantCondition.BLACK; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java b/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java index eadb7463755..8da7d9ba86d 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java +++ b/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java @@ -13,6 +13,7 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; +import mage.counters.Counters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; @@ -123,12 +124,9 @@ class LuminousBroodmothEffect extends OneShotEffect { if (player == null) { return false; } - player.moveCards(card, Zone.BATTLEFIELD, source, game); - Permanent permanent = game.getPermanent(card.getId()); - if (permanent == null) { - return false; - } - permanent.addCounters(CounterType.FLYING.createInstance(), source.getControllerId(), source, game); - return true; + Counters countersToAdd = new Counters(); + countersToAdd.addCounter(CounterType.FLYING.createInstance()); + game.setEnterWithCounters(card.getId(), countersToAdd); + return player.moveCards(card, Zone.BATTLEFIELD, source, game); } } diff --git a/Mage.Sets/src/mage/cards/t/TurntimberSymbiosis.java b/Mage.Sets/src/mage/cards/t/TurntimberSymbiosis.java index d5859fbd1ca..93fab2d0ca7 100644 --- a/Mage.Sets/src/mage/cards/t/TurntimberSymbiosis.java +++ b/Mage.Sets/src/mage/cards/t/TurntimberSymbiosis.java @@ -12,9 +12,9 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; +import mage.counters.Counters; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInLibrary; @@ -99,13 +99,12 @@ class TurntimberSymbiosisEffect extends OneShotEffect { Card card = game.getCard(target.getFirstTarget()); if (card != null) { cards.remove(card); - - boolean small = card.getManaValue() <= 3; - player.moveCards(card, Zone.BATTLEFIELD, source, game); - Permanent permanent = game.getPermanent(card.getId()); - if (small && permanent != null) { - permanent.addCounters(CounterType.P1P1.createInstance(3), source.getControllerId(), source, game); + if (card.getManaValue() <= 3) { + Counters countersToAdd = new Counters(); + countersToAdd.addCounter(CounterType.P1P1.createInstance(3)); + game.setEnterWithCounters(card.getId(), countersToAdd); } + player.moveCards(card, Zone.BATTLEFIELD, source, game); } player.putCardsOnBottomOfLibrary(cards, game, source, false);