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);
}