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(" life.");
} else if (sa.hasParam("XDesc")) {
sb.append(" gains life equal to ").append(sa.getParam("XDesc")).append(".");
} else {
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
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$ 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
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:RememberedLKI$CardPower
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$ TargetedController | LifeAmount$ X | XDesc$ its power | SpellDescription$ Its controller gains life equal to its power.
SVar:X:TargetedLKI$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.
DeckHas:Ability$Counters
DeckHints:Type$Planeswalker

View File

@@ -8,4 +8,5 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:TargetedLKI$CardToughness
SVar:AIPreference:DiscardCost$Card
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.

View File

@@ -1,7 +1,7 @@
Name:Condemn
ManaCost:W
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.
SVar:DBGainLife:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X
SVar:X:RememberedLKI$CardToughness
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 | XDesc$ its toughness | SpellDescription$ Its controller gains life equal to its toughness.
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.

View File

@@ -1,7 +1,8 @@
Name:Crumble
ManaCost:G
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.
SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X
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 | XDesc$ its mana value | SpellDescription$ That artifact's controller gains life equal to its mana value.
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.

View File

@@ -1,8 +1,8 @@
Name:Devour Flesh
ManaCost:1 B
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
SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ X | SubAbility$ DBCleanup
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 | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:RememberedLKI$CardToughness
Oracle:Target player sacrifices a creature, then gains life equal to that creature's toughness.

View File

@@ -1,7 +1,7 @@
Name:Illumination
ManaCost:W W
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.
SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X
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 | XDesc$ its mana value | SpellDescription$ Its controller gains life equal to its mana value.
SVar:X:Targeted$CardManaCost
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
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.
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:GiveLifeEach:DB$ GainLife | Defined$ RememberedController | LifeAmount$ TgtPower
SVar:OneEach:PlayerCountOpponents$Amount

View File

@@ -7,7 +7,7 @@ K:Lifelink
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.
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:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:RememberedLKI$CardPower
SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | XDesc$ its power | SpellDescription$ Its controller gains life equal to its power.
SVar:X:TargetedLKI$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.

View File

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