diff --git a/Mage.Common/src/mage/view/GameView.java b/Mage.Common/src/mage/view/GameView.java index 03e9634cce3..467780abf1c 100644 --- a/Mage.Common/src/mage/view/GameView.java +++ b/Mage.Common/src/mage/view/GameView.java @@ -96,7 +96,7 @@ public class GameView implements Serializable { for (StackObject stackObject: state.getStack()) { if (stackObject instanceof StackAbility) { // Stack Ability - MageObject object = ((StackAbility)stackObject).getSourceObject(game); + MageObject object = game.getObject(stackObject.getSourceId()); Card card = game.getCard(stackObject.getSourceId()); if (card != null) { if (object != null) { diff --git a/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java b/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java index e392be49571..9f602c8dd56 100644 --- a/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java +++ b/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java @@ -112,11 +112,11 @@ class WaveOfVitriolEffect extends OneShotEffect { if (player != null) { int count = 0; for(Permanent permanent: game.getBattlefield().getAllActivePermanents(filter, playerId, game)) { - if (permanent.getCardType().contains(CardType.LAND)) { + if (permanent.sacrifice(source.getSourceId(), game) && permanent.getCardType().contains(CardType.LAND)) { count++; } - permanent.sacrifice(source.getSourceId(), game); } + game.getState().handleSimultaneousEvent(game); if (count > 0 && player.chooseUse(Outcome.PutLandInPlay, "Search your library for up to " + count + " basic lands?", game)) { Target target = new TargetCardInLibrary(0,count, new FilterBasicLandCard()); player.chooseTarget(outcome, target, source, game); @@ -127,6 +127,7 @@ class WaveOfVitriolEffect extends OneShotEffect { } } player.shuffleLibrary(game); + game.getState().handleSimultaneousEvent(game); } } }