mirror of
https://github.com/magefree/mage.git
synced 2026-01-22 19:29:59 -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue