From 63781e9ca106c590c5fa4825ebef2955e0cb1746 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Tue, 8 Apr 2025 09:34:24 -0500 Subject: [PATCH] Missed some references to instanceof AdventureCard replaced with CardWithSpellOption --- .../src/mage/player/human/HumanPlayer.java | 2 +- Mage.Sets/src/mage/cards/d/DraugrNecromancer.java | 2 +- Mage.Sets/src/mage/cards/d/DreamDevourer.java | 4 ++-- Mage.Sets/src/mage/cards/e/EdginLarcenousLutenist.java | 4 ++-- Mage.Sets/src/mage/cards/e/EtherealValkyrie.java | 4 ++-- Mage.Sets/src/mage/cards/t/TinybonesBaubleBurglar.java | 2 +- .../src/test/java/mage/verify/VerifyCardDataTest.java | 10 +++++----- .../mage/abilities/effects/AsThoughEffectImpl.java | 7 +++---- 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index 7115082ba57..2320626ce54 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -2379,7 +2379,7 @@ public class HumanPlayer extends PlayerImpl { Card mainCard = game.getCard(CardUtil.getMainCardId(game, ability.getSourceId())); if (mainCard != null && !Zone.BATTLEFIELD.equals(game.getState().getZone(mainCard.getId()))) { if (mainCard instanceof SplitCard - || mainCard instanceof AdventureCard + || mainCard instanceof CardWithSpellOption || mainCard instanceof ModalDoubleFacedCard) { return false; } diff --git a/Mage.Sets/src/mage/cards/d/DraugrNecromancer.java b/Mage.Sets/src/mage/cards/d/DraugrNecromancer.java index 4b48dddf5e1..59db469c383 100644 --- a/Mage.Sets/src/mage/cards/d/DraugrNecromancer.java +++ b/Mage.Sets/src/mage/cards/d/DraugrNecromancer.java @@ -180,7 +180,7 @@ class DraugrNecromancerSpendAnyManaEffect extends AsThoughEffectImpl implements CardState cardState; if (card instanceof SplitCard) { cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED); - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED); } else if (card instanceof ModalDoubleFacedCard) { cardState = game.getLastKnownInformationCard(((ModalDoubleFacedCard) card).getLeftHalfCard().getId(), Zone.EXILED); diff --git a/Mage.Sets/src/mage/cards/d/DreamDevourer.java b/Mage.Sets/src/mage/cards/d/DreamDevourer.java index e9a00346504..0ed63bc1e30 100644 --- a/Mage.Sets/src/mage/cards/d/DreamDevourer.java +++ b/Mage.Sets/src/mage/cards/d/DreamDevourer.java @@ -103,9 +103,9 @@ class DreamDevourerAddAbilityEffect extends ContinuousEffectImpl { foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost); } } - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { String creatureCost = CardUtil.reduceCost(card.getMainCard().getManaCost(), 2).getText(); - String spellCost = CardUtil.reduceCost(((AdventureCard) card).getSpellCard().getManaCost(), 2).getText(); + String spellCost = CardUtil.reduceCost(((CardWithSpellOption) card).getSpellCard().getManaCost(), 2).getText(); foretellAbility = new ForetellAbility(card, creatureCost, spellCost); } else { String costText = CardUtil.reduceCost(card.getManaCost(), 2).getText(); diff --git a/Mage.Sets/src/mage/cards/e/EdginLarcenousLutenist.java b/Mage.Sets/src/mage/cards/e/EdginLarcenousLutenist.java index 20a122cf63f..ada220bef82 100644 --- a/Mage.Sets/src/mage/cards/e/EdginLarcenousLutenist.java +++ b/Mage.Sets/src/mage/cards/e/EdginLarcenousLutenist.java @@ -100,9 +100,9 @@ class EdginLarcenousLutenistEffect extends ContinuousEffectImpl { foretellAbility = new ForetellAbility(card, leftHalfCost, rightHalfCost); } } - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { String creatureCost = CardUtil.reduceCost(card.getMainCard().getManaCost(), 2).getText(); - String spellCost = CardUtil.reduceCost(((AdventureCard) card).getSpellCard().getManaCost(), 2).getText(); + String spellCost = CardUtil.reduceCost(((CardWithSpellOption) card).getSpellCard().getManaCost(), 2).getText(); foretellAbility = new ForetellAbility(card, creatureCost, spellCost); } else { String costText = CardUtil.reduceCost(card.getManaCost(), 2).getText(); diff --git a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java index 1cc5b9d3b91..b9f8d113128 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java +++ b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java @@ -110,9 +110,9 @@ class EtherealValkyrieEffect extends OneShotEffect { foretellAbility = new ForetellAbility(exileCard, leftHalfCost, rightHalfCost); } } - } else if (exileCard instanceof AdventureCard) { + } else if (exileCard instanceof CardWithSpellOption) { String creatureCost = CardUtil.reduceCost(exileCard.getMainCard().getManaCost(), 2).getText(); - String spellCost = CardUtil.reduceCost(((AdventureCard) exileCard).getSpellCard().getManaCost(), 2).getText(); + String spellCost = CardUtil.reduceCost(((CardWithSpellOption) exileCard).getSpellCard().getManaCost(), 2).getText(); game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Cost", creatureCost); game.getState().setValue(exileCard.getMainCard().getId().toString() + "Foretell Split Cost", spellCost); foretellAbility = new ForetellAbility(exileCard, creatureCost, spellCost); diff --git a/Mage.Sets/src/mage/cards/t/TinybonesBaubleBurglar.java b/Mage.Sets/src/mage/cards/t/TinybonesBaubleBurglar.java index 0818d00cd1e..83473f261c3 100644 --- a/Mage.Sets/src/mage/cards/t/TinybonesBaubleBurglar.java +++ b/Mage.Sets/src/mage/cards/t/TinybonesBaubleBurglar.java @@ -211,7 +211,7 @@ class TinybonesBaubleBurglarSpendAnyManaEffect extends AsThoughEffectImpl implem CardState cardState; if (card instanceof SplitCard) { cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED); - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { cardState = game.getLastKnownInformationCard(card.getId(), Zone.EXILED); } else if (card instanceof ModalDoubleFacedCard) { cardState = game.getLastKnownInformationCard(((ModalDoubleFacedCard) card).getLeftHalfCard().getId(), Zone.EXILED); diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 892bfadafbe..4c6e60a54de 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -306,9 +306,9 @@ public class VerifyCardDataTest { if (card instanceof CardWithHalves) { check(((CardWithHalves) card).getLeftHalfCard(), cardIndex); check(((CardWithHalves) card).getRightHalfCard(), cardIndex); - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { check(card, cardIndex); - check(((AdventureCard) card).getSpellCard(), cardIndex); + check(((CardWithSpellOption) card).getSpellCard(), cardIndex); } else { check(card, cardIndex); } @@ -2161,8 +2161,8 @@ public class VerifyCardDataTest { ); // card can contain rules text from both sides, so must search ref card for all sides too String additionalName; - if (card instanceof AdventureCard) { - additionalName = ((AdventureCard) card).getSpellCard().getName(); + if (card instanceof CardWithSpellOption) { + additionalName = ((CardWithSpellOption) card).getSpellCard().getName(); } else if (card.isTransformable() && !card.isNightCard()) { additionalName = card.getSecondCardFace().getName(); } else { @@ -2552,7 +2552,7 @@ public class VerifyCardDataTest { String[] cardRules = card .getRules() .stream() - .filter(s -> !(card instanceof AdventureCard) || !s.startsWith("Adventure ")) + .filter(s -> !(card instanceof CardWithSpellOption) || !s.startsWith("Adventure ") || !s.startsWith("Omen ")) .collect(Collectors.joining("\n")) .replace("
", "\n") .replace("
", "\n") diff --git a/Mage/src/main/java/mage/abilities/effects/AsThoughEffectImpl.java b/Mage/src/main/java/mage/abilities/effects/AsThoughEffectImpl.java index 09f1c74629b..6d8e2d6fea4 100644 --- a/Mage/src/main/java/mage/abilities/effects/AsThoughEffectImpl.java +++ b/Mage/src/main/java/mage/abilities/effects/AsThoughEffectImpl.java @@ -6,14 +6,13 @@ import mage.abilities.ActivatedAbility; import mage.cards.Card; import mage.cards.ModalDoubleFacedCard; import mage.cards.SplitCard; +import mage.cards.CardWithSpellOption; import mage.constants.*; import mage.game.Game; import mage.players.Player; import java.util.UUID; -import mage.cards.AdventureCard; - /** * @author BetaSteward_at_googlemail.com */ @@ -103,9 +102,9 @@ public abstract class AsThoughEffectImpl extends ContinuousEffectImpl implements if (!rightCard.isLand(game)) { player.setCastSourceIdWithAlternateMana(rightCard.getId(), null, rightCard.getSpellAbility().getCosts(), identifier); } - } else if (card instanceof AdventureCard) { + } else if (card instanceof CardWithSpellOption) { Card creatureCard = card.getMainCard(); - Card spellCard = ((AdventureCard) card).getSpellCard(); + Card spellCard = ((CardWithSpellOption) card).getSpellCard(); player.setCastSourceIdWithAlternateMana(creatureCard.getId(), null, creatureCard.getSpellAbility().getCosts(), identifier); player.setCastSourceIdWithAlternateMana(spellCard.getId(), null, spellCard.getSpellAbility().getCosts(), identifier); }