Refactor for Swords to Plowshares and similar

This commit is contained in:
Northmoc
2022-11-01 18:53:26 -04:00
parent c6e4eaa19c
commit 5066e10e77
10 changed files with 23 additions and 21 deletions

View File

@@ -25,6 +25,8 @@ public class LifeGainEffect extends SpellAbilityEffect {
sb.append(getDefinedPlayersOrTargeted(sa).size() > 1 ? " gain " : " gains ").append(amount); sb.append(getDefinedPlayersOrTargeted(sa).size() > 1 ? " gain " : " gains ").append(amount);
sb.append(" life."); sb.append(" life.");
} else if (sa.hasParam("XDesc")) {
sb.append(" gains life equal to ").append(sa.getParam("XDesc")).append(".");
} else { } else {
sb.append(" gains life equal to the life lost this way."); sb.append(" gains life equal to the life lost this way.");
} }

View File

@@ -3,10 +3,9 @@ ManaCost:4 G W
Types:Legendary Planeswalker Ajani Types:Legendary Planeswalker Ajani
Loyalty:4 Loyalty:4
A:AB$ Dig | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 3 | Reveal$ True | ChangeNum$ All | ChangeValid$ Permanent.nonLand | SpellDescription$ Reveal the top three cards of your library. Put all nonland permanent cards revealed this way into your hand and the rest on the bottom of your library in any order. A:AB$ Dig | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 3 | Reveal$ True | ChangeNum$ All | ChangeValid$ Permanent.nonLand | SpellDescription$ Reveal the top three cards of your library. Put all nonland permanent cards revealed this way into your hand and the rest on the bottom of your library in any order.
A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SpellDescription$ Exile target creature. Its controller gains life equal to its power. | StackDescription$ SpellDescription | SubAbility$ DBGainLife A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBGainLife | SpellDescription$ Exile target creature.
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its power | SpellDescription$ Its controller gains life equal to its power.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:TargetedLKI$CardPower
SVar:X:RememberedLKI$CardPower
A:AB$ PutCounterAll | Cost$ SubCounter<9/LOYALTY> | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 5 | Planeswalker$ True | Ultimate$ True | ValidCards2$ Planeswalker.YouCtrl+Other | CounterType2$ LOYALTY | AILogic$ OwnCreatsAndOtherPWs | SpellDescription$ Put five +1/+1 counters on each creature you control and five loyalty counters on each other planeswalker you control. A:AB$ PutCounterAll | Cost$ SubCounter<9/LOYALTY> | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 5 | Planeswalker$ True | Ultimate$ True | ValidCards2$ Planeswalker.YouCtrl+Other | CounterType2$ LOYALTY | AILogic$ OwnCreatsAndOtherPWs | SpellDescription$ Put five +1/+1 counters on each creature you control and five loyalty counters on each other planeswalker you control.
DeckHas:Ability$Counters DeckHas:Ability$Counters
DeckHints:Type$Planeswalker DeckHints:Type$Planeswalker

View File

@@ -8,4 +8,5 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:TargetedLKI$CardToughness SVar:X:TargetedLKI$CardToughness
SVar:AIPreference:DiscardCost$Card SVar:AIPreference:DiscardCost$Card
AI:RemoveDeck:Random AI:RemoveDeck:Random
DeckHas:Ability$Discard
Oracle:{2}{W}, {T}, Discard a card: Exile target attacking creature. Its controller gains life equal to its toughness. Oracle:{2}{W}, {T}, Discard a card: Exile target attacking creature. Its controller gains life equal to its toughness.

View File

@@ -1,7 +1,7 @@
Name:Condemn Name:Condemn
ManaCost:W ManaCost:W
Types:Instant Types:Instant
A:SP$ ChangeZone | Cost$ W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 | SubAbility$ DBGainLife | RememberLKI$ True | SpellDescription$ Put target attacking creature on the bottom of its owner's library. Its controller gains life equal to its toughness. A:SP$ ChangeZone | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 | SubAbility$ DBGainLife | SpellDescription$ Put target attacking creature on the bottom of its owner's library.
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X | XDesc$ its toughness | SpellDescription$ Its controller gains life equal to its toughness.
SVar:X:RememberedLKI$CardToughness SVar:X:TargetedLKI$CardToughness
Oracle:Put target attacking creature on the bottom of its owner's library. Its controller gains life equal to its toughness. Oracle:Put target attacking creature on the bottom of its owner's library. Its controller gains life equal to its toughness.

View File

@@ -1,7 +1,8 @@
Name:Crumble Name:Crumble
ManaCost:G ManaCost:G
Types:Instant Types:Instant
A:SP$ Destroy | Cost$ G | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | NoRegen$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact. It can't be regenerated. That artifact's controller gains life equal to its mana value. A:SP$ Destroy | ValidTgts$ Artifact | NoRegen$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact. It can't be regenerated.
SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its mana value | SpellDescription$ That artifact's controller gains life equal to its mana value.
SVar:X:Targeted$CardManaCost SVar:X:Targeted$CardManaCost
AI:RemoveDeck:Random
Oracle:Destroy target artifact. It can't be regenerated. That artifact's controller gains life equal to its mana value. Oracle:Destroy target artifact. It can't be regenerated. That artifact's controller gains life equal to its mana value.

View File

