[ZNR] Implemented Archpriest of Iona

This commit is contained in:
Evan Kranzler 2020-09-01 22:30:01 -04:00
parent 30948c990c
commit 025a3edf9f
3 changed files with 83 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.a;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.FullPartyCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.PartyCount;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.continuous.SetPowerSourceEffect;
import mage.abilities.hint.common.PartyCountHint;
import mage.abilities.keyword.FlyingAbility;
import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.target.common.TargetCreaturePermanent;
/**
* @author TheElk801
*/
public final class ArchpriestOfIona extends CardImpl {
public ArchpriestOfIona(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(0);
this.toughness = new MageInt(2);
// Archpriest of Iona's power is equal to the number of creatures in your party.
this.addAbility(new SimpleStaticAbility(
Zone.ALL, new SetPowerSourceEffect(PartyCount.instance, Duration.EndOfGame)
).addHint(PartyCountHint.instance));
// At the beginning of combat on your turn, if you have a full party, target creature gets +1/+1 and gains flying until end of turn.
Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(
new BoostTargetEffect(1, 1, Duration.EndOfTurn),
TargetController.YOU, false
), FullPartyCondition.instance, "At the beginning of combat on your turn, " +
"if you have a full party, target creature gets +1/+1 and gains flying until end of turn."
);
ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
private ArchpriestOfIona(final ArchpriestOfIona card) {
super(card);
}
@Override
public ArchpriestOfIona copy() {
return new ArchpriestOfIona(this);
}
}

View file

@ -27,6 +27,7 @@ public final class ZendikarRising extends ExpansionSet {
this.ratioBoosterMythic = 8;
this.maxCardNumberInBooster = 280;
cards.add(new SetCardInfo("Archpriest of Iona", 5, Rarity.RARE, mage.cards.a.ArchpriestOfIona.class));
cards.add(new SetCardInfo("Bloodchief's Thirst", 94, Rarity.UNCOMMON, mage.cards.b.BloodchiefsThirst.class));
cards.add(new SetCardInfo("Cliffhaven Sell-Sword", 8, Rarity.COMMON, mage.cards.c.CliffhavenSellSword.class));
cards.add(new SetCardInfo("Farsight Adept", 14, Rarity.COMMON, mage.cards.f.FarsightAdept.class));

View file

@ -0,0 +1,21 @@
package mage.abilities.condition.common;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.abilities.dynamicvalue.common.PartyCount;
import mage.abilities.keyword.EvokeAbility;
import mage.cards.Card;
import mage.game.Game;
/**
* @author TheElk801
*/
public enum FullPartyCondition implements Condition {
instance;
@Override
public boolean apply(Game game, Ability source) {
return PartyCount.instance.calculate(game, source, null) >= 4;
}
}