mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
[NEO] Implemented Boseiju Reaches Skyward
This commit is contained in:
parent
2f189c1dec
commit
14c8ead72f
3 changed files with 121 additions and 0 deletions
72
Mage.Sets/src/mage/cards/b/BoseijuReachesSkyward.java
Normal file
72
Mage.Sets/src/mage/cards/b/BoseijuReachesSkyward.java
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
package mage.cards.b;
|
||||
|
||||
import mage.abilities.common.SagaAbility;
|
||||
import mage.abilities.effects.common.ExileSagaAndReturnTransformedEffect;
|
||||
import mage.abilities.effects.common.PutOnLibraryTargetEffect;
|
||||
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
||||
import mage.abilities.keyword.TransformAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SagaChapter;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class BoseijuReachesSkyward extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("basic Forest cards");
|
||||
|
||||
static {
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
filter.add(SubType.FOREST.getPredicate());
|
||||
}
|
||||
|
||||
public BoseijuReachesSkyward(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}");
|
||||
|
||||
this.subtype.add(SubType.SAGA);
|
||||
this.secondSideCardClazz = mage.cards.b.BranchOfBoseiju.class;
|
||||
|
||||
// (As this Saga enters and after your draw step, add a lore counter.)
|
||||
SagaAbility sagaAbility = new SagaAbility(this, SagaChapter.CHAPTER_III);
|
||||
|
||||
// I — Search your library for up to two basic Forest cards, reveal them, put them into your hand, then shuffle.
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_I,
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(
|
||||
0, 2, filter
|
||||
), true, true)
|
||||
);
|
||||
|
||||
// II — Put up to one target land card from your graveyard on top of your library.
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_II, SagaChapter.CHAPTER_II,
|
||||
new PutOnLibraryTargetEffect(true),
|
||||
new TargetCardInYourGraveyard(0, 1, StaticFilters.FILTER_CARD_LAND)
|
||||
);
|
||||
|
||||
// III — Exile this Saga, then return it to the battlefield transformed under your control.
|
||||
this.addAbility(new TransformAbility());
|
||||
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, new ExileSagaAndReturnTransformedEffect());
|
||||
|
||||
this.addAbility(sagaAbility);
|
||||
}
|
||||
|
||||
private BoseijuReachesSkyward(final BoseijuReachesSkyward card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BoseijuReachesSkyward copy() {
|
||||
return new BoseijuReachesSkyward(this);
|
||||
}
|
||||
}
|
||||
47
Mage.Sets/src/mage/cards/b/BranchOfBoseiju.java
Normal file
47
Mage.Sets/src/mage/cards/b/BranchOfBoseiju.java
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
package mage.cards.b;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.common.LandsYouControlCount;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.abilities.keyword.ReachAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class BranchOfBoseiju extends CardImpl {
|
||||
|
||||
public BranchOfBoseiju(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "");
|
||||
|
||||
this.subtype.add(SubType.PLANT);
|
||||
this.power = new MageInt(0);
|
||||
this.toughness = new MageInt(0);
|
||||
this.color.setGreen(true);
|
||||
this.nightCard = true;
|
||||
|
||||
// Reach
|
||||
this.addAbility(ReachAbility.getInstance());
|
||||
|
||||
// Branch of Boseiju gets +1/+1 for each land you control.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
||||
LandsYouControlCount.instance, LandsYouControlCount.instance, Duration.WhileOnBattlefield
|
||||
).setText("{this} gets +1/+1 for each land you control")));
|
||||
}
|
||||
|
||||
private BranchOfBoseiju(final BranchOfBoseiju card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BranchOfBoseiju copy() {
|
||||
return new BranchOfBoseiju(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -35,6 +35,8 @@ public final class KamigawaNeonDynasty extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Banishing Slash", 3, Rarity.UNCOMMON, mage.cards.b.BanishingSlash.class));
|
||||
cards.add(new SetCardInfo("Befriending the Moths", 4, Rarity.COMMON, mage.cards.b.BefriendingTheMoths.class));
|
||||
cards.add(new SetCardInfo("Biting-Palm Ninja", 88, Rarity.RARE, mage.cards.b.BitingPalmNinja.class));
|
||||
cards.add(new SetCardInfo("Boseiju Reaches Skyward", 177, Rarity.UNCOMMON, mage.cards.b.BoseijuReachesSkyward.class));
|
||||
cards.add(new SetCardInfo("Branch of Boseiju", 177, Rarity.UNCOMMON, mage.cards.b.BranchOfBoseiju.class));
|
||||
cards.add(new SetCardInfo("Bronzeplate Boar", 135, Rarity.UNCOMMON, mage.cards.b.BronzeplateBoar.class));
|
||||
cards.add(new SetCardInfo("Covert Technician", 49, Rarity.UNCOMMON, mage.cards.c.CovertTechnician.class));
|
||||
cards.add(new SetCardInfo("Dokuchi Shadow-Walker", 94, Rarity.COMMON, mage.cards.d.DokuchiShadowWalker.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue