mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
Fix 'S' cards with card name instead of {this}
This commit is contained in:
parent
b8f3a462f9
commit
996dc796a4
18 changed files with 45 additions and 56 deletions
|
|
@ -56,7 +56,7 @@ class SailIntoTheWestEffect extends OneShotEffect {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "starting with you, each player votes for return or embark. " +
|
staticText = "starting with you, each player votes for return or embark. " +
|
||||||
"If return gets more votes, each player returns up to two cards from their graveyard " +
|
"If return gets more votes, each player returns up to two cards from their graveyard " +
|
||||||
"to their hand, then you exile Sail into the West. " +
|
"to their hand, then you exile {this}. " +
|
||||||
"If embark gets more votes or the vote is tied, each player may discard their hand and draw seven cards.";
|
"If embark gets more votes or the vote is tied, each player may discard their hand and draw seven cards.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
|
|
@ -45,7 +44,7 @@ public final class SanctumOfShatteredHeights extends CardImpl {
|
||||||
|
|
||||||
// {1}, Discard a land card or Shrine card: Sanctum of Shattered Heights deals X damage to target creature or planeswalker, where X is the number of Shrines you control.
|
// {1}, Discard a land card or Shrine card: Sanctum of Shattered Heights deals X damage to target creature or planeswalker, where X is the number of Shrines you control.
|
||||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(xValue)
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(xValue)
|
||||||
.setText("Sanctum of Shattered Heights deals X damage to target creature or planeswalker, where X is the number of Shrines you control"),
|
.setText("{this} deals X damage to target creature or planeswalker, where X is the number of Shrines you control"),
|
||||||
new ManaCostsImpl<>("{1}"))
|
new ManaCostsImpl<>("{1}"))
|
||||||
.addHint(new ValueHint("Shrines you control", xValue));
|
.addHint(new ValueHint("Shrines you control", xValue));
|
||||||
ability.addCost(new DiscardTargetCost(new TargetCardInHand(filter)));
|
ability.addCost(new DiscardTargetCost(new TargetCardInHand(filter)));
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.effects.common.DamageAllEffect;
|
import mage.abilities.effects.common.DamageAllEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
import mage.filter.predicate.permanent.DefendingPlayerControlsSourceAttackingPredicate;
|
import mage.filter.predicate.permanent.DefendingPlayerControlsSourceAttackingPredicate;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
|
|
@ -37,10 +37,7 @@ public final class ScaldingSalamander extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls.
|
// Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls.
|
||||||
this.addAbility(new AttacksTriggeredAbility(
|
this.addAbility(new AttacksTriggeredAbility(new DamageAllEffect(1, filter), true));
|
||||||
new DamageAllEffect(1, filter), true,
|
|
||||||
"Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls."
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ScaldingSalamander(final ScaldingSalamander card) {
|
private ScaldingSalamander(final ScaldingSalamander card) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
|
@ -10,11 +9,12 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author nantuko
|
* @author nantuko
|
||||||
*/
|
*/
|
||||||
|
|
@ -43,7 +43,7 @@ class ScepterOfEmpiresEffect extends OneShotEffect {
|
||||||
|
|
||||||
ScepterOfEmpiresEffect() {
|
ScepterOfEmpiresEffect() {
|
||||||
super(Outcome.PutCreatureInPlay);
|
super(Outcome.PutCreatureInPlay);
|
||||||
staticText = "Scepter of Empires deals 1 damage to target player or planeswalker. It deals 3 damage instead if you control artifacts named Crown of Empires and Throne of Empires";
|
staticText = "{this} deals 1 damage to target player or planeswalker. It deals 3 damage instead if you control artifacts named Crown of Empires and Throne of Empires";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ScepterOfEmpiresEffect(final ScepterOfEmpiresEffect effect) {
|
private ScepterOfEmpiresEffect(final ScepterOfEmpiresEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,10 @@ import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||||
import mage.abilities.costs.common.DiscardCardCost;
|
import mage.abilities.costs.common.DiscardCardCost;
|
||||||
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
|
||||||
import mage.abilities.effects.common.DoWhenCostPaid;
|
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.Card;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
|
@ -50,7 +48,7 @@ public class SerumCoreChimera extends CardImpl {
|
||||||
reflexiveTriggeredAbility.addTarget(new TargetCreatureOrPlaneswalker());
|
reflexiveTriggeredAbility.addTarget(new TargetCreatureOrPlaneswalker());
|
||||||
activateAsSorceryActivatedAbility.addEffect(new DoWhenCostPaid(reflexiveTriggeredAbility,
|
activateAsSorceryActivatedAbility.addEffect(new DoWhenCostPaid(reflexiveTriggeredAbility,
|
||||||
new DiscardCardCost(StaticFilters.FILTER_CARD_A_NON_LAND), "Discard nonland card?")
|
new DiscardCardCost(StaticFilters.FILTER_CARD_A_NON_LAND), "Discard nonland card?")
|
||||||
.setText("Then you may discard a nonland card. When you discard a card this way, Serum-Core Chimera " +
|
.setText("Then you may discard a nonland card. When you discard a card this way, {this} " +
|
||||||
"deals 3 damage to target creature or planeswalker."));
|
"deals 3 damage to target creature or planeswalker."));
|
||||||
this.addAbility(activateAsSorceryActivatedAbility);
|
this.addAbility(activateAsSorceryActivatedAbility);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ class SimianSlingTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever Simian Sling or equipped creature becomes blocked, it deals 1 damage to defending player.";
|
return "Whenever {this} or equipped creature becomes blocked, it deals 1 damage to defending player.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ import mage.filter.predicate.Predicates;
|
||||||
import mage.game.ExileZone;
|
import mage.game.ExileZone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetCard;
|
|
||||||
import mage.target.common.TargetCardInExile;
|
import mage.target.common.TargetCardInExile;
|
||||||
import mage.util.CardUtil;
|
import mage.util.CardUtil;
|
||||||
|
|
||||||
|
|
@ -73,7 +72,7 @@ class SkywayRobberCastForFreeEffect extends OneShotEffect {
|
||||||
|
|
||||||
public SkywayRobberCastForFreeEffect() {
|
public SkywayRobberCastForFreeEffect() {
|
||||||
super(Outcome.PlayForFree);
|
super(Outcome.PlayForFree);
|
||||||
this.staticText = "you may cast an artifact, instant, or sorcery spell from among cards exiled with Skyway Robber without paying its mana cost";
|
this.staticText = "you may cast an artifact, instant, or sorcery spell from among cards exiled with {this} without paying its mana cost";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SkywayRobberCastForFreeEffect(final SkywayRobberCastForFreeEffect effect) {
|
private SkywayRobberCastForFreeEffect(final SkywayRobberCastForFreeEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -13,6 +12,8 @@ import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jonubuu
|
* @author jonubuu
|
||||||
|
|
@ -42,7 +43,7 @@ class SmashToSmithereensEffect extends OneShotEffect {
|
||||||
|
|
||||||
SmashToSmithereensEffect() {
|
SmashToSmithereensEffect() {
|
||||||
super(Outcome.Detriment);
|
super(Outcome.Detriment);
|
||||||
staticText = "Destroy target artifact. Smash to Smithereens deals 3 damage to that artifact's controller";
|
staticText = "Destroy target artifact. {this} deals 3 damage to that artifact's controller";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SmashToSmithereensEffect(final SmashToSmithereensEffect effect) {
|
private SmashToSmithereensEffect(final SmashToSmithereensEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class SmokestackEffect extends OneShotEffect {
|
||||||
|
|
||||||
SmokestackEffect() {
|
SmokestackEffect() {
|
||||||
super(Outcome.Sacrifice);
|
super(Outcome.Sacrifice);
|
||||||
this.staticText = "that player sacrifices a permanent for each soot counter on Smokestack";
|
this.staticText = "that player sacrifices a permanent for each soot counter on {this}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SmokestackEffect(final SmokestackEffect effect) {
|
private SmokestackEffect(final SmokestackEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ class SoulblastEffect extends OneShotEffect {
|
||||||
|
|
||||||
SoulblastEffect() {
|
SoulblastEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Soulblast deals damage to any target equal to the total power of the sacrificed creatures";
|
this.staticText = "{this} deals damage to any target equal to the total power of the sacrificed creatures";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SoulblastEffect(final SoulblastEffect effect) {
|
private SoulblastEffect(final SoulblastEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ class SparkFiendEffect extends OneShotEffect {
|
||||||
|
|
||||||
SparkFiendEffect() {
|
SparkFiendEffect() {
|
||||||
super(Outcome.Sacrifice);
|
super(Outcome.Sacrifice);
|
||||||
this.staticText = "roll two six-sided dice. If you rolled 2, 3, or 12, sacrifice Spark Fiend. If you rolled 7 or 11, don't roll dice for Spark Fiend during any of your following upkeeps. If you rolled any other total, note that total";
|
this.staticText = "roll two six-sided dice. If you rolled 2, 3, or 12, sacrifice {this}. If you rolled 7 or 11, don't roll dice for {this} during any of your following upkeeps. If you rolled any other total, note that total";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SparkFiendEffect(final SparkFiendEffect effect) {
|
private SparkFiendEffect(final SparkFiendEffect effect) {
|
||||||
|
|
@ -93,7 +93,7 @@ class SparkFiendUpkeepEffect extends OneShotEffect {
|
||||||
|
|
||||||
SparkFiendUpkeepEffect() {
|
SparkFiendUpkeepEffect() {
|
||||||
super(Outcome.Sacrifice);
|
super(Outcome.Sacrifice);
|
||||||
this.staticText = "roll two six-sided dice. If you rolled 7, sacrifice Spark Fiend. If you roll the noted total, don't roll dice for Spark Fiend during any of your following upkeeps. Otherwise, do nothing";
|
this.staticText = "roll two six-sided dice. If you rolled 7, sacrifice {this}. If you roll the noted total, don't roll dice for {this} during any of your following upkeeps. Otherwise, do nothing";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SparkFiendUpkeepEffect(final SparkFiendUpkeepEffect effect) {
|
private SparkFiendUpkeepEffect(final SparkFiendUpkeepEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
|
|
@ -12,14 +11,16 @@ import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SubType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetDiscard;
|
import mage.target.common.TargetDiscard;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
|
@ -54,7 +55,7 @@ class SpellboundDragonEffect extends OneShotEffect {
|
||||||
|
|
||||||
SpellboundDragonEffect() {
|
SpellboundDragonEffect() {
|
||||||
super(Outcome.BoostCreature);
|
super(Outcome.BoostCreature);
|
||||||
staticText = "draw a card, then discard a card. Spellbound Dragon gets +X/+0 until end of turn, where X is the discarded card's mana value";
|
staticText = "draw a card, then discard a card. {this} gets +X/+0 until end of turn, where X is the discarded card's mana value";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SpellboundDragonEffect(final SpellboundDragonEffect effect) {
|
private SpellboundDragonEffect(final SpellboundDragonEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ class SphinxBoneWandEffect extends OneShotEffect {
|
||||||
|
|
||||||
SphinxBoneWandEffect() {
|
SphinxBoneWandEffect() {
|
||||||
super(Outcome.Damage);
|
super(Outcome.Damage);
|
||||||
this.staticText = "put a charge counter on Sphinx-Bone Wand. If you do, Sphinx-Bone Wand deals damage equal to the number of charge counters on it to any target";
|
this.staticText = "put a charge counter on Sphinx-Bone Wand. If you do, {this} deals damage equal to the number of charge counters on it to any target";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SphinxBoneWandEffect(final SphinxBoneWandEffect effect) {
|
private SphinxBoneWandEffect(final SphinxBoneWandEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.RestrictionUntapNotMoreThanEffect;
|
import mage.abilities.effects.RestrictionUntapNotMoreThanEffect;
|
||||||
|
|
@ -9,12 +8,13 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -45,7 +45,7 @@ class StaticOrbEffect extends RestrictionUntapNotMoreThanEffect {
|
||||||
|
|
||||||
public StaticOrbEffect() {
|
public StaticOrbEffect() {
|
||||||
super(Duration.WhileOnBattlefield, 2, filter);
|
super(Duration.WhileOnBattlefield, 2, filter);
|
||||||
staticText = "As long as Static Orb is untapped, players can't untap more than two permanents during their untap steps";
|
staticText = "As long as {this} is untapped, players can't untap more than two permanents during their untap steps";
|
||||||
}
|
}
|
||||||
|
|
||||||
private StaticOrbEffect(final StaticOrbEffect effect) {
|
private StaticOrbEffect(final StaticOrbEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
|
@ -10,20 +9,17 @@ import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.effects.keyword.ScryEffect;
|
import mage.abilities.effects.keyword.ScryEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.*;
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.cards.CardSetInfo;
|
|
||||||
import mage.cards.Cards;
|
|
||||||
import mage.cards.CardsImpl;
|
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.SubType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -59,7 +55,7 @@ class StormchaserChimeraEffect extends OneShotEffect {
|
||||||
|
|
||||||
StormchaserChimeraEffect() {
|
StormchaserChimeraEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = ", then reveal the top card of your library. Stormchaser Chimera gets +X/+0 until end of turn, where X is that card's mana value";
|
this.staticText = ", then reveal the top card of your library. {this} gets +X/+0 until end of turn, where X is that card's mana value";
|
||||||
}
|
}
|
||||||
|
|
||||||
private StormchaserChimeraEffect(final StormchaserChimeraEffect effect) {
|
private StormchaserChimeraEffect(final StormchaserChimeraEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
|
|
@ -17,6 +16,8 @@ import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -29,7 +30,7 @@ public final class StruggleSurvive extends SplitCard {
|
||||||
// Struggle
|
// Struggle
|
||||||
// Struggle deals damage to target creature equal to the number of lands you control.
|
// Struggle deals damage to target creature equal to the number of lands you control.
|
||||||
Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("the number of lands you control")));
|
Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("the number of lands you control")));
|
||||||
effect.setText("Struggle deals damage to target creature equal to the number of lands you control");
|
effect.setText("{this} deals damage to target creature equal to the number of lands you control");
|
||||||
getLeftHalfCard().getSpellAbility().addEffect(effect);
|
getLeftHalfCard().getSpellAbility().addEffect(effect);
|
||||||
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
|
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.common.AddendumCondition;
|
import mage.abilities.condition.common.AddendumCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.DamageEverythingEffect;
|
import mage.abilities.effects.common.DamageEverythingEffect;
|
||||||
|
|
@ -9,6 +8,8 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
|
@ -23,7 +24,7 @@ public final class SulfurousBlast extends CardImpl {
|
||||||
new DamageEverythingEffect(3),
|
new DamageEverythingEffect(3),
|
||||||
new DamageEverythingEffect(2),
|
new DamageEverythingEffect(2),
|
||||||
AddendumCondition.instance,
|
AddendumCondition.instance,
|
||||||
"Sulfurous Blast deals 2 damage to each creature and each player. If you cast this spell during your main phase, Sulfurous Blast deals 3 damage to each creature and each player instead"));
|
"{this} deals 2 damage to each creature and each player. If you cast this spell during your main phase, {this} deals 3 damage to each creature and each player instead"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SulfurousBlast(final SulfurousBlast card) {
|
private SulfurousBlast(final SulfurousBlast card) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.ApprovingObject;
|
import mage.ApprovingObject;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
|
@ -17,12 +16,7 @@ import mage.abilities.keyword.EquipAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.ComparisonType;
|
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.Outcome;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.FilterCard;
|
import mage.filter.FilterCard;
|
||||||
import mage.filter.predicate.Predicate;
|
import mage.filter.predicate.Predicate;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
|
|
@ -33,6 +27,8 @@ import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
|
@ -52,7 +48,7 @@ public final class Sunforger extends CardImpl {
|
||||||
// without paying its mana cost. Then shuffle your library.
|
// without paying its mana cost. Then shuffle your library.
|
||||||
Ability ability = new SimpleActivatedAbility(
|
Ability ability = new SimpleActivatedAbility(
|
||||||
new SunforgerEffect(), new ManaCostsImpl<>("{R}{W}"));
|
new SunforgerEffect(), new ManaCostsImpl<>("{R}{W}"));
|
||||||
ability.addCost(new SunforgerUnattachCost(this.getName()));
|
ability.addCost(new SunforgerUnattachCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Equip {3}
|
// Equip {3}
|
||||||
|
|
@ -127,8 +123,8 @@ class SunforgerEffect extends OneShotEffect {
|
||||||
|
|
||||||
class SunforgerUnattachCost extends CostImpl {
|
class SunforgerUnattachCost extends CostImpl {
|
||||||
|
|
||||||
public SunforgerUnattachCost(String name) {
|
public SunforgerUnattachCost() {
|
||||||
this.text = "Unattach " + name;
|
this.text = "Unattach {this}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SunforgerUnattachCost(final SunforgerUnattachCost cost) {
|
private SunforgerUnattachCost(final SunforgerUnattachCost cost) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue