Updated how spell triggers get information about the spell that triggered them.

This prevents countering the spell from removing the effect of the trigger.
This commit is contained in:
Evan Kranzler 2017-09-18 17:02:55 -04:00
parent e3245c496c
commit 7bb7754bb3
26 changed files with 69 additions and 61 deletions

View file

@ -43,17 +43,30 @@ import mage.players.Player;
*/
public class CopyTargetSpellEffect extends OneShotEffect {
private boolean useLKI = false;
public CopyTargetSpellEffect() {
super(Outcome.Copy);
}
public CopyTargetSpellEffect(boolean useLKI) {
super(Outcome.Copy);
this.useLKI = useLKI;
}
public CopyTargetSpellEffect(final CopyTargetSpellEffect effect) {
super(effect);
this.useLKI = effect.useLKI;
}
@Override
public boolean apply(Game game, Ability source) {
Spell spell = game.getStack().getSpell(targetPointer.getFirst(game, source));
Spell spell;
if (useLKI) {
spell = game.getSpellOrLKIStack(targetPointer.getFirst(game, source));
} else {
spell = game.getStack().getSpell(targetPointer.getFirst(game, source));
}
if (spell == null) {
spell = (Spell) game.getLastKnownInformation(targetPointer.getFirst(game, source), Zone.STACK);
}