mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Merge branch 'master' into historicformats
This commit is contained in:
@@ -4131,12 +4131,14 @@ public class CardFactoryUtil {
|
|||||||
} else if (keyword.startsWith("Cycling")) {
|
} else if (keyword.startsWith("Cycling")) {
|
||||||
final String[] k = keyword.split(":");
|
final String[] k = keyword.split(":");
|
||||||
final String manacost = k[1];
|
final String manacost = k[1];
|
||||||
|
final Cost cost = new Cost(manacost, true);
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("AB$ Draw | Cost$ ");
|
sb.append("AB$ Draw | Cost$ ");
|
||||||
sb.append(manacost);
|
sb.append(manacost);
|
||||||
sb.append(" Discard<1/CARDNAME> | ActivationZone$ Hand | PrecostDesc$ Cycling | CostDesc$ ");
|
sb.append(" Discard<1/CARDNAME> | ActivationZone$ Hand | PrecostDesc$ Cycling");
|
||||||
sb.append(ManaCostParser.parse(manacost));
|
sb.append(cost.isOnlyManaCost() ? " " : "—");
|
||||||
|
sb.append("| CostDesc$ " + cost.toSimpleString() + " ");
|
||||||
sb.append("| SpellDescription$ (").append(inst.getReminderText()).append(")");
|
sb.append("| SpellDescription$ (").append(inst.getReminderText()).append(")");
|
||||||
|
|
||||||
SpellAbility sa = AbilityFactory.getAbility(sb.toString(), card);
|
SpellAbility sa = AbilityFactory.getAbility(sb.toString(), card);
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
Name:Defense of the Heart
|
Name:Defense of the Heart
|
||||||
ManaCost:3 G
|
ManaCost:3 G
|
||||||
Types:Enchantment
|
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:TrigSac:DB$Sacrifice | SubAbility$ DBChange
|
||||||
SVar:DBChange:DB$ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 2
|
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
|
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.
|
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.
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ ManaCost:W W
|
|||||||
Types:Creature Human Knight
|
Types:Creature Human Knight
|
||||||
PT:2/2
|
PT:2/2
|
||||||
K:First Strike
|
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:TrigChange:DB$ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Plains | ChangeNum$ 1 | ShuffleNonMandatory$ True
|
||||||
SVar:X:Count$Valid Land.YouCtrl
|
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
|
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.
|
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.
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
Name:Land Tax
|
Name:Land Tax
|
||||||
ManaCost:W
|
ManaCost:W
|
||||||
Types:Enchantment
|
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:TrigChange:DB$ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 3 | ShuffleNonMandatory$ True
|
||||||
SVar:X:Count$Valid Land.YouCtrl
|
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
|
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.
|
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.
|
||||||
|
|||||||
@@ -5,10 +5,11 @@ PT:5/5
|
|||||||
K:Flying
|
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.
|
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
|
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: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:X:PlayerCountOpponents$HighestLifeTotal
|
||||||
SVar:Y:Count$Valid Creature.YouCtrl
|
SVar:Y:Count$Valid Creature.YouCtrl
|
||||||
SVar:Z:Count$YourLifeTotal
|
SVar:Z:Count$YourLifeTotal
|
||||||
|
SVar:W:PlayerCountOpponents$HighestValid Creature.YouCtrl
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/linvala_the_preserver.jpg
|
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.
|
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.
|
||||||
|
|||||||
5
forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt
Normal file
5
forge-gui/res/cardsfolder/upcoming/cabal_evangel.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Name:Cabal Evangel
|
||||||
|
ManaCost:1 B
|
||||||
|
Types:Creature Human Cleric
|
||||||
|
PT:2/2
|
||||||
|
Oracle:
|
||||||
7
forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/cabal_paladin.txt
Normal file
@@ -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, 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.)
|
||||||
8
forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/caligo_skin_witch.txt
Normal file
@@ -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.
|
||||||
@@ -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.)
|
||||||
|
|
||||||
5
forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt
Normal file
5
forge-gui/res/cardsfolder/upcoming/tolarian_scholar.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Name:Tolarian Scholar
|
||||||
|
ManaCost:2 U
|
||||||
|
Types:Creature Human Wizard
|
||||||
|
PT:2/3
|
||||||
|
Oracle:
|
||||||
Reference in New Issue
Block a user