mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
Merge origin/master
This commit is contained in:
commit
32e55a7342
11 changed files with 166 additions and 150 deletions
|
@ -30,6 +30,7 @@ package mage.cards.a;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
@ -53,7 +54,9 @@ public class AudaciousInfiltrator extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Audacious Infiltrator can't be blocked by artifact creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByCreaturesSourceEffect(StaticFilters.FILTER_ARTIFACT_CREATURE_PERMANENT, Duration.WhileOnBattlefield)));
|
||||
Effect effect = new CantBeBlockedByCreaturesSourceEffect(StaticFilters.FILTER_ARTIFACT_CREATURE_PERMANENT, Duration.WhileOnBattlefield);
|
||||
effect.setText("{this} can't be blocked by artifact creatures");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
}
|
||||
|
||||
public AudaciousInfiltrator(final AudaciousInfiltrator card) {
|
||||
|
|
|
@ -34,6 +34,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.condition.common.RevoltCondition;
|
||||
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.common.CountersSourceCount;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -62,9 +63,10 @@ public class CallForUnity extends CardImpl {
|
|||
this.addAbility(new ConditionalTriggeredAbility(ability, RevoltCondition.getInstance(), ruleText), new RevoltWatcher());
|
||||
|
||||
// Creatures you control get +1/+1 for each unity counter on Call for Unity.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
|
||||
new BoostControlledEffect(new CountersSourceCount(CounterType.UNITY), new CountersSourceCount(CounterType.UNITY), Duration.WhileOnBattlefield,
|
||||
new FilterCreaturePermanent(), false)));
|
||||
Effect effect = new BoostControlledEffect(new CountersSourceCount(CounterType.UNITY), new CountersSourceCount(CounterType.UNITY), Duration.WhileOnBattlefield,
|
||||
new FilterCreaturePermanent(), false);
|
||||
effect.setText("Creatures you control get +1/+1 for each unity counter on {this}");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
}
|
||||
|
||||
public CallForUnity(final CallForUnity card) {
|
||||
|
|
|
@ -34,6 +34,7 @@ import mage.constants.CardType;
|
|||
import mage.target.TargetStackObject;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
||||
/**
|
||||
* @author JRHerlehy
|
||||
|
@ -45,7 +46,9 @@ public class Disallow extends CardImpl {
|
|||
|
||||
|
||||
// Counter target spell, activated ability, or triggered ability.
|
||||
this.getSpellAbility().addEffect(new CounterTargetEffect());
|
||||
Effect effect = new CounterTargetEffect();
|
||||
effect.setText("Counter target spell, activated ability, or triggered ability");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addTarget(new TargetStackObject());
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ public class FoundryHornet extends CardImpl {
|
|||
|
||||
static {
|
||||
filter.add(new CounterPredicate(CounterType.P1P1));
|
||||
filter.add(new ControllerPredicate(TargetController.OPPONENT));
|
||||
filterOpponent.add(new ControllerPredicate(TargetController.OPPONENT));
|
||||
}
|
||||
|
||||
private static final String rule = "When {this} enters the battlefield, if you control a creature with a +1/+1 counter on it, creatures your opponents control get -1/-1 until end of turn.";
|
||||
|
|
|
@ -51,6 +51,7 @@ import mage.target.Target;
|
|||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
||||
/**
|
||||
* @author JRHerlehy
|
||||
|
@ -76,13 +77,9 @@ public class HeartOfKiran extends CardImpl {
|
|||
|
||||
// You may remove a loyalty counter from a planeswalker you control rather than pay Heart of Kiran's crew cost.
|
||||
Cost cost = new HeartOfKiranAlternateCrewCost(CounterType.LOYALTY, 1);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCardTypeSourceEffect(CardType.CREATURE, Duration.EndOfTurn), cost) {
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "You may remove a loyalty counter from a planeswalker you control rather than pay {this}'s crew cost.";
|
||||
}
|
||||
};
|
||||
this.addAbility(ability);
|
||||
Effect effect = new AddCardTypeSourceEffect(CardType.CREATURE, Duration.EndOfTurn);
|
||||
effect.setText("You may remove a loyalty counter from a planeswalker you control rather than pay {this}'s crew cost");
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, cost));
|
||||
}
|
||||
|
||||
public HeartOfKiran(final HeartOfKiran card) {
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.cards.h;
|
|||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.combat.CantBlockCreaturesSourceEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -55,7 +56,9 @@ public class HinterlandDrake extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Hinterland Drake can't block artifact creatures.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(StaticFilters.FILTER_ARTIFACT_CREATURE_PERMANENT)));
|
||||
Effect effect = new CantBlockCreaturesSourceEffect(StaticFilters.FILTER_ARTIFACT_CREATURE_PERMANENT);
|
||||
effect.setText("{this} can't block artifact creatures");
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
}
|
||||
|
||||
public HinterlandDrake(final HinterlandDrake card) {
|
||||
|
|
|
@ -73,7 +73,7 @@ class PerilousPredicamentSacrificeOpponentsEffect extends OneShotEffect {
|
|||
|
||||
public PerilousPredicamentSacrificeOpponentsEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
staticText = "Each opponent sacrifices an artifact and a nonartifact creature";
|
||||
staticText = "Each opponent sacrifices an artifact creature and a nonartifact creature";
|
||||
}
|
||||
|
||||
public PerilousPredicamentSacrificeOpponentsEffect(final PerilousPredicamentSacrificeOpponentsEffect effect) {
|
||||
|
@ -93,7 +93,7 @@ class PerilousPredicamentSacrificeOpponentsEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
FilterArtifactCreaturePermanent filterArtifact = new FilterArtifactCreaturePermanent("an artifact creature");
|
||||
filterArtifact.add(new ControllerIdPredicate(player.getId()));
|
||||
FilterCreaturePermanent filterNonArtifact = new FilterCreaturePermanent("an non artifact creature");
|
||||
FilterCreaturePermanent filterNonArtifact = new FilterCreaturePermanent("a nonartifact creature");
|
||||
filterNonArtifact.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT)));
|
||||
filterNonArtifact.add(new ControllerIdPredicate(player.getId()));
|
||||
if (game.getBattlefield().countAll(filterArtifact, player.getId(), game) > 0) {
|
||||
|
|
|
@ -146,6 +146,7 @@ public class FridayNightMagic extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Hordeling Outburst", 178, Rarity.UNCOMMON, mage.cards.h.HordelingOutburst.class));
|
||||
cards.add(new SetCardInfo("Icy Manipulator", 67, Rarity.UNCOMMON, mage.cards.i.IcyManipulator.class));
|
||||
cards.add(new SetCardInfo("Impulse", 17, Rarity.COMMON, mage.cards.i.Impulse.class));
|
||||
cards.add(new SetCardInfo("Incendiary Flow", 202, Rarity.SPECIAL, mage.cards.i.IncendiaryFlow.class));
|
||||
cards.add(new SetCardInfo("Isochron Scepter", 102, Rarity.UNCOMMON, mage.cards.i.IsochronScepter.class));
|
||||
cards.add(new SetCardInfo("Izzet Charm", 157, Rarity.UNCOMMON, mage.cards.i.IzzetCharm.class));
|
||||
cards.add(new SetCardInfo("Jace's Ingenuity", 134, Rarity.UNCOMMON, mage.cards.j.JacesIngenuity.class));
|
||||
|
|
|
@ -91,6 +91,7 @@ public class JudgePromo extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Hanna, Ship's Navigator", 84, Rarity.RARE, mage.cards.h.HannaShipsNavigator.class));
|
||||
cards.add(new SetCardInfo("Hermit Druid", 19, Rarity.RARE, mage.cards.h.HermitDruid.class));
|
||||
cards.add(new SetCardInfo("Imperial Recruiter", 74, Rarity.UNCOMMON, mage.cards.i.ImperialRecruiter.class));
|
||||
cards.add(new SetCardInfo("Imperial Seal", 109, Rarity.SPECIAL, mage.cards.i.ImperialSeal.class));
|
||||
cards.add(new SetCardInfo("Intuition", 11, Rarity.RARE, mage.cards.i.Intuition.class));
|
||||
cards.add(new SetCardInfo("Island", 90, Rarity.LAND, mage.cards.basiclands.Island.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Karador, Ghost Chieftain", 80, Rarity.MYTHIC, mage.cards.k.KaradorGhostChieftain.class));
|
||||
|
@ -109,6 +110,7 @@ public class JudgePromo extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Mishra's Factory", 23, Rarity.UNCOMMON, mage.cards.m.MishrasFactory.class));
|
||||
cards.add(new SetCardInfo("Morphling", 53, Rarity.RARE, mage.cards.m.Morphling.class));
|
||||
cards.add(new SetCardInfo("Mountain", 92, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Mystic Confluence", 109, Rarity.SPECIAL, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(null, true)));
|
||||
cards.add(new SetCardInfo("Natural Order", 49, Rarity.RARE, mage.cards.n.NaturalOrder.class));
|
||||
cards.add(new SetCardInfo("Nekusar, the Mindrazer", 86, Rarity.MYTHIC, mage.cards.n.NekusarTheMindrazer.class));
|
||||
cards.add(new SetCardInfo("Noble Hierarch", 66, Rarity.RARE, mage.cards.n.NobleHierarch.class));
|
||||
|
|
|
@ -50,6 +50,7 @@ public class WorldMagicCupQualifier extends ExpansionSet {
|
|||
this.hasBasicLands = false;
|
||||
cards.add(new SetCardInfo("Abrupt Decay", 6, Rarity.RARE, mage.cards.a.AbruptDecay.class));
|
||||
cards.add(new SetCardInfo("Geist of Saint Traft", 2, Rarity.MYTHIC, mage.cards.g.GeistOfSaintTraft.class));
|
||||
cards.add(new SetCardInfo("Inkmoth Nexus", 6, Rarity.SPECIAL, mage.cards.i.InkmothNexus.class));
|
||||
cards.add(new SetCardInfo("Liliana of the Veil", 4, Rarity.MYTHIC, mage.cards.l.LilianaOfTheVeil.class));
|
||||
cards.add(new SetCardInfo("Snapcaster Mage", 5, Rarity.RARE, mage.cards.s.SnapcasterMage.class));
|
||||
cards.add(new SetCardInfo("Thalia, Guardian of Thraben", 3, Rarity.RARE, mage.cards.t.ThaliaGuardianOfThraben.class));
|
||||
|
|
|
@ -8090,6 +8090,7 @@ Fiery Temper|Friday Night Magic|198|U|{1}{R}{R}|Instant|||Fiery Temper deals 3 d
|
|||
Call the Bloodline|Friday Night Magic|199|Special|{1}{B}|Enchantment|||{1}, Discard a card: Create a 1/1 black Vampire Knight creature token with lifelink. Activate this ability only once each turn.|
|
||||
Noose Constrictor|Friday Night Magic|200|Special|{1}{G}|Creature - Snake|2|2|Reach$Discard a card: Noose Constrictor gets +1/+1 until end of turn.|
|
||||
Fortune's Favor|Friday Night Magic|201|Special|{3}{U}|Instant|||Target opponent looks at the top four cards of your library and separates them into a face-down pile and a face-up pile. Put one pile into your hand and the other into your graveyard.|
|
||||
Incendiary Flow|Friday Night Magic|202|Special|{1}{R}|Sorcery|||Incendiary Flow deals 3 damage to target creature or player. If a creature dealt damage this way would die this turn, exile it instead.|
|
||||
Akroma, Angel of Fury|From the Vault: Angels|1|M|{5}{R}{R}{R}|Legendary Creature - Angel|6|6|Akroma, Angel of Fury can't be countered.$Flying, trample, protection from white and from blue${R}: Akroma, Angel of Fury gets +1/+0 until end of turn.$Morph {3}{R}{R}{R} <i>You may cast this card face downn as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)</i>|
|
||||
Akroma, Angel of Wrath|From the Vault: Angels|2|M|{5}{W}{W}{W}|Legendary Creature - Angel|6|6|Flying, first strike, vigilance, trample, haste, protection from black and from red|
|
||||
Archangel of Strife|From the Vault: Angels|3|M|{5}{W}{W}|Creature - Angel|6|6|Flying$As Archangel of Strife enters the battlefield, each player chooses war or peace.$Creatures controlled by players who chose war get +3/+0.$Creatures controlled by players who chose peace get +0/+3.|
|
||||
|
@ -10281,6 +10282,8 @@ Grindstone|Judge Promo|104|R|{1}|Artifact|||{3}, {tap}: Target player puts the t
|
|||
Command Beacon|Judge Promo|105|R||Land|||{tap}: Add {C} to your mana pool.${tap}, Sacrifice Command Beacon: Put your commander into your hand from the command zone.|
|
||||
Defense of the Heart|Judge Promo|106|R|{3}{G}|Enchantment|||At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice Defense of the Heart, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library.|
|
||||
Zur the Enchanter|Judge Promo|107|R|{1}{W}{U}{B}|Legendary Creature - Human Wizard|1|4|Flying$Whenever Zur the Enchanter attacks, you may search your library for an enchantment card with converted mana cost 3 or less and put it onto the battlefield. If you do, shuffle your library.|
|
||||
Mystic Confluence|Judge Promo|108|Special{3}{U}{U}|Instant|||Choose three. You may choose the same mode more than once.$<24> Counter target spell unless its controller pays {3}.$<24> Return target creature to its owner's hand.$<24> Draw a card.|
|
||||
Imperial Seal|Judge Promo|109|Special|{B}|Sorcery|||Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.|
|
||||
Ancestor's Chosen|Judgment|1|U|{5}{W}{W}|Creature - Human Cleric|4|4|First strike <i>(This creature deals combat damage before creatures without first strike.)</i>$When Ancestor's Chosen enters the battlefield, you gain 1 life for each card in your graveyard.|
|
||||
Funeral Pyre|Judgment|10|C|{W}|Instant|||Exile target card from a graveyard. Its owner puts a 1/1 white Spirit creature token with flying onto the battlefield.|
|
||||
Spellgorger Barbarian|Judgment|100|C|{3}{R}|Creature - Human Nightmare Barbarian|3|1|When Spellgorger Barbarian enters the battlefield, discard a card at random.$When Spellgorger Barbarian leaves the battlefield, draw a card.|
|
||||
|
@ -26845,6 +26848,7 @@ Geist of Saint Traft|World Magic Cup Qualifier|2|M|{1}{W}{U{|Legendary Creature
|
|||
Thalia, Guardian of Thraben|World Magic Cup Qualifier|3|R|{1}{W}|Legendary Creature - Human Soldier|2|1|First strike$Noncreature spells cost {1} more to cast.|
|
||||
Liliana of the Veil|World Magic Cup Qualifier|4|M|{1}{B}{B}|Planeswalker - Liliana|||+1: Each player discards a card.$-2: Target player sacrifices a creature.$-6: Separate all permanents target player controls into two piles. That player sacrifices all permanents in the pile of his or her choice.|
|
||||
Snapcaster Mage|World Magic Cup Qualifier|5|R|{1}{U}|Creature - Human Wizard|2|1|Flash$When Snapcaster Mage enters the battlefield, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. <i>(You may cast that card from your graveyard for its flashback cost. Then exile it.)</i>|
|
||||
Inkmoth Nexus|World Magic Cup Qualifier|6|Special||Land|||{tap}: Add {C} to your mana pool.${1}: Blinkmoth Nexus becomes a 1/1 Blinkmoth artifact creature with flying until end of turn. It's still a land.${1}, {tap}: Target Blinkmoth creature gets +1/+1 until end of turn.|
|
||||
Abrupt Decay|World Magic Cup Qualifier|6|R|{B}{G}|Instant|||Abrupt Decay can't be countered by spells or abilities.$Destroy target nonland permanent with converted mana cost 3 or less.|
|
||||
Admonition Angel|Worldwake|1|M|{3}{W}{W}{W}|Creature - Angel|6|6|Flying$Landfall - Whenever a land enters the battlefield under your control, you may exile target nonland permanent other than Admonition Angel.$When Admonition Angel leaves the battlefield, return all cards exiled with it to the battlefield under their owners' control.|
|
||||
Kitesail Apprentice|Worldwake|10|C|{W}|Creature - Kor Soldier|1|1|As long as Kitesail Apprentice is equipped, it gets +1/+1 and has flying.|
|
||||
|
|
Loading…
Reference in a new issue