diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index e5a747f1ebf..ef6a2d36856 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -526,7 +526,6 @@ public class DrawAi extends SpellAbilityAi { return targetAI(ai, sa, mandatory); } - /* (non-Javadoc) * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ 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 79b72f23bde..fffd9b688bc 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1343,7 +1343,7 @@ public class CardFactoryUtil { triggers.add(gainControlTrigger); // when the card with hideaway leaves the battlefield, forget all exiled cards - final Trigger changeZoneTrigger = TriggerHandler.parseTrigger("Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | TriggerZone$ Battlefield | Static$ True", card, intrinsic); + final Trigger changeZoneTrigger = TriggerHandler.parseTrigger("Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | TriggerZones$ Battlefield | Static$ True", card, intrinsic); String cleanupStr = "DB$ Cleanup | ClearRemembered$ True"; changeZoneTrigger.setOverridingAbility(AbilityFactory.getAbility(cleanupStr, card)); triggers.add(changeZoneTrigger); diff --git a/forge-game/src/main/java/forge/game/cost/CostPayment.java b/forge-game/src/main/java/forge/game/cost/CostPayment.java index 34737879f42..4a0253dcc2f 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPayment.java +++ b/forge-game/src/main/java/forge/game/cost/CostPayment.java @@ -187,9 +187,10 @@ public class CostPayment extends ManaConversionMatrix { for (final CostPart part : parts) { PaymentDecision decision = part.accept(decisionMaker); + if (null == decision) return false; + // the AI will try to exile the same card repeatedly unless it does it immediately final boolean payImmediately = part instanceof CostExile && ((CostExile) part).from == ZoneType.Library; - if (null == decision) return false; // wrap the payment and push onto the cost stack game.costPaymentStack.push(part, this); diff --git a/forge-gui/res/blockdata/blocks.txt b/forge-gui/res/blockdata/blocks.txt index 0732ee6fb51..5800a9c7202 100644 --- a/forge-gui/res/blockdata/blocks.txt +++ b/forge-gui/res/blockdata/blocks.txt @@ -99,3 +99,4 @@ Strixhaven: School of Mages, 3/6/STX, STX Modern Horizons 2, 3/6/MH2, MH2 Adventures in the Forgotten Realms, 3/6/AFR, AFR Innistrad: Midnight Hunt, 3/6/MID, MID +Innistrad: Crimson Vow, 3/6/VOW, VOW diff --git a/forge-gui/res/cardsfolder/b/blim_comedic_genius.txt b/forge-gui/res/cardsfolder/b/blim_comedic_genius.txt index d5a6eafba9e..e6a03cfefb3 100644 --- a/forge-gui/res/cardsfolder/b/blim_comedic_genius.txt +++ b/forge-gui/res/cardsfolder/b/blim_comedic_genius.txt @@ -3,7 +3,7 @@ ManaCost:2 B R Types:Legendary Creature Imp PT:4/3 K:Flying -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | TriggerZone$ Battlefield | Execute$ TrigControl | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player gains control of target permanent you control. Then each player loses life and discards cards equal to the number of permanents they control but don't own. +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigControl | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player gains control of target permanent you control. Then each player loses life and discards cards equal to the number of permanents they control but don't own. SVar:TrigControl:DB$ GainControl | ValidTgts$ Permanent.YouCtrl | TargetMin$ 1 | TgtPrompt$ Choose a permanent you control for damaged player to gain control of | NewController$ TriggeredTarget | SubAbility$ DBRepeatEach SVar:DBRepeatEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBLoseLife SVar:DBLoseLife:DB$ LoseLife | Defined$ Player.IsRemembered | LifeAmount$ X | SubAbility$ DBDiscard diff --git a/forge-gui/res/cardsfolder/c/curse_of_unbinding.txt b/forge-gui/res/cardsfolder/c/curse_of_unbinding.txt index b6e26bb00fd..99eba5e5c76 100644 --- a/forge-gui/res/cardsfolder/c/curse_of_unbinding.txt +++ b/forge-gui/res/cardsfolder/c/curse_of_unbinding.txt @@ -3,6 +3,6 @@ ManaCost:6 U Types:Enchantment Aura Curse K:Enchant player A:SP$ Attach | ValidTgts$ Player | TgtPrompt$ Select player to curse | AILogic$ Curse -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZone$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of enchanted player's upkeep, that player reveals cards from the top of their library until they reveal a creature card. Put that card on the battlefield under your control. That player puts the rest of the revealed cards into their graveyard. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of enchanted player's upkeep, that player reveals cards from the top of their library until they reveal a creature card. Put that card on the battlefield under your control. That player puts the rest of the revealed cards into their graveyard. SVar:TrigDig:DB$ DigUntil | Defined$ Player.EnchantedBy | Valid$ Creature | FoundDestination$ Battlefield | RevealedDestination$ Graveyard | GainControl$ True Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player reveals cards from the top of their library until they reveal a creature card. Put that card on the battlefield under your control. That player puts the rest of the revealed cards into their graveyard. diff --git a/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt b/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt index a87f420e7c6..ab97834d3a6 100644 --- a/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt +++ b/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Vampire PT:3/3 K:CARDNAME can't block. -T:Mode$ Sacrificed | ValidCard$ Blood.token+YouCtrl | TriggerZone$ Battlefield | Execute$ TrigPump | ActivationLimit$ 1 | TriggerDescription$ Whenever you sacrifice one or more Blood tokens, target creature can't block this turn. This ability triggers only once each turn. +T:Mode$ Sacrificed | ValidCard$ Blood.token+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | ActivationLimit$ 1 | TriggerDescription$ Whenever you sacrifice one or more Blood tokens, target creature can't block this turn. This ability triggers only once each turn. SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't block. | IsCurse$ True DeckNeeds:Type$Blood Oracle:Blood Hypnotist can't block.\nWhenever you sacrifice one or more Blood tokens, target creature can't block this turn. This ability triggers only once each turn. diff --git a/forge-gui/res/cardsfolder/upcoming/cemetery_desecrator.txt b/forge-gui/res/cardsfolder/upcoming/cemetery_desecrator.txt new file mode 100644 index 00000000000..cda76ff938e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cemetery_desecrator.txt @@ -0,0 +1,15 @@ +Name:Cemetery Desecrator +ManaCost:4 B B +Types:Creature Zombie +PT:4/4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield or dies, exile another card from a graveyard. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | Secondary$ True | TriggerDescription$ When CARDNAME enters the battlefield or dies, exile another card from a graveyard. +SVar:TrigExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | Hidden$ True | RememberChanged$ True | ChangeType$ Card.Other | ChangeNum$ 1 | Mandatory$ True | SubAbility$ DBImmediateTrigger +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | Execute$ TrigCharm | TriggerDescription$ When you do, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ DBRemoveCounter,DBPump +SVar:DBRemoveCounter:DB$ RemoveCounter | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | SubAbility$ DBCleanup | SpellDescription$ Remove X counters from target permanent, where X is the mana value of the exiled card. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | IsCurse$ True | NumAtt$ -X | NumDef$ -X | SubAbility$ DBCleanup | SpellDescription$ Target creature an opponent controls gets -X/-X until end of turn, where X is the mana value of the exiled card. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$CardManaCost +DeckHas:Ability$Graveyard +Oracle:Menace\nWhen Cemetery Desecrator enters the battlefield or dies, exile another card from a graveyard. When you do, choose one —\n• Remove X counters from target permanent, where X is the mana value of the exiled card.\n• Target creature an opponent controls gets -X/-X until end of turn, where X is the mana value of the exiled card. diff --git a/forge-gui/res/cardsfolder/upcoming/voldaren_bloodcaster_bloodbat_summoner.txt b/forge-gui/res/cardsfolder/upcoming/voldaren_bloodcaster_bloodbat_summoner.txt index 701703d1d3b..673028e4df0 100644 --- a/forge-gui/res/cardsfolder/upcoming/voldaren_bloodcaster_bloodbat_summoner.txt +++ b/forge-gui/res/cardsfolder/upcoming/voldaren_bloodcaster_bloodbat_summoner.txt @@ -5,7 +5,7 @@ PT:2/1 K:Flying T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self,Creature.Other+nonToken+YouCtrl | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME or another nontoken creature you control dies, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") SVar:TrigToken:DB$ Token | TokenScript$ c_a_blood_draw -T:Mode$ TokenCreated | ValidPlayer$ You | ValidToken$ Blood | IsPresent$ Blood.token+YouCtrl | PresentCompare$ GE5 | Execute$ TrigTransform | TriggerZone$ Battlefield | TriggerDescription$ Whenever you create a Blood token, if you control five or more Blood tokens, transform CARDNAME. +T:Mode$ TokenCreated | ValidPlayer$ You | ValidToken$ Blood | IsPresent$ Blood.token+YouCtrl | PresentCompare$ GE5 | Execute$ TrigTransform | TriggerZones$ Battlefield | TriggerDescription$ Whenever you create a Blood token, if you control five or more Blood tokens, transform CARDNAME. SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform AlternateMode:DoubleFaced DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood diff --git a/forge-gui/res/cardsfolder/v/voldaren_pariah_abolisher_of_bloodlines.txt b/forge-gui/res/cardsfolder/v/voldaren_pariah_abolisher_of_bloodlines.txt index c3b4647def8..8db0b04eb89 100644 --- a/forge-gui/res/cardsfolder/v/voldaren_pariah_abolisher_of_bloodlines.txt +++ b/forge-gui/res/cardsfolder/v/voldaren_pariah_abolisher_of_bloodlines.txt @@ -1,46 +1,22 @@ Name:Voldaren Pariah - ManaCost:3 B B - Types:Creature Vampire Horror - PT:3/3 - K:Flying - -A:AB$SetState | Cost$ Sac<3/Creature.Other/another creature> | Defined$ Self | Mode$ Transform | SpellDescription$ Transform CARDNAME. - +A:AB$ SetState | Cost$ Sac<3/Creature.Other/another creature> | Defined$ Self | Mode$ Transform | SpellDescription$ Transform CARDNAME. K:Madness:B B B - DeckHints:Ability$Discard - -SVar:Picture:http://www.wizards.com/global/images/magic/general/voldaren_pariah.jpg - AlternateMode:DoubleFaced - Oracle:Flying\nSacrifice three other creatures: Transform Voldaren Pariah.\nMadness {B}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) - - ALTERNATE - - Name:Abolisher of Bloodlines - ManaCost:no cost - Types:Creature Eldrazi Vampire - PT:6/5 - K:Flying - T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigSacrifice | TriggerDescription$ When this creature transforms into CARDNAME, target opponent sacrifices three creatures. - SVar:TrigSacrifice:DB$ Sacrifice | ValidTgts$ Opponent | SacValid$ Creature | Amount$ 3 | SacMessage$ Creature - -SVar:Picture:http://www.wizards.com/global/images/magic/general/abolisher_of_bloodlines.jpg - Oracle:Flying\nWhen this creature transforms into Abolisher of Bloodlines, target opponent sacrifices three creatures. diff --git a/forge-gui/res/draft/rankings.txt b/forge-gui/res/draft/rankings.txt index a0c218b46b5..2e0206ecbde 100644 --- a/forge-gui/res/draft/rankings.txt +++ b/forge-gui/res/draft/rankings.txt @@ -33922,3 +33922,271 @@ #265|Field of Ruin|U|MID #266|Curse of Silence|R|MID #267|Pithing Needle|R|MID +//Rank|Name|Rarity|Set +#1|Avabruck Caretaker|M|VOW +#2|Overcharged Amalgam|R|VOW +#3|Dreadfeast Demon|R|VOW +#4|Cemetery Desecrator|M|VOW +#5|Manaform Hellkite|M|VOW +#6|Henrika Domnathi|M|VOW +#7|Sorin the Mirthless|M|VOW +#8|Ulvenwald Oddity|R|VOW +#9|Edgar, Charmed Groom|R|VOW +#10|Necroduality|M|VOW +#11|Kaya, Geist Hunter|M|VOW +#12|Ill-Tempered Loner|R|VOW +#13|Toxrill, the Corrosive|M|VOW +#14|Olivia, Crimson Bride|M|VOW +#15|Bloodvial Purveyor|R|VOW +#16|Volatile Arsonist|M|VOW +#17|Halana and Alena, Partners|R|VOW +#18|Glorious Sunrise|R|VOW +#19|Howlpack Piper|R|VOW +#20|Anje, Maid of Dishonor|R|VOW +#21|Olivia's Attendants|R|VOW +#22|Savior of Ollenbock|M|VOW +#23|Chandra, Dressed to Kill|M|VOW +#24|Cemetery Prowler|M|VOW +#25|Headless Rider|R|VOW +#26|Wedding Announcement|R|VOW +#27|Katilda, Dawnhart Martyr|R|VOW +#28|Cemetery Protector|M|VOW +#29|Sigarda's Summons|R|VOW +#30|Welcoming Vampire|R|VOW +#31|Cemetery Illuminator|M|VOW +#32|Torens, Fist of the Angels|R|VOW +#33|Dreamshackle Geist|R|VOW +#34|Concealing Curtains|R|VOW +#35|Hullbreaker Horror|R|VOW +#36|Hero's Downfall|U|VOW +#37|Curse of Hospitality|R|VOW +#38|Thirst for Discovery|U|VOW +#39|Hiveheart Shaman|R|VOW +#40|Voldaren Bloodcaster|R|VOW +#41|Fell Stinger|U|VOW +#42|Stensia Uprising|R|VOW +#43|Hamlet Vanguard|R|VOW +#44|Grolnok, the Omnivore|R|VOW +#45|Old Rutstein|R|VOW +#46|Dorothea, Vengeful Victim|R|VOW +#47|Jacob Hauken, Inspector|M|VOW +#48|Mirrorhall Mimic|R|VOW +#49|Resistance Squad|U|VOW +#50|Geralf, Visionary Stitcher|R|VOW +#51|Rending Flame|U|VOW +#52|Graf Reaver|R|VOW +#53|Creepy Puppeteer|R|VOW +#54|Markov Purifier|U|VOW +#55|Child of the Pack|U|VOW +#56|By Invitation Only|R|VOW +#57|Bleed Dry|C|VOW +#58|Vampires' Vengeance|U|VOW +#59|Ascendant Packleader|R|VOW +#60|Odric, Blood-Cursed|R|VOW +#61|Parasitic Grasp|U|VOW +#62|Eruth, Tormented Prophet|R|VOW +#63|Wandering Mind|U|VOW +#64|Brine Comber|U|VOW +#65|Lantern Flare|R|VOW +#66|Valorous Stance|U|VOW +#67|Abrade|C|VOW +#68|Kessig Wolfrider|R|VOW +#69|Sigardian Paladin|U|VOW +#70|Fleeting Spirit|U|VOW +#71|Reclusive Taxidermist|U|VOW +#72|Bloodtithe Harvester|U|VOW +#73|Markov Waltzer|U|VOW +#74|Skull Skaab|U|VOW +#75|Alluring Suitor|U|VOW +#76|Sigarda's Imprisonment|C|VOW +#77|Thalia, Guardian of Thraben|R|VOW +#78|Diver Skaab|U|VOW +#79|Archghoul of Thraben|U|VOW +#80|Falkenrath Forebear|R|VOW +#81|Dominating Vampire|R|VOW +#82|Dig Up|R|VOW +#83|Dollhouse of Horrors|R|VOW +#84|Stormchaser Drake|U|VOW +#85|Blood Hypnotist|U|VOW +#86|Bramble Wurm|U|VOW +#87|Ancient Lumberknot|U|VOW +#88|Wolfkin Outcast|U|VOW +#89|Faithbound Judge|M|VOW +#90|Angelic Quartermaster|U|VOW +#91|Whispering Wizard|U|VOW +#92|Undead Butler|U|VOW +#93|Cemetery Gatekeeper|M|VOW +#94|Flame-Blessed Bolt|C|VOW +#95|Magma Pummeler|U|VOW +#96|Wolf Strike|C|VOW +#97|Vilespawn Spider|U|VOW +#98|Sawblade Slinger|U|VOW +#99|Twinblade Geist|U|VOW +#100|Dormant Grove|U|VOW +#101|Ballista Watcher|U|VOW +#102|Voltaic Visionary|U|VOW +#103|Weaver of Blossoms|C|VOW +#104|Panicked Bystander|U|VOW +#105|Voice of the Blessed|R|VOW +#106|Lunar Rejection|U|VOW +#107|Path of Peril|R|VOW +#108|Apprentice Sharpshooter|C|VOW +#109|Packsong Pup|U|VOW +#110|Investigator's Journal|R|VOW +#111|Circle of Confinement|U|VOW +#112|Scattered Thoughts|C|VOW +#113|Runebound Wolf|U|VOW +#114|Spiked Ripsaw|U|VOW +#115|Distracting Geist|U|VOW +#116|Gutter Skulker|U|VOW +#117|Catapult Fodder|U|VOW +#118|Hopeful Initiate|R|VOW +#119|Patchwork Crawler|R|VOW +#120|Edgar's Awakening|U|VOW +#121|Gift of Fangs|C|VOW +#122|Mindleech Ghoul|C|VOW +#123|Gryffwing Cavalry|U|VOW +#124|Screaming Swarm|U|VOW +#125|Bloodcrazed Socialite|C|VOW +#126|Courier Bat|C|VOW +#127|Hungry Ridgewolf|C|VOW +#128|Flourishing Hunter|C|VOW +#129|Drogskol Infantry|C|VOW +#130|Restless Bloodseeker|U|VOW +#131|Lambholt Raconteur|U|VOW +#132|Hookhand Mariner|C|VOW +#133|Fierce Retribution|C|VOW +#134|Gryff Rider|C|VOW +#135|Parish-Blade Trainee|C|VOW +#136|Dreadlight Monstrosity|C|VOW +#137|Inspired Idea|R|VOW +#138|Repository Skaab|C|VOW +#139|Dying to Serve|R|VOW +#140|Wedding Security|U|VOW +#141|Lacerate Flesh|C|VOW +#142|Markov Retribution|U|VOW +#143|Cloaked Cadet|U|VOW +#144|Howling Moon|R|VOW +#145|Rural Recruit|C|VOW +#146|Deathcap Glade|R|VOW +#147|Dreamroot Cascade|R|VOW +#148|Shattered Sanctum|R|VOW +#149|Stormcarved Coast|R|VOW +#150|Sundown Pass|R|VOW +#151|Voldaren Estate|R|VOW +#152|Heron of Hope|C|VOW +#153|Cobbled Lancer|U|VOW +#154|Into the Night|U|VOW +#155|Kessig Flamebreather|C|VOW +#156|Dawnhart Disciple|C|VOW +#157|Moldgraf Millipede|C|VOW +#158|Mulch|C|VOW +#159|Kindly Ancestor|C|VOW +#160|Mischievous Catgeist|U|VOW +#161|Infestation Expert|U|VOW +#162|Oakshade Stalker|U|VOW +#163|Foreboding Statue|U|VOW +#164|Ragged Recluse|C|VOW +#165|Binding Geist|C|VOW +#166|Ollenbock Escort|U|VOW +#167|Piercing Light|C|VOW +#168|Geistlight Snare|U|VOW +#169|Stitched Assistant|C|VOW +#170|Syncopate|C|VOW +#171|Doomed Dissenter|C|VOW +#172|Grisly Ritual|C|VOW +#173|Spore Crawler|C|VOW +#174|Winged Portent|R|VOW +#175|Wretched Throng|C|VOW +#176|Honeymoon Hearse|U|VOW +#177|Sanguine Statuette|U|VOW +#178|Biolume Egg|U|VOW +#179|Bloodsworn Squire|U|VOW +#180|Fearful Villager|C|VOW +#181|Runo Stromkirk|R|VOW +#182|Desperate Farmer|C|VOW +#183|Bride's Gown|U|VOW +#184|Dawnhart Geist|U|VOW +#185|Estwald Shieldbasher|C|VOW +#186|Heron-Blessed Geist|C|VOW +#187|Traveling Minister|C|VOW +#188|Vampire Slayer|C|VOW +#189|Alchemist's Retrieval|C|VOW +#190|Cruel Witness|C|VOW +#191|Fear of Death|C|VOW +#192|Steelclad Spirit|C|VOW +#193|Wanderlight Spirit|C|VOW +#194|Diregraf Scavenger|C|VOW +#195|Gluttonous Guest|C|VOW +#196|Blood Petal Celebrant|C|VOW +#197|Daybreak Combatants|C|VOW +#198|Lightning Wolf|C|VOW +#199|Cultivator Colossus|M|VOW +#200|Massive Might|C|VOW +#201|Sporeback Wolf|C|VOW +#202|Wash Away|U|VOW +#203|Skulking Killer|U|VOW +#204|Belligerent Guest|C|VOW +#205|Crawling Infestation|U|VOW +#206|Evolving Wilds|C|VOW +#207|Lantern Bearer|C|VOW +#208|Innocent Traveler|U|VOW +#209|Weary Prisoner|C|VOW +#210|Soulcipher Board|U|VOW +#211|Adamant Will|C|VOW +#212|Arm the Cathars|U|VOW +#213|Nebelgast Beguiler|C|VOW +#214|Nurturing Presence|C|VOW +#215|Chill of the Grave|C|VOW +#216|Cradle of Safety|C|VOW +#217|Selhoff Entomber|C|VOW +#218|Skywarp Skaab|C|VOW +#219|Syphon Essence|C|VOW +#220|Persistent Specimen|C|VOW +#221|Rot-Tide Gargantua|C|VOW +#222|Falkenrath Celebrants|C|VOW +#223|Frenzied Devils|U|VOW +#224|Pyre Spawn|C|VOW +#225|Sure Strike|C|VOW +#226|Laid to Rest|U|VOW +#227|Nature's Embrace|C|VOW +#228|Retrieve|U|VOW +#229|Toxic Scorpion|C|VOW +#230|Honored Heirloom|C|VOW +#231|Militia Rallier|C|VOW +#232|Reckless Impulse|C|VOW +#233|Cartographer's Survey|U|VOW +#234|Supernatural Rescue|C|VOW +#235|Unholy Officiant|C|VOW +#236|Consuming Tide|R|VOW +#237|Blood Fountain|C|VOW +#238|Groom's Finery|U|VOW +#239|Pointed Discussion|C|VOW +#240|Voldaren Epicure|C|VOW +#241|Snarling Wolf|C|VOW +#242|Witch's Web|C|VOW +#243|Ceremonial Knife|C|VOW +#244|Lantern of the Lost|U|VOW +#245|Wedding Invitation|C|VOW +#246|Witness the Future|U|VOW +#247|Alchemist's Gambit|R|VOW +#248|Boarded Window|U|VOW +#249|Radiant Grace|U|VOW +#250|Hallowed Haunting|M|VOW +#251|Aim for the Head|C|VOW +#252|Demonic Bargain|R|VOW +#253|Undying Malice|C|VOW +#254|Ancestral Anger|C|VOW +#255|Bloody Betrayal|C|VOW +#256|Change of Fortune|R|VOW +#257|End the Festivities|C|VOW +#258|Bramble Armor|C|VOW +#259|Sheltering Boughs|C|VOW +#260|Blood Servitor|C|VOW +#261|Unhallowed Phalanx|C|VOW +#262|Serpentine Ambush|C|VOW +#263|Dread Fugue|U|VOW +#264|Crushing Canopy|C|VOW +#265|Sanctify|C|VOW +#266|Splendid Reclamation|R|VOW +#267|Vampire's Kiss|C|VOW