diff --git a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java index 463b356ea0c..89da1cef2e4 100644 --- a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -1041,7 +1041,9 @@ public abstract class SpellAbilityEffect { exilingSource = cause.getOriginalHost(); } movedCard.setExiledWith(exilingSource); - movedCard.setExiledBy(cause.getActivatingPlayer()); + Player exiler = cause.hasParam("DefinedExiler") ? + getDefinedPlayersOrTargeted(cause, "DefinedExiler").get(0) : cause.getActivatingPlayer(); + movedCard.setExiledBy(exiler); } public static GameCommand exileEffectCommand(final Game game, final Card effect) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index f74ff18fc18..3681e7603e5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -127,7 +127,8 @@ public class DigEffect extends SpellAbilityEffect { final boolean skipReorder = sa.hasParam("SkipReorder"); // A hack for cards like Explorer's Scope that need to ensure that a card is revealed to the player activating the ability - final boolean forceRevealToController = sa.hasParam("ForceRevealToController"); + final boolean forceReveal = sa.hasParam("ForceRevealToController") || + sa.hasParam("ForceReveal"); // These parameters are used to indicate that a dialog box must be show to the player asking if the player wants to proceed // with an optional ability, otherwise the optional ability is skipped. @@ -236,9 +237,12 @@ public class DigEffect extends SpellAbilityEffect { valid = top; } - if (forceRevealToController) { - // Force revealing the card to the player activating the ability (e.g. Explorer's Scope) - game.getAction().revealTo(top, activator); + if (forceReveal) { + // Force revealing the card to defined (e.g. Gonti, Night Minister) or the player activating the + // ability (e.g. Explorer's Scope) + Player revealTo = sa.hasParam("ForceReveal") ? + getDefinedPlayersOrTargeted(sa, "ForceReveal").get(0) : activator; + game.getAction().revealTo(top, revealTo); delayedReveal = null; // top is already seen by the player, do not reveal twice } diff --git a/forge-gui/res/cardsfolder/p/phyrexian_boon.txt b/forge-gui/res/cardsfolder/p/phyrexian_boon.txt index 091bfad0f8b..c4d3b640ed9 100644 --- a/forge-gui/res/cardsfolder/p/phyrexian_boon.txt +++ b/forge-gui/res/cardsfolder/p/phyrexian_boon.txt @@ -3,6 +3,6 @@ ManaCost:2 B Types:Enchantment Aura K:Enchant creature A:SP$ Attach | ValidTgts$ Creature | AILogic$ SpecificCard | AIValid$ Card.Black -S:Mode$ Continuous | Affected$ Creature.EnchantedBy+Black | AddPower$ 2 | AddToughness$ 1 | Description$ Enchanted creature gets +2/+1 as long as it's black. -S:Mode$ Continuous | Affected$ Creature.EnchantedBy+nonBlack | AddPower$ -1 | AddToughness$ -2 | Description$ Otherwise, it gets -1/-2. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy+Black | AddPower$ 2 | AddToughness$ 1 | Description$ Enchanted creature gets +2/+1 as long as it's black. Otherwise, it gets -1/-2. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy+nonBlack | AddPower$ -1 | AddToughness$ -2 | Secondary$ True Oracle:Enchant creature\nEnchanted creature gets +2/+1 as long as it's black. Otherwise, it gets -1/-2. diff --git a/forge-gui/res/cardsfolder/upcoming/afterburner_expert.txt b/forge-gui/res/cardsfolder/upcoming/afterburner_expert.txt index 922edd33c19..621f026ea8e 100644 --- a/forge-gui/res/cardsfolder/upcoming/afterburner_expert.txt +++ b/forge-gui/res/cardsfolder/upcoming/afterburner_expert.txt @@ -1,9 +1,9 @@ -Name:Afterburner Expert -ManaCost:2 G -Types:Creature Goblin Artificer -PT:4/2 -A:AB$ PutCounter | Cost$ 2 G G | Defined$ Self | CounterType$ P1P1 | CounterNum$ 2 | Exhaust$ True | SpellDescription$ Put two +1/+1 counters on this creature. (Activate each exhaust ability only once.) -T:Mode$ AbilityCast | ValidActivatingPlayer$ You | ValidSA$ Activated.Exhaust | TriggerZones$ Graveyard | Execute$ TrigChangeZone | TriggerDescription$ Whenever you activate an exhaust ability, return this card from your graveyard to the battlefield. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield -DeckHas:Ability$Counters -Oracle:Exhaust — {2}{G}{G}: Put two +1/+1 counters on this creature. (Activate each exhaust ability only once.)\nWhenever you activate an exhaust ability, return this card from your graveyard to the battlefield. +Name:Afterburner Expert +ManaCost:2 G +Types:Creature Goblin Artificer +PT:4/2 +A:AB$ PutCounter | Cost$ 2 G G | Defined$ Self | CounterType$ P1P1 | CounterNum$ 2 | Exhaust$ True | SpellDescription$ Put two +1/+1 counters on this creature. (Activate each exhaust ability only once.) +T:Mode$ AbilityCast | ValidActivatingPlayer$ You | ValidSA$ Activated.Exhaust | TriggerZones$ Graveyard | Execute$ TrigChangeZone | TriggerDescription$ Whenever you activate an exhaust ability, return this card from your graveyard to the battlefield. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield +DeckHas:Ability$Counters +Oracle:Exhaust — {2}{G}{G}: Put two +1/+1 counters on this creature. (Activate each exhaust ability only once.)\nWhenever you activate an exhaust ability, return this card from your graveyard to the battlefield. diff --git a/forge-gui/res/cardsfolder/upcoming/collision_course.txt b/forge-gui/res/cardsfolder/upcoming/collision_course.txt index 7a3e9198d80..60bcb90e600 100644 --- a/forge-gui/res/cardsfolder/upcoming/collision_course.txt +++ b/forge-gui/res/cardsfolder/upcoming/collision_course.txt @@ -1,8 +1,8 @@ -Name:Collision Course -ManaCost:1 W -Types:Sorcery -A:SP$ Charm | Choices$ DBDmg,DBDestroy -SVar:DBDmg:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles. -SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact. | SpellDescription$ Destroy target artifact. -SVar:X:Count$Valid Creature.YouCtrl,Vehicle.YouCtrl -Oracle:Choose one —\n• Collision Course deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles.\n• Destroy target artifact. \ No newline at end of file +Name:Collision Course +ManaCost:1 W +Types:Sorcery +A:SP$ Charm | Choices$ DBDmg,DBDestroy +SVar:DBDmg:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles. +SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact. | SpellDescription$ Destroy target artifact. +SVar:X:Count$Valid Creature.YouCtrl,Vehicle.YouCtrl +Oracle:Choose one —\n• Collision Course deals X damage to target creature, where X is the number of permanents you control that are creatures and/or Vehicles.\n• Destroy target artifact. diff --git a/forge-gui/res/cardsfolder/upcoming/daring_mechanic.txt b/forge-gui/res/cardsfolder/upcoming/daring_mechanic.txt index 70b74cc5a43..4aea1cc5785 100644 --- a/forge-gui/res/cardsfolder/upcoming/daring_mechanic.txt +++ b/forge-gui/res/cardsfolder/upcoming/daring_mechanic.txt @@ -1,7 +1,7 @@ -Name:Daring Mechanic -ManaCost:2 W -Types:Creature Human Artificer -PT:3/3 -A:AB$ PutCounter | Cost$ 3 W | ValidTgts$ Mount,Vehicle | TgtPrompt$ Select target Mount or Vehicle | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target Mount or Vehicle. -DeckHas:Ability$Counters -Oracle:{3}{W}: Put a +1/+1 counter on target Mount or Vehicle. \ No newline at end of file +Name:Daring Mechanic +ManaCost:2 W +Types:Creature Human Artificer +PT:3/3 +A:AB$ PutCounter | Cost$ 3 W | ValidTgts$ Mount,Vehicle | TgtPrompt$ Select target Mount or Vehicle | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target Mount or Vehicle. +DeckHas:Ability$Counters +Oracle:{3}{W}: Put a +1/+1 counter on target Mount or Vehicle. diff --git a/forge-gui/res/cardsfolder/upcoming/detention_chariot.txt b/forge-gui/res/cardsfolder/upcoming/detention_chariot.txt index eda35008107..6f8b567aa0c 100644 --- a/forge-gui/res/cardsfolder/upcoming/detention_chariot.txt +++ b/forge-gui/res/cardsfolder/upcoming/detention_chariot.txt @@ -1,10 +1,10 @@ -Name:Detention Chariot -ManaCost:4 W W -Types:Artifact Vehicle -PT:6/6 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When this Vehicle enters, exile target artifact or creature an opponent controls until this Vehicle leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Select target artifact or creature an opponent controls | Duration$ UntilHostLeavesPlay -K:Crew:3 -K:Cycling:W -SVar:PlayMain1:TRUE -Oracle:When this Vehicle enters, exile target artifact or creature an opponent controls until this Vehicle leaves the battlefield.\nCrew 3 (Tap any number of creatures you control with total power 3 or more: This Vehicle becomes an artifact creature until end of turn.)\nCycling {W} ({W}, Discard this card: Draw a card.) \ No newline at end of file +Name:Detention Chariot +ManaCost:4 W W +Types:Artifact Vehicle +PT:6/6 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When this Vehicle enters, exile target artifact or creature an opponent controls until this Vehicle leaves the battlefield. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Select target artifact or creature an opponent controls | Duration$ UntilHostLeavesPlay +K:Crew:3 +K:Cycling:W +SVar:PlayMain1:TRUE +Oracle:When this Vehicle enters, exile target artifact or creature an opponent controls until this Vehicle leaves the battlefield.\nCrew 3 (Tap any number of creatures you control with total power 3 or more: This Vehicle becomes an artifact creature until end of turn.)\nCycling {W} ({W}, Discard this card: Draw a card.) diff --git a/forge-gui/res/cardsfolder/upcoming/diversion_unit.txt b/forge-gui/res/cardsfolder/upcoming/diversion_unit.txt index 5dde71e6a04..b7ba8932533 100644 --- a/forge-gui/res/cardsfolder/upcoming/diversion_unit.txt +++ b/forge-gui/res/cardsfolder/upcoming/diversion_unit.txt @@ -1,7 +1,7 @@ -Name:Diversion Unit -ManaCost:1 U -Types:Artifact Creature Robot -PT:2/1 -K:Flying -A:AB$ Counter | Cost$ U Sac<1/CARDNAME> | TargetType$ Spell | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select target instant or sorcery spell | UnlessCost$ 3 | SpellDescription$ Counter target instant or sorcery spell unless its controller pays {3}. -Oracle:Flying\n{U}, Sacrifice this creature: Counter target instant or sorcery spell unless its controller pays {3}. \ No newline at end of file +Name:Diversion Unit +ManaCost:1 U +Types:Artifact Creature Robot +PT:2/1 +K:Flying +A:AB$ Counter | Cost$ U Sac<1/CARDNAME/this creature> | TargetType$ Spell | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select target instant or sorcery spell | UnlessCost$ 3 | SpellDescription$ Counter target instant or sorcery spell unless its controller pays {3}. +Oracle:Flying\n{U}, Sacrifice this creature: Counter target instant or sorcery spell unless its controller pays {3}. diff --git a/forge-gui/res/cardsfolder/upcoming/fang_druid_summoner.txt b/forge-gui/res/cardsfolder/upcoming/fang_druid_summoner.txt index 187cfa9ccf0..244156c9ab6 100644 --- a/forge-gui/res/cardsfolder/upcoming/fang_druid_summoner.txt +++ b/forge-gui/res/cardsfolder/upcoming/fang_druid_summoner.txt @@ -1,8 +1,8 @@ -Name:Fang-Druid Summoner -ManaCost:3 G -Types:Creature Ape Druid -PT:2/4 -K:Reach -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSearch | OptionalDecider$ You | TriggerDescription$ When this creature enters, you may search your library and/or graveyard for a creature card with no abilities, reveal it, and put it into your hand. If you search your library this way, shuffle. -SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | OriginAlternative$ Graveyard | Destination$ Hand | ChangeType$ Creature.YouOwn+NoAbilities | Optional$ True -Oracle:Reach\nWhen this creature enters, you may search your library and/or graveyard for a creature card with no abilities, reveal it, and put it into your hand. If you search your library this way, shuffle. \ No newline at end of file +Name:Fang-Druid Summoner +ManaCost:3 G +Types:Creature Ape Druid +PT:2/4 +K:Reach +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSearch | OptionalDecider$ You | TriggerDescription$ When this creature enters, you may search your library and/or graveyard for a creature card with no abilities, reveal it, and put it into your hand. If you search your library this way, shuffle. +SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | OriginAlternative$ Graveyard | Destination$ Hand | ChangeType$ Creature.YouOwn+NoAbilities | Optional$ True +Oracle:Reach\nWhen this creature enters, you may search your library and/or graveyard for a creature card with no abilities, reveal it, and put it into your hand. If you search your library this way, shuffle. diff --git a/forge-gui/res/cardsfolder/upcoming/gastal_blockbuster.txt b/forge-gui/res/cardsfolder/upcoming/gastal_blockbuster.txt index 7c717a1d5a4..f7bebcd0a26 100644 --- a/forge-gui/res/cardsfolder/upcoming/gastal_blockbuster.txt +++ b/forge-gui/res/cardsfolder/upcoming/gastal_blockbuster.txt @@ -1,9 +1,9 @@ -Name:Gastal Blockbuster -ManaCost:2 R -Types:Creature Human Berserker -PT:3/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When this creature enters, you may sacrifice a creature or Vehicle. When you do, destroy target artifact an opponent controls. -SVar:TrigSac:AB$ ImmediateTrigger | Cost$ Sac<1/Creature;Vehicle/a creature or Vehicle> | Execute$ TrigDestroy | TriggerDescription$ When you do, destroy target artifact an opponent controls. -SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact.OppCtrl | TgtPrompt$ Select target artifact an opponent controls -DeckHas:Ability$Sacrifice -Oracle:When this creature enters, you may sacrifice a creature or Vehicle. When you do, destroy target artifact an opponent controls. +Name:Gastal Blockbuster +ManaCost:2 R +Types:Creature Human Berserker +PT:3/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When this creature enters, you may sacrifice a creature or Vehicle. When you do, destroy target artifact an opponent controls. +SVar:TrigSac:AB$ ImmediateTrigger | Cost$ Sac<1/Creature;Vehicle/a creature or Vehicle> | Execute$ TrigDestroy | TriggerDescription$ When you do, destroy target artifact an opponent controls. +SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact.OppCtrl | TgtPrompt$ Select target artifact an opponent controls +DeckHas:Ability$Sacrifice +Oracle:When this creature enters, you may sacrifice a creature or Vehicle. When you do, destroy target artifact an opponent controls. diff --git a/forge-gui/res/cardsfolder/upcoming/gonti_night_minister.txt b/forge-gui/res/cardsfolder/upcoming/gonti_night_minister.txt new file mode 100644 index 00000000000..f5e9496d3a2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gonti_night_minister.txt @@ -0,0 +1,13 @@ +Name:Gonti, Night Minister +ManaCost:2 B B +Types:Legendary Creature Aetherborn Rogue +PT:3/4 +T:Mode$ SpellCast | ValidCard$ Card | ValidSAonCard$ Spell.YouDontOwn | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigTreasure | TriggerDescription$ Whenever a player casts a spell they don't own, that player creates a Treasure token. +SVar:TrigTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | TokenOwner$ TriggeredActivator +T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ Opponent | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever a creature deals combat damage to one of your opponents, its controller looks at the top card of that opponent's library and exiles it face down. They may play that card for as long as it remains exiled. Mana of any type can be spent to cast a spell this way. +SVar:TrigDig:DB$ Dig | DigNum$ 1 | Defined$ TriggeredTarget | ForceReveal$ TriggeredSourceController | DefinedExiler$ TriggeredSourceController | ChangeNum$ All | DestinationZone$ Exile | ExileFaceDown$ True | RememberChanged$ True | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | SubAbility$ DBCleanup | ForgetOnMoved$ Exile | EffectOwner$ TriggeredSourceController | Duration$ Permanent +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:STPlay:Mode$ Continuous | MayLookAt$ You | MayPlay$ True | MayPlayIgnoreType$ True | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play this card for as long as it remains exiled, and mana of any type can be spent to cast it. +DeckHas:Ability$Token +Oracle:Whenever a player casts a spell they don't own, that player creates a Treasure token.\nWhenever a creature deals combat damage to one of your opponents, its controller looks at the top card of that opponent's library and exiles it face down. They may play that card for as long as it remains exiled. Mana of any type can be spent to cast a spell this way. diff --git a/forge-gui/res/cardsfolder/upcoming/kalakscion_hunger_tyrant.txt b/forge-gui/res/cardsfolder/upcoming/kalakscion_hunger_tyrant.txt index ad750d23d25..8246a0588e3 100644 --- a/forge-gui/res/cardsfolder/upcoming/kalakscion_hunger_tyrant.txt +++ b/forge-gui/res/cardsfolder/upcoming/kalakscion_hunger_tyrant.txt @@ -1,5 +1,5 @@ -Name:Kalakscion, Hunger Tyrant -ManaCost:1 B B -Types:Legendary Creature Crocodile -PT:7/2 -Oracle: \ No newline at end of file +Name:Kalakscion, Hunger Tyrant +ManaCost:1 B B +Types:Legendary Creature Crocodile +PT:7/2 +Oracle: diff --git a/forge-gui/res/cardsfolder/upcoming/loxodon_surveyor.txt b/forge-gui/res/cardsfolder/upcoming/loxodon_surveyor.txt index 6bf57b43247..8c739fe2d28 100644 --- a/forge-gui/res/cardsfolder/upcoming/loxodon_surveyor.txt +++ b/forge-gui/res/cardsfolder/upcoming/loxodon_surveyor.txt @@ -1,7 +1,7 @@ -Name:Loxodon Surveyor -ManaCost:2 G -Types:Creature Elephant Scout -PT:3/3 -K:Start your engines -A:AB$ Draw | Cost$ 3 ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | Activation$ MaxSpeed | PrecostDesc$ Max speed — | SpellDescription$ Draw a card. -Oracle:Start your engines! (If you have no speed, it starts at 1. It increases once on each of your turns when an opponent loses life. Max speed is 4.)\nMax speed — {3}, Exile this card from your graveyard: Draw a card. \ No newline at end of file +Name:Loxodon Surveyor +ManaCost:2 G +Types:Creature Elephant Scout +PT:3/3 +K:Start your engines +A:AB$ Draw | Cost$ 3 ExileFromGrave<1/CARDNAME/this card> | ActivationZone$ Graveyard | Activation$ MaxSpeed | PrecostDesc$ Max speed — | SpellDescription$ Draw a card. +Oracle:Start your engines! (If you have no speed, it starts at 1. It increases once on each of your turns when an opponent loses life. Max speed is 4.)\nMax speed — {3}, Exile this card from your graveyard: Draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/pit_automaton.txt b/forge-gui/res/cardsfolder/upcoming/pit_automaton.txt index 0ffd129a2a0..838e3a9398d 100644 --- a/forge-gui/res/cardsfolder/upcoming/pit_automaton.txt +++ b/forge-gui/res/cardsfolder/upcoming/pit_automaton.txt @@ -1,10 +1,10 @@ -Name:Pit Automaton -ManaCost:2 -Types:Artifact Creature Construct -PT:0/4 -K:Defender -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Activated | SpellDescription$ Add {C}{C}. Spend this mana only to activate abilities. -A:AB$ DelayedTrigger | Cost$ 2 T | AILogic$ SpellCopy | Mode$ AbilityCast | ValidSA$ Activated.Exhaust | ValidActivatingPlayer$ You | ThisTurn$ True | Execute$ EffTrigCopy | SpellDescription$ When you next activate an exhaust ability this turn, copy it. You may choose new targets for the copy. -SVar:EffTrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True -SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 -Oracle:Defender\n{T}: Add {C}{C}. Spend this mana only to activate abilities.\n{2}, {T}: When you next activate an exhaust ability this turn, copy it. You may choose new targets for the copy. \ No newline at end of file +Name:Pit Automaton +ManaCost:2 +Types:Artifact Creature Construct +PT:0/4 +K:Defender +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Activated | SpellDescription$ Add {C}{C}. Spend this mana only to activate abilities. +A:AB$ DelayedTrigger | Cost$ 2 T | AILogic$ SpellCopy | Mode$ AbilityCast | ValidSA$ Activated.Exhaust | ValidActivatingPlayer$ You | ThisTurn$ True | Execute$ EffTrigCopy | SpellDescription$ When you next activate an exhaust ability this turn, copy it. You may choose new targets for the copy. +SVar:EffTrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True +SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +Oracle:Defender\n{T}: Add {C}{C}. Spend this mana only to activate abilities.\n{2}, {T}: When you next activate an exhaust ability this turn, copy it. You may choose new targets for the copy. diff --git a/forge-gui/res/cardsfolder/upcoming/rise_from_the_wreck.txt b/forge-gui/res/cardsfolder/upcoming/rise_from_the_wreck.txt index 651018467c1..601ad52bc05 100644 --- a/forge-gui/res/cardsfolder/upcoming/rise_from_the_wreck.txt +++ b/forge-gui/res/cardsfolder/upcoming/rise_from_the_wreck.txt @@ -1,9 +1,9 @@ -Name:Rise from the Wreck -ManaCost:2 G -Types:Sorcery -A:SP$ Pump | TgtZone$ Graveyard | ValidTgts$ Creature.YouOwn | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target creature card in your graveyard | SubAbility$ DBMount | SpellDescription$ Return up to one target creature card, up to one target Mount card, up to one target Vehicle card, and up to one target creature card with no abilities from your graveyard to your hand. -SVar:DBMount:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Mount.YouOwn | TgtPrompt$ Select target Mount card in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBVehicle -SVar:DBVehicle:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Vehicle.YouOwn | TgtPrompt$ Select target Vehicle card in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBVanilla -SVar:DBVanilla:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Creature.YouOwn+NoAbilities | TgtPrompt$ Select target creature card with no abilities in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ Targeted -Oracle:Return up to one target creature card, up to one target Mount card, up to one target Vehicle card, and up to one target creature card with no abilities from your graveyard to your hand. \ No newline at end of file +Name:Rise from the Wreck +ManaCost:2 G +Types:Sorcery +A:SP$ Pump | TgtZone$ Graveyard | ValidTgts$ Creature.YouOwn | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target creature card in your graveyard | SubAbility$ DBMount | SpellDescription$ Return up to one target creature card, up to one target Mount card, up to one target Vehicle card, and up to one target creature card with no abilities from your graveyard to your hand. +SVar:DBMount:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Mount.YouOwn | TgtPrompt$ Select target Mount card in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBVehicle +SVar:DBVehicle:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Vehicle.YouOwn | TgtPrompt$ Select target Vehicle card in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBVanilla +SVar:DBVanilla:DB$ Pump | TgtZone$ Graveyard | ValidTgts$ Creature.YouOwn+NoAbilities | TgtPrompt$ Select target creature card with no abilities in your graveyard | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ Targeted +Oracle:Return up to one target creature card, up to one target Mount card, up to one target Vehicle card, and up to one target creature card with no abilities from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/scrap_compactor.txt b/forge-gui/res/cardsfolder/upcoming/scrap_compactor.txt index c9f3432a9aa..e7d57567712 100644 --- a/forge-gui/res/cardsfolder/upcoming/scrap_compactor.txt +++ b/forge-gui/res/cardsfolder/upcoming/scrap_compactor.txt @@ -1,7 +1,7 @@ -Name:Scrap Compactor -ManaCost:1 -Types:Artifact -A:AB$ DealDamage | Cost$ 3 T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SpellDescription$ It deals 3 damage to target creature. -A:AB$ Destroy | Cost$ 6 T Sac<1/CARDNAME> | ValidTgts$ Creature,Vehicle | TgtPrompt$ Select target creature or Vehicle | SpellDescription$ Destroy target creature or Vehicle. -DeckHas:Ability$Sacrifice -Oracle:{3}, {T}, Sacrifice this artifact: It deals 3 damage to target creature.\n{6}, {T}, Sacrifice this artifact: Destroy target creature or Vehicle. \ No newline at end of file +Name:Scrap Compactor +ManaCost:1 +Types:Artifact +A:AB$ DealDamage | Cost$ 3 T Sac<1/CARDNAME/this artifact> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SpellDescription$ It deals 3 damage to target creature. +A:AB$ Destroy | Cost$ 6 T Sac<1/CARDNAME/this artifact> | ValidTgts$ Creature,Vehicle | TgtPrompt$ Select target creature or Vehicle | SpellDescription$ Destroy target creature or Vehicle. +DeckHas:Ability$Sacrifice +Oracle:{3}, {T}, Sacrifice this artifact: It deals 3 damage to target creature.\n{6}, {T}, Sacrifice this artifact: Destroy target creature or Vehicle. diff --git a/forge-gui/res/cardsfolder/upcoming/spire_mechcycle.txt b/forge-gui/res/cardsfolder/upcoming/spire_mechcycle.txt index 237b02129ce..4a8f72cbe04 100644 --- a/forge-gui/res/cardsfolder/upcoming/spire_mechcycle.txt +++ b/forge-gui/res/cardsfolder/upcoming/spire_mechcycle.txt @@ -1,10 +1,10 @@ -Name:Spire Mechcycle -ManaCost:4 R -Types:Artifact Vehicle -PT:5/4 -K:Haste -A:AB$ Animate | Cost$ tapXType<1/Mount.Other,Vehicle.Other/another Mount or Vehicle> | Defined$ Self | Types$ Artifact,Creature | Exhaust$ True | Duration$ Permanent | SubAbility$ DBPutCounter | SpellDescription$ This Vehicle becomes an artifact creature. Put a +1/+1 counter on it for each Mount and/or Vehicle you control other than this Vehicle. (Activate each exhaust ability only once.) -SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X -SVar:X:Count$Valid Mount.Other+YouCtrl,Vehicle.Other+YouCtrl -K:Crew:2 -Oracle:Haste\nExhaust — Tap another untapped Mount or Vehicle you control: This Vehicle becomes an artifact creature. Put a +1/+1 counter on it for each Mount and/or Vehicle you control other than this Vehicle. (Activate each exhaust ability only once.)\nCrew 2 \ No newline at end of file +Name:Spire Mechcycle +ManaCost:4 R +Types:Artifact Vehicle +PT:5/4 +K:Haste +A:AB$ Animate | Cost$ tapXType<1/Mount.Other,Vehicle.Other/another Mount or Vehicle> | Defined$ Self | Types$ Artifact,Creature | Exhaust$ True | Duration$ Permanent | SubAbility$ DBPutCounter | SpellDescription$ This Vehicle becomes an artifact creature. Put a +1/+1 counter on it for each Mount and/or Vehicle you control other than this Vehicle. (Activate each exhaust ability only once.) +SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:X:Count$Valid Mount.Other+YouCtrl,Vehicle.Other+YouCtrl +K:Crew:2 +Oracle:Haste\nExhaust — Tap another untapped Mount or Vehicle you control: This Vehicle becomes an artifact creature. Put a +1/+1 counter on it for each Mount and/or Vehicle you control other than this Vehicle. (Activate each exhaust ability only once.)\nCrew 2 diff --git a/forge-gui/res/cardsfolder/upcoming/terrian_world_tyrant.txt b/forge-gui/res/cardsfolder/upcoming/terrian_world_tyrant.txt index 127d5c0629d..f22a01636b9 100644 --- a/forge-gui/res/cardsfolder/upcoming/terrian_world_tyrant.txt +++ b/forge-gui/res/cardsfolder/upcoming/terrian_world_tyrant.txt @@ -1,5 +1,5 @@ -Name:Terrian, World Tyrant -ManaCost:2 G G G -Types:Legendary Creature Dinosaur Ooze -PT:9/7 -Oracle: \ No newline at end of file +Name:Terrian, World Tyrant +ManaCost:2 G G G +Types:Legendary Creature Dinosaur Ooze +PT:9/7 +Oracle: diff --git a/forge-gui/res/cardsfolder/upcoming/trade_the_helm.txt b/forge-gui/res/cardsfolder/upcoming/trade_the_helm.txt index e336a70af8f..d8724d12b82 100644 --- a/forge-gui/res/cardsfolder/upcoming/trade_the_helm.txt +++ b/forge-gui/res/cardsfolder/upcoming/trade_the_helm.txt @@ -1,7 +1,7 @@ -Name:Trade the Helm -ManaCost:4 U -Types:Sorcery -A:SP$ Pump | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl | TgtPrompt$ Choose target artifact or creature you control | SubAbility$ DBExchange | SpellDescription$ Exchange control of target artifact or creature you control and target artifact or creature an opponent controls. -SVar:DBExchange:DB$ ExchangeControl | Defined$ ParentTarget | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Choose target artifact or creature an opponent controls -K:Cycling:2 -Oracle:Exchange control of target artifact or creature you control and target artifact or creature an opponent controls.\nCycling {2} ({2}, Discard this card: Draw a card.) \ No newline at end of file +Name:Trade the Helm +ManaCost:4 U +Types:Sorcery +A:SP$ Pump | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl | TgtPrompt$ Choose target artifact or creature you control | SubAbility$ DBExchange | SpellDescription$ Exchange control of target artifact or creature you control and target artifact or creature an opponent controls. +SVar:DBExchange:DB$ ExchangeControl | Defined$ ParentTarget | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Choose target artifact or creature an opponent controls +K:Cycling:2 +Oracle:Exchange control of target artifact or creature you control and target artifact or creature an opponent controls.\nCycling {2} ({2}, Discard this card: Draw a card.) diff --git a/forge-gui/res/cardsfolder/upcoming/tyrox_saurid_tyrant.txt b/forge-gui/res/cardsfolder/upcoming/tyrox_saurid_tyrant.txt index d009dcda471..eb19148c578 100644 --- a/forge-gui/res/cardsfolder/upcoming/tyrox_saurid_tyrant.txt +++ b/forge-gui/res/cardsfolder/upcoming/tyrox_saurid_tyrant.txt @@ -1,5 +1,5 @@ -Name:Tyrox, Saurid Tyrant -ManaCost:1 R -Types:Legendary Creature Dinosaur Warrior -PT:4/1 -Oracle: \ No newline at end of file +Name:Tyrox, Saurid Tyrant +ManaCost:1 R +Types:Legendary Creature Dinosaur Warrior +PT:4/1 +Oracle: