diff --git a/Mage.Sets/src/mage/cards/c/CloudOfDarkness.java b/Mage.Sets/src/mage/cards/c/CloudOfDarkness.java new file mode 100644 index 00000000000..ad7f38f1e14 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CloudOfDarkness.java @@ -0,0 +1,56 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.DescendCondition; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.StaticFilters; +import mage.target.common.TargetOpponentsCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CloudOfDarkness extends CardImpl { + + private static final DynamicValue xValue = + new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_PERMANENT, -1); + + public CloudOfDarkness(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{G}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.AVATAR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Particle Beam -- When Cloud of Darkness enters, target creature an opponent controls gets -X/-X until end of turn, where X is the number of permanent cards in your graveyard. + Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(xValue, xValue) + .setText("target creature an opponent controls gets -X/-X until end of turn, " + + "where X is the number of permanent cards in your graveyard")); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability.withFlavorWord("Particle Beam").addHint(DescendCondition.getHint())); + } + + private CloudOfDarkness(final CloudOfDarkness card) { + super(card); + } + + @Override + public CloudOfDarkness copy() { + return new CloudOfDarkness(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DiamondWeapon.java b/Mage.Sets/src/mage/cards/d/DiamondWeapon.java index 8796bf9802e..84cc0093bfb 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondWeapon.java +++ b/Mage.Sets/src/mage/cards/d/DiamondWeapon.java @@ -2,12 +2,11 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DescendCondition; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; import mage.abilities.effects.common.PreventCombatDamageToSourceEffect; import mage.abilities.effects.common.cost.SpellCostReductionForEachSourceEffect; -import mage.abilities.hint.Hint; -import mage.abilities.hint.ValueHint; import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +21,6 @@ import java.util.UUID; public final class DiamondWeapon extends CardImpl { private static final DynamicValue xValue = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_PERMANENT); - private static final Hint hint = new ValueHint("Permanent cards in your graveyard", xValue); public DiamondWeapon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}{G}{G}"); @@ -33,7 +31,7 @@ public final class DiamondWeapon extends CardImpl { this.toughness = new MageInt(8); // This spell costs {1} less to cast for each permanent card in your graveyard. - this.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionForEachSourceEffect(1, xValue)).addHint(hint)); + this.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionForEachSourceEffect(1, xValue)).addHint(DescendCondition.getHint())); // Reach this.addAbility(ReachAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GranPulseOchu.java b/Mage.Sets/src/mage/cards/g/GranPulseOchu.java index 5c128e2e59f..5f2f4cb4e41 100644 --- a/Mage.Sets/src/mage/cards/g/GranPulseOchu.java +++ b/Mage.Sets/src/mage/cards/g/GranPulseOchu.java @@ -2,12 +2,11 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.common.DescendCondition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.hint.Hint; -import mage.abilities.hint.ValueHint; import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -24,7 +23,6 @@ import java.util.UUID; public final class GranPulseOchu extends CardImpl { private static final DynamicValue xValue = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_PERMANENT); - private static final Hint hint = new ValueHint("Permanent cards in your graveyard", xValue); public GranPulseOchu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); @@ -42,7 +40,7 @@ public final class GranPulseOchu extends CardImpl { new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn) .setText("until end of turn, this creature gets +1/+1 for each permanent card in your graveyard"), new GenericManaCost(8) - ).addHint(hint)); + ).addHint(DescendCondition.getHint())); } private GranPulseOchu(final GranPulseOchu card) { diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 788ead7e071..266560501c3 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -132,6 +132,7 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 385, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 458, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Clive, Ifrit's Dominant", 530, Rarity.MYTHIC, mage.cards.c.CliveIfritsDominant.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Cloud of Darkness", 217, Rarity.UNCOMMON, mage.cards.c.CloudOfDarkness.class)); cards.add(new SetCardInfo("Cloud, Midgar Mercenary", 10, Rarity.MYTHIC, mage.cards.c.CloudMidgarMercenary.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Cloud, Midgar Mercenary", 375, Rarity.MYTHIC, mage.cards.c.CloudMidgarMercenary.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Cloud, Midgar Mercenary", 427, Rarity.MYTHIC, mage.cards.c.CloudMidgarMercenary.class, NON_FULL_USE_VARIOUS));