* Exploit - Fixed that Exploit also triggered if the creature with Exploit left the battlefield before the first ability of Exploit resolved.

This commit is contained in:
LevelX2 2015-04-07 00:27:07 +02:00
parent a56cccebf9
commit f62d3ac227
17 changed files with 231 additions and 44 deletions

View file

@ -56,8 +56,6 @@ public class ScoutsWarning extends CardImpl {
super(ownerId, 16, "Scout's Warning", Rarity.RARE, new CardType[]{CardType.INSTANT}, "{W}");
this.expansionSetCode = "FUT";
this.color.setWhite(true);
// The next creature card you play this turn can be played as though it had flash.
this.getSpellAbility().addEffect(new ScoutsWarningAsThoughEffect());
this.getSpellAbility().addWatcher(new ScoutsWarningWatcher());
@ -117,7 +115,7 @@ class ScoutsWarningAsThoughEffect extends AsThoughEffectImpl {
if (watcher.isScoutsWarningSpellActive(source.getSourceId(), zoneChangeCounter)) {
Card card = game.getCard(sourceId);
if (card != null && card.getCardType().contains(CardType.CREATURE) && source.getControllerId().equals(affectedControllerId)) {
return card.getSpellAbility().isInUseableZone(game, card, false);
return card.getSpellAbility().isInUseableZone(game, card, null);
}
}
return false;

View file

@ -118,7 +118,7 @@ class QuickenAsThoughEffect extends AsThoughEffectImpl {
if (quickenWatcher.isQuickenSpellActive(source.getSourceId(), zoneChangeCounter)) {
Card card = game.getCard(sourceId);
if (card != null && card.getCardType().contains(CardType.SORCERY) && source.getControllerId().equals(affectedControllerId)) {
return card.getSpellAbility().isInUseableZone(game, card, false);
return card.getSpellAbility().isInUseableZone(game, card, null);
}
}
return false;

View file

@ -132,7 +132,7 @@ class SavageSummoningAsThoughEffect extends AsThoughEffectImpl {
if (watcher.isSavageSummoningSpellActive()) {
Card card = game.getCard(sourceId);
if (card != null && card.getCardType().contains(CardType.CREATURE) && card.getOwnerId().equals(source.getControllerId())) {
return card.getSpellAbility().isInUseableZone(game, card, false);
return card.getSpellAbility().isInUseableZone(game, card, null);
}
}
return false;