From 653df7737b9da14b2779e9d102ee76cb48461787 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 28 Oct 2021 20:04:42 -0400 Subject: [PATCH] [VOW] added set --- .../dl/sources/ScryfallImageSupportCards.java | 4 +- .../src/mage/sets/InnistradCrimsonVow.java | 43 +++++++++++++++++++ Utils/known-sets.txt | 1 + Utils/mtg-cards-data.txt | 21 +++++++++ Utils/mtg-sets-data.txt | 1 + 5 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/InnistradCrimsonVow.java diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java index 082134ea4f2..dad23ae1fe1 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportCards.java @@ -1,6 +1,5 @@ package org.mage.plugins.card.dl.sources; -import com.google.common.collect.ImmutableMap; import org.tritonus.share.ArraySet; import java.util.HashMap; @@ -500,8 +499,9 @@ public class ScryfallImageSupportCards { add("AFR"); // Adventures in the Forgotten Realms add("AFC"); // Forgotten Realms Commander add("J21"); // Jumpstart: Historic Horizons - add("MID"); // Innistrad, Midnight Hunt + add("MID"); // Innistrad: Midnight Hunt add("MIC"); // Midnight Hunt Commander + add("VOW"); // Innistrad: Crimson Vow } }; diff --git a/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java new file mode 100644 index 00000000000..e9982f0cc30 --- /dev/null +++ b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java @@ -0,0 +1,43 @@ +package mage.sets; + +import mage.cards.ExpansionSet; +import mage.constants.Rarity; +import mage.constants.SetType; + +import java.util.Arrays; +import java.util.List; + +/** + * @author TheElk801 + */ +public final class InnistradCrimsonVow extends ExpansionSet { + + private static final List unfinished = Arrays.asList("Dorothea, Vengeful Victim", "Dorothea's Retribution"); + private static final InnistradCrimsonVow instance = new InnistradCrimsonVow(); + + public static InnistradCrimsonVow getInstance() { + return instance; + } + + private InnistradCrimsonVow() { + super("Innistrad: Crimson Vow", "VOW", ExpansionSet.buildDate(2021, 11, 19), SetType.EXPANSION); + this.blockName = "Innistrad: Midnight Hunt"; + this.hasBoosters = true; + this.hasBasicLands = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 9; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 8; + this.numBoosterDoubleFaced = 1; + + cards.add(new SetCardInfo("Forest", 276, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Island", 270, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Mountain", 274, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Plains", 268, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Swamp", 272, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Thalia, Guardian of Thraben", 38, Rarity.RARE, mage.cards.t.ThaliaGuardianOfThraben.class)); + + cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanic is fully implemented + } +} diff --git a/Utils/known-sets.txt b/Utils/known-sets.txt index 559a63a5863..be24b2b527e 100644 --- a/Utils/known-sets.txt +++ b/Utils/known-sets.txt @@ -115,6 +115,7 @@ Ikoria: Lair of Behemoths|IkoriaLairOfBehemoths| Innistrad|Innistrad| Innistrad: Midnight Hunt|InnistradMidnightHunt| Midnight Hunt Commander|MidnightHuntCommander| +Innistrad: Crimson Vow|InnistradCrimsonVow| Invasion|Invasion| Ixalan|Ixalan| Journey into Nyx|JourneyIntoNyx| diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 1d2ceac629e..8d5a565d54b 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -43015,3 +43015,24 @@ Temple of Deceit|Midnight Hunt Commander|184|R||Land|||Temple of Deceit enters t Temple of Plenty|Midnight Hunt Commander|185|R||Land|||Temple of Plenty enters the battlefield tapped.$When Temple of Plenty enters the battlefield, scry 1.${T}: Add {G} or {W}.| Temple of the False God|Midnight Hunt Commander|186|U||Land|||{T}: Add {C}{C}. Activate only if you control five or more lands.| Unclaimed Territory|Midnight Hunt Commander|187|U||Land|||As Unclaimed Territory enters the battlefield, choose a creature type.${T}: Add {C}.${T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type.| +Savior of Ollenblock|Innistrad: Crimson Vow|34|M|{1}{W}{W}|Creature - Human Soldier|1|2|Training$Whenever Savior of Ollenblock trains, exile up to one other target creature from the battlefield or creature card from a graveyard.$When Savior of Ollenblock leaves the battlefield, return the exiled cards onto the battlefield under their owners's control.| +Thalia, Guardian of Thraben|Innistrad: Crimson Vow|38|R|{1}{W}|Legendary Creature - Human Soldier|2|1|First strike$Noncreature spells cost {1} more to cast.| +Overcharged Amalgam|Innistrad: Crimson Vow|71|R|{2}{U}{U}|Creature - Zombie Horror|3|3|Flash$Flying$Exploit$When Overcharged Amalgam exploits a creature, counter target spell, activated ability, or triggered ability.| +Sorin the Mirthless|Innistrad: Crimson Vow|131|M|{2}{B}{B}|Legendary Planeswalker - Sorin|4|+1: Look at the top card of your library. You may reveal that card and put it into your hand. If you do, you lose life equal to its mana value.$−2: Create a 2/3 black Vampire creature token with flying and lifelink.$−7: Sorin the Mirthless deals 13 damage to any target. You gain 13 life.| +Voldaren Bloodcaster|Innistrad: Crimson Vow|137|R|{1}{B}|Creature - Vampire Wizard|2|1|Flying$Whenever or another nontoken creature you control dies, create a Blood token.$Whenever you create a Blood token, if you control five or more Blood tokens, transform Voldaren Bloodcaster.| +Bloodbat Summoner|Innistrad: Crimson Vow|137|R||Creature - Vampire Wizard|3|3|Flying$At the beginning of combat on your turn, up to one target Blood token you control becomes a 2/2 black Bat creature with flying and haste in addition to its other types.| +Dig Up|Innistrad: Crimson Vow|197|R|{G}|Sorcery|||Cleave {1}{B}{B}{G}$Search your library for a [basic land] card, [reveal it,] put it into your hand, then shuffle.| +Dorothea, Vengeful Victim|Innistrad: Crimson Vow|235|C|{W}{U}|Legendary Creature - Spirit|4|4|Flying$When Dorothea, Vengeful Victim attacks or blocks, sacrifice it at end of combat.$Disturb {1}{W}{U}| +Dorothea's Retribution|Innistrad: Crimson Vow|235|C||Enchantment - Aura|||Enchant creature$Enchanted creature has "Whenever this creature attacks, create a 4/4 white Spirit creature token with flying that's tapped and attacking. Sacrifice that token at end of combat."$If Dorothea's Retribution would be put into a graveyard from anywhere, exile it instead.| +Olivia, Crimson Bride|Innistrad: Crimson Vow|245|M|{4}{B}{R}|Legendary Creature - Vampire Noble|3|4|Flying, haste$Whenever Olivia, Crimson Bride attacks, return target creature card from your graveyard to the battlefield tapped and attacking. It gains "When you don't control a legendary Vampire, exile this creature."| +Deathcap Glade|Innistrad: Crimson Vow|261|R||Land|||Deathcap Glade enters the battlefield tapped unless you control two or more other lands.${T}: Add {B} or {G}.| +Dreamroot Cascade|Innistrad: Crimson Vow|262|R||Land|||Dreamroot Cascade enters the battlefield tapped unless you control two or more other lands.${T}: Add {G} or {U}.| +Shattered Sanctum|Innistrad: Crimson Vow|264|R||Land|||Shattered Sanctum enters the battlefield tapped unless you control two or more other lands.${T}: Add {W} or {B}.| +Stormcarved Coast|Innistrad: Crimson Vow|265|R||Land|||Stormcarved Coast enters the battlefield tapped unless you control two or more other lands.${T}: Add {U} or {R}.| +Sundown Pass|Innistrad: Crimson Vow|266|R||Land|||Sundown Pass enters the battlefield tapped unless you control two or more other lands.${T}: Add {R} or {W}.| +Voldaren Estate|Innistrad: Crimson Vow|267|R||Land|||{T}: Add {C}.${T}, Pay 1 life: Add one mana of any color. Spend this mana only to cast a Vampire spell.${5}, {T}: Create a Blood token. This ability costs {1} less to activate for each Vampire you control.| +Plains|Innistrad: Crimson Vow|268|C||Basic Land - Plains|||({T}: Add {W}.)| +Island|Innistrad: Crimson Vow|270|C||Basic Land - Island|||({T}: Add {U}.)| +Swamp|Innistrad: Crimson Vow|272|C||Basic Land - Swamp|||({T}: Add {B}.)| +Mountain|Innistrad: Crimson Vow|274|C||Basic Land - Mountain|||({T}: Add {R}.)| +Forest|Innistrad: Crimson Vow|276|C||Basic Land - Forest|||({T}: Add {G}.)| diff --git a/Utils/mtg-sets-data.txt b/Utils/mtg-sets-data.txt index af54b9c9282..d9eac0fa115 100644 --- a/Utils/mtg-sets-data.txt +++ b/Utils/mtg-sets-data.txt @@ -117,6 +117,7 @@ Invasion|INV| Innistrad|ISD| Innistrad: Midnight Hunt|MID| Midnight Hunt Commander|MIC| +Innistrad: Crimson Vow|VOW| Journey into Nyx|JOU| Judge Promo|JR| Judgment|JUD|