mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
Magic Origins Update Bulletin changes.
This commit is contained in:
parent
e209114a26
commit
6804ba1f2f
12 changed files with 45 additions and 39 deletions
|
|
@ -30,14 +30,13 @@ package mage.sets.alliances;
|
|||
import java.util.UUID;
|
||||
import mage.Mana;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.EnterBattlefieldPayCostOrPutGraveyardEffect;
|
||||
import mage.abilities.effects.common.LookLibraryMayPutToBottomEffect;
|
||||
import mage.abilities.effects.keyword.ScryEffect;
|
||||
import mage.abilities.mana.SimpleManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -70,13 +69,12 @@ public class SoldeviExcavations extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new EnterBattlefieldPayCostOrPutGraveyardEffect(new SacrificeTargetCost(new TargetControlledPermanent(filter)))));
|
||||
|
||||
// {tap}: Add {1}{U} to your mana pool.
|
||||
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 0, 1,0 ), new TapSourceCost()));
|
||||
// {1}, {tap}: Look at the top card of your library. You may put that card on the bottom of your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryMayPutToBottomEffect(), new GenericManaCost(1));
|
||||
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 0, 1, 0), new TapSourceCost()));
|
||||
|
||||
// {1}, {tap}: Scry 1.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new GenericManaCost(1));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public SoldeviExcavations(final SoldeviExcavations card) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.LookLibraryMayPutToBottomEffect;
|
||||
import mage.abilities.effects.keyword.ScryEffect;
|
||||
import mage.abilities.keyword.IndestructibleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -51,8 +51,8 @@ public class DarksteelPendant extends CardImpl {
|
|||
|
||||
// Darksteel Pendant is indestructible.
|
||||
this.addAbility(IndestructibleAbility.getInstance());
|
||||
// {1}, {tap}: Look at the top card of your library. You may put that card on the bottom of your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookLibraryMayPutToBottomEffect(), new GenericManaCost(1));
|
||||
// {1}, {tap}: Scry 1.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new GenericManaCost(1));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,14 +28,13 @@
|
|||
package mage.sets.gatecrash;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
|
||||
import mage.abilities.effects.common.continuous.SetPowerToughnessAllEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Rarity;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
|
@ -49,7 +48,7 @@ public class BiomassMutation extends CardImpl {
|
|||
this.expansionSetCode = "GTC";
|
||||
|
||||
|
||||
// Creatures you control become X/X until end of turn.
|
||||
// Creatures you control have base power and toughness X/X until end of turn.
|
||||
DynamicValue variableMana = new ManacostVariableValue();
|
||||
this.getSpellAbility().addEffect(new SetPowerToughnessAllEffect(variableMana, variableMana, Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures you control"), true));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ package mage.sets.invasion;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LookLibraryMayPutToBottomEffect;
|
||||
import mage.abilities.effects.keyword.ScryEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
|
|
@ -44,9 +44,8 @@ public class Opt extends CardImpl {
|
|||
super(ownerId, 64, "Opt", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{U}");
|
||||
this.expansionSetCode = "INV";
|
||||
|
||||
|
||||
// Look at the top card of your library. You may put that card on the bottom of your library.
|
||||
this.getSpellAbility().addEffect(new LookLibraryMayPutToBottomEffect());
|
||||
// Scry 1.
|
||||
this.getSpellAbility().addEffect(new ScryEffect(1));
|
||||
|
||||
// Draw a card.
|
||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ package mage.sets.magic2014;
|
|||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -55,9 +56,13 @@ public class DarkProphecy extends CardImpl {
|
|||
this.expansionSetCode = "M14";
|
||||
|
||||
|
||||
// Whenever a creature you control dies, you draw a card and lose 1 life.
|
||||
Ability ability = new DiesCreatureTriggeredAbility(new DrawCardSourceControllerEffect(1), false, filter);
|
||||
ability.addEffect(new LoseLifeSourceControllerEffect(1));
|
||||
// Whenever a creature you control dies, you draw a card and you lose 1 life.
|
||||
Effect effect = new DrawCardSourceControllerEffect(1);
|
||||
effect.setText("you draw a card");
|
||||
Ability ability = new DiesCreatureTriggeredAbility(effect, false, filter);
|
||||
effect = new LoseLifeSourceControllerEffect(1);
|
||||
effect.setText("and you lose 1 life");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,11 +50,9 @@ public class TestOfFaith extends CardImpl {
|
|||
super(ownerId, 33, "Test of Faith", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{W}");
|
||||
this.expansionSetCode = "MMA";
|
||||
|
||||
|
||||
// Prevent the next 3 damage that would be dealt to target creature this turn, and put a +1/+1 counter on that creature for each 1 damage prevented this way.
|
||||
// Prevent the next 3 damage that would be dealt to target creature this turn. For each 1 damage prevented this way, put a +1/+1 counter on that creature.
|
||||
this.getSpellAbility().addEffect(new TestOfFaithPreventDamageTargetEffect(Duration.EndOfTurn));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
||||
}
|
||||
|
||||
public TestOfFaith(final TestOfFaith card) {
|
||||
|
|
@ -73,7 +71,7 @@ class TestOfFaithPreventDamageTargetEffect extends PreventionEffectImpl {
|
|||
|
||||
public TestOfFaithPreventDamageTargetEffect(Duration duration) {
|
||||
super(duration);
|
||||
staticText = "Prevent the next 3 damage that would be dealt to target creature this turn, and put a +1/+1 counter on that creature for each 1 damage prevented this way";
|
||||
staticText = "Prevent the next 3 damage that would be dealt to target creature this turn. For each 1 damage prevented this way, put a +1/+1 counter on that creature";
|
||||
}
|
||||
|
||||
public TestOfFaithPreventDamageTargetEffect(final TestOfFaithPreventDamageTargetEffect effect) {
|
||||
|
|
|
|||
|
|
@ -56,13 +56,13 @@ public class ShapeStealer extends CardImpl {
|
|||
this.subtype.add("Spirit");
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
|
||||
// This ability triggers once for each creature blocked by or blocking Shape Stealer.
|
||||
// If multiple creatures block it, Shape Stealer's power and toughness will change for
|
||||
// each one in succession. The first trigger put on the stack will be the last to resolve,
|
||||
// so that will set Shape Stealer's final power and toughness.
|
||||
// Whenever Shape Stealer blocks or becomes blocked by a creature, change Shape Stealer's power and toughness to that creature's power and toughness until end of turn.
|
||||
|
||||
// Whenever Shape Stealer blocks or becomes blocked by a creature, change Shape Stealer's base power and toughness to that creature's power and toughness until end of turn.
|
||||
this.addAbility(new BlocksOrBecomesBlockedByCreatureTriggeredAbility(new ShapeStealerEffect(), false));
|
||||
}
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ class ShapeStealerEffect extends OneShotEffect {
|
|||
|
||||
public ShapeStealerEffect() {
|
||||
super(Outcome.Detriment);
|
||||
this.staticText = "change {this}'s power and toughness to that creature's power and toughness until end of turn";
|
||||
this.staticText = "change {this}'s base power and toughness to that creature's power and toughness until end of turn";
|
||||
}
|
||||
|
||||
public ShapeStealerEffect(final ShapeStealerEffect effect) {
|
||||
|
|
|
|||
|
|
@ -29,17 +29,18 @@
|
|||
package mage.sets.scarsofmirrodin;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -53,9 +54,15 @@ public class MoriokReplica extends CardImpl {
|
|||
this.subtype.add("Warrior");
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl("{1}{B}"));
|
||||
|
||||
// {1}{B}, Sacrifice Moriok Replica: You draw two cards and you lose 2 life.
|
||||
Effect effect = new DrawCardSourceControllerEffect(2);
|
||||
effect.setText("You draw two cards");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}"));
|
||||
effect = new LoseLifeSourceControllerEffect(2);
|
||||
effect.setText("and you lose 2 life");
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addEffect(new LoseLifeSourceControllerEffect(2));
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class BushidoAbility extends BlocksOrBecomesBlockedTriggeredAbility {
|
|||
}
|
||||
|
||||
static String getReminder(String xValue) {
|
||||
return " <i>(When this blocks or becomes blocked, it gets +" + xValue+ "/+" + xValue + " until end of turn.)</i>";
|
||||
return " <i>(Whenever this creature blocks or becomes blocked, it gets +" + xValue+ "/+" + xValue + " until end of turn.)</i>";
|
||||
}
|
||||
|
||||
public BushidoAbility(final BushidoAbility ability) {
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@
|
|||
package mage.abilities.keyword;
|
||||
|
||||
import java.io.ObjectStreamException;
|
||||
import mage.constants.Zone;
|
||||
import mage.abilities.MageSingleton;
|
||||
import mage.abilities.StaticAbility;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -61,7 +61,7 @@ public class ChangelingAbility extends StaticAbility implements MageSingleton {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Changeling <i>(This card is every creature type at all times.)<i/>";
|
||||
return "Changeling <i>(This card is every creature type.)<i/>";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
public class ProvokeAbility extends AttacksTriggeredAbility {
|
||||
|
||||
public ProvokeAbility() {
|
||||
super(new UntapTargetEffect(), true, "Provoke <i>(When this attacks, you may have target creature defending player controls untap and block it if able.)</i>");
|
||||
super(new UntapTargetEffect(), true, "Provoke <i>(Whenever this attacks, you may have target creature defending player controls untap and block it if able.)</i>");
|
||||
this.addEffect(new ProvokeRequirementEffect());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12513,7 +12513,7 @@ Override|Mirrodin|45|C|{2}{U}|Instant|||Counter target spell unless its controll
|
|||
Psychic Membrane|Mirrodin|46|U|{2}{U}|Creature - Wall|0|3|Defender <i>(This creature can't attack.)</i>$Whenever Psychic Membrane blocks, you may draw a card.|
|
||||
Quicksilver Elemental|Mirrodin|47|R|{3}{U}{U}|Creature - Elemental|3|4|{U}: Quicksilver Elemental gains all activated abilities of target creature until end of turn. <i>(If any of the abilities use that creature's name, use this creature's name instead.)</i>$You may spend blue mana as though it were mana of any color to pay the activation costs of Quicksilver Elemental's abilities.|
|
||||
Regress|Mirrodin|48|C|{2}{U}|Instant|||Return target permanent to its owner's hand.|
|
||||
Shared Fate|Mirrodin|49|R|{4}{U}|Enchantment|||If a player would draw a card, that player exiles the top card of an opponent's library face down instead.$Each player may look at and play cards he or she exiled with Shared Fate.|
|
||||
Shared Fate|Mirrodin|49|R|{4}{U}|Enchantment|||If a player would draw a card, that player exiles the top card of one of his or her opponents' libraries face down instead.$Each player may look at and play cards he or she exiled with Shared Fate.|
|
||||
Auriok Transfixer|Mirrodin|5|C|{W}|Creature - Human Scout|1|1|{W}, {tap}: Tap target artifact.|
|
||||
Slith Strider|Mirrodin|50|U|{1}{U}{U}|Creature - Slith|1|1|Whenever Slith Strider becomes blocked, draw a card.$Whenever Slith Strider deals combat damage to a player, put a +1/+1 counter on it.|
|
||||
Somber Hoverguard|Mirrodin|51|C|{5}{U}|Creature - Drone|3|2|Affinity for artifacts <i>(This spell costs {1} less to cast for each artifact you control.)</i>$Flying|
|
||||
|
|
@ -15733,7 +15733,7 @@ Zephyr Spirit|Ravnica: City of Guilds|76|C|{5}{U}|Creature - Spirit|0|6|When Zep
|
|||
Blood Funnel|Ravnica: City of Guilds|77|R|{1}{B}|Enchantment|||Noncreature spells you cast cost {2} less to cast.$Whenever you cast a noncreature spell, counter that spell unless you sacrifice a creature.|
|
||||
Brainspoil|Ravnica: City of Guilds|78|C|{3}{B}{B}|Sorcery|||Destroy target creature that isn't enchanted. It can't be regenerated.$Transmute {1}{B}{B} <i>({1}{B}{B}, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery.)</i>|
|
||||
Carrion Howler|Ravnica: City of Guilds|79|U|{3}{B}|Creature - Zombie Wolf|2|2|Pay 1 life: Carrion Howler gets +2/-1 until end of turn.|
|
||||
Concerted Effort|Ravnica: City of Guilds|8|R|{2}{W}{W}|Enchantment|||At the beginning of each upkeep, all creatures you control gain flying until end of turn if a creature you control has flying. The same is true for fear, first strike, double strike, landwalk, protection, trample, and vigilance.|
|
||||
Concerted Effort|Ravnica: City of Guilds|8|R|{2}{W}{W}|Enchantment|||At the beginning of each upkeep, creatures you control gain flying until end of turn if a creature you control has flying. The same is true for fear, first strike, double strike, landwalk, protection, trample, and vigilance.|
|
||||
Clinging Darkness|Ravnica: City of Guilds|80|C|{1}{B}|Enchantment - Aura|||Enchant creature$Enchanted creature gets -4/-1.|
|
||||
Dark Confidant|Ravnica: City of Guilds|81|R|{1}{B}|Creature - Human Wizard|2|1|At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost.|
|
||||
Darkblast|Ravnica: City of Guilds|82|U|{B}|Instant|||Target creature gets -1/-1 until end of turn.$Dredge 3 <i>(If you would draw a card, instead you may put exactly three cards from the top of your library into your graveyard. If you do, return this card from your graveyard to your hand. Otherwise, draw a card.)</i>|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue