mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
updated cards M-Z
This commit is contained in:
parent
d8a6007ec5
commit
6f299d8ccc
10 changed files with 85 additions and 102 deletions
|
@ -5,7 +5,6 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
@ -20,7 +19,6 @@ import mage.filter.common.FilterCreatureCard;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.token.PharikaSnakeToken;
|
||||
import mage.players.Player;
|
||||
import mage.target.Target;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -30,7 +28,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class PharikaGodOfAffliction extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.B, ColoredManaSymbol.G);
|
||||
private static final FilterCreatureCard filter = new FilterCreatureCard("a creature card from a graveyard");
|
||||
|
||||
public PharikaGodOfAffliction(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{B}{G}");
|
||||
|
@ -44,14 +42,13 @@ public final class PharikaGodOfAffliction extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// As long as your devotion to black and green is less than seven, Pharika isn't a creature.
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(xValue, 7);
|
||||
effect.setText("As long as your devotion to black and green is less than seven, Pharika isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to black and green", xValue)));
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.BG, 7);
|
||||
effect.setText("As long as your devotion to black and green is less than seven, {this} isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to black and green", DevotionCount.BG)));
|
||||
|
||||
// {B}{G}: Exile target creature card from a graveyard. It's owner creates a 1/1 black and green Snake enchantment creature token with deathtouch.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PharikaExileEffect(), new ManaCostsImpl("{B}{G}"));
|
||||
Target target = new TargetCardInGraveyard(new FilterCreatureCard("a creature card from a graveyard"));
|
||||
ability.addTarget(target);
|
||||
Ability ability = new SimpleActivatedAbility(new PharikaExileEffect(), new ManaCostsImpl("{B}{G}"));
|
||||
ability.addTarget(new TargetCardInGraveyard(filter));
|
||||
this.addAbility(ability);
|
||||
|
||||
}
|
||||
|
@ -68,31 +65,33 @@ public final class PharikaGodOfAffliction extends CardImpl {
|
|||
|
||||
class PharikaExileEffect extends OneShotEffect {
|
||||
|
||||
public PharikaExileEffect() {
|
||||
PharikaExileEffect() {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
staticText = "Exile target creature card from a graveyard. Its owner creates a 1/1 black and green Snake enchantment creature token with deathtouch";
|
||||
}
|
||||
|
||||
public PharikaExileEffect(final PharikaExileEffect effect) {
|
||||
private PharikaExileEffect(final PharikaExileEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
Card targetCard = game.getCard(source.getFirstTarget());
|
||||
if (targetCard != null) {
|
||||
if (game.getState().getZone(source.getFirstTarget()) == Zone.GRAVEYARD) {
|
||||
controller.moveCardToExileWithInfo(targetCard, null, "", source.getSourceId(), game, Zone.GRAVEYARD, true);
|
||||
}
|
||||
Player tokenController = game.getPlayer(targetCard.getOwnerId());
|
||||
if (tokenController != null) {
|
||||
return new PharikaSnakeToken().putOntoBattlefield(1, game, source.getSourceId(), tokenController.getId());
|
||||
}
|
||||
}
|
||||
if (controller == null) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
Card targetCard = game.getCard(source.getFirstTarget());
|
||||
if (targetCard == null) {
|
||||
return false;
|
||||
}
|
||||
if (game.getState().getZone(source.getFirstTarget()) == Zone.GRAVEYARD) {
|
||||
controller.moveCards(targetCard, Zone.EXILED, source, game);
|
||||
}
|
||||
Player tokenController = game.getPlayer(targetCard.getOwnerId());
|
||||
if (tokenController == null) {
|
||||
return false;
|
||||
}
|
||||
return new PharikaSnakeToken().putOntoBattlefield(1, game, source.getSourceId(), tokenController.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -5,7 +5,6 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.dynamicvalue.common.SourcePermanentToughnessValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
@ -16,7 +15,10 @@ import mage.abilities.hint.ValueHint;
|
|||
import mage.abilities.keyword.IndestructibleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
|
@ -27,8 +29,6 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class PhenaxGodOfDeception extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.U, ColoredManaSymbol.B);
|
||||
|
||||
public PhenaxGodOfDeception(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{U}{B}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
|
@ -41,18 +41,22 @@ public final class PhenaxGodOfDeception extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// As long as your devotion to blue and black is less than seven, Phenax isn't a creature.
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(xValue, 7);
|
||||
effect.setText("As long as your devotion to blue and black is less than seven, Phenax isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to blue and black", xValue)));
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.UB, 7);
|
||||
effect.setText("As long as your devotion to blue and black is less than seven, {this} isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to blue and black", DevotionCount.UB)));
|
||||
|
||||
// Creatures you control have "{T}: Target player puts the top X cards of their library into their graveyard, where X is this creature's toughness."
|
||||
effect = new PutTopCardOfLibraryIntoGraveTargetEffect(SourcePermanentToughnessValue.getInstance());
|
||||
effect.setText("Target player puts the top X cards of their library into their graveyard, where X is this creature's toughness");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new PutTopCardOfLibraryIntoGraveTargetEffect(SourcePermanentToughnessValue.getInstance())
|
||||
.setText("Target player puts the top X cards of their library into their graveyard, " +
|
||||
"where X is this creature's toughness"), new TapSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
effect = new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false);
|
||||
effect.setText("Creatures you control have \"{T}: Target player puts the top X cards of their library into their graveyard, where X is this creature's toughness.\"");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new GainAbilityControlledEffect(
|
||||
ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false
|
||||
).setText("Creatures you control have \"{T}: Target player puts the top X cards of their library " +
|
||||
"into their graveyard, where X is this creature's toughness.\"")
|
||||
));
|
||||
}
|
||||
|
||||
public PhenaxGodOfDeception(final PhenaxGodOfDeception card) {
|
||||
|
|
|
@ -5,7 +5,6 @@ import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
|
@ -32,8 +31,6 @@ public final class PurphorosGodOfTheForge extends CardImpl {
|
|||
filter.add(AnotherPredicate.instance);
|
||||
}
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.R);
|
||||
|
||||
public PurphorosGodOfTheForge(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{R}");
|
||||
|
||||
|
@ -47,15 +44,19 @@ public final class PurphorosGodOfTheForge extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// As long as your devotion to red is less than five, Purphoros isn't a creature.
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(xValue, 5);
|
||||
effect.setText("As long as your devotion to red is less than five, Purphoros isn't a creature.<i>(Each {R} in the mana costs of permanents you control counts towards your devotion to red.)</i>");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to red", xValue)));
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.R, 5);
|
||||
effect.setText("As long as your devotion to red is less than five, {this} isn't a creature.");
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to red", DevotionCount.R)));
|
||||
|
||||
// Whenever another creature enters the battlefield under your control, Purphoros deals 2 damage to each opponent.
|
||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new DamagePlayersEffect(2, TargetController.OPPONENT), filter));
|
||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||
new DamagePlayersEffect(2, TargetController.OPPONENT), filter
|
||||
));
|
||||
|
||||
// {2}{R}: Creatures you control get +1/+0 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{2}{R}")));
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostControlledEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{2}{R}")
|
||||
));
|
||||
}
|
||||
|
||||
public PurphorosGodOfTheForge(final PurphorosGodOfTheForge card) {
|
||||
|
|
|
@ -2,14 +2,12 @@ package mage.cards.r;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
|
||||
|
@ -20,8 +18,6 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class ReverentHunter extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.G);
|
||||
|
||||
public ReverentHunter(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
|
@ -31,11 +27,9 @@ public final class ReverentHunter extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Reverent Hunter enters the battlefield, put a number of +1/+1 counters on it equal to your devotion to green.
|
||||
this.addAbility(
|
||||
new EntersBattlefieldTriggeredAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(0), xValue, true)
|
||||
).addHint(new ValueHint("Devotion to green", xValue))
|
||||
);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(
|
||||
CounterType.P1P1.createInstance(0), DevotionCount.G, true
|
||||
)).addHint(new ValueHint("Devotion to green", DevotionCount.G)));
|
||||
}
|
||||
|
||||
public ReverentHunter(final ReverentHunter card) {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
|
@ -9,7 +8,6 @@ import mage.abilities.hint.ValueHint;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -18,19 +16,17 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class Sanguimancy extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.B);
|
||||
|
||||
public Sanguimancy(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}");
|
||||
|
||||
// You draw X cards and you lose X life, where X is your devotion to black.
|
||||
Effect effect = new DrawCardSourceControllerEffect(xValue);
|
||||
Effect effect = new DrawCardSourceControllerEffect(DevotionCount.B);
|
||||
effect.setText("You draw X cards");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
effect = new LoseLifeSourceControllerEffect(xValue);
|
||||
effect = new LoseLifeSourceControllerEffect(DevotionCount.B);
|
||||
effect.setText("and you lose X life, where X is your devotion to black");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to black", xValue));
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to black", DevotionCount.B));
|
||||
}
|
||||
|
||||
public Sanguimancy(final Sanguimancy card) {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DamageAllEffect;
|
||||
|
@ -9,7 +8,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
|
||||
|
@ -26,17 +24,14 @@ public final class Skyreaping extends CardImpl {
|
|||
filter.add(new AbilityPredicate(FlyingAbility.class));
|
||||
}
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.G);
|
||||
|
||||
public Skyreaping(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}");
|
||||
|
||||
|
||||
// Skyreaping deals damage to each creature with flying equal to your devotion to green.
|
||||
Effect effect = new DamageAllEffect(xValue, filter);
|
||||
Effect effect = new DamageAllEffect(DevotionCount.G, filter);
|
||||
effect.setText("{this} deals damage to each creature with flying equal to your devotion to green <i>(Each {G} in the mana costs of permanents you control counts toward your devotion to green.)</i>");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to green", xValue));
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to green", DevotionCount.G));
|
||||
}
|
||||
|
||||
public Skyreaping(final Skyreaping card) {
|
||||
|
|
|
@ -6,7 +6,6 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
|
||||
|
@ -27,8 +26,6 @@ import java.util.UUID;
|
|||
|
||||
public final class ThassaGodOfTheSea extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.U);
|
||||
|
||||
public ThassaGodOfTheSea(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{U}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
|
@ -40,21 +37,25 @@ public final class ThassaGodOfTheSea extends CardImpl {
|
|||
// Indestructible
|
||||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// As long as your devotion to white is less than five, Thassa isn't a creature.<i>(Each {U} in the mana costs of permanents you control counts towards your devotion to white.)</i>
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(xValue, 5);
|
||||
effect.setText("As long as your devotion to blue is less than five, Thassa isn't a creature.<i>(Each {U} in the mana costs of permanents you control counts towards your devotion to blue.)</i>");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to blue", xValue)));
|
||||
// As long as your devotion to blue is less than five, Thassa isn't a creature.<i>(Each {U} in the mana costs of permanents you control counts towards your devotion to white.)</i>
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.U, 5);
|
||||
effect.setText("As long as your devotion to blue is less than five, {this} isn't a creature.");
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to blue", DevotionCount.U)));
|
||||
|
||||
// At the beginning of your upkeep, scry 1.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1), TargetController.YOU, false));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
|
||||
new ScryEffect(1), TargetController.YOU, false
|
||||
));
|
||||
|
||||
// {1}{U}: Target creature you control can't be blocked this turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{U}"));
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new CantBeBlockedTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{U}")
|
||||
);
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public ThassaGodOfTheSea(final ThassaGodOfTheSea card) {
|
||||
private ThassaGodOfTheSea(final ThassaGodOfTheSea card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.common.CounterUnlessPaysEffect;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.target.TargetSpell;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -17,15 +15,13 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class ThassasRebuff extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.U);
|
||||
|
||||
public ThassasRebuff(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}");
|
||||
|
||||
// Counter target spell unless its controller pays {X}, where X is your devotion to blue.
|
||||
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(xValue));
|
||||
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(DevotionCount.U));
|
||||
this.getSpellAbility().addTarget(new TargetSpell());
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to blue", xValue));
|
||||
this.getSpellAbility().addHint(new ValueHint("Devotion to blue", DevotionCount.U));
|
||||
}
|
||||
|
||||
public ThassasRebuff(final ThassasRebuff card) {
|
||||
|
|
|
@ -2,7 +2,6 @@ package mage.cards.t;
|
|||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksAttachedTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
|
@ -22,8 +21,6 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class ThunderousMight extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.R);
|
||||
|
||||
public ThunderousMight(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
|
||||
this.subtype.add(SubType.AURA);
|
||||
|
@ -36,11 +33,11 @@ public final class ThunderousMight extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Whenever enchanted creature attacks, it gets +X/+0 until end of turn, where X is your devotion to red.
|
||||
BoostEnchantedEffect effect = new BoostEnchantedEffect(xValue, new StaticValue(0), Duration.EndOfTurn);
|
||||
BoostEnchantedEffect effect = new BoostEnchantedEffect(DevotionCount.R, new StaticValue(0), Duration.EndOfTurn);
|
||||
effect.setText("it gets +X/+0 until end of turn, where X is your devotion to red");
|
||||
effect.setLockedIn(true);
|
||||
this.addAbility(new AttacksAttachedTriggeredAbility(effect, AttachmentType.AURA, false)
|
||||
.addHint(new ValueHint("Devotion to red", xValue)));
|
||||
.addHint(new ValueHint("Devotion to red", DevotionCount.R)));
|
||||
}
|
||||
|
||||
public ThunderousMight(final ThunderousMight card) {
|
||||
|
|
|
@ -4,7 +4,6 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
@ -37,8 +36,6 @@ public final class XenagosGodOfRevels extends CardImpl {
|
|||
filter.add(AnotherPredicate.instance);
|
||||
}
|
||||
|
||||
private static final DynamicValue xValue = new DevotionCount(ColoredManaSymbol.R, ColoredManaSymbol.G);
|
||||
|
||||
public XenagosGodOfRevels(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{R}{G}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
|
@ -51,20 +48,22 @@ public final class XenagosGodOfRevels extends CardImpl {
|
|||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
|
||||
// As long as your devotion to red and green is less than seven, Xenagos isn't a creature.
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(xValue, 7);
|
||||
effect.setText("As long as your devotion to red and green is less than seven, Xenagos isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect).addHint(new ValueHint("Devotion to red and green", xValue)));
|
||||
Effect effect = new LoseCreatureTypeSourceEffect(DevotionCount.RG, 7);
|
||||
effect.setText("As long as your devotion to red and green is less than seven, {this} isn't a creature");
|
||||
this.addAbility(new SimpleStaticAbility(effect).addHint(new ValueHint("Devotion to red and green", DevotionCount.RG)));
|
||||
|
||||
// At the beginning of combat on your turn, another target creature you control gains haste and gets +X/+X until end of turn, where X is that creature's power.
|
||||
effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("another target creature you control gains haste");
|
||||
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false, false);
|
||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||
Zone.BATTLEFIELD, effect, TargetController.YOU, false, false
|
||||
);
|
||||
ability.addEffect(new XenagosGodOfRevelsEffect());
|
||||
ability.addTarget(new TargetControlledCreaturePermanent(1, 1, filter, false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
public XenagosGodOfRevels(final XenagosGodOfRevels card) {
|
||||
private XenagosGodOfRevels(final XenagosGodOfRevels card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
|
@ -76,12 +75,12 @@ public final class XenagosGodOfRevels extends CardImpl {
|
|||
|
||||
class XenagosGodOfRevelsEffect extends OneShotEffect {
|
||||
|
||||
public XenagosGodOfRevelsEffect() {
|
||||
XenagosGodOfRevelsEffect() {
|
||||
super(Outcome.BoostCreature);
|
||||
this.staticText = "and gets +X/+X until end of turn, where X is that creature's power";
|
||||
}
|
||||
|
||||
public XenagosGodOfRevelsEffect(final XenagosGodOfRevelsEffect effect) {
|
||||
private XenagosGodOfRevelsEffect(final XenagosGodOfRevelsEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
|
@ -93,11 +92,12 @@ class XenagosGodOfRevelsEffect extends OneShotEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent targetCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (targetCreature != null) {
|
||||
ContinuousEffect effect = new BoostTargetEffect(targetCreature.getPower().getValue(), targetCreature.getPower().getValue(), Duration.EndOfTurn);
|
||||
effect.setTargetPointer(this.getTargetPointer());
|
||||
game.addEffect(effect, source);
|
||||
if (targetCreature == null) {
|
||||
return false;
|
||||
}
|
||||
ContinuousEffect effect = new BoostTargetEffect(targetCreature.getPower().getValue(), targetCreature.getPower().getValue(), Duration.EndOfTurn);
|
||||
effect.setTargetPointer(this.getTargetPointer());
|
||||
game.addEffect(effect, source);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue