* Ghastlord of Fugue - Fixed the not working triggered ability.

This commit is contained in:
LevelX2 2015-05-23 17:08:18 +02:00
parent d427e9a315
commit e1a8e41702
2 changed files with 9 additions and 3 deletions

View file

@ -93,7 +93,7 @@ class GhastlordOfFugueEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player targetPlayer = game.getPlayer(source.getFirstTarget());
Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source));
Player controller = game.getPlayer(source.getControllerId());
MageObject sourceObject = game.getObject(source.getSourceId());
if (targetPlayer != null
@ -111,7 +111,7 @@ class GhastlordOfFugueEffect extends OneShotEffect {
chosenCard = game.getCard(target.getFirstTarget());
}
if (chosenCard != null) {
controller.moveCardToExileWithInfo(chosenCard, null, "", source.getSourceId(), game, Zone.HAND, true);
controller.moveCards(chosenCard, Zone.HAND, Zone.EXILED, source, game);
}
return true;
}

View file

@ -2850,12 +2850,18 @@ public abstract class PlayerImpl implements Player, Serializable {
}
game.fireEvent(new ZoneChangeGroupEvent(cards, source == null ? null : source.getSourceId(), this.getId(), fromZone, toZone));
switch(toZone) {
case EXILED:
boolean result = false;
for(Card card: cards) {
result |= moveCardToExileWithInfo(card, null, "", source == null ? null : source.getSourceId(), game, true);
}
return result;
case GRAVEYARD:
return moveCardsToGraveyardWithInfo(cards, source, game, fromZone);
case HAND:
boolean result = false;
for(Card card: cards) {
result |= moveCardToHandWithInfo(card, playerId, game, fromZone);
result |= moveCardToHandWithInfo(card, source == null ? null : source.getSourceId(), game, fromZone);
}
return result;
default: