Fixed triggered ability of Guerrilla Tactics.

This commit is contained in:
LevelX2 2014-08-12 15:18:50 +02:00
parent 06b61fcba7
commit 2a3518820d
2 changed files with 14 additions and 8 deletions

View file

@ -28,6 +28,7 @@
package mage.sets.ninthedition;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.DamageTargetEffect;
@ -37,6 +38,7 @@ import mage.constants.Rarity;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.StackObject;
import mage.target.common.TargetCreatureOrPlayer;
/**
@ -86,13 +88,20 @@ class GuerrillaTacticsTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return GameEvent.EventType.DISCARDED_CARD.equals(event.getType()) &&
game.getOpponents(this.getControllerId()).contains(game.getControllerId(event.getSourceId())) &&
getSourceId().equals(event.getTargetId());
if (GameEvent.EventType.DISCARDED_CARD.equals(event.getType())
&& event.getSourceId() != null // can be null if e.g. discard down to hand limit
&& event.getTargetId().equals(getSourceId())
&& event.getPlayerId().equals(getControllerId())) {
MageObject mageObject = game.getObject(event.getSourceId());
if (mageObject != null && (mageObject instanceof StackObject)) {
return game.getOpponents(this.getControllerId()).contains(((StackObject)mageObject).getControllerId());
}
}
return false;
}
@Override
public String getRule() {
return "When a spell or ability an opponent controls causes you to discard Guerrilla Tactics, Guerrilla Tactics deals 4 damage to target creature or player.";
return "When a spell or ability an opponent controls causes you to discard {this}, " + super.getRule();
}
}
}

View file

@ -37,9 +37,6 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.filter.FilterSpell;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;