Some more rework for prevention effects.

This commit is contained in:
LevelX2 2014-04-25 11:30:54 +02:00
parent b930c5aae7
commit 300081d302
14 changed files with 64 additions and 190 deletions

View file

@ -88,8 +88,24 @@ public class ReturnFromExileEffect extends OneShotEffect<ReturnFromExileEffect>
exile = exile.copy();
for (UUID cardId: exile) {
Card card = game.getCard(cardId);
card.moveToZone(zone, source.getSourceId(), game, tapped);
game.informPlayers(new StringBuilder(controller.getName()).append(" moves ").append(card.getName()).append(" to ").append(zone.toString()).toString());
switch (zone) {
case BATTLEFIELD:
controller.putOntoBattlefieldWithInfo(card, game, Zone.EXILED, source.getSourceId(), tapped);
break;
case HAND:
controller.moveCardToHandWithInfo(card, source.getSourceId(), game, Zone.EXILED);
break;
case GRAVEYARD:
controller.moveCardToGraveyardWithInfo(card, source.getSourceId(), game, Zone.EXILED);
break;
case LIBRARY:
controller.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.EXILED, true);
break;
default:
card.moveToZone(zone, source.getSourceId(), game, tapped);
game.informPlayers(new StringBuilder(controller.getName()).append(" moves ").append(card.getName()).append(" to ").append(zone.toString()).toString());
}
}
game.getExile().getExileZone(exileId).clear();
return true;

View file

@ -120,7 +120,7 @@ public abstract class SplitCard<T extends SplitCard<T>> extends CardImpl<T> {
@Override
public List<String> getRules() {
List<String> rules = new ArrayList<String>();
List<String> rules = new ArrayList<>();
// rules.addAll(leftHalfCard.getRules());
// rules.addAll(rightHalfCard.getRules());
if (getSpellAbility().getSpellAbilityType().equals(SpellAbilityType.SPLIT_FUSED)) {
@ -149,7 +149,7 @@ public abstract class SplitCard<T extends SplitCard<T>> extends CardImpl<T> {
@Override
public List<Watcher> getWatchers() {
List<Watcher> allWatchers = new ArrayList<Watcher>();
List<Watcher> allWatchers = new ArrayList<>();
allWatchers.addAll(super.getWatchers());
allWatchers.addAll(leftHalfCard.getWatchers());
allWatchers.addAll(rightHalfCard.getWatchers());