forked from External/mage
Alternative spell abilities: added support of modes and other extra things in commander, awaken, jump-start, spectacle, retrace and surge abilities;
This commit is contained in:
parent
a8c047a2be
commit
d25ae47104
10 changed files with 138 additions and 89 deletions
|
|
@ -36,16 +36,14 @@ public class JumpStartAbility extends SpellAbility {
|
|||
private boolean replacementEffectAdded = false;
|
||||
|
||||
public JumpStartAbility(Card card) {
|
||||
super(card.getManaCost(), card.getName() + " with jump-start", Zone.GRAVEYARD, SpellAbilityType.BASE_ALTERNATE);
|
||||
this.getCosts().addAll(card.getSpellAbility().getCosts().copy());
|
||||
super(card.getSpellAbility());
|
||||
this.setCardName(card.getName() + " with jump-start");
|
||||
zone = Zone.GRAVEYARD;
|
||||
spellAbilityType = SpellAbilityType.BASE_ALTERNATE;
|
||||
|
||||
Cost cost = new DiscardTargetCost(new TargetCardInHand());
|
||||
cost.setText("");
|
||||
this.addCost(cost);
|
||||
this.getEffects().addAll(card.getSpellAbility().getEffects().copy());
|
||||
this.getTargets().addAll(card.getSpellAbility().getTargets().copy());
|
||||
this.spellAbilityType = SpellAbilityType.BASE_ALTERNATE;
|
||||
this.timing = card.getSpellAbility().getTiming();
|
||||
|
||||
}
|
||||
|
||||
public JumpStartAbility(final JumpStartAbility ability) {
|
||||
|
|
@ -132,9 +130,7 @@ class JumpStartReplacementEffect extends ReplacementEffectImpl {
|
|||
if (event.getTargetId().equals(source.getSourceId())
|
||||
&& ((ZoneChangeEvent) event).getFromZone() == Zone.STACK
|
||||
&& ((ZoneChangeEvent) event).getToZone() != Zone.EXILED) {
|
||||
if (game.getState().getZoneChangeCounter(source.getSourceId()) == source.getSourceObjectZoneChangeCounter() + 1) {
|
||||
return true;
|
||||
}
|
||||
return game.getState().getZoneChangeCounter(source.getSourceId()) == source.getSourceObjectZoneChangeCounter() + 1;
|
||||
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue