diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index 83159c72615..1678f36025f 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -300,7 +300,7 @@ public enum DeckFormat { //basic lands, Shadowborn Apostle and Relentless Rats final CardPool allCards = deck.getAllCardsInASinglePool(hasCommander()); - final ImmutableSet limitExceptions = ImmutableSet.of("Relentless Rats", "Shadowborn Apostle"); + final ImmutableSet limitExceptions = ImmutableSet.of("Relentless Rats", "Shadowborn Apostle", "Rat Colony"); // should group all cards by name, so that different editions of same card are really counted as the same card for (final Entry cp : Aggregates.groupSumBy(allCards, PaperCard.FN_GET_NAME)) { diff --git a/forge-gui/res/cardsfolder/upcoming/academy_journeymage.txt b/forge-gui/res/cardsfolder/upcoming/academy_journeymage.txt new file mode 100644 index 00000000000..0ad43003378 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/academy_journeymage.txt @@ -0,0 +1,9 @@ +Name:Academy Journeymage +ManaCost:4 U +Types:Creature Human Wizard +PT:3/2 +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | CheckSVar$ Wizard | SVarCompare$ GE1 | References$ Wizard | Description$ This spell costs {1} less to cast if you control a Wizard. +SVar:Wizard:Count$Valid Wizard.YouCtrl +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target creature an opponent controls to its owner's hand. +SVar:TrigChangeZone:DB$ ChangeZone | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | Origin$ Battlefield | Destination$ Hand +Oracle:This spell costs {1} less to cast if you control a Wizard. When Academy Journeymage enters the battlefield, return target creature an opponent controls to its owner's hand. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/ancient_animus.txt b/forge-gui/res/cardsfolder/upcoming/ancient_animus.txt new file mode 100644 index 00000000000..664af8ad3a2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ancient_animus.txt @@ -0,0 +1,7 @@ +Name:Ancient Animus +ManaCost:1 G +Types:Instant +A:SP$ PutCounter | Cost$ 1 G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | CounterType$ P1P1 | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SubAbility$ DBFight | SpellDescription$ Put a +1/+1 counter on target creature you control if it's legendary. Then it fights target creature an opponent controls. (Each deals damage equal to its power to the other.) +SVar:X:Targeted$Valid Legendary +SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Choose target creature an opponent controls +Oracle:Put a +1/+1 counter on target creature you control if it's legendary. Then it fights target creature an opponent controls. (Each deals damage equal to its power to the other.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/baloth_gorger.txt b/forge-gui/res/cardsfolder/upcoming/baloth_gorger.txt new file mode 100644 index 00000000000..82469076f26 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/baloth_gorger.txt @@ -0,0 +1,8 @@ +Name:Baloth Gorger +ManaCost:2 G G +Types:Creature Beast +PT:4/4 +K:Kicker:4 +K:etbCounter:P1P1:3:CheckSVar$ WasKicked:If CARDNAME was kicked, it enters the battlefield with three +1/+1 counters on it. +SVar:WasKicked:Count$Kicked.1.0 +Oracle:Kicker {4} (You may pay an additional {4} as you cast this spell.)\nIf Baloth Gorger was kicked, it enters the battlefield with three +1/+1 counters on it. diff --git a/forge-gui/res/cardsfolder/upcoming/blink_of_an_eye.txt b/forge-gui/res/cardsfolder/upcoming/blink_of_an_eye.txt new file mode 100644 index 00000000000..23fe9565265 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/blink_of_an_eye.txt @@ -0,0 +1,7 @@ +Name:Blink of an Eye +ManaCost:1 U +Types:Instant +K:Kicker:1 U +A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBDraw | SpellDescription$ Return target nonland permanent to its owner's hand. If this spell was kicked, draw a card. +SVar:DBDraw:DB$ Draw | NumCards$ 1 | Condition$ Kicked | ConditionDescription$ If this spell was kicked +Oracle:Kicker {1}{U} (You may pay an additional {1}{U} as you cast this spell.)\nReturn target nonland permanent to its owner's hand. If this spell was kicked, draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/broken_bond.txt b/forge-gui/res/cardsfolder/upcoming/broken_bond.txt new file mode 100644 index 00000000000..d90a2e10da4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/broken_bond.txt @@ -0,0 +1,6 @@ +Name:Broken Bond +ManaCost:1 G +Types:Sorcery +A:SP$ Destroy | Cost$ 1 G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SubAbility$ DBChangeZone | SpellDescription$ Destroy target artifact or enchantment. You may put a land card from your hand onto the battlefield. +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1 +Oracle:Destroy target artifact or enchantment. You may put a land card from your hand onto the battlefield. diff --git a/forge-gui/res/cardsfolder/upcoming/demonic_vigor.txt b/forge-gui/res/cardsfolder/upcoming/demonic_vigor.txt new file mode 100644 index 00000000000..5ecd045c20d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/demonic_vigor.txt @@ -0,0 +1,9 @@ +Name:Demonic Vigor +ManaCost:B +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Enchanted creature gets +1/+1. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.AttachedBy | Execute$ TrigChangeZone | TriggerDescription$ When enchanted creature dies, return that card to its owner's hand. +SVar:TrigChangeZone:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Hand +Oracle:Enchant creature\nEnchanted creature gets +1/+1.\nWhen enchanted creature dies, return that card to its owner's hand. diff --git a/forge-gui/res/cardsfolder/upcoming/dub.txt b/forge-gui/res/cardsfolder/upcoming/dub.txt new file mode 100644 index 00000000000..07e39c64e2c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dub.txt @@ -0,0 +1,7 @@ +Name:Dub +ManaCost:2 W +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | Cost$ 2 W | ValidTgts$ Creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ First Strike | AddType$ Knight | Description$ Enchanted creature gets +2/+2, has first strike, and is a Knight in addition to its other types. +Oracle:Enchant creature\nEnchanted creature gets +2/+2, has first strike, and is a Knight in addition to its other types. diff --git a/forge-gui/res/cardsfolder/upcoming/firefist_adept.txt b/forge-gui/res/cardsfolder/upcoming/firefist_adept.txt new file mode 100644 index 00000000000..dbfc8f8efcb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/firefist_adept.txt @@ -0,0 +1,8 @@ +Name:Firefist Adept +ManaCost:4 R +Types:Creature Human Wizard +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals X damage to target creature an opponent controls, where X is the number of instant and sorcery cards in your graveyard. +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X | References$ X +SVar:X:Count$Valid Wizard.YouCtrl +Oracle:When Firefist Adept enters the battlefield, it deals X damage to target creature an opponent controls, where X is the number of Wizards you control. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/forebears_blade.txt b/forge-gui/res/cardsfolder/upcoming/forebears_blade.txt new file mode 100644 index 00000000000..d03bec220c1 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/forebears_blade.txt @@ -0,0 +1,8 @@ +Name:Forebear's Blade +ManaCost:3 +Types:Artifact Equipment +K:Equip 3 +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddKeyword$ Vigilance & Trample | Description$ Equipped creature gets +3/+0 and has vigilance and trample. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.AttachedBy | Execute$ TrigAttach | TriggerDescription$ Whenever equipped creature dies, attach CARDNAME to target creature you control. +SVar:TrigAttach:DB$ Attach | ValidTgts$ Creature.YouCtrl +Oracle:Equipped creature gets +3/+0 and has vigilance and trample.\nWhenever equipped creature dies, attach Forebear's Blade to target creature you control.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/upcoming/fungal_infection.txt b/forge-gui/res/cardsfolder/upcoming/fungal_infection.txt new file mode 100644 index 00000000000..eafbe512a93 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/fungal_infection.txt @@ -0,0 +1,7 @@ +Name:Fungal Infection +ManaCost:B +Types:Instant +A:SP$ Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SubAbility$ DBSaproling | SpellDescription$ Target creature gets -1/-1 until end of turn. Create a 1/1 green Saproling creature token. +SVar:DBSaproling:DB$ Token | TokenAmount$ 1 | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | TokenImage$ g 1 1 saproling DOM +DeckHas:Ability$Token +Oracle:Target creature gets -1/-1 until end of turn. Create a 1/1 green Saproling creature token. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/gaeas_protector.txt b/forge-gui/res/cardsfolder/upcoming/gaeas_protector.txt new file mode 100644 index 00000000000..e6fa451d110 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gaeas_protector.txt @@ -0,0 +1,6 @@ +Name:Gaea's Protector +ManaCost:3 G +Types:Creature Elemental Warrior +PT:4/2 +K:CARDNAME must be blocked if able. +Oracle:Gaea's Protector must be blocked if able. diff --git a/forge-gui/res/cardsfolder/upcoming/gift_of_growth.txt b/forge-gui/res/cardsfolder/upcoming/gift_of_growth.txt new file mode 100644 index 00000000000..3addb8a2b03 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gift_of_growth.txt @@ -0,0 +1,8 @@ +Name:Gift of Growth +ManaCost:1 G +Types:Instant +K:Kicker:1 G +A:SP$ Untap | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBPump | SpellDescription$ Untap target creature. It gets +2/+2 until end of turn. If this spell was kicked, that creature gets +4/+4 until end of turn instead. +SVar:DBPump:DB$ Pump | Defined$ Targeted | NumAtt$ +X | NumDef$ +X | References$ X +SVar:X:Count$Kicked.4.2 +Oracle:Kicker {2} (You may pay an additional {2} as you cast this spell.)\nUntap target creature. It gets +2/+2 until end of turn. If this spell was kicked, that creature gets +4/+4 until end of turn instead. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/lyra_dawnbriger.txt b/forge-gui/res/cardsfolder/upcoming/lyra_dawnbriger.txt index 4632dbb4ae3..702106bf179 100644 --- a/forge-gui/res/cardsfolder/upcoming/lyra_dawnbriger.txt +++ b/forge-gui/res/cardsfolder/upcoming/lyra_dawnbriger.txt @@ -1,4 +1,4 @@ -Name:Lyra Dawnbriger +Name:Lyra Dawnbringer ManaCost:3 W W Types:Legendary Creature Angel PT:5/5 @@ -8,5 +8,5 @@ K:Lifelink S:Mode$ Continuous | Affected$ Angel.Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Lifelink | Description$ Other Angels you control get +1/+1 and have lifelink. SVar:BuffedBy:Angel SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/lyra_dawnbriger.jpg +SVar:Picture:http://www.wizards.com/global/images/magic/general/lyra_dawnbringer.jpg Oracle:Flying, first strike, lifelink\nOther Angels you control get +1/+1 and have lifelink. diff --git a/forge-gui/res/cardsfolder/upcoming/navigators_compass.txt b/forge-gui/res/cardsfolder/upcoming/navigators_compass.txt new file mode 100644 index 00000000000..618b8bac159 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/navigators_compass.txt @@ -0,0 +1,8 @@ +Name:Navigator's Compass +ManaCost:1 +Types:Artifact +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 3 life. +SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 3 +A:AB$ ChooseType | Cost$ T | Defined$ You | Type$ Basic Land | SubAbility$ DBAnimate | SpellDescription$ Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types. +SVar:DBAnimate:DB$ Animate | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select target land you control | Types$ ChosenType +Oracle:When Navigator's Compass enters the battlefield, you gain 3 life.\nT: Until end of turn, target land you control becomes the basic land type of your choice in addition to its other types. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/powerstone_shard.txt b/forge-gui/res/cardsfolder/upcoming/powerstone_shard.txt new file mode 100644 index 00000000000..de2307111e2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/powerstone_shard.txt @@ -0,0 +1,7 @@ +Name:Powerstone Shard +ManaCost:3 +Types:Artifact +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ X | References$ X | SpellDescription$ Add {C} for each artifact you control named Powerstone Shard. +SVar:X:Count$Valid Artifact.namedPowerstone Shard+YouCtrl +SVar:BuffedBy:Artifact.namedPowerstone Shard +Oracle:Add {C} for each artifact you control named Powerstone Shard. diff --git a/forge-gui/res/cardsfolder/upcoming/rat_colony.txt b/forge-gui/res/cardsfolder/upcoming/rat_colony.txt new file mode 100644 index 00000000000..a721c026b14 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rat_colony.txt @@ -0,0 +1,11 @@ +Name:Rat Colony +ManaCost:1 B +Types:Creature Rat +Text:A deck can have any number of cards named Rat Colony. +PT:2/1 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each other Rat you control. +SVar:X:Count$Valid Rat.YouCtrl+Other +SVar:BuffedBy:Rat +SVar:PlayMain1:TRUE +DeckNeeds:Type$Rat +Oracle:Rat Colony gets +1/+0 for each other Rat you control.\nA deck can have any number of cards named Rat Colony. diff --git a/forge-gui/res/cardsfolder/upcoming/shield_of_the_realm.txt b/forge-gui/res/cardsfolder/upcoming/shield_of_the_realm.txt new file mode 100644 index 00000000000..c94715a4cbf --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/shield_of_the_realm.txt @@ -0,0 +1,6 @@ +Name:Shield of the Realm +ManaCost:2 +Types:Artifact Equipment +K:Equip 1 +S:Mode$ PreventDamage | Target$ Creature.EquippedBy | Amount$ 2 | Description$ If a source would deal damage to equipped creature, prevent 2 of that damage. +Oracle:If a source would deal damage to equipped creature, prevent 2 of that damage.\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/upcoming/steel_leaf_champion.txt b/forge-gui/res/cardsfolder/upcoming/steel_leaf_champion.txt new file mode 100644 index 00000000000..f9a6f01afe0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/steel_leaf_champion.txt @@ -0,0 +1,6 @@ +Name:Steel Leaf Champion +ManaCost:G G G +Types:Creature Elf Knight +PT:5/4 +K:CantBeBlockedBy Creature.powerLE2 +Oracle:Steel Leaf Champion can't be blocked by creatures with power 2 or less. diff --git a/forge-gui/res/cardsfolder/upcoming/tempest_djinn.txt b/forge-gui/res/cardsfolder/upcoming/tempest_djinn.txt new file mode 100644 index 00000000000..9b91fd09ad6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tempest_djinn.txt @@ -0,0 +1,8 @@ +Name:Tempest Djinn +ManaCost:U U U +Types:Creature Djinn +PT:0/4 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each basic Island you control. +SVar:X:Count$Valid Island.Basic+YouCtrl +SVar:BuffedBy:Island.Basic+YouCtrl +Oracle:Tempest Djinn gets +1/+0 for each basic Island you control. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/territorial_allosaurus.txt b/forge-gui/res/cardsfolder/upcoming/territorial_allosaurus.txt new file mode 100644 index 00000000000..2e105dedc07 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/territorial_allosaurus.txt @@ -0,0 +1,9 @@ +Name:Territorial Allosaurus +ManaCost:2 G G +Types:Creature Dinosaur +PT:5/5 +K:Kicker:2 G +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, it fights another target creature. +SVar:TrigKicker:DB$ Fight | Defined$ TriggeredCard | ValidTgts$ Creature.Other | TgtPrompt$ Choose another target creature +SVar:PlayMain1:TRUE +Oracle:Kicker {2}{G} (You may pay an additional {2}{G} as you cast this spell.)\nWhen Territorial Allosaurus enters the battlefield, if it was kicked, it fights another target creature. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/thallid_soothsayer.txt b/forge-gui/res/cardsfolder/upcoming/thallid_soothsayer.txt new file mode 100644 index 00000000000..9a70758d4ec --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/thallid_soothsayer.txt @@ -0,0 +1,6 @@ +Name:Thallid Soothsayer +ManaCost:3 B +Types:Creature Fungus +PT:2/3 +A:AB$ Draw | Cost$ 2 Sac<1/Creature> | NumCards$ 1 | SpellDescription$ Draw a card. +Oracle:{2}, Sacrifice a creature: Draw a card. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/verix_bladewing.txt b/forge-gui/res/cardsfolder/upcoming/verix_bladewing.txt new file mode 100644 index 00000000000..d4bb13a76b0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/verix_bladewing.txt @@ -0,0 +1,9 @@ +Name:Verix Bladewing +ManaCost:2 R R +Types:Legendary Creature Dragon +PT:4/4 +K:Flying +K:Kicker:3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, create Karox Bladewing, a legendary 4/4 red Dragon creature token with flying. +SVar:TrigKicker:DB$ Token | TokenAmount$ 1 | TokenName$ Karox Bladewing | TokenTypes$ Legendary,Creature,Dragon | TokenOwner$ You | TokenColors$ Red | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying +Oracle:Kicker {3} (You may pay an additional {3} as you cast this spell.)\nFlying\nWhen Verix Bladewing enters the battlefield, if it was kicked, create Karox Bladewing, a legendary 4/4 red Dragon creature token with flying.