diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 3fa2e32eba3..1a8dcd5ba02 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -923,7 +923,7 @@ public class CardFactoryUtil { StringBuilder trigReturn = new StringBuilder(); trigReturn.append("Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self"); - trigReturn.append(" | Secondary$ True | TriggerDescription$ When this leaves the battlefield, that card returns to the battlefield."); + trigReturn.append(" | Secondary$ True | TriggerDescription$ When this permanent leaves the battlefield, return the exiled card to the battlefield under its owner’s control."); StringBuilder ab = new StringBuilder(); ab.append("DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True "); diff --git a/forge-game/src/main/java/forge/game/keyword/Keyword.java b/forge-game/src/main/java/forge/game/keyword/Keyword.java index 4ced94b48b0..15373f057a5 100644 --- a/forge-game/src/main/java/forge/game/keyword/Keyword.java +++ b/forge-game/src/main/java/forge/game/keyword/Keyword.java @@ -37,7 +37,7 @@ public enum Keyword { BUYBACK("Buyback", KeywordWithCost.class, false, "You may pay an additional %s as you cast this spell. If you do, put it into your hand instead of your graveyard as it resolves."), CASCADE("Cascade", SimpleKeyword.class, false, "When you cast this spell, exile cards from the top of your library until you exile a nonland card whose mana value is less than this spell's mana value. You may cast that spell without paying its mana cost if its mana value is less than this spell's mana value. Then put all cards exiled this way that weren't cast on the bottom of your library in a random order."), CASUALTY("Casualty", KeywordWithAmount.class, false, "As you cast this spell, you may sacrifice a creature with power %1$d or greater. When you do, copy this spell."), - CHAMPION("Champion", KeywordWithType.class, false, "When this enters the battlefield, sacrifice it unless you exile another %s you control. When this leaves the battlefield, that card returns to the battlefield."), + CHAMPION("Champion", KeywordWithType.class, false, "When this permanent enters the battlefield, sacrifice it unless you exile another %s you control. When this permanent leaves the battlefield, return the exiled card to the battlefield under its owner’s control."), CHANGELING("Changeling", SimpleKeyword.class, true, "This card is every creature type."), CHOOSE_A_BACKGROUND("Choose a Background", Partner.class, true, "You can have a Background as a second commander."), CIPHER("Cipher", SimpleKeyword.class, true, "Then you may exile this spell card encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost."), diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 76def588d95..78154f0d12a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -594,12 +594,11 @@ public class TriggerHandler { wrapperAbility.getActivatingPlayer().getController().playTrigger(host, wrapperAbility, isMandatory); } else { game.getStack().addSimultaneousStackEntry(wrapperAbility); + game.getTriggerHandler().runTrigger(TriggerType.AbilityTriggered, TriggerAbilityTriggered.getRunParams(regtrig, wrapperAbility, runParams), false); } regtrig.triggerRun(); - game.getTriggerHandler().runTrigger(TriggerType.AbilityTriggered, TriggerAbilityTriggered.getRunParams(regtrig, wrapperAbility, runParams), false); - if (regtrig.hasParam("OneOff")) { if (regtrig.getHostCard().isImmutable()) { Player p = regtrig.getHostCard().getController(); diff --git a/forge-gui/res/cardsfolder/a/angel_of_destiny.txt b/forge-gui/res/cardsfolder/a/angel_of_destiny.txt index 136e81a5f62..848208c7c19 100644 --- a/forge-gui/res/cardsfolder/a/angel_of_destiny.txt +++ b/forge-gui/res/cardsfolder/a/angel_of_destiny.txt @@ -4,17 +4,12 @@ Types:Creature Angel Cleric PT:2/6 K:Flying K:Double Strike -T:Mode$ TurnBegin | ValidPlayer$ Player | Static$ True | Execute$ AttackReset -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Static$ True | Execute$ AttackReset -SVar:AttackReset:DB$ Cleanup | ClearRemembered$ True T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control deals combat damage to a player, you and that player each gain that much life. SVar:TrigGain:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBGain SVar:DBGain:DB$ GainLife | Defined$ TriggeredTarget | LifeAmount$ X SVar:X:TriggerCount$DamageAmount -T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ RememberPlayer | TriggerZones$ Battlefield | Static$ True -SVar:RememberPlayer:DB$ Pump | RememberObjects$ TriggeredDefendingPlayer T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ Z | SVarCompare$ GEY | Execute$ TrigLose | TriggerDescription$ At the beginning of your end step, if you have at least 15 life more than your starting life total, each player CARDNAME attacked this turn loses the game. -SVar:TrigLose:DB$ LosesGame | Defined$ Player.IsRemembered +SVar:TrigLose:DB$ LosesGame | Defined$ Player.attackedBySourceThisTurn SVar:Z:Count$YourLifeTotal SVar:Y:Count$YourStartingLife/Plus.15 DeckHas:Ability$LifeGain diff --git a/forge-gui/res/cardsfolder/b/blazing_blade_askari.txt b/forge-gui/res/cardsfolder/b/blazing_blade_askari.txt index c0d676a35a5..cf235243430 100644 --- a/forge-gui/res/cardsfolder/b/blazing_blade_askari.txt +++ b/forge-gui/res/cardsfolder/b/blazing_blade_askari.txt @@ -3,5 +3,5 @@ ManaCost:2 R Types:Creature Human Knight PT:2/2 K:Flanking -A:AB$ Animate | Cost$ 2 | Defined$ Card.Self | Colors$ Colorless | OverwriteColors$ True | SpellDescription$ CARDNAME becomes colorless until end of turn. +A:AB$ Animate | Cost$ 2 | Defined$ Self | Colors$ Colorless | OverwriteColors$ True | SpellDescription$ CARDNAME becomes colorless until end of turn. Oracle:Flanking (Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.)\n{2}: Blazing Blade Askari becomes colorless until end of turn. diff --git a/forge-gui/res/cardsfolder/c/citadel_siege.txt b/forge-gui/res/cardsfolder/c/citadel_siege.txt index 92927ea37b8..13491132f98 100644 --- a/forge-gui/res/cardsfolder/c/citadel_siege.txt +++ b/forge-gui/res/cardsfolder/c/citadel_siege.txt @@ -1,8 +1,8 @@ Name:Citadel Siege ManaCost:2 W W Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of combat on your turn, put two +1/+1 counters on target creature you control. Dragons — At the beginning of combat on each opponent's turn, tap target creature that player controls. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Dragons | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Dragons | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of combat on your turn, put two +1/+1 counters on target creature you control. Dragons — At the beginning of combat on each opponent's turn, tap target creature that player controls. SVar:Khans:DB$ Animate | Defined$ Self | Triggers$ KhansTrigger | Duration$ Permanent | SpellDescription$ Khans SVar:KhansTrigger:Mode$ Phase | Phase$ BeginCombat | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ Boost | TriggerDescription$ At the beginning of combat on your turn, put two +1/+1 counters on target creature you control. SVar:Boost:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 2 diff --git a/forge-gui/res/cardsfolder/f/frontier_siege.txt b/forge-gui/res/cardsfolder/f/frontier_siege.txt index 8d3297c17ff..20d394dad90 100644 --- a/forge-gui/res/cardsfolder/f/frontier_siege.txt +++ b/forge-gui/res/cardsfolder/f/frontier_siege.txt @@ -1,8 +1,8 @@ Name:Frontier Siege ManaCost:3 G Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of each of your main phases, add {G}{G}. Dragons — Whenever a creature with flying enters the battlefield under your control, you may have it fight target creature you don't control. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of each of your main phases, add {G}{G}. Dragons — Whenever a creature with flying enters the battlefield under your control, you may have it fight target creature you don't control. SVar:Khans:DB$ Animate | Defined$ Self | Triggers$ KhansTrigger | Duration$ Permanent | SpellDescription$ Khans SVar:KhansTrigger:Mode$ Phase | Phase$ Main1,Main2 | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ ManaGain | TriggerDescription$ At the beginning of each of your main phases, add {G}{G}. SVar:ManaGain:DB$ Mana | Produced$ G G diff --git a/forge-gui/res/cardsfolder/m/mirrodin_besieged.txt b/forge-gui/res/cardsfolder/m/mirrodin_besieged.txt index cc8819cfacf..2193dff9456 100644 --- a/forge-gui/res/cardsfolder/m/mirrodin_besieged.txt +++ b/forge-gui/res/cardsfolder/m/mirrodin_besieged.txt @@ -1,8 +1,8 @@ Name:Mirrodin Besieged ManaCost:2 U Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Mirran or Phyrexian.Mirran - Whenever you cast an artifact spell, create a 1/1 colorless Myr artifact creature token. Phyrexian - At the beginning of your end step, draw a card, then discard a card. Then if there are fifteen or more artifact cards in your graveyard, target opponent loses the game. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Mirran,Phyrexian | Defined$ You | SetChosenMode$ True | AILogic$ Mirran | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Mirran,Phyrexian | Defined$ You | SetChosenMode$ True | AILogic$ Mirran | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Mirran or Phyrexian.Mirran - Whenever you cast an artifact spell, create a 1/1 colorless Myr artifact creature token. Phyrexian - At the beginning of your end step, draw a card, then discard a card. Then if there are fifteen or more artifact cards in your graveyard, target opponent loses the game. SVar:Mirran:DB$ Animate | Defined$ Self | Triggers$ MirranTrigger | Duration$ Permanent | SpellDescription$ Mirran SVar:MirranTrigger:Mode$ SpellCast | ValidCard$ Artifact | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you cast an artifact spell, create a 1/1 colorless Myr artifact creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_1_1_a_myr | TokenOwner$ You diff --git a/forge-gui/res/cardsfolder/m/monastery_siege.txt b/forge-gui/res/cardsfolder/m/monastery_siege.txt index d5580a32758..3c25666e9af 100644 --- a/forge-gui/res/cardsfolder/m/monastery_siege.txt +++ b/forge-gui/res/cardsfolder/m/monastery_siege.txt @@ -1,8 +1,8 @@ Name:Monastery Siege ManaCost:2 U Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your draw step, draw an additional card, then discard a card. Dragons — Spells your opponents cast that target you or a permanent you control cost {2} more to cast. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your draw step, draw an additional card, then discard a card. Dragons — Spells your opponents cast that target you or a permanent you control cost {2} more to cast. SVar:Khans:DB$ Animate | Defined$ Self | Triggers$ KhansTrigger | Duration$ Permanent | SpellDescription$ Khans SVar:KhansTrigger:Mode$ Phase | Phase$ Draw | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ Filter | TriggerDescription$ At the beginning of your draw step, draw an additional card, then discard a card. SVar:Filter:DB$ Draw | Defined$ You | NumCards$ 1 | SubAbility$ DBDiscard diff --git a/forge-gui/res/cardsfolder/o/outpost_siege.txt b/forge-gui/res/cardsfolder/o/outpost_siege.txt index 4d26d40ad10..8f5ce346ab8 100644 --- a/forge-gui/res/cardsfolder/o/outpost_siege.txt +++ b/forge-gui/res/cardsfolder/o/outpost_siege.txt @@ -1,8 +1,8 @@ Name:Outpost Siege ManaCost:3 R Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your upkeep, exile the top card of your library. Until end of turn, you may play that card. Dragons — Whenever a creature you control leaves the battlefield, CARDNAME deals 1 damage to any target. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Khans | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your upkeep, exile the top card of your library. Until end of turn, you may play that card. Dragons — Whenever a creature you control leaves the battlefield, CARDNAME deals 1 damage to any target. SVar:Khans:DB$ Animate | Defined$ Self | Triggers$ KhansTrigger | Duration$ Permanent | SpellDescription$ Khans SVar:KhansTrigger:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ PseudoDraw | TriggerDescription$ At the beginning of your upkeep, exile the top card of your library. Until end of turn, you may play that card. SVar:PseudoDraw:DB$ Dig | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect diff --git a/forge-gui/res/cardsfolder/p/palace_siege.txt b/forge-gui/res/cardsfolder/p/palace_siege.txt index fa487b7d7a6..0c0bf82879e 100644 --- a/forge-gui/res/cardsfolder/p/palace_siege.txt +++ b/forge-gui/res/cardsfolder/p/palace_siege.txt @@ -1,8 +1,8 @@ Name:Palace Siege ManaCost:3 B B Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ SiegeChoice | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your upkeep, return target creature card from your graveyard to your hand. Dragons — At the beginning of your upkeep, each opponent loses 2 life and you gain 2 life. -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Dragons | ShowChoice$ ExceptSelf +K:ETBReplacement:Other:SiegeChoice +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Khans,Dragons | Defined$ You | SetChosenMode$ True | AILogic$ Dragons | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose Khans or Dragons. Khans — At the beginning of your upkeep, return target creature card from your graveyard to your hand. Dragons — At the beginning of your upkeep, each opponent loses 2 life and you gain 2 life. SVar:Khans:DB$ Animate | Defined$ Self | Triggers$ KhansTrigger | Duration$ Permanent | SpellDescription$ Khans SVar:KhansTrigger:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ RaiseDead | TriggerDescription$ At the beginning of your upkeep, return target creature card from your graveyard to your hand. SVar:RaiseDead:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl diff --git a/forge-gui/res/cardsfolder/r/raging_spirit.txt b/forge-gui/res/cardsfolder/r/raging_spirit.txt index 5f45c927c9e..ad09c7bb429 100644 --- a/forge-gui/res/cardsfolder/r/raging_spirit.txt +++ b/forge-gui/res/cardsfolder/r/raging_spirit.txt @@ -2,5 +2,5 @@ Name:Raging Spirit ManaCost:3 R Types:Creature Spirit PT:3/3 -A:AB$ Animate | Cost$ 2 | Defined$ Card.Self | Colors$ Colorless | SpellDescription$ CARDNAME becomes colorless until end of turn. +A:AB$ Animate | Cost$ 2 | Defined$ Self | Colors$ Colorless | SpellDescription$ CARDNAME becomes colorless until end of turn. Oracle:{2}: Raging Spirit becomes colorless until end of turn. diff --git a/forge-gui/res/cardsfolder/t/teferis_time_twist.txt b/forge-gui/res/cardsfolder/t/teferis_time_twist.txt index 66e97bfc4a1..b8152dd2012 100644 --- a/forge-gui/res/cardsfolder/t/teferis_time_twist.txt +++ b/forge-gui/res/cardsfolder/t/teferis_time_twist.txt @@ -5,7 +5,7 @@ A:SP$ ChangeZone | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target perma SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | Triggers$ ReturnEOT | ReplacementEffects$ EntersAsCreature | SubAbility$ DBCleanup | SpellDescription$ Return that card to the battlefield under its owner's control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it. SVar:ReturnEOT:Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerDescription$ Return that card to the battlefield under its owner's control at the beginning of the next end step. If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it. SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ RememberedLKI -SVar:EntersAsCreature:Event$ Moved | ValidCard$ Creature.IsRemembered | Destination$ Battlefield | ReplaceWith$ PutP1P1 | Secondary$ True | ReplacementResult$ Updated +SVar:EntersAsCreature:Event$ Moved | ValidCard$ Creature.IsRemembered | Destination$ Battlefield | ReplaceWith$ PutP1P1 | Secondary$ True | ReplacementResult$ Updated | Description$ If it enters the battlefield as a creature, it enters with an additional +1/+1 counter on it. SVar:PutP1P1:DB$ PutCounter | Defined$ ReplacedCard | CounterType$ P1P1 | ETB$ True | SubAbility$ DBExile SVar:DBExile:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/upcoming/blanchwood_prowler.txt b/forge-gui/res/cardsfolder/upcoming/blanchwood_prowler.txt index 0d5b245821b..5f0a543bfe5 100644 --- a/forge-gui/res/cardsfolder/upcoming/blanchwood_prowler.txt +++ b/forge-gui/res/cardsfolder/upcoming/blanchwood_prowler.txt @@ -3,9 +3,9 @@ ManaCost:1 G Types:Creature Elemental PT:1/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When CARDNAME enters the battlefield, mill three cards. You may put a land card from among the cards milled this way into your hand. If you don’t, put a +1/+1 counter on CARDNAME. (To mill a card, put the top card of your library into your graveyard.) -SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | RememberMilled$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Land.YouOwn+IsRemembered | RememberChanged$ True | ForgetOtherRemembered$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter -SVar:DBCounter:DB$ PutCounter | CounterType$ P1P1 | Defined$ Card.Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | Imprint$ True | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Land.YouOwn+IsImprinted | RememberChanged$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter +SVar:DBCounter:DB$ PutCounter | CounterType$ P1P1 | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Graveyard|Mill|Counters Oracle:When Blanchwood Prowler enters the battlefield, mill three cards. You may put a land card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on Blanchwood Prowler. (To mill a card, put the top card of your library into your graveyard.) diff --git a/forge-gui/res/cardsfolder/upcoming/fallaji_archeologist.txt b/forge-gui/res/cardsfolder/upcoming/fallaji_archeologist.txt index ef45c16e057..a07405fae37 100644 --- a/forge-gui/res/cardsfolder/upcoming/fallaji_archeologist.txt +++ b/forge-gui/res/cardsfolder/upcoming/fallaji_archeologist.txt @@ -3,10 +3,10 @@ ManaCost:1 U Types:Creature Human Scout PT:0/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When CARDNAME enters the battlefield, mill three cards. You may put a noncreature, nonland card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on CARDNAME. (To mill a card, put the top card of your library into your graveyard.) -SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | RememberMilled$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Card.nonCreature+nonLand+YouOwn+IsRemembered | RememberChanged$ True | ForgetOtherRemembered$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter -SVar:DBCounter:DB$ PutCounter | Defined$ Card.Self | CounterType$ P1P1 | ConditionDefined$ Remembered | ConditionNotPresent$ Card | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | Imprint$ True | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Card.nonCreature+nonLand+YouOwn+IsImprinted | RememberChanged$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter +SVar:DBCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | ConditionDefined$ Remembered | ConditionNotPresent$ Card | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Mill|Counters DeckHints:Ability$Graveyard Oracle:When Fallaji Archaeologist enters the battlefield, mill three cards. You may put a noncreature, nonland card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on Fallaji Archaeologist. (To mill a card, put the top card of your library into your graveyard.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/gwenna_eyes_of_gaea.txt b/forge-gui/res/cardsfolder/upcoming/gwenna_eyes_of_gaea.txt index b242c0bb3a1..b680c664412 100644 --- a/forge-gui/res/cardsfolder/upcoming/gwenna_eyes_of_gaea.txt +++ b/forge-gui/res/cardsfolder/upcoming/gwenna_eyes_of_gaea.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Elf Druid Scout PT:2/3 A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Creature,Activated.Creature | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast creature spells or activate abilities of a creature or creature card. T:Mode$ SpellCast | ValidCard$ Creature.powerGE5 | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCounter | TriggerDescription$ Whenever you cast a creature spell with power 5 or greater, put a +1/+1 counter on CARDNAME and untap it. -SVar:TrigCounter:DB$ PutCounter | Defined$ Card.Self | CounterType$ P1P1 | SubAbility$ DBUntap -SVar:DBUntap:DB$ Untap | Defined$ Card.Self +SVar:TrigCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | SubAbility$ DBUntap +SVar:DBUntap:DB$ Untap | Defined$ Self DeckHas:Ability$Counters Oracle:{T}: Add two mana in any combination of colors. Spend this mana only to cast creature spells or activate abilities of a creature or creature card.\nWhenever you cast a creature spell with power 5 or greater, put a +1/+1 counter on Gwenna, Eyes of Gaea and untap it. diff --git a/forge-gui/res/cardsfolder/upcoming/ravenous_gigamole.txt b/forge-gui/res/cardsfolder/upcoming/ravenous_gigamole.txt index a10361c2ac7..658f448b90c 100644 --- a/forge-gui/res/cardsfolder/upcoming/ravenous_gigamole.txt +++ b/forge-gui/res/cardsfolder/upcoming/ravenous_gigamole.txt @@ -3,10 +3,10 @@ ManaCost:3 B Types:Creature Mole Horror PT:2/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When CARDNAME enters the battlefield, mill three cards. You may put a creature card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on CARDNAME. (To mill a card, a player puts the top card of their library into their graveyard.) -SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | RememberMilled$ True | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Creature.YouOwn+IsRemembered | RememberChanged$ True | ForgetOtherRemembered$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter -SVar:DBCounter:DB$ PutCounter | Defined$ Card.Self | CounterType$ P1P1 | ConditionDefined$ Remembered | ConditionNotPresent$ Card | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You | Imprint$ True | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Creature.YouOwn+IsImprinted | RememberChanged$ True | Hidden$ True | Optional$ True | SubAbility$ DBCounter +SVar:DBCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | ConditionDefined$ Remembered | ConditionNotPresent$ Card | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Mill|Counters DeckHints:Ability$Graveyard Oracle:When Ravenous Gigamole enters the battlefield, mill three cards. You may put a creature card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on Ravenous Gigamole. (To mill a card, a player puts the top card of their library into their graveyard.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/surge_engine.txt b/forge-gui/res/cardsfolder/upcoming/surge_engine.txt index bdfeee8108e..9fd2763eac6 100644 --- a/forge-gui/res/cardsfolder/upcoming/surge_engine.txt +++ b/forge-gui/res/cardsfolder/upcoming/surge_engine.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Creature Construct PT:3/2 K:Defender -A:AB$ Animate | Cost$ U | AddStaticAbility$ Unblockable | RemoveKeywords$ Defender | Duration$ Permanent | SpellDescription$ CARDNAME loses defender and gains "This creature can't be blocked." +A:AB$ Animate | Cost$ U | staticAbilities$ Unblockable | RemoveKeywords$ Defender | Duration$ Permanent | SpellDescription$ CARDNAME loses defender and gains "This creature can't be blocked." SVar:Unblockable:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | Description$ This creature can't be blocked. A:AB$ Animate | Cost$ 2 U | IsPresent$ Card.Self+!withDefender | Duration$ Permanent | Colors$ Blue | Power$ 5 | Toughness$ 4 | SpellDescription$ CARDNAME becomes blue and has base power and toughness 5/4. Activate only if CARDNAME doesn't have defender. A:AB$ Draw | Cost$ 4 U U | NumCards$ 3 | IsPresent$ Card.Self+Blue | GameActivationLimit$ 1 | SpellDescription$ Draw three cards. Activate only if CARDNAME is blue and only once. diff --git a/forge-gui/res/cardsfolder/upcoming/tawnoss_tinkering.txt b/forge-gui/res/cardsfolder/upcoming/tawnoss_tinkering.txt index a91d82f5593..bcc1ebb1075 100644 --- a/forge-gui/res/cardsfolder/upcoming/tawnoss_tinkering.txt +++ b/forge-gui/res/cardsfolder/upcoming/tawnoss_tinkering.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Instant A:SP$ PutCounter | CounterType$ P1P1 | CounterNum$ 2 | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl,Land.YouCtrl | TgtPrompt$ Select target artifact, creature, or land you control | SubAbility$ DBUntap | SpellDescription$ Put two +1/+1 counters on target artifact, creature, or land you control. SVar:DBUntap:DB$ Untap | Defined$ Targeted | SubAbility$ DBAnimate | SpellDescription$ Untap that permanent. -SVar:DBAnimate:DB$ Animate | ConditionDefined$ Targeted | ConditionPresent$ Card.nonCreature | Power$ 0 | Toughness$ 0 | Types$ Creature | StackDescription$ SpellDescription | SpellDescription$ If it isn't a creature, it becomes a 0/0 creature in addition to its other types. +SVar:DBAnimate:DB$ Animate | Defined$ Targeted | ConditionDefined$ Targeted | ConditionPresent$ Card.nonCreature | Power$ 0 | Toughness$ 0 | Types$ Creature | StackDescription$ SpellDescription | SpellDescription$ If it isn't a creature, it becomes a 0/0 creature in addition to its other types. DeckHas:Ability$Counters DeckHints:Type$Artifact Oracle:Put two +1/+1 counters on target artifact, creature, or land you control. Untap that permanent. If it isn't a creature, it becomes a 0/0 creature in addition to its other types.