* Goryo's Vengeance - Fixed that the beginning of next end step ability also exiled the target if it meanwhile left and returned the battlefield as sa new object.

This commit is contained in:
LevelX2 2015-09-26 23:30:24 +02:00
parent c232e1d0c5
commit 56a5030f93
2 changed files with 5 additions and 3 deletions

View file

@ -70,7 +70,6 @@ public class GoryosVengeance extends CardImpl {
this.expansionSetCode = "BOK"; this.expansionSetCode = "BOK";
this.subtype.add("Arcane"); this.subtype.add("Arcane");
// Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step. // Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step.
this.getSpellAbility().addEffect(new GoryosVengeanceEffect()); this.getSpellAbility().addEffect(new GoryosVengeanceEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter)); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter));
@ -119,8 +118,8 @@ class GoryosVengeanceEffect extends OneShotEffect {
effect.setTargetPointer(new FixedTarget(permanent.getId())); effect.setTargetPointer(new FixedTarget(permanent.getId()));
game.addEffect(effect, source); game.addEffect(effect, source);
// Exile it at end of turn // Exile it at end of turn
Effect exileEffect = new ExileTargetEffect(new StringBuilder("Exile ").append(permanent.getName()).append(" at the beginning of the next end step").toString()); Effect exileEffect = new ExileTargetEffect("Exile " + permanent.getName() + " at the beginning of the next end step");
exileEffect.setTargetPointer(new FixedTarget(card.getId())); exileEffect.setTargetPointer(new FixedTarget(permanent, game));
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect); DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect);
delayedAbility.setSourceId(source.getSourceId()); delayedAbility.setSourceId(source.getSourceId());
delayedAbility.setControllerId(source.getControllerId()); delayedAbility.setControllerId(source.getControllerId());

View file

@ -2926,6 +2926,9 @@ public abstract class PlayerImpl implements Player, Serializable {
@Override @Override
public boolean moveCards(Cards cards, Zone fromZone, Zone toZone, Ability source, Game game) { public boolean moveCards(Cards cards, Zone fromZone, Zone toZone, Ability source, Game game) {
if (cards.isEmpty()) {
return true;
}
Set<Card> cardList = new HashSet<>(); Set<Card> cardList = new HashSet<>();
for (UUID cardId : cards) { for (UUID cardId : cards) {
fromZone = game.getState().getZone(cardId); fromZone = game.getState().getZone(cardId);