forked from External/mage
Implemented Vivien Reid
This commit is contained in:
parent
bd17d18ea1
commit
a0fbeebf4e
6 changed files with 149 additions and 9 deletions
80
Mage.Sets/src/mage/cards/v/VivienReid.java
Normal file
80
Mage.Sets/src/mage/cards/v/VivienReid.java
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.abilities.effects.common.GetEmblemEffect;
|
||||
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.game.command.emblems.VivienReidEmblem;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class VivienReid extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("a creature or land card");
|
||||
private static final FilterPermanent filter2 = new FilterPermanent("artifact, enchantment, or creature with flying");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
new CardTypePredicate(CardType.CREATURE),
|
||||
new CardTypePredicate(CardType.LAND)
|
||||
));
|
||||
filter2.add(Predicates.or(
|
||||
new CardTypePredicate(CardType.ARTIFACT),
|
||||
new CardTypePredicate(CardType.ENCHANTMENT),
|
||||
Predicates.and(
|
||||
new CardTypePredicate(CardType.CREATURE),
|
||||
new AbilityPredicate(FlyingAbility.class)
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
public VivienReid(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}");
|
||||
|
||||
this.addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.VIVIEN);
|
||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
|
||||
|
||||
// +1: Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
|
||||
this.addAbility(new LoyaltyAbility(
|
||||
new LookLibraryAndPickControllerEffect(
|
||||
new StaticValue(4), false, new StaticValue(1), filter, false
|
||||
), 1
|
||||
));
|
||||
|
||||
// -3: Destroy target artifact, enchantment, or creature with flying.
|
||||
Ability ability = new LoyaltyAbility(new DestroyTargetEffect());
|
||||
ability.addTarget(new TargetPermanent(filter2));
|
||||
this.addAbility(ability);
|
||||
|
||||
// -8: You get an emblem with "Creatures you control get +2/+2 and have vigilance, trample, and indestructible.
|
||||
this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new VivienReidEmblem()), -8));
|
||||
}
|
||||
|
||||
public VivienReid(final VivienReid card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VivienReid copy() {
|
||||
return new VivienReid(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -115,6 +115,7 @@ public final class CoreSet2019 extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Trusty Packbeast", 41, Rarity.COMMON, mage.cards.t.TrustyPackbeast.class));
|
||||
cards.add(new SetCardInfo("Uncomfortable Chill", 82, Rarity.COMMON, mage.cards.u.UncomfortableChill.class));
|
||||
cards.add(new SetCardInfo("Vampire Sovereign", 125, Rarity.UNCOMMON, mage.cards.v.VampireSovereign.class));
|
||||
cards.add(new SetCardInfo("Vivien Reid", 208, Rarity.MYTHIC, mage.cards.v.VivienReid.class));
|
||||
cards.add(new SetCardInfo("Volcanic Dragon", 167, Rarity.UNCOMMON, mage.cards.v.VolcanicDragon.class));
|
||||
cards.add(new SetCardInfo("Walking Corpse", 126, Rarity.COMMON, mage.cards.w.WalkingCorpse.class));
|
||||
cards.add(new SetCardInfo("Wall of Mist", 83, Rarity.COMMON, mage.cards.w.WallOfMist.class));
|
||||
|
|
|
|||
|
|
@ -403,6 +403,7 @@ public enum SubType {
|
|||
TIBALT("Tibalt", SubTypeSet.PlaneswalkerType),
|
||||
UGIN("Ugin", SubTypeSet.PlaneswalkerType),
|
||||
VENSER("Venser", SubTypeSet.PlaneswalkerType),
|
||||
VIVIEN("Vivien", SubTypeSet.PlaneswalkerType),
|
||||
VRASKA("Vraska", SubTypeSet.PlaneswalkerType),
|
||||
WILL("Will", SubTypeSet.PlaneswalkerType),
|
||||
XENAGOS("Xenagos", SubTypeSet.PlaneswalkerType),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.game.command.emblems;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -8,7 +7,7 @@ import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
|||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.command.Emblem;
|
||||
|
||||
/**
|
||||
|
|
@ -16,16 +15,24 @@ import mage.game.command.Emblem;
|
|||
* @author spjspj
|
||||
*/
|
||||
public class ElspethSunsChampionEmblem extends Emblem {
|
||||
|
||||
// -7: You get an emblem with "Creatures you control get +2/+2 and have flying."
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures");
|
||||
|
||||
public ElspethSunsChampionEmblem() {
|
||||
this.setName("Emblem Elspeth");
|
||||
this.setExpansionSetCodeForImage("THS");
|
||||
Ability ability = new SimpleStaticAbility(Zone.COMMAND, new BoostControlledEffect(2, 2, Duration.EndOfGame, filter, false));
|
||||
ability.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfGame, filter));
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.COMMAND,
|
||||
new BoostControlledEffect(
|
||||
2, 2, Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES,
|
||||
false
|
||||
).setText("creatures you control get +2/+2")
|
||||
);
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
FlyingAbility.getInstance(),
|
||||
Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
).setText("and have flying"));
|
||||
this.getAbilities().add(ability);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
package mage.game.command.emblems;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.keyword.IndestructibleAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.command.Emblem;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public class VivienReidEmblem extends Emblem {
|
||||
// -8: You get an emblem with "Creatures you control get +2/+2 and have vigilance, trample, and indestructible.
|
||||
|
||||
public VivienReidEmblem() {
|
||||
this.setName("Emblem Vivien");
|
||||
this.setExpansionSetCodeForImage("M19");
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.COMMAND,
|
||||
new BoostControlledEffect(
|
||||
2, 2, Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES,
|
||||
false
|
||||
).setText("creatures you control get +2/+2")
|
||||
);
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
VigilanceAbility.getInstance(),
|
||||
Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
).setText("and have vigilance,"));
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
TrampleAbility.getInstance(),
|
||||
Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
).setText("trample,"));
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
IndestructibleAbility.getInstance(),
|
||||
Duration.EndOfGame,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES
|
||||
).setText("and indestructible"));
|
||||
this.getAbilities().add(ability);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -33666,7 +33666,7 @@ Rabid Bite|Core Set 2019|195|C|{1}{G}|Sorcery|||Target creature you control deal
|
|||
Recollect|Core Set 2019|197|U|{2}{G}|Sorcery|||Return target card from your graveyard to your hand.|
|
||||
Thornhide Wolves|Core Set 2019|204|C|{4}{G}|Creature - Wolf|4|5||
|
||||
Titanic Growth|Core Set 2019|205|C|{1}{G}|Instant|||Target creature gets +4/+4 until end of turn.|
|
||||
Vivien Reid|Core Set 2019|208|M|{3}{G}{G}|Legendary Planeswalker - Vivien|||+1: Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.$-3: Destroy target artifact, enchantment, or creature with flying.$-8: You get an emblem with "Creatures you control get +2/+2 and have vigilance, trample, and indestructible.|
|
||||
Vivien Reid|Core Set 2019|208|M|{3}{G}{G}|Legendary Planeswalker - Vivien|5|+1: Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.$-3: Destroy target artifact, enchantment, or creature with flying.$-8: You get an emblem with "Creatures you control get +2/+2 and have vigilance, trample, and indestructible.|
|
||||
Vivien's Invocation|Core Set 2019|209|R|{5}{G}{G}|Sorcery|||Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in a random order. When a creature is put onto the battlefield this way, it deals damage equals to its power to target creature an opponent controls.|
|
||||
Wall of Vines|Core Set 2019|210|C|{G}|Creature - Plant Wall|0|3|Defender|
|
||||
Desecrated Tomb|Core Set 2019|230|R|{3}|Artifact|||Whenever one or more creature cards leave your graveyard, create a 1/1 black Bat creature token with flying.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue