This commit is contained in:
maurer.it 2011-03-05 21:35:00 -05:00
commit 194a454f86
2 changed files with 9 additions and 6 deletions

View file

@ -287,9 +287,12 @@ public class ComputerPlayer<T extends ComputerPlayer<T>> extends PlayerImpl<T> i
targets = threats(opponentId, ((FilterCreatureOrPlayer)t.getFilter()).getCreatureFilter(), game);
}
for (Permanent permanent: targets) {
List<UUID> alreadyTargetted = target.getTargets();
if (t.canTarget(playerId, permanent.getId(), source, game)) {
target.addTarget(permanent.getId(), source, game);
return true;
if ( alreadyTargetted != null && !alreadyTargetted.contains(permanent.getId()) ) {
target.addTarget(permanent.getId(), source, game);
return true;
}
}
}
if (outcome.isGood()) {

View file

@ -37,12 +37,12 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
/**
*
@ -98,9 +98,9 @@ class NissasChosenEffect extends ReplacementEffectImpl<NissasChosenEffect> {
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
Permanent permanent = game.getPermanent(event.getTargetId());
if ( permanent != null && event.getTargetId().equals(source.getSourceId()) ) {
return permanent.moveToZone(Zone.LIBRARY, source.getId(), game, onTop);
Card card = game.getCard(event.getTargetId());
if ( card != null && event.getTargetId().equals(source.getSourceId()) ) {
return card.moveToZone(Zone.LIBRARY, source.getId(), game, onTop);
}
return false;
}