Standardize/simplify Vizier of the True

This commit is contained in:
Steven Knipe 2023-11-19 01:06:07 -08:00
parent aedad88480
commit c5aa76b46a

View file

@ -3,18 +3,17 @@ package mage.cards.v;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.Ability;
import mage.abilities.common.ExertCreatureControllerTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.keyword.ExertAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetOpponentsCreaturePermanent;
/**
*
@ -34,7 +33,9 @@ public final class VizierOfTheTrue extends CardImpl {
this.addAbility(new ExertAbility(null, false));
// Whenever you exert a creature, tap target creature an opponent controls.
this.addAbility(new VizierOfTheTrueAbility());
Ability ability = new ExertCreatureControllerTriggeredAbility(new TapTargetEffect());
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(ability);
}
private VizierOfTheTrue(final VizierOfTheTrue card) {
@ -46,35 +47,3 @@ public final class VizierOfTheTrue extends CardImpl {
return new VizierOfTheTrue(this);
}
}
class VizierOfTheTrueAbility extends TriggeredAbilityImpl {
public VizierOfTheTrueAbility() {
super(Zone.BATTLEFIELD, new TapTargetEffect());
addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE));
}
private VizierOfTheTrueAbility(final VizierOfTheTrueAbility ability) {
super(ability);
}
@Override
public VizierOfTheTrueAbility copy() {
return new VizierOfTheTrueAbility(this);
}
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.BECOMES_EXERTED;
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(getControllerId());
}
@Override
public String getRule() {
return "Whenever you exert a creature, tap target creature an opponent controls.";
}
}