diff --git a/Mage.Sets/src/mage/sets/FridayNightMagic.java b/Mage.Sets/src/mage/sets/FridayNightMagic.java index f0cdeb8537..884589cd34 100644 --- a/Mage.Sets/src/mage/sets/FridayNightMagic.java +++ b/Mage.Sets/src/mage/sets/FridayNightMagic.java @@ -117,6 +117,7 @@ public class FridayNightMagic extends ExpansionSet { cards.add(new SetCardInfo("Fact or Fiction", 61, Rarity.UNCOMMON, mage.cards.f.FactOrFiction.class)); cards.add(new SetCardInfo("Fanatic of Xenagos", 173, Rarity.UNCOMMON, mage.cards.f.FanaticOfXenagos.class)); cards.add(new SetCardInfo("Farseek", 154, Rarity.COMMON, mage.cards.f.Farseek.class)); + cards.add(new SetCardInfo("Fatal Push", 208, Rarity.SPECIAL, mage.cards.f.FatalPush.class)); cards.add(new SetCardInfo("Fiery Temper", 198, Rarity.UNCOMMON, mage.cards.f.FieryTemper.class)); cards.add(new SetCardInfo("Fireblast", 18, Rarity.COMMON, mage.cards.f.Fireblast.class)); cards.add(new SetCardInfo("Firebolt", 80, Rarity.UNCOMMON, mage.cards.f.Firebolt.class)); @@ -193,7 +194,9 @@ public class FridayNightMagic extends ExpansionSet { cards.add(new SetCardInfo("Reanimate", 53, Rarity.UNCOMMON, mage.cards.r.Reanimate.class)); cards.add(new SetCardInfo("Reliquary Tower", 153, Rarity.UNCOMMON, mage.cards.r.ReliquaryTower.class)); cards.add(new SetCardInfo("Remand", 92, Rarity.UNCOMMON, mage.cards.r.Remand.class)); + cards.add(new SetCardInfo("Renegade Rallier", 207, Rarity.SPECIAL, mage.cards.r.RenegadeRallier.class)); cards.add(new SetCardInfo("Resurrection", 97, Rarity.UNCOMMON, mage.cards.r.Resurrection.class)); + cards.add(new SetCardInfo("Reverse Engineer", 206, Rarity.SPECIAL, mage.cards.r.ReverseEngineer.class)); cards.add(new SetCardInfo("Rhox War Monk", 133, Rarity.UNCOMMON, mage.cards.r.RhoxWarMonk.class)); cards.add(new SetCardInfo("Rift Bolt", 125, Rarity.COMMON, mage.cards.r.RiftBolt.class)); cards.add(new SetCardInfo("Rise from the Tides", 197, Rarity.UNCOMMON, mage.cards.r.RiseFromTheTides.class)); diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index d2e242f2ea..d073b24974 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -27,8 +27,14 @@ */ package mage.sets; +import java.util.ArrayList; +import java.util.List; import mage.cards.ExpansionSet; import mage.constants.Rarity; +import mage.cards.repository.CardCriteria; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; + import mage.constants.SetType; /** @@ -43,6 +49,8 @@ public class HourOfDevastation extends ExpansionSet { return instance; } + protected final List savedSpecialLand = new ArrayList<>(); + private HourOfDevastation() { super("Hour of Devastation", "HOU", ExpansionSet.buildDate(2017, 7, 14), SetType.EXPANSION); this.blockName = "Amonkhet"; @@ -54,8 +62,22 @@ public class HourOfDevastation extends ExpansionSet { this.numBoosterUncommon = 3; this.numBoosterRare = 1; this.ratioBoosterMythic = 8; - + this.ratioBoosterSpecialLand = 144; + cards.add(new SetCardInfo("Nicol Bolas, God-Pharoh", 140, Rarity.MYTHIC, mage.cards.n.NicolBolasGodPharoh.class)); + } + @Override + public List getSpecialLand() { + if (savedSpecialLand.isEmpty()) { + CardCriteria criteria = new CardCriteria(); + criteria.setCodes("MPS-AKH"); + criteria.minCardNumber(31); + criteria.maxCardNumber(54); + savedSpecialLand.addAll(CardRepository.instance.findCards(criteria)); + } + + return new ArrayList<>(savedSpecialLand); + } } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/NestOfScarabsTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/NestOfScarabsTest.java index 4e72971ff3..3374cee170 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/NestOfScarabsTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/enchantments/NestOfScarabsTest.java @@ -154,7 +154,6 @@ public class NestOfScarabsTest extends CardTestPlayerBase { } /* - * NOTE: test is failing due to bug in code. See issue #3402 Reported bug: Nest of Scarabs not triggering off infect damage dealt by creatures such as Blight Mamba */ @Test @@ -179,4 +178,30 @@ public class NestOfScarabsTest extends CardTestPlayerBase { assertCounterCount(playerB, wOmens, CounterType.M1M1, 1); assertPermanentCount(playerA, "Insect", 1); } + + /* + + Reported bug: Nest of Scarabs not triggering off wither damage dealt by creatures such as Sickle Ripper + */ + @Test + public void scarab_witherDamageTriggers() { + + String sickleRipper = "Sickle Ripper"; // {1}{B} 2/1 Creature - Elemental Warrior, Wither + String wOmens = "Wall of Omens"; // {1}{W} 0/4 defender ETB: draw a card + + addCard(Zone.BATTLEFIELD, playerA, nestScarabs); + addCard(Zone.BATTLEFIELD, playerA, sickleRipper); + addCard(Zone.BATTLEFIELD, playerB, wOmens); + + attack(3, playerA, sickleRipper); + block(3, playerB, wOmens, sickleRipper); + + setStopAt(3, PhaseStep.END_COMBAT); + execute(); + + assertLife(playerB, 20); + assertPowerToughness(playerB, wOmens, -2, 2); // 0/4 with two -1/-1 counters + assertCounterCount(playerB, wOmens, CounterType.M1M1, 2); + assertPermanentCount(playerA, "Insect", 2); + } } diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 75a407bcb6..8f56ec7a44 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -8062,7 +8062,7 @@ Magma Spray|Friday Night Magic|170|U|{R}|Instant|||Magma Spray deals 2 damage to Bile Blight|Friday Night Magic|171|U|{B}{B}|Instant|||Target creature and all other creatures with the same name as that creature get -3/-3 until end of turn.| Banishing Light|Friday Night Magic|172|U|{2}{W}|Enchantment|||When Banishing Light enters the battlefield, exile target nonland permanent an opponent controls until Banishing Light leaves the battlefield. (That permanent returns under its owner's control.)| Fanatic of Xenagos|Friday Night Magic|173|U|{1}{R}{G}|Creature - Centaur Warrior|3|3|Trample$Tribute 1 (As this creature enters the battlefield, an opponent of your choice may place a +1/+1 counter on it.)$When Fanatic of Xenagos enters the battlefield, if tribute wasn't paid, it gets +1/+1 and gains haste until end of turn.| -Brain Maggot|Friday Night Magic||174|U|{1}{B}|Enchantment Creature - Insect|1|1|When Brain Maggot enters the battlefield, target opponent reveals his or her hand and you choose a nonland card from it. Exile that card until Brain Maggot leaves the battlefield.| +Brain Maggot|Friday Night Magic|174|U|{1}{B}|Enchantment Creature - Insect|1|1|When Brain Maggot enters the battlefield, target opponent reveals his or her hand and you choose a nonland card from it. Exile that card until Brain Maggot leaves the battlefield.| Stoke the Flames|Friday Night Magic|175|U|{2}{R}{R}|Instant|||Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.)$Stoke the Flames deals 4 damage to target creature or player.| Frenzied Goblin|Friday Night Magic|176|U|{R}|Creature - Goblin Berserker|1|1|Whenever Frenzied Goblin attacks, you may pay {R}. If you do, target creature can't block this turn.| Disdainful Stroke|Friday Night Magic|177|U|{1}{U}|Instant|||Counter target spell with converted mana cost 4 or greater.| @@ -8091,6 +8091,12 @@ Call the Bloodline|Friday Night Magic|199|Special|{1}{B}|Enchantment|||{1}, Disc Noose Constrictor|Friday Night Magic|200|Special|{1}{G}|Creature - Snake|2|2|Reach$Discard a card: Noose Constrictor gets +1/+1 until end of turn.| Fortune's Favor|Friday Night Magic|201|Special|{3}{U}|Instant|||Target opponent looks at the top four cards of your library and separates them into a face-down pile and a face-up pile. Put one pile into your hand and the other into your graveyard.| Incendiary Flow|Friday Night Magic|202|Special|{1}{R}|Sorcery|||Incendiary Flow deals 3 damage to target creature or player. If a creature dealt damage this way would die this turn, exile it instead.| +Servo Exhibition|Friday Night Magic|203|Special|{1}{W}|Sorcery|||Create two 1/1 colorless Servo artifact creature tokens.| +Unlicensed Disintegration|Friday Night Magic|204|Special|{1}{B}{R}|Instant|||Destroy target creature. If you control an artifact, Unlicensed Disintegration deals 3 damage to that creature's controller.| +Aether Hub|Friday Night Magic|205|Special||Land|||When Aether Hub enters the battlefield, you get {E}.${T}: Add {C} to your mana pool.${T}, Pay {E}: Add one mana of any color to your mana pool.| +Reverse Engineer|Friday Night Magic|206|Special|{3}{U}{U}|Sorcery|||Improvise$Draw three cards.| +Fatal Push|Friday Night Magic|207|Special|{B}|Instant|||Destroy target creature if it has converted mana cost 2 or less.$Revolt — Destroy that creature if it has converted mana cost 4 or less instead if a permanent you controlled left the battlefield this turn.| +Renegade Rallier|Friday Night Magic|208|Special|{1}{G}{W}|Creature - Human Warrior|3|2|Revolt — When Renegade Rallier enters the battlefield, if a permanent you controlled left the battlefield this turn, return target permanent card with converted mana cost 2 or less from your graveyard to the battlefield.| Akroma, Angel of Fury|From the Vault: Angels|1|M|{5}{R}{R}{R}|Legendary Creature - Angel|6|6|Akroma, Angel of Fury can't be countered.$Flying, trample, protection from white and from blue${R}: Akroma, Angel of Fury gets +1/+0 until end of turn.$Morph {3}{R}{R}{R} You may cast this card face downn as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)| Akroma, Angel of Wrath|From the Vault: Angels|2|M|{5}{W}{W}{W}|Legendary Creature - Angel|6|6|Flying, first strike, vigilance, trample, haste, protection from black and from red| Archangel of Strife|From the Vault: Angels|3|M|{5}{W}{W}|Creature - Angel|6|6|Flying$As Archangel of Strife enters the battlefield, each player chooses war or peace.$Creatures controlled by players who chose war get +3/+0.$Creatures controlled by players who chose peace get +0/+3.| @@ -31157,4 +31163,7 @@ The Ur-Dragon|Commander 2017|2|M|{4}{W}{U}{B}{R}{G}|Legendary Creature - Dragon O-Kagachi, Vengeful Kami|Commander 2017|3|M|{1}{W}{U}{B}{R}{G}|Legendary Creature - Dragon Spirit|6|6|Flying, Trample$Whenever O-Kagachi, Vengeful Kami deals combat damage to a player, if that player attacked you during his or her last turn, exile target nonland permanent that player controls| Wasitora, Nekoru Queen|Commander 2017|48|M|{2}{B}{R}{G}|Legendary Creature - Cat Dragon|5|4|Flying, trample$Whenever Wasitora, Nekoru Queen deals combat damage to a player, that player sacrifices a creature. If the player can't, you create a 3/3 black, red, and green Cat Dragon creature token with flying| Ramos, Dragon Engine|Commander 2017|55|M|{6}|Legendary Artifact Creature - Dragon|4|4|Flying$Whenever you cast a spell, put a +1/+1 counter on Ramos, Dragon Engine for each of that spell's colors. Remove five +1/+1 counters from Ramos: Add {W}{W}{U}{U}{B}{B}{R}{R}{G}{G} to your mana pool. Activate this ability only once each turn.| -Taigam, Ojutai Master|Commander 2017|46|{2}{W}{U}|Legendary Creature - Human Monk|3|4|Instant, sorcery, and Dragon spells you control can't be countered by spells or abilities.$Whenever you cast an instant or sorcery spell from your hand, if Taigam, Ojutai Master attacked this turn, that spell gains rebound. (Exile the spell as it resolves. At the beginning of your next upkeep, you may cast that card from exile without paying its mana cost.)| +Taigam, Ojutai Master|Commander 2017|46|R|{2}{W}{U}|Legendary Creature - Human Monk|3|4|Instant, sorcery, and Dragon spells you control can't be countered by spells or abilities.$Whenever you cast an instant or sorcery spell from your hand, if Taigam, Ojutai Master attacked this turn, that spell gains rebound. (Exile the spell as it resolves. At the beginning of your next upkeep, you may cast that card from exile without paying its mana cost.)| +Bontu's Last Reckoning|Hour of Devastation|60|R|{1}{B}{B}|Sorcery|||Destroy all creatures. Lands you control don't untap during your next untap step.| +Nicol Bolas, God-Pharaoh|Hour of Devastation|140|M|{4}{U}{B}{R}|Planeswalker - Bolas|||+2: Target opponent exiles cards from the top of his or her library until he or she exiles a nonland card. Until end of turn, you may cast that card without paying its mana cost.$+1: Each opponent exiles two cards from his or her hand.$-4: Nicol Bolas, God-Pharaoh deals 7 damage to target opponent or creature an opponent controls.$-12: Exile each nonland permanent your opponents control.| +Samut, the Tested|Hour of Devastation|144|M|{2}{R}{G}|Planeswalker - Samut|||+1: Up to one target creature gains double strike until end of turn.$-2: Samut, the Tested deals 2 damage divided as you choose among one or two target creatures and/or players.$-7: Search your library for up to two creature and/or planeswalker cards, put them onto the battlefield, then shuffle your library.| \ No newline at end of file