From e7585e8d955f78d8b4c58e696a8496df8a57a434 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Thu, 15 Aug 2024 09:00:27 +0400 Subject: [PATCH] refactor: fixed miss copy effect (related to #12605) --- .../main/java/mage/abilities/effects/OneShotEffect.java | 5 +++-- .../effects/common/ExileThenReturnTargetEffect.java | 7 +++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/effects/OneShotEffect.java b/Mage/src/main/java/mage/abilities/effects/OneShotEffect.java index 96e29a2cef4f..37725006a313 100644 --- a/Mage/src/main/java/mage/abilities/effects/OneShotEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/OneShotEffect.java @@ -1,5 +1,3 @@ - - package mage.abilities.effects; import mage.constants.EffectType; @@ -37,4 +35,7 @@ public Effect setTargetPointer(TargetPointer targetPointer) { super.setTargetPointer(targetPointer); return this; } + + @Override + abstract public OneShotEffect copy(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileThenReturnTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileThenReturnTargetEffect.java index 737d783e8c15..c0ab41a47dfc 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileThenReturnTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileThenReturnTargetEffect.java @@ -2,7 +2,6 @@ import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.constants.Outcome; @@ -44,7 +43,7 @@ protected ExileThenReturnTargetEffect(final ExileThenReturnTargetEffect effect) this.putCards = effect.putCards; this.yourControl = effect.yourControl; this.textThatCard = effect.textThatCard; - this.afterEffect = effect.afterEffect; + this.afterEffect = effect.afterEffect == null ? null : effect.afterEffect.copy(); } @Override @@ -78,7 +77,7 @@ public boolean apply(Game game, Ability source) { yourControl ? controller : game.getPlayer(card.getOwnerId()), card.getMainCard(), source, game, "card"); } - if (afterEffect != null){ + if (afterEffect != null) { afterEffect.setTargetPointer(new FixedTargets(toFlicker, game)); afterEffect.apply(game, source); } @@ -105,7 +104,7 @@ public String getText(Mode mode) { sb.append(this.yourControl ? "your" : "its owner's"); } sb.append(" control"); - if (afterEffect != null){ + if (afterEffect != null) { sb.append(". ").append(CardUtil.getTextWithFirstCharUpperCase(afterEffect.getText(mode))); } return sb.toString();