[AFR] Implemented Zariel, Archduke of Avernus

This commit is contained in:
Evan Kranzler 2021-07-15 19:28:40 -04:00
parent 3299641ad4
commit f9bf84e6f6
4 changed files with 123 additions and 1 deletions

View file

@ -467,7 +467,8 @@ public enum SubType {
XENAGOS("Xenagos", SubTypeSet.PlaneswalkerType),
YANGGU("Yanggu", SubTypeSet.PlaneswalkerType),
YANLING("Yanling", SubTypeSet.PlaneswalkerType),
YODA("Yoda", SubTypeSet.PlaneswalkerType, true); // Star Wars
YODA("Yoda", SubTypeSet.PlaneswalkerType, true), // Star Wars,
ZARIEL("Zariel", SubTypeSet.PlaneswalkerType);
public static class SubTypePredicate implements Predicate<MageObject> {

View file

@ -0,0 +1,60 @@
package mage.game.command.emblems;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.AdditionalCombatPhaseEffect;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.constants.TurnPhase;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.command.Emblem;
import mage.game.events.GameEvent;
import mage.target.common.TargetControlledCreaturePermanent;
/**
* @author TheElk801
*/
public final class ZarielArchdukeOfAvernusEmblem extends Emblem {
// 6: You get an emblem with "At the end of the first combat phase on your turn, untap target creature you control. After this phase, there is an additional combat phase."
public ZarielArchdukeOfAvernusEmblem() {
this.setName("Emblem Zariel");
this.setExpansionSetCodeForImage("AFR");
this.getAbilities().add(new ZarielArchdukeOfAvernusEmblemAbility());
}
}
class ZarielArchdukeOfAvernusEmblemAbility extends TriggeredAbilityImpl {
ZarielArchdukeOfAvernusEmblemAbility() {
super(Zone.COMMAND, new UntapTargetEffect());
this.addEffect(new AdditionalCombatPhaseEffect());
this.addTarget(new TargetControlledCreaturePermanent());
}
private ZarielArchdukeOfAvernusEmblemAbility(final ZarielArchdukeOfAvernusEmblemAbility ability) {
super(ability);
}
@Override
public ZarielArchdukeOfAvernusEmblemAbility copy() {
return new ZarielArchdukeOfAvernusEmblemAbility(this);
}
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.END_COMBAT_STEP_PRE;
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return game.isActivePlayer(getControllerId())
&& game.getTurn().getPhase(TurnPhase.COMBAT).getCount() == 0;
}
@Override
public String getRule() {
return "At the end of the first combat phase on your turn, untap target creature you control. " +
"After this phase, there is an additional combat phase.";
}
}