From 97c6f331547c2addc6f71e439c43f633c70ebb73 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Thu, 29 Mar 2012 08:32:52 -0400 Subject: [PATCH] fixes --- Mage.Sets/src/mage/sets/magic2011/Fling.java | 2 +- .../src/mage/sets/newphyrexia/KarnLiberated.java | 11 +++++++---- .../effects/common/ReturnFromExileEffect.java | 5 +++-- Mage/src/mage/cards/CardImpl.java | 2 +- Mage/src/mage/players/PlayerImpl.java | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Mage.Sets/src/mage/sets/magic2011/Fling.java b/Mage.Sets/src/mage/sets/magic2011/Fling.java index f3f4a59b2c8..84ffa06e6dc 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Fling.java +++ b/Mage.Sets/src/mage/sets/magic2011/Fling.java @@ -83,7 +83,7 @@ class FlingEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { int amount = 0; for (Cost cost: source.getCosts()) { - if (cost instanceof SacrificeTargetCost) { + if (cost instanceof SacrificeTargetCost && ((SacrificeTargetCost)cost).getPermanents().size() > 0) { amount = ((SacrificeTargetCost)cost).getPermanents().get(0).getPower().getValue(); break; } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/KarnLiberated.java b/Mage.Sets/src/mage/sets/newphyrexia/KarnLiberated.java index 858781d37f9..5aac72da02c 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/KarnLiberated.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/KarnLiberated.java @@ -194,11 +194,14 @@ class KarnLiberatedDelayedEffect extends OneShotEffect @Override public boolean apply(Game game, Ability source) { - ExileZone exile = game.getExile().getExileZone(exileId).copy(); + ExileZone exile = game.getExile().getExileZone(exileId); if (exile != null) { + exile = exile.copy(); for (UUID cardId: exile) { Card card = game.getCard(cardId); card.moveToZone(zone, source.getId(), game, tapped); } - exile.clear(); + game.getExile().getExileZone(exileId).clear(); return true; } return false; diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index c6661078369..a14eb831f42 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -238,7 +238,7 @@ public abstract class CardImpl> extends MageObjectImpl break; default: logger.fatal("invalid zone for card - " + fromZone); - return false; + break; } game.rememberLKI(objectId, event.getFromZone(), this); } diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 74456705efe..af7505ace07 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -346,7 +346,7 @@ public abstract class PlayerImpl> implements Player, Ser public void discardToMax(Game game) { while (hand.size() > this.maxHandSize) { TargetDiscard target = new TargetDiscard(playerId); - chooseTarget(Outcome.Discard, target, null, game); + choose(Outcome.Discard, target, null, game); discard(hand.get(target.getFirstTarget(), game), null, game); } }