[BRO] Implemented Hurkyl's Final Meditation

This commit is contained in:
Evan Kranzler 2022-10-30 21:34:25 -04:00
parent 85130e9dc4
commit 8a707ea975
2 changed files with 58 additions and 0 deletions

View file

@ -0,0 +1,57 @@
package mage.cards.h;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.CostAdjuster;
import mage.abilities.effects.common.EndTurnEffect;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.util.CardUtil;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HurkylsFinalMeditation extends CardImpl {
public HurkylsFinalMeditation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{U}{U}{U}");
// As long as its not your turn, this spell costs {3} more to cast.
this.addAbility(new SimpleStaticAbility(
Zone.ALL, new InfoEffect("as long as its not your turn, this spell costs {3} more to cast")
));
this.getSpellAbility().setCostAdjuster(HurkylsFinalMeditationAdjuster.instance);
// Return all nonland permanents to their owner's hands. End the turn.
this.getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(StaticFilters.FILTER_PERMANENTS_NON_LAND));
this.getSpellAbility().addEffect(new EndTurnEffect());
}
private HurkylsFinalMeditation(final HurkylsFinalMeditation card) {
super(card);
}
@Override
public HurkylsFinalMeditation copy() {
return new HurkylsFinalMeditation(this);
}
}
enum HurkylsFinalMeditationAdjuster implements CostAdjuster {
instance;
@Override
public void adjustCosts(Ability ability, Game game) {
if (!game.isActivePlayer(ability.getControllerId())) {
CardUtil.increaseCost(ability, 3);
}
}
}

View file

@ -42,6 +42,7 @@ public final class TheBrothersWar extends ExpansionSet {
cards.add(new SetCardInfo("Go for the Throat", 102, Rarity.UNCOMMON, mage.cards.g.GoForTheThroat.class));
cards.add(new SetCardInfo("Hall of Tagsin", 263, Rarity.RARE, mage.cards.h.HallOfTagsin.class));
cards.add(new SetCardInfo("Harbin, Vanguard Aviator", 212, Rarity.RARE, mage.cards.h.HarbinVanguardAviator.class));
cards.add(new SetCardInfo("Hurkyl's Final Meditation", 52, Rarity.RARE, mage.cards.h.HurkylsFinalMeditation.class));
cards.add(new SetCardInfo("Hurkyl, Master Wizard", 51, Rarity.RARE, mage.cards.h.HurkylMasterWizard.class));
cards.add(new SetCardInfo("Island", 280, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Llanowar Wastes", 264, Rarity.RARE, mage.cards.l.LlanowarWastes.class));