add verify check for mutate cards

This commit is contained in:
theelk801 2023-04-18 17:47:29 -04:00
parent 89201937f7
commit 7feffa16ff
3 changed files with 9 additions and 5 deletions

View file

@ -110,7 +110,7 @@ public final class DominariaUnitedCommander extends ExpansionSet {
cards.add(new SetCardInfo("Historian's Boon", 21, Rarity.RARE, mage.cards.h.HistoriansBoon.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Historian's Boon", 21, Rarity.RARE, mage.cards.h.HistoriansBoon.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Historian's Boon", 71, Rarity.RARE, mage.cards.h.HistoriansBoon.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Historian's Boon", 71, Rarity.RARE, mage.cards.h.HistoriansBoon.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Honor-Worn Shaku", 187, Rarity.UNCOMMON, mage.cards.h.HonorWornShaku.class)); cards.add(new SetCardInfo("Honor-Worn Shaku", 187, Rarity.UNCOMMON, mage.cards.h.HonorWornShaku.class));
cards.add(new SetCardInfo("Illuna, Apex of Wishes", 154, Rarity.MYTHIC, mage.cards.i.IllunaApexOfWishes.class)); // cards.add(new SetCardInfo("Illuna, Apex of Wishes", 154, Rarity.MYTHIC, mage.cards.i.IllunaApexOfWishes.class));
cards.add(new SetCardInfo("Iridian Maelstrom", 12, Rarity.RARE, mage.cards.i.IridianMaelstrom.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Iridian Maelstrom", 12, Rarity.RARE, mage.cards.i.IridianMaelstrom.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Iridian Maelstrom", 88, Rarity.RARE, mage.cards.i.IridianMaelstrom.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Iridian Maelstrom", 88, Rarity.RARE, mage.cards.i.IridianMaelstrom.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Jared Carthalion", 2, Rarity.MYTHIC, mage.cards.j.JaredCarthalion.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Jared Carthalion", 2, Rarity.MYTHIC, mage.cards.j.JaredCarthalion.class, NON_FULL_USE_VARIOUS));
@ -148,7 +148,7 @@ public final class DominariaUnitedCommander extends ExpansionSet {
cards.add(new SetCardInfo("Mystic Monastery", 221, Rarity.UNCOMMON, mage.cards.m.MysticMonastery.class)); cards.add(new SetCardInfo("Mystic Monastery", 221, Rarity.UNCOMMON, mage.cards.m.MysticMonastery.class));
cards.add(new SetCardInfo("Naya Charm", 162, Rarity.UNCOMMON, mage.cards.n.NayaCharm.class)); cards.add(new SetCardInfo("Naya Charm", 162, Rarity.UNCOMMON, mage.cards.n.NayaCharm.class));
cards.add(new SetCardInfo("Neheb, Dreadhorde Champion", 125, Rarity.RARE, mage.cards.n.NehebDreadhordeChampion.class)); cards.add(new SetCardInfo("Neheb, Dreadhorde Champion", 125, Rarity.RARE, mage.cards.n.NehebDreadhordeChampion.class));
cards.add(new SetCardInfo("Nethroi, Apex of Death", 163, Rarity.MYTHIC, mage.cards.n.NethroiApexOfDeath.class)); // cards.add(new SetCardInfo("Nethroi, Apex of Death", 163, Rarity.MYTHIC, mage.cards.n.NethroiApexOfDeath.class));
cards.add(new SetCardInfo("Night's Whisper", 115, Rarity.COMMON, mage.cards.n.NightsWhisper.class)); cards.add(new SetCardInfo("Night's Whisper", 115, Rarity.COMMON, mage.cards.n.NightsWhisper.class));
cards.add(new SetCardInfo("Nomad Outpost", 222, Rarity.UNCOMMON, mage.cards.n.NomadOutpost.class)); cards.add(new SetCardInfo("Nomad Outpost", 222, Rarity.UNCOMMON, mage.cards.n.NomadOutpost.class));
cards.add(new SetCardInfo("O-Kagachi, Vengeful Kami", 164, Rarity.MYTHIC, mage.cards.o.OKagachiVengefulKami.class)); cards.add(new SetCardInfo("O-Kagachi, Vengeful Kami", 164, Rarity.MYTHIC, mage.cards.o.OKagachiVengefulKami.class));

View file

@ -104,7 +104,7 @@ public final class MarchOfTheMachineCommander extends ExpansionSet {
cards.add(new SetCardInfo("Enduring Scalelord", 325, Rarity.UNCOMMON, mage.cards.e.EnduringScalelord.class)); cards.add(new SetCardInfo("Enduring Scalelord", 325, Rarity.UNCOMMON, mage.cards.e.EnduringScalelord.class));
cards.add(new SetCardInfo("Ephemeral Shields", 184, Rarity.COMMON, mage.cards.e.EphemeralShields.class)); cards.add(new SetCardInfo("Ephemeral Shields", 184, Rarity.COMMON, mage.cards.e.EphemeralShields.class));
cards.add(new SetCardInfo("Ethersworn Adjudicator", 222, Rarity.MYTHIC, mage.cards.e.EtherswornAdjudicator.class)); cards.add(new SetCardInfo("Ethersworn Adjudicator", 222, Rarity.MYTHIC, mage.cards.e.EtherswornAdjudicator.class));
cards.add(new SetCardInfo("Everquill Phoenix", 275, Rarity.RARE, mage.cards.e.EverquillPhoenix.class)); // cards.add(new SetCardInfo("Everquill Phoenix", 275, Rarity.RARE, mage.cards.e.EverquillPhoenix.class));
cards.add(new SetCardInfo("Evolving Wilds", 397, Rarity.COMMON, mage.cards.e.EvolvingWilds.class)); cards.add(new SetCardInfo("Evolving Wilds", 397, Rarity.COMMON, mage.cards.e.EvolvingWilds.class));
cards.add(new SetCardInfo("Excise the Imperfect", 14, Rarity.RARE, mage.cards.e.ExciseTheImperfect.class)); cards.add(new SetCardInfo("Excise the Imperfect", 14, Rarity.RARE, mage.cards.e.ExciseTheImperfect.class));
cards.add(new SetCardInfo("Exotic Orchard", 398, Rarity.RARE, mage.cards.e.ExoticOrchard.class)); cards.add(new SetCardInfo("Exotic Orchard", 398, Rarity.RARE, mage.cards.e.ExoticOrchard.class));

View file

@ -1632,7 +1632,7 @@ public class VerifyCardDataTest {
fail(card, "abilities", "card is a front face werewolf with a back face ability"); fail(card, "abilities", "card is a front face werewolf with a back face ability");
} }
// special check: transform ability in MDFC should only be on front and vice versa // special check: transform ability in TDFC should only be on front and vice versa
if (card.getSecondCardFace() != null && !card.isNightCard() && !card.getAbilities().containsClass(TransformAbility.class)) { if (card.getSecondCardFace() != null && !card.isNightCard() && !card.getAbilities().containsClass(TransformAbility.class)) {
fail(card, "abilities", "double-faced cards should have transform ability on the front"); fail(card, "abilities", "double-faced cards should have transform ability on the front");
} }
@ -1640,11 +1640,15 @@ public class VerifyCardDataTest {
fail(card, "abilities", "double-faced cards should not have transform ability on the back"); fail(card, "abilities", "double-faced cards should not have transform ability on the back");
} }
// special check: back side in MDFC must be only night card // special check: back side in TDFC must be only night card
if (card.getSecondCardFace() != null && !card.getSecondCardFace().isNightCard()) { if (card.getSecondCardFace() != null && !card.getSecondCardFace().isNightCard()) {
fail(card, "abilities", "the back face of a double-faced card should be nightCard = true"); fail(card, "abilities", "the back face of a double-faced card should be nightCard = true");
} }
if (card.getAbilities().containsClass(MutateAbility.class)) {
fail(card, "abilities", "mutate cards aren't implemented and shouldn't be available");
}
// special check: duplicated numbers in ability text (wrong target/filter usage) // special check: duplicated numbers in ability text (wrong target/filter usage)
// example: You may exile __two two__ blue cards // example: You may exile __two two__ blue cards
// possible fixes: // possible fixes: