[MOC] Implement Path of the Animist

This commit is contained in:
theelk801 2023-04-23 16:26:14 -04:00
parent b8858a881e
commit 7fc5943b07
4 changed files with 77 additions and 1 deletions

View file

@ -0,0 +1,38 @@
package mage.cards.p;
import java.util.UUID;
import mage.abilities.effects.common.WillOfThePlaneswalkersEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterBasicLandCard;
import mage.target.common.TargetCardInLibrary;
/**
*
* @author TheElk801
*/
public final class PathOfTheAnimist extends CardImpl {
public PathOfTheAnimist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}");
// Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle.
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true));
// Will of the Planeswalkers -- Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues.
this.getSpellAbility().addEffect(new WillOfThePlaneswalkersEffect());
}
private PathOfTheAnimist(final PathOfTheAnimist card) {
super(card);
}
@Override
public PathOfTheAnimist copy() {
return new PathOfTheAnimist(this);
}
}

View file

@ -231,6 +231,7 @@ public final class MarchOfTheMachineCommander extends ExpansionSet {
cards.add(new SetCardInfo("Pain Distributor", 33, Rarity.RARE, mage.cards.p.PainDistributor.class));
cards.add(new SetCardInfo("Painful Truths", 262, Rarity.RARE, mage.cards.p.PainfulTruths.class));
cards.add(new SetCardInfo("Path of Ancestry", 418, Rarity.COMMON, mage.cards.p.PathOfAncestry.class));
cards.add(new SetCardInfo("Path of the Animist", 38, Rarity.RARE, mage.cards.p.PathOfTheAnimist.class));
cards.add(new SetCardInfo("Path to Exile", 198, Rarity.UNCOMMON, mage.cards.p.PathToExile.class));
cards.add(new SetCardInfo("Perplexing Test", 229, Rarity.RARE, mage.cards.p.PerplexingTest.class));
cards.add(new SetCardInfo("Phyrexian Delver", 263, Rarity.RARE, mage.cards.p.PhyrexianDelver.class));

View file

@ -0,0 +1,36 @@
package mage.abilities.effects.common;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.constants.AbilityWord;
import mage.constants.Outcome;
import mage.game.Game;
/**
* @author TheElk801
*/
public class WillOfThePlaneswalkersEffect extends OneShotEffect {
public WillOfThePlaneswalkersEffect() {
super(Outcome.Benefit);
staticText = AbilityWord.WILL_OF_THE_COUNCIL.formatWord() + "Starting with you, each player votes " +
"for planeswalk or chaos. If planeswalk gets more votes, planeswalk. " +
"If chaos gets more votes or the vote is tied, chaos ensues";
concatBy("<br>");
}
private WillOfThePlaneswalkersEffect(final WillOfThePlaneswalkersEffect effect) {
super(effect);
}
@Override
public WillOfThePlaneswalkersEffect copy() {
return new WillOfThePlaneswalkersEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
// TODO: Implement when planes have been refactored
return true;
}
}

View file

@ -52,7 +52,8 @@ public enum AbilityWord {
TEMPTING_OFFER("Tempting offer"),
THRESHOLD("Threshold"),
UNDERGROWTH("Undergrowth"),
WILL_OF_THE_COUNCIL("Will of the council");
WILL_OF_THE_COUNCIL("Will of the council"),
WILL_OF_THE_PLANESWALKERS("Will of the planeswalkers");
private final String text;