From 0ae1329f64db9a5994081a3a9cc8d2527701f53c Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 21 Jan 2023 19:42:41 -0500 Subject: [PATCH] [ONE] Implement Necrogen Rotpriest --- .../src/mage/cards/n/NecrogenRotpriest.java | 73 +++++++++++++++++++ .../src/mage/sets/PhyrexiaAllWillBeOne.java | 1 + 2 files changed, 74 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NecrogenRotpriest.java diff --git a/Mage.Sets/src/mage/cards/n/NecrogenRotpriest.java b/Mage.Sets/src/mage/cards/n/NecrogenRotpriest.java new file mode 100644 index 00000000000..f3688e9542c --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NecrogenRotpriest.java @@ -0,0 +1,73 @@ +package mage.cards.n; + +import java.util.UUID; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealCombatDamageControlledTriggeredAbility; +import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.constants.SetTargetPointer; +import mage.constants.SubType; +import mage.abilities.keyword.ToxicAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.TargetPermanent; + +/** + * @author TheElk801 + */ +public final class NecrogenRotpriest extends CardImpl { + + private static final FilterPermanent filter + = new FilterControlledCreaturePermanent("creature you control with toxic"); + + static { + filter.add(new AbilityPredicate(ToxicAbility.class)); + } + + public NecrogenRotpriest(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{G}"); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(1); + this.toughness = new MageInt(5); + + // Toxic 2 + this.addAbility(new ToxicAbility(2)); + + // Whenever a creature you control with toxic deals combat damage to a player, that player gets an additional poison counter. + this.addAbility(new DealsDamageToAPlayerAllTriggeredAbility( + new AddPoisonCounterTargetEffect(1) + .setText("that player gets an additional poison counter"), + filter, false, SetTargetPointer.PLAYER, true, true + )); + + // {1}{B}{G}: Target creature you control with toxic gains deathtouch until end of turn. + Ability ability = new SimpleActivatedAbility( + new GainAbilityTargetEffect(DeathtouchAbility.getInstance()), new ManaCostsImpl<>("{1}{B}{G}") + ); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + private NecrogenRotpriest(final NecrogenRotpriest card) { + super(card); + } + + @Override + public NecrogenRotpriest copy() { + return new NecrogenRotpriest(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 02dfbc90edf..318408981db 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -75,6 +75,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Mountain", 275, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Myr Convert", 234, Rarity.UNCOMMON, mage.cards.m.MyrConvert.class)); cards.add(new SetCardInfo("Necrogen Communion", 99, Rarity.UNCOMMON, mage.cards.n.NecrogenCommunion.class)); + cards.add(new SetCardInfo("Necrogen Rotpriest", 212, Rarity.UNCOMMON, mage.cards.n.NecrogenRotpriest.class)); cards.add(new SetCardInfo("Nimraiser Paladin", 101, Rarity.UNCOMMON, mage.cards.n.NimraiserPaladin.class)); cards.add(new SetCardInfo("Nissa, Ascended Animist", 175, Rarity.MYTHIC, mage.cards.n.NissaAscendedAnimist.class)); cards.add(new SetCardInfo("Norn's Wellspring", 24, Rarity.RARE, mage.cards.n.NornsWellspring.class));