mirror of
https://github.com/correl/mage.git
synced 2024-11-14 11:09:31 +00:00
[LTR] Implement There and Back Again
This commit is contained in:
parent
6772a3956d
commit
a4a995f615
5 changed files with 116 additions and 1 deletions
71
Mage.Sets/src/mage/cards/t/ThereAndBackAgain.java
Normal file
71
Mage.Sets/src/mage/cards/t/ThereAndBackAgain.java
Normal file
|
@ -0,0 +1,71 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import mage.abilities.common.SagaAbility;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.combat.CantBlockTargetEffect;
|
||||
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
|
||||
import mage.abilities.effects.keyword.TheRingTemptsYouEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SagaChapter;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.game.permanent.token.SmaugToken;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ThereAndBackAgain extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Mountain card");
|
||||
|
||||
static {
|
||||
filter.add(SubType.MOUNTAIN.getPredicate());
|
||||
}
|
||||
|
||||
public ThereAndBackAgain(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}{R}");
|
||||
|
||||
this.subtype.add(SubType.SAGA);
|
||||
|
||||
// (As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)
|
||||
SagaAbility sagaAbility = new SagaAbility(this);
|
||||
|
||||
// I -- Up to one target creature can't block for as long as you control There and Back Again. The Ring tempts you.
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_I,
|
||||
new Effects(
|
||||
new CantBlockTargetEffect(Duration.WhileControlled), new TheRingTemptsYouEffect()
|
||||
), new TargetCreaturePermanent(0, 1)
|
||||
);
|
||||
|
||||
// II -- Search your library for a Mountain card, put it onto the battlefield, then shuffle.
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_II,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter))
|
||||
);
|
||||
|
||||
// III -- Create Smaug, a legendary 6/6 red Dragon creature token with flying, haste, and "When this creature dies, create fourteen Treasure tokens."
|
||||
sagaAbility.addChapterEffect(
|
||||
this, SagaChapter.CHAPTER_III, new CreateTokenEffect(new SmaugToken())
|
||||
);
|
||||
|
||||
this.addAbility(sagaAbility);
|
||||
}
|
||||
|
||||
private ThereAndBackAgain(final ThereAndBackAgain card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ThereAndBackAgain copy() {
|
||||
return new ThereAndBackAgain(this);
|
||||
}
|
||||
}
|
|
@ -48,6 +48,8 @@ public final class WarOfTheLastAlliance extends CardImpl {
|
|||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
), new TheRingTemptsYouEffect()
|
||||
);
|
||||
|
||||
this.addAbility(sagaAbility);
|
||||
}
|
||||
|
||||
private WarOfTheLastAlliance(final WarOfTheLastAlliance card) {
|
||||
|
|
|
@ -87,6 +87,7 @@ public final class TheLordOfTheRingsTalesOfMiddleEarth extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("The Bath Song", 40, Rarity.UNCOMMON, mage.cards.t.TheBathSong.class));
|
||||
cards.add(new SetCardInfo("The One Ring", 246, Rarity.MYTHIC, mage.cards.t.TheOneRing.class));
|
||||
cards.add(new SetCardInfo("The Shire", 260, Rarity.RARE, mage.cards.t.TheShire.class));
|
||||
cards.add(new SetCardInfo("There and Back Again", 151, Rarity.RARE, mage.cards.t.ThereAndBackAgain.class));
|
||||
cards.add(new SetCardInfo("Tom Bombadil", 234, Rarity.MYTHIC, mage.cards.t.TomBombadil.class));
|
||||
cards.add(new SetCardInfo("Trailblazer's Boots", 398, Rarity.RARE, mage.cards.t.TrailblazersBoots.class));
|
||||
cards.add(new SetCardInfo("War of the Last Alliance", 36, Rarity.RARE, mage.cards.w.WarOfTheLastAlliance.class));
|
||||
|
|
|
@ -13,7 +13,7 @@ import mage.constants.SuperType;
|
|||
public final class KaroxBladewingDragonToken extends TokenImpl {
|
||||
|
||||
public KaroxBladewingDragonToken() {
|
||||
super("Karox Bladewing Token", "legendary 4/4 red Dragon creature token with flying");
|
||||
super("Karox Bladewing", "Karox Bladewing, a legendary 4/4 red Dragon creature token with flying");
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
|
|
41
Mage/src/main/java/mage/game/permanent/token/SmaugToken.java
Normal file
41
Mage/src/main/java/mage/game/permanent/token/SmaugToken.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DiesSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SmaugToken extends TokenImpl {
|
||||
|
||||
public SmaugToken() {
|
||||
super("Smaug", "Smaug, a legendary 6/6 red Dragon creature token with flying, haste, and \"When this creature dies, create fourteen Treasure tokens.\"");
|
||||
this.power = new MageInt(6);
|
||||
this.toughness = new MageInt(6);
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.DRAGON);
|
||||
this.color.setRed(true);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
this.addAbility(new DiesSourceTriggeredAbility(
|
||||
new CreateTokenEffect(new FoodToken(), 14)
|
||||
).setTriggerPhrase("When this creature dies, "));
|
||||
}
|
||||
|
||||
public SmaugToken(final SmaugToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SmaugToken copy() {
|
||||
return new SmaugToken(this);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue