[WOC] Implement Ox Drover (#11019)

This commit is contained in:
Vivian Greenslade 2023-08-25 22:40:29 -02:30 committed by GitHub
parent 0434b352e1
commit b0b55d2de3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,56 @@
package mage.cards.o;
import java.util.UUID;
import mage.MageInt;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.game.permanent.token.OxToken;
import mage.target.common.TargetOpponent;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.CreateTokenTargetEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
/**
*
* @author Xanderhall
*/
public final class OxDrover extends CardImpl {
public OxDrover(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.PEASANT);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
// Ox Drover can't be blocked by Oxen.
this.addAbility(new SimpleStaticAbility(new CantBeBlockedByCreaturesSourceEffect(new FilterCreaturePermanent(SubType.OX, "Oxen"), Duration.WhileOnBattlefield)));
// Whenever Ox Drover enters the battlefield or attacks, target opponent creates a 2/4 white Ox creature token and you draw a card.
Ability ability = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new CreateTokenTargetEffect(new OxToken()));
ability.addEffect(new DrawCardSourceControllerEffect(1).setText("and you draw a card"));
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
}
private OxDrover(final OxDrover card) {
super(card);
}
@Override
public OxDrover copy() {
return new OxDrover(this);
}
}

View file

@ -84,6 +84,7 @@ public final class WildsOfEldraineCommander extends ExpansionSet {
cards.add(new SetCardInfo("Nymris, Oona's Trickster", 141, Rarity.RARE, mage.cards.n.NymrisOonasTrickster.class));
cards.add(new SetCardInfo("Oona, Queen of the Fae", 142, Rarity.RARE, mage.cards.o.OonaQueenOfTheFae.class));
cards.add(new SetCardInfo("Opt", 101, Rarity.COMMON, mage.cards.o.Opt.class));
cards.add(new SetCardInfo("Ox Drover", 6, Rarity.RARE, mage.cards.o.OxDrover.class));
cards.add(new SetCardInfo("Paradise Druid", 129, Rarity.UNCOMMON, mage.cards.p.ParadiseDruid.class));
cards.add(new SetCardInfo("Path of Ancestry", 165, Rarity.COMMON, mage.cards.p.PathOfAncestry.class));
cards.add(new SetCardInfo("Perplexing Test", 102, Rarity.RARE, mage.cards.p.PerplexingTest.class));