From d7bc7df3d231a54d0ea480b955174c18c532226e Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Wed, 4 Apr 2018 22:07:06 +0000 Subject: [PATCH 1/8] DOM: Added some new cards --- forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt b/forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt new file mode 100644 index 00000000000..a8ec6aa8da4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt @@ -0,0 +1,5 @@ +Name:Tolarian Scholar +ManaCost:2 U +Types:Creature Human Wizard +PT:2/3 +Oracle: From dd935885390a0b3483b7fd26dd226de124973824 Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Wed, 4 Apr 2018 22:07:30 +0000 Subject: [PATCH 2/8] DOM: Added some new cards --- forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt b/forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt new file mode 100644 index 00000000000..ec5315517a6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt @@ -0,0 +1,5 @@ +Name:Cabal Evangel +ManaCost:1 B +Types:Creature Human Cleric +PT:2/2 +Oracle: From 67037c7837f896f3bb9ac3d7594b78728c8c988e Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Wed, 4 Apr 2018 22:59:42 +0000 Subject: [PATCH 3/8] DOM: Added some new cards --- forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt b/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt new file mode 100644 index 00000000000..91e30a2da20 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt @@ -0,0 +1,7 @@ +Name:Cabal Paladin +ManaCost:3 B +Types:Creature Human Knight +PT:4/2 +T:Mode$ SpellCast | ValidCard$ Card.Historic | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a historic spell, you may pay {1}. If you do, create a token that's a copy of CARDNAME. (Artifacts, legendaries, and Sagas are historic.) +SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 +Oracle:Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent. (Artifacts, legendaries, and Sagas are historic.) From d4f524769f91b4c193d670152fd5e7db6044394b Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Thu, 5 Apr 2018 00:40:54 +0000 Subject: [PATCH 4/8] Update cabal_paladin.txt --- forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt b/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt index 91e30a2da20..a07f072dcb6 100644 --- a/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt +++ b/forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt @@ -2,6 +2,6 @@ Name:Cabal Paladin ManaCost:3 B Types:Creature Human Knight PT:4/2 -T:Mode$ SpellCast | ValidCard$ Card.Historic | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a historic spell, you may pay {1}. If you do, create a token that's a copy of CARDNAME. (Artifacts, legendaries, and Sagas are historic.) +T:Mode$ SpellCast | ValidCard$ Card.Historic | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a historic spell, CARDNAME deals 2 damage to each opponent. (Artifacts, legendaries, and Sagas are historic.) SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 Oracle:Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent. (Artifacts, legendaries, and Sagas are historic.) From c4e0528ce8b913eadfce051bdc8d30f472793bcf Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Thu, 5 Apr 2018 00:56:15 +0000 Subject: [PATCH 5/8] DOM: Added some cards --- forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt diff --git a/forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt b/forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt new file mode 100644 index 00000000000..741aae84ef4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt @@ -0,0 +1,8 @@ +Name:Caligo Skin-Witch +ManaCost:1 B +Types:Creature Beast +PT:1/3 +K:Kicker:3 B +T:Mode$ ChangesZone | ValidCard$ Card.Self+kicked | Origin$ Any | Destination$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, each opponent discards two cards. +SVar:TrigDiscard:DB$ Discard | Defined$ Player.Opponent | NumCards$ 2 | Mode$ TgtChoose +Oracle:Kicker {3}{B} (You may pay an additional {3}{B} as you cast this spell.)\nWhen Caligo Skin-Witch enters the battlefield, if it was kicked, each opponent discards two cards. From 886c7326265b0d46cde5908286b58724a63cf800 Mon Sep 17 00:00:00 2001 From: Misha Colbourne Date: Thu, 5 Apr 2018 01:06:49 +0000 Subject: [PATCH 6/8] DOM: Added some cards --- .../cardsfolder/upcoming/raff_capashen_ships_mage.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/raff_capashen_ships_mage.txt diff --git a/forge-gui/res/cardsfolder/upcoming/raff_capashen_ships_mage.txt b/forge-gui/res/cardsfolder/upcoming/raff_capashen_ships_mage.txt new file mode 100644 index 00000000000..6c18f62a25b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/raff_capashen_ships_mage.txt @@ -0,0 +1,10 @@ +Name:Raff Capashen, Ship's Mage +ManaCost:2 W U +Types:Legendary Creature Human Wizard +PT:3/3 +K:Flash +K:Flying +S:Mode$ Continuous | Affected$ Card.Historic+YouCtrl+nonToken | AddHiddenKeyword$ Flash | AffectedZone$ Exile,Graveyard,Hand,Library,Command | Description$ You may cast historic spells as though they had flash. (Artifacts, legendaries, and Sagas are historic.) +SVar:NonStackingEffect:True +Oracle:Flash\nFlying\nYou may cast historic spells as though they had flash. (Artifacts, legendaries, and Sagas are historic.) + From a5ea35e6b7c99d21bf0bd32c2744f5bfd34980c6 Mon Sep 17 00:00:00 2001 From: swordshine Date: Thu, 5 Apr 2018 20:18:21 +0800 Subject: [PATCH 7/8] - Fixed cost description for Cycling (Street Wraith) --- .../src/main/java/forge/game/card/CardFactoryUtil.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 0c787d1a121..bee4bff7b1b 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -4131,12 +4131,14 @@ public class CardFactoryUtil { } else if (keyword.startsWith("Cycling")) { final String[] k = keyword.split(":"); final String manacost = k[1]; + final Cost cost = new Cost(manacost, true); StringBuilder sb = new StringBuilder(); sb.append("AB$ Draw | Cost$ "); sb.append(manacost); - sb.append(" Discard<1/CARDNAME> | ActivationZone$ Hand | PrecostDesc$ Cycling | CostDesc$ "); - sb.append(ManaCostParser.parse(manacost)); + sb.append(" Discard<1/CARDNAME> | ActivationZone$ Hand | PrecostDesc$ Cycling"); + sb.append(cost.isOnlyManaCost() ? " " : "—"); + sb.append("| CostDesc$ " + cost.toSimpleString() + " "); sb.append("| SpellDescription$ (").append(inst.getReminderText()).append(")"); SpellAbility sa = AbilityFactory.getAbility(sb.toString(), card); From 571e69bb160b38e5cfe182263dbe10e70377d6ed Mon Sep 17 00:00:00 2001 From: swordshine Date: Thu, 5 Apr 2018 21:15:53 +0800 Subject: [PATCH 8/8] - Fixed Land Tax and similar cards --- forge-gui/res/cardsfolder/d/defense_of_the_heart.txt | 3 ++- forge-gui/res/cardsfolder/k/knight_of_the_white_orchid.txt | 3 ++- forge-gui/res/cardsfolder/l/land_tax.txt | 3 ++- forge-gui/res/cardsfolder/l/linvala_the_preserver.txt | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/d/defense_of_the_heart.txt b/forge-gui/res/cardsfolder/d/defense_of_the_heart.txt index 6edc9f1d255..158c4389722 100644 --- a/forge-gui/res/cardsfolder/d/defense_of_the_heart.txt +++ b/forge-gui/res/cardsfolder/d/defense_of_the_heart.txt @@ -1,8 +1,9 @@ Name:Defense of the Heart ManaCost:3 G Types:Enchantment -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | IsPresent$ Creature.OppCtrl | PresentCompare$ GE3 | TriggerDescription$ At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice CARDNAME, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | CheckSVar$ X | SVarCompare$ GE3 | TriggerDescription$ At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice CARDNAME, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library. SVar:TrigSac:DB$Sacrifice | SubAbility$ DBChange SVar:DBChange:DB$ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 2 +SVar:X:PlayerCountOpponents$HighestValid Creature.YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/defense_of_the_heart.jpg Oracle:At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice Defense of the Heart, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library. diff --git a/forge-gui/res/cardsfolder/k/knight_of_the_white_orchid.txt b/forge-gui/res/cardsfolder/k/knight_of_the_white_orchid.txt index 9e1f4ff48b8..abee552c245 100644 --- a/forge-gui/res/cardsfolder/k/knight_of_the_white_orchid.txt +++ b/forge-gui/res/cardsfolder/k/knight_of_the_white_orchid.txt @@ -3,8 +3,9 @@ ManaCost:W W Types:Creature Human Knight PT:2/2 K:First Strike -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | IsPresent$ Land.OppCtrl | PresentCompare$ GTX | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle your library. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | CheckSVar$ Y | SVarCompare$ GTX | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle your library. SVar:TrigChange:DB$ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Plains | ChangeNum$ 1 | ShuffleNonMandatory$ True SVar:X:Count$Valid Land.YouCtrl +SVar:Y:PlayerCountOpponents$HighestValid Land.YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/knight_of_the_white_orchid.jpg Oracle:First strike\nWhen Knight of the White Orchid enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle your library. diff --git a/forge-gui/res/cardsfolder/l/land_tax.txt b/forge-gui/res/cardsfolder/l/land_tax.txt index bcace10c009..06c3a152993 100644 --- a/forge-gui/res/cardsfolder/l/land_tax.txt +++ b/forge-gui/res/cardsfolder/l/land_tax.txt @@ -1,8 +1,9 @@ Name:Land Tax ManaCost:W Types:Enchantment -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | IsPresent$ Land.OppCtrl | PresentCompare$ GTX | TriggerDescription$ At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | CheckSVar$ Y | SVarCompare$ GTX | TriggerDescription$ At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. SVar:TrigChange:DB$ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 3 | ShuffleNonMandatory$ True SVar:X:Count$Valid Land.YouCtrl +SVar:Y:PlayerCountOpponents$HighestValid Land.YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/land_tax.jpg Oracle:At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. diff --git a/forge-gui/res/cardsfolder/l/linvala_the_preserver.txt b/forge-gui/res/cardsfolder/l/linvala_the_preserver.txt index f2147301c76..939e0c50737 100644 --- a/forge-gui/res/cardsfolder/l/linvala_the_preserver.txt +++ b/forge-gui/res/cardsfolder/l/linvala_the_preserver.txt @@ -5,10 +5,11 @@ PT:5/5 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigGainLife | CheckSVar$ X | SVarCompare$ GTZ | References$ X,Z | TriggerDescription$ When CARDNAME enters the battlefield, if an opponent has more life than you, you gain 5 life. SVar:TrigGainLife:DB$GainLife | Defined$ You | LifeAmount$ 5 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigToken | IsPresent$ Creature.OppCtrl | PresentCompare$ GTY | TriggerDescription$ When CARDNAME enters the battlefield, if an opponent controls more creatures than you, create a 3/3 white Angel creature token with flying. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigToken | CheckSVar$ W | SVarCompare$ GTY | TriggerDescription$ When CARDNAME enters the battlefield, if an opponent controls more creatures than you, create a 3/3 white Angel creature token with flying. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 3 | TokenToughness$ 3 | TokenKeywords$ Flying | TokenImage$ w 3 3 angel SVar:X:PlayerCountOpponents$HighestLifeTotal SVar:Y:Count$Valid Creature.YouCtrl SVar:Z:Count$YourLifeTotal +SVar:W:PlayerCountOpponents$HighestValid Creature.YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/linvala_the_preserver.jpg Oracle:Flying\nWhen Linvala, the Preserver enters the battlefield, if an opponent has more life than you, you gain 5 life.\nWhen Linvala enters the battlefield, if an opponent controls more creatures than you, create a 3/3 white Angel creature token with flying.