@@ -1,8 +1,8 @@
Name:Devour Flesh Name:Devour Flesh
ManaCost:1 B ManaCost:1 B
Types:Instant Types:Instant
A:SP$ Sacrifice | Cost$ 1 B | ValidTgts$ Player | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ Target player sacrifices a creature, then gains life equal to that creature's toughness. | StackDescription$ SpellDescription A:SP$ Sacrifice | ValidTgts$ Player | SacValid$ Creature | SacMessage$ creature | RememberSacrificed$ True | SubAbility$ DBGainLife | StackDescription$ SpellDescription | SpellDescription$ Target player sacrifices a creature, then gains life equal to that creature's toughness.
SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ X | SubAbility$ DBCleanup | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:RememberedLKI$CardToughness SVar:X:RememberedLKI$CardToughness
Oracle:Target player sacrifices a creature, then gains life equal to that creature's toughness. Oracle:Target player sacrifices a creature, then gains life equal to that creature's toughness.

View File

@@ -1,7 +1,7 @@
Name:Illumination Name:Illumination
ManaCost:W W ManaCost:W W
Types:Instant Types:Instant
A:SP$ Counter | Cost$ W W | TargetType$ Spell | TgtPrompt$ Select target Artifact or Enchantment spell | ValidTgts$ Artifact,Enchantment | SubAbility$ DBGainLife | SpellDescription$ Counter target artifact or enchantment spell. Its controller gains life equal to its mana value. A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target artifact or enchantment spell | ValidTgts$ Artifact,Enchantment | SubAbility$ DBGainLife | SpellDescription$ Counter target artifact or enchantment spell.
SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its mana value | SpellDescription$ Its controller gains life equal to its mana value.
SVar:X:Targeted$CardManaCost SVar:X:Targeted$CardManaCost
Oracle:Counter target artifact or enchantment spell. Its controller gains life equal to its mana value. Oracle:Counter target artifact or enchantment spell. Its controller gains life equal to its mana value.

View File

@@ -4,7 +4,7 @@ Types:Creature Avatar
PT:4/7 PT:4/7
K:Vigilance K:Vigilance
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ExileOneEach | TriggerDescription$ When CARDNAME enters the battlefield, for each opponent, exile up to one target creature that player controls and that player gains life equal to its power. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ExileOneEach | TriggerDescription$ When CARDNAME enters the battlefield, for each opponent, exile up to one target creature that player controls and that player gains life equal to its power.
SVar:ExileOneEach:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature each opponent controls. | TargetMin$ 0 | TargetMax$ OneEach | TargetsWithDifferentControllers$ True | SubAbility$ LoopTgts SVar:ExileOneEach:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select up to one target creature each opponent controls | TargetMin$ 0 | TargetMax$ OneEach | TargetsWithDifferentControllers$ True | SubAbility$ LoopTgts
SVar:LoopTgts:DB$ RepeatEach | RepeatSubAbility$ GiveLifeEach | DefinedCards$ Targeted SVar:LoopTgts:DB$ RepeatEach | RepeatSubAbility$ GiveLifeEach | DefinedCards$ Targeted
SVar:GiveLifeEach:DB$ GainLife | Defined$ RememberedController | LifeAmount$ TgtPower SVar:GiveLifeEach:DB$ GainLife | Defined$ RememberedController | LifeAmount$ TgtPower
SVar:OneEach:PlayerCountOpponents$Amount SVar:OneEach:PlayerCountOpponents$Amount

View File

@@ -7,7 +7,7 @@ K:Lifelink
K:Evoke:ExileFromHand<1/Card.White+Other/white card> K:Evoke:ExileFromHand<1/Card.White+Other/white card>
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile up to one other target creature. That creature's controller gains life equal to its power. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile up to one other target creature. That creature's controller gains life equal to its power.
SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other | RememberLKI$ True | TgtPrompt$ Select up to one other target creature | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBGainLife SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other | RememberLKI$ True | TgtPrompt$ Select up to one other target creature | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its power | SpellDescription$ Its controller gains life equal to its power.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:TargetedLKI$CardPower
SVar:X:RememberedLKI$CardPower DeckHas:Ability$LifeGain
Oracle:Flash\nLifelink\nWhen Solitude enters the battlefield, exile up to one other target creature. That creature's controller gains life equal to its power.\nEvoke—Exile a white card from your hand. Oracle:Flash\nLifelink\nWhen Solitude enters the battlefield, exile up to one other target creature. That creature's controller gains life equal to its power.\nEvoke—Exile a white card from your hand.

View File

@@ -1,8 +1,7 @@
Name:Swords to Plowshares Name:Swords to Plowshares
ManaCost:W ManaCost:W
Types:Instant Types:Instant
A:SP$ ChangeZone | Cost$ W | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SpellDescription$ Exile target creature. Its controller gains life equal to its power. | StackDescription$ SpellDescription | SubAbility$ DBGainLife A:SP$ ChangeZone | ValidTgts$ Creature | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBGainLife | SpellDescription$ Exile target creature.
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its power | SpellDescription$ Its controller gains life equal to its power.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:TargetedLKI$CardPower
SVar:X:RememberedLKI$CardPower
Oracle:Exile target creature. Its controller gains life equal to its power. Oracle:Exile target creature. Its controller gains life equal to its power.