Change Spectacle cost to mana cost instead of just cost
parent
357eeb284b
commit
542cbb9c89
|
@ -675,12 +675,12 @@ public enum MagicAbility {
|
||||||
card.add(ThisDiesTrigger.Afterlife(n));
|
card.add(ThisDiesTrigger.Afterlife(n));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Spectacle("spectacle( |—)" + ARG.COST, 10) {
|
Spectacle("spectacle( |—)" + ARG.MANACOST, 10) {
|
||||||
@Override
|
@Override
|
||||||
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
||||||
final MagicCardDefinition cardDef = (MagicCardDefinition)card;
|
final MagicCardDefinition cardDef = (MagicCardDefinition)card;
|
||||||
final List<MagicMatchedCostEvent> matchedCostEvents = MagicRegularCostEvent.buildCast(ARG.cost(arg));
|
final MagicManaCost manaCost = MagicManaCost.create(ARG.manacost(arg));
|
||||||
card.add(new MagicSpectacleActivation(cardDef, matchedCostEvents));
|
card.add(new MagicSpectacleActivation(cardDef, manaCost));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,16 @@
|
||||||
package magic.model.event;
|
package magic.model.event;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import magic.model.MagicCard;
|
import magic.model.MagicCard;
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.model.MagicGame;
|
import magic.model.MagicManaCost;
|
||||||
import magic.model.MagicPayedCost;
|
|
||||||
import magic.model.condition.MagicCondition;
|
import magic.model.condition.MagicCondition;
|
||||||
|
|
||||||
public class MagicSpectacleActivation extends MagicHandCastActivation {
|
public class MagicSpectacleActivation extends MagicHandCastActivation {
|
||||||
|
|
||||||
private final List<MagicMatchedCostEvent> matchedCostEvents;
|
final MagicManaCost cost;
|
||||||
|
|
||||||
public MagicSpectacleActivation(final MagicCardDefinition cdef, final List<MagicMatchedCostEvent> aMatchedCostEvents) {
|
public MagicSpectacleActivation(final MagicCardDefinition cdef, final MagicManaCost aCost) {
|
||||||
super(
|
super(
|
||||||
new MagicCondition[]{
|
new MagicCondition[]{
|
||||||
MagicCondition.CARD_CONDITION,
|
MagicCondition.CARD_CONDITION,
|
||||||
|
@ -21,29 +19,17 @@ public class MagicSpectacleActivation extends MagicHandCastActivation {
|
||||||
cdef.getActivationHints(),
|
cdef.getActivationHints(),
|
||||||
"Spectacle"
|
"Spectacle"
|
||||||
);
|
);
|
||||||
matchedCostEvents = aMatchedCostEvents;
|
cost = aCost;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterable<? extends MagicEvent> getCostEvent(final MagicCard source) {
|
public Iterable<? extends MagicEvent> getCostEvent(final MagicCard source) {
|
||||||
return MagicMatchedCostEvent.getCostEvent(matchedCostEvents, source);
|
return Arrays.asList(
|
||||||
}
|
MagicPayManaCostEvent.Cast(
|
||||||
|
source,
|
||||||
@Override
|
cost
|
||||||
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
|
),
|
||||||
return new MagicEvent(
|
new MagicEvokeEvent(source)
|
||||||
cardOnStack,
|
|
||||||
this,
|
|
||||||
"Put SN onto the battlefield, " +
|
|
||||||
"it gains haste and it's returned from the battlefield to its owner's hand at the beginning of the next end step."
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
|
||||||
game.doAction(new PlayCardFromStackAction(
|
|
||||||
event.getCardOnStack(),
|
|
||||||
MagicPlayMod.HASTE, MagicPlayMod.RETURN_AT_END_OF_TURN
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue