diff --git a/forge-game/src/main/java/forge/game/mana/ManaCostAdjustment.java b/forge-game/src/main/java/forge/game/mana/ManaCostAdjustment.java index 7f3ea34a5c8..7d6166cff8b 100644 --- a/forge-game/src/main/java/forge/game/mana/ManaCostAdjustment.java +++ b/forge-game/src/main/java/forge/game/mana/ManaCostAdjustment.java @@ -89,6 +89,7 @@ public class ManaCostAdjustment { if (sa.isSpell()) { if (sa.isDelve()) { + sa.getHostCard().clearDelved(); final Player pc = sa.getActivatingPlayer(); final CardCollection mutableGrave = new CardCollection(pc.getCardsIn(ZoneType.Graveyard)); final CardCollectionView toExile = pc.getController().chooseCardsToDelve(cost.getUnpaidShards(ManaCostShard.COLORLESS), mutableGrave); @@ -96,7 +97,7 @@ public class ManaCostAdjustment { cost.decreaseColorlessMana(1); if (!test) { sa.getHostCard().addDelved(c); - pc.getGame().getAction().exile(c); + //pc.getGame().getAction().exile(c); } } } diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index a53ae912338..1ab6650b855 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -40,7 +40,7 @@ import java.util.Map; public class HumanPlay { - private HumanPlay() { + private HumanPlay() { } /** @@ -98,8 +98,16 @@ public class HumanPlay { if (sa.isSpell() && !source.isCopiedSpell()) { sa.setHostCard(p.getGame().getAction().moveToStack(source)); } + p.getGame().getStack().add(sa); } + + if(sa.isDelve()) { + for(Card c : sa.getHostCard().getDelved()) { + p.getGame().getAction().exile(c); + } + sa.getHostCard().clearDelved(); + } } /** @@ -738,7 +746,7 @@ public class HumanPlay { source.setXManaCostPaidByColor(toPay.getXManaCostPaidByColor()); source.setColorsPaid(toPay.getColorsPaid()); source.setSunburstValue(toPay.getSunburst()); - } + } // Handle convoke and offerings if (ability.isOffering() && ability.getSacrificedAsOffering() != null) {