From f06f4ab252d3a858790f7f52ac46bc3f0ce427eb Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Wed, 26 Jan 2022 11:36:28 -0500 Subject: [PATCH] Add check that all Auras have an EnchantAbility to VerifyCardDataTest --- Mage.Sets/src/mage/cards/g/GhastlyHaunting.java | 2 ++ Mage.Sets/src/mage/cards/v/Vigilance.java | 4 ++-- .../src/test/java/mage/verify/VerifyCardDataTest.java | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java b/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java index b388bb7654..d816555896 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java @@ -4,6 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -29,6 +30,7 @@ public final class GhastlyHaunting extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); // You control enchanted creature. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); diff --git a/Mage.Sets/src/mage/cards/v/Vigilance.java b/Mage.Sets/src/mage/cards/v/Vigilance.java index 53df214811..f2ef42770e 100644 --- a/Mage.Sets/src/mage/cards/v/Vigilance.java +++ b/Mage.Sets/src/mage/cards/v/Vigilance.java @@ -1,11 +1,10 @@ - - package mage.cards.v; import java.util.UUID; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,6 +25,7 @@ public final class Vigilance extends CardImpl { TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA))); } diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 53da7942e8..276e85003c 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -7,6 +7,7 @@ import mage.abilities.common.SagaAbility; import mage.abilities.common.WerewolfBackTriggeredAbility; import mage.abilities.common.WerewolfFrontTriggeredAbility; import mage.abilities.effects.keyword.ScryEffect; +import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.MenaceAbility; import mage.abilities.keyword.MultikickerAbility; import mage.abilities.keyword.TransformAbility; @@ -1383,9 +1384,14 @@ public class VerifyCardDataTest { fail(card, "abilities", "card have Multikicker ability, but missing it in rules text"); } + // special check: Auras need to have enchant ability added + if (card.hasSubtype(SubType.AURA, null) && !card.getAbilities().containsClass(EnchantAbility.class)) { + fail(card, "abilities", "card is an Aura but is missing this.addAbility(EnchantAbility)"); + } + // special check: Sagas need to have saga ability added if (card.hasSubtype(SubType.SAGA, null) && !card.getAbilities().containsClass(SagaAbility.class)) { - fail(card, "abilities", "card is a Saga but is missing this.addAbility(sagaAbility)"); + fail(card, "abilities", "card is a Saga but is missing this.addAbility(SagaAbility)"); } // special check: Werewolves front ability should only be on front and vice versa