* Maelstrom Nexus - Fixed that cascade wrongly triggered not only for the first spell cast.

This commit is contained in:
LevelX2 2017-01-20 00:15:27 +01:00
parent e6b5c0aef6
commit 16648e53d1
2 changed files with 8 additions and 6 deletions

View file

@ -46,7 +46,6 @@ import mage.game.stack.StackObject;
import mage.players.Player;
import mage.watchers.common.FirstSpellCastThisTurnWatcher;
/**
*
* @author jeffwadsworth
@ -54,7 +53,7 @@ import mage.watchers.common.FirstSpellCastThisTurnWatcher;
public class MaelstromNexus extends CardImpl {
public MaelstromNexus(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{U}{B}{R}{G}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}{U}{B}{R}{G}");
// The first spell you cast each turn has cascade.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MaelstromNexusGainCascadeFirstSpellEffect()), new FirstSpellCastThisTurnWatcher());
@ -72,7 +71,7 @@ public class MaelstromNexus extends CardImpl {
class MaelstromNexusGainCascadeFirstSpellEffect extends ContinuousEffectImpl {
private Ability cascadeAbility = new CascadeAbility();
private final Ability cascadeAbility = new CascadeAbility();
public MaelstromNexusGainCascadeFirstSpellEffect() {
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
@ -106,4 +105,4 @@ class MaelstromNexusGainCascadeFirstSpellEffect extends ContinuousEffectImpl {
}
return false;
}
}
}

View file

@ -12,7 +12,8 @@ import mage.watchers.Watcher;
/**
* @author jeffwadsworth
**/
*
*/
public class FirstSpellCastThisTurnWatcher extends Watcher {
private final Map<UUID, UUID> playerFirstSpellCast = new HashMap<>();
@ -24,6 +25,8 @@ public class FirstSpellCastThisTurnWatcher extends Watcher {
public FirstSpellCastThisTurnWatcher(final FirstSpellCastThisTurnWatcher watcher) {
super(watcher);
playerFirstSpellCast.putAll(watcher.playerFirstSpellCast);
playerFirstCastSpell.putAll(watcher.playerFirstSpellCast);
}
@Override
@ -61,4 +64,4 @@ public class FirstSpellCastThisTurnWatcher extends Watcher {
return playerFirstSpellCast.get(playerId);
}
}
}
}