mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
NEO: March cycle
This commit is contained in:
committed by
Michael Kamensky
parent
8c8d7af137
commit
dc949b1a89
@@ -1,7 +1,7 @@
|
||||
Name:March of Burgeoning Life
|
||||
ManaCost:X G
|
||||
Types:Instant
|
||||
A:SP$ Pump | AnnounceTitle$ how many green cards to exile | Announce$ Exiled | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.cmcLTX | TgtPrompt$ Choose target creature with mana value less than X | SubAbility$ DBSearch | StackDescription$ None | SpellDescription$ Choose target creature with mana value less than X. Search your library for a creature card with the same name as that creature, put it onto the battlefield tapped, then shuffle.
|
||||
A:SP$ Pump | AnnounceTitle$ how many green cards to exile | Announce$ Exiled | ValidTgts$ Creature.cmcLTX | TgtPrompt$ Choose target creature with mana value less than X | SubAbility$ DBSearch | StackDescription$ None | SpellDescription$ Choose target creature with mana value less than X. Search your library for a creature card with the same name as that creature, put it onto the battlefield tapped, then shuffle.
|
||||
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Targeted.Creature+sameName | ChangeTypeDesc$ creature card with the same name as {c:Targeted} | ChangeNum$ 1 | Mandatory$ True | Tapped$ True
|
||||
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ ExileFromHand<Y/Card.Green/green cards> | EffectZone$ All | Description$ As an additional cost to cast this spell, you may exile any number of green cards from your hand. This spell costs {2} less to cast for each card exiled this way.
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Name:March of Otherworldly Light
|
||||
ManaCost:X W
|
||||
Types:Instant
|
||||
A:SP$ ChangeZone | AnnounceTitle$ how many white cards to exile | Announce$ Exiled | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.cmcLEX,Creature.cmcLEX,Enchantment.cmcLEX | TgtPrompt$ Select target artifact, creature, or enchantment with mana value X or less | SpellDescription$ Exile target artifact, creature, or enchantment with mana value X or less.
|
||||
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ ExileFromHand<Y/Card.White/white cards> | EffectZone$ All | Description$ As an additional cost to cast this spell, you may exile any number of white cards from your hand. This spell costs {2} less to cast for each card exiled this way.
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Y:SVar$Exiled
|
||||
SVar:Z:SVar$Y/Times.2
|
||||
SVar:Exiled:Number$0
|
||||
Oracle:As an additional cost to cast this spell, you may exile any number of white cards from your hand. This spell costs {2} less to cast for each card exiled this way.\nExile target artifact, creature, or enchantment with mana value X or less.
|
||||
@@ -1,14 +1,14 @@
|
||||
Name:March of Reckless Joy
|
||||
ManaCost:X R
|
||||
Types:Instant
|
||||
A:SP$ Dig | Cost$ X R | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way. | AnnounceTitle$ how many red cards to exile | Announce$ Exiled | DB$ Dig | Defined$ You | DigNum$ X | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top X cards of your library. Until the end of your next turn, you may play up to two of those cards.
|
||||
A:SP$ Dig | Cost$ X R | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way. | AnnounceTitle$ how many red cards to exile | Announce$ Exiled | Defined$ You | DigNum$ X | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top X cards of your library. You may play up to two of those cards until the end of your next turn.
|
||||
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ ExileFromHand<Y/Card.Red/red cards> | EffectZone$ All | Description$ As an additional cost to cast this spell, you may exile any number of red cards from your hand. This spell costs {2} less to cast for each card exiled this way.
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ MayPlay | Duration$ UntilTheEndOfYourNextTurn | ForgetOnMoved$ Exile | SubAbility$ DBCleanup
|
||||
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | MayPlay$ True | MayPlayLimit$ 2 | EffectZone$ Command | AffectedZone$ Exile | Description$ Until the end of your next turn, you may play up to two of those cards.
|
||||
SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ MayPlay | Duration$ UntilTheEndOfYourNextTurn | ForgetOnMoved$ Exile | SubAbility$ DBCleanup | SpellDescription$ You may play up to two of those cards until the end of your next turn.
|
||||
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | MayPlay$ True | MayPlayLimit$ 2 | EffectZone$ Command | AffectedZone$ Exile | Description$ You may play up to two of those cards until the end of your next turn.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Y:SVar$Exiled
|
||||
SVar:Z:SVar$Y/Times.2
|
||||
SVar:Exiled:Number$0
|
||||
Oracle:As an additional cost to cast this spell, you may exile any number of red cards from your hand. This spell costs {2} less to cast for each card exiled this way.\nExile the top X cards of your library. Until the end of your next turn, you may play up to two of those cards.
|
||||
Oracle:As an additional cost to cast this spell, you may exile any number of red cards from your hand. This spell costs {2} less to cast for each card exiled this way.\nExile the top X cards of your library. You may play up to two of those cards until the end of your next turn.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Name:March of Swirling Mist
|
||||
ManaCost:X U
|
||||
Types:Instant
|
||||
A:SP$ Phases | AnnounceTitle$ how many blue cards to exile | Announce$ Exiled | ValidTgts$ Creature | TgtPrompt$ Select up to X target creatures | TargetMin$ 0 | TargetMax$ X | SpellDescription$ Up to X target creatures phase out. (While they're phased out, they're treated as though they don't exist. Each one phases in before its controller untaps during their next untap step.)
|
||||
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ ExileFromHand<Y/Card.Blue/blue cards> | EffectZone$ All | Description$ As an additional cost to cast this spell, you may exile any number of blue cards from your hand. This spell costs {2} less to cast for each card exiled this way.
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Y:SVar$Exiled
|
||||
SVar:Z:SVar$Y/Times.2
|
||||
SVar:Exiled:Number$0
|
||||
Oracle:As an additional cost to cast this spell, you may exile any number of blue cards from your hand. This spell costs {2} less to cast for each card exiled this way.\nUp to X target creatures phase out. (While they're phased out, they're treated as though they don't exist. Each one phases in before its controller untaps during their next untap step.)
|
||||
@@ -0,0 +1,13 @@
|
||||
Name:March of Wretched Sorrow
|
||||
ManaCost:X B
|
||||
Types:Instant
|
||||
A:SP$ DealDamage | AnnounceTitle$ how many black cards to exile | Announce$ Exiled | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature or planeswalker
|
||||
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SpellDescription$ and you gain X life.
|
||||
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ ExileFromHand<Y/Card.Black/black cards> | EffectZone$ All | Description$ As an additional cost to cast this spell, you may exile any number of black cards from your hand. This spell costs {2} less to cast for each card exiled this way.
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Y:SVar$Exiled
|
||||
SVar:Z:SVar$Y/Times.2
|
||||
SVar:Exiled:Number$0
|
||||
DeckHas:Ability$LifeGain
|
||||
Oracle:As an additional cost to cast this spell, you may exile any number of black cards from your hand. This spell costs {2} less to cast for each card exiled this way.\nMarch of Wretched Sorrow deals X damage to target creature or planeswalker and you gain X life.
|
||||
@@ -257,6 +257,10 @@ public class HumanCostDecision extends CostDecisionMakerBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (c == 0) { //in case choice was already made to pay 0 cards
|
||||
return PaymentDecision.number(c);
|
||||
}
|
||||
|
||||
if (cost.from == ZoneType.Battlefield || cost.from == ZoneType.Hand) {
|
||||
final InputSelectCardsFromList inp = new InputSelectCardsFromList(controller, c, c, list, ability);
|
||||
inp.setMessage(Localizer.getInstance().getMessage("lblExileNCardsFromYourZone", "%d", cost.getFrom().getTranslatedName()));
|
||||
|
||||
@@ -217,6 +217,15 @@ public class HumanPlaySpellAbility {
|
||||
fromZone.add(oldCard, zonePosition >= 0 ? Integer.valueOf(zonePosition) : null);
|
||||
ability.setHostCard(oldCard);
|
||||
ability.setXManaCostPaid(null);
|
||||
if (ability.hasParam("Announce")) {
|
||||
final String announce = ability.getParam("Announce");
|
||||
for (final String aVar : announce.split(",")) {
|
||||
final String varName = aVar.trim();
|
||||
if (!varName.equals("X")) {
|
||||
ability.setSVar(varName, "0");
|
||||
}
|
||||
}
|
||||
}
|
||||
// better safe than sorry approach in case rolled back ability was copy (from addExtraKeywordCost)
|
||||
for (SpellAbility sa : oldCard.getSpells()) {
|
||||
sa.setHostCard(oldCard);
|
||||
|
||||
Reference in New Issue
Block a user