[DTK] Updated mtg-cards-data.txt for 3/11 spoilers. Added Icefall Regent.

This commit is contained in:
fireshoes 2015-03-11 23:47:39 -05:00
parent 833123a1cb
commit 35d26a6dac
2 changed files with 243 additions and 0 deletions

View file

@ -0,0 +1,239 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.sets.dragonsoftarkir;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.SpellAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.effects.common.cost.CostModificationEffectImpl;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.CostModificationType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.PhaseStep;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.constants.WatcherScope;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import static mage.filter.predicate.permanent.ControllerControlsIslandPredicate.filter;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
import mage.util.CardUtil;
import mage.watchers.Watcher;
/**
*
* @author fireshoes
*/
public class IcefallRegent extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls");
static {
filter.add(new ControllerPredicate(TargetController.OPPONENT));
}
public IcefallRegent(UUID ownerId) {
super(ownerId, 58, "Icefall Regent", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{U}{U}");
this.expansionSetCode = "DTK";
this.subtype.add("Dragon");
this.power = new MageInt(4);
this.toughness = new MageInt(3);
// Flying
this.addAbility(FlyingAbility.getInstance());
// When Icefall Regent enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controller's untap step for as long as you control Icefall Regent.
Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), false);
ability.addEffect(new IcefallRegentEffect());
Target target = new TargetCreaturePermanent(filter);
ability.addTarget(target);
this.addAbility(ability, new IcefallRegentWatcher());
// Spells your opponents cast that target Icefall Regent cost {2} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IcefallRegentCostIncreaseEffect()));
}
public IcefallRegent(final IcefallRegent card) {
super(card);
}
@Override
public IcefallRegent copy() {
return new IcefallRegent(this);
}
}
class IcefallRegentEffect extends ContinuousRuleModifyingEffectImpl {
public IcefallRegentEffect() {
super(Duration.Custom, Outcome.Detriment, false, false);
this.staticText = "That creature doesn't untap during its controller's untap step for as long as you control {this}";
}
public IcefallRegentEffect(final IcefallRegentEffect effect) {
super(effect);
}
@Override
public IcefallRegentEffect copy() {
return new IcefallRegentEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
return false;
}
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
// Source must be on the battlefield (it's neccessary to check here because if as response to the enter
// the battlefield triggered ability the source dies (or will be exiled), then the ZONE_CHANGE or LOST_CONTROL
// event will happen before this effect is applied ever)
Permanent sourcePermanent = game.getPermanent(source.getSourceId());
if (sourcePermanent == null || !sourcePermanent.getControllerId().equals(source.getControllerId())) {
this.used = true;
return false;
}
if (event.getType() == GameEvent.EventType.LOST_CONTROL) {
if (event.getTargetId().equals(source.getSourceId())) {
discard();
return false;
}
}
if (event.getType() == GameEvent.EventType.ZONE_CHANGE && event.getTargetId().equals(source.getSourceId())) {
ZoneChangeEvent zEvent = (ZoneChangeEvent)event;
if (zEvent.getFromZone() == Zone.BATTLEFIELD) {
discard();
return false;
}
}
if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getType() == GameEvent.EventType.UNTAP) {
if (event.getTargetId().equals(targetPointer.getFirst(game, source))) {
return true;
}
}
return false;
}
}
class IcefallRegentWatcher extends Watcher {
IcefallRegentWatcher () {
super("ControlLost", WatcherScope.CARD);
}
IcefallRegentWatcher(IcefallRegentWatcher watcher) {
super(watcher);
}
@Override
public void watch(GameEvent event, Game game) {
if (event.getType() == GameEvent.EventType.LOST_CONTROL && event.getPlayerId().equals(controllerId) && event.getTargetId().equals(sourceId)) {
condition = true;
game.replaceEvent(event);
return;
}
if (event.getType() == GameEvent.EventType.ZONE_CHANGE && event.getTargetId().equals(sourceId)) {
ZoneChangeEvent zEvent = (ZoneChangeEvent)event;
if (zEvent.getFromZone() == Zone.BATTLEFIELD) {
condition = true;
game.replaceEvent(event);
}
}
}
@Override
public void reset() {
//don't reset condition each turn - only when this leaves the battlefield
}
@Override
public IcefallRegentWatcher copy() {
return new IcefallRegentWatcher(this);
}
}
class IcefallRegentCostIncreaseEffect extends CostModificationEffectImpl {
private static final String effectText = "Spells your opponents cast that target Icefall Regent cost {2} more to cast";
IcefallRegentCostIncreaseEffect() {
super(Duration.WhileOnBattlefield, Outcome.Benefit, CostModificationType.INCREASE_COST);
staticText = effectText;
}
IcefallRegentCostIncreaseEffect(IcefallRegentCostIncreaseEffect effect) {
super(effect);
}
@Override
public boolean apply(Game game, Ability source, Ability abilityToModify) {
SpellAbility spellAbility = (SpellAbility) abilityToModify;
CardUtil.adjustCost(spellAbility, -2);
return true;
}
@Override
public boolean applies(Ability abilityToModify, Ability source, Game game) {
if (abilityToModify instanceof SpellAbility) {
if (game.getOpponents(source.getControllerId()).contains(abilityToModify.getControllerId())) {
for (Target target :abilityToModify.getTargets()) {
for (UUID targetUUID :target.getTargets()) {
if (targetUUID.equals(source.getSourceId())) {
return true;
}
}
}
}
}
return false;
}
@Override
public IcefallRegentCostIncreaseEffect copy() {
return new IcefallRegentCostIncreaseEffect(this);
}
}

View file

@ -25679,6 +25679,7 @@ Profound Journey|Dragons of Tarkir|30|R|{5}{W}{W}|Sorcery|||Return target perman
Radiant Purge|Dragons of Tarkir|31|R|{1}{W}|Instant|||Exile target multicolored creature or multicolored enchantment.|
Sandcrafter Mage|Dragons of Tarkir|33|C|{2}{W}|Creature - Human Wizard|2|2|When Sandcrafter Mage enters the battlefield, bolster 1 <i>(Choose a creature with the least toughness among the creatures you control and put a +1/+1 counter on it.)</i>|
Shieldhide Dragon|Dragons of Tarkir|37|U|{5}{W}|Creature - Dragon|3|3|Flying, lifelink$Megamorph {5}{W}{W} <i>You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)</i>$When Shieldhide Dragon is turned face up, put a +1/+1 counter on each other Dragon you control.|
Silkwrap|Dragons of Tarkir|38|U|{1}{W}|Enchantment|||When Silkwrap enters the battlefield, exile target creature with converted mana cost 3 or less an opponent controls until Silkwrap leaves the battlefield. <i>(That creature returns under its owner's control.)</i>|
Sunscorch Regent|Dragons of Tarkir|41|R|{3}{W}{W}|Creature - Dragon|4|3|Flying$Whenever an opponent casts a spell, put a +1/+1 counter on Sunscorch Regent and you gain 1 life.|
Surge of Righteousness|Dragons of Tarkir|42|U|{1}{W}|Instant|||Destroy target black or red creature that's attacking or blocking. You gain 2 life.|
Anticipate|Dragons of Tarkir|45|C|{1}{U}|Instant|||Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order.|
@ -25686,6 +25687,7 @@ Belltoll Dragon|Dragons of Tarkir|46|U|{5}{U}|Creature - Dragon|3|3|Flying, hexp
Dragonlord's Prerogative|Dragons of Tarkir|52|R|{4}{U}{U}|Instant||As an additional cost to cast Dragonlord's Prerogative, you may reveal a Dragon card from your hand.$If you reveal a Dragon card or controlled a Dragon as you cast Dragonlord's Prerogative, Dragonlord's Prerogative can't be countered.$Draw four cards.|
Encase in Ice|Dragons of Tarkir|54|U|{1}{U}|Enchantment - Aura|||Flash$Enchant red or green creature$When Encase in Ice enters the battlefield, tap enchanted creature.$Enchanted creature doesn't untap during its controller's untap step.|
Gudul Lurker|Dragons of Tarkir|56|U|{U}|Creature - Salamander|1|1|Gudul Lurker can't be blocked.$Megamorph {U} <i>(You may cast this card face down as a 2/2 creature for {3}. Turn it up anytime for its megamorph cost and put a +1/+1 counter on it.)</i>|
Icefall Regent|Dragons of Tarkir|58|R|{3}{U}{U}|Creature - Dragon|4|3|Flying$When Icefall Regent enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controller's untap step for as long as you control Icefall Regent.$Spells your opponents cast that target Icefall Regent cost {2} more to cast.|
Mirror Mockery|Dragons of Tarkir|62|R|{1}{U}|Enchantment - Aura|||Enchant creature$Whenever enchanted creature attacks, you may put a token onto the battlefield that's a copy of that creature. Exile that token at the end of combat.|
Ojutai's Summons|Dragons of Tarkir|68|C|{3}{U}{U}|Sorcery|||Put a 2/2 blue Djinn Monk creature token with flying onto the battlefield.$Rebound <i>(If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)</i>|
Qarsi Deceiver|Dragons of Tarkir|71|U|{1}{U}|Creature - Naga Wizard|0|4|{T}: Add {1} to your mana pool. Spend this mana only to cast a face-down creature spell, pay a mana cost to turn a manifested creature face up, or pay a morph cost. <i.(A megamorph cost is a morph cost.)</i>|
@ -25694,6 +25696,7 @@ Silumgar's Scorn|Dragtons of Tarkir|78|U|{U}{U}|Instant|||As an additional cost
Stratus Dancer|Dragons of Tarkir|80|R|{1}{U}|Creature - Djinn Monk|2|1|Flying$Megamorph {1}{U} <i>You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time from its megamorph cost and put a +1/+1 counter on it.)</i>|
Acid-Spewer Dragon|Dragons of Tarkir|86|U|{5}{B}|Creature - Dragon|3|3|Flying, deathtouch$Megamorph {5}{B}{B} <i>(You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)</i>$When Acid-Spewer Dragon is turned face up, put a +1/+1 counter on each other Dragon creature you control.|
Blood-Chin Fanatic|Dragons of Tarkir|88|R|{1}{B}{B}|Creature - Orc Warrior|3|3|{1}{B}, Sacrifice another Warrior creature: Target player loses X life and you gain X life, where X is the sacrificed creature's power.|
Damnable Pact|Dragons of Tarkir|93|R|{X}{B}{B}|Sorcery|||Target player draws X cards and loses X life.|
Deathbringer Regent|Dragons of Tarkir|96|R|{5}{B}{B}|Creature - Dragon|5|6|Flying$When Deathbringer Regent enters the battlefield, if you cast it from your hand and there are five or more other creatures on the battlefield, destroy all other creatures.|
Duress|Dragons of Tarkir|98|C|{B}|Sorcery|||Target opponent reveals his or her hand. You choose a noncreature, nonland card from it. That player discards that card.|
Hedonist's Trove|Dragons of Tarkir|106|R|{5}{B}{B}|Enchantment|||When Hdeonist's Trove enters the battlefield, exile all cards in target opponent's graveyard.$You may play land cards exiled by Hedonist's Trove.$once per turn, you may cast a nonland card exiled by Hedonist's Trove.|
@ -25724,6 +25727,7 @@ Thunderbreak Regent|Dragons of Tarkir|162|R|{2}{R}{R}|Creature - Dragon|4|4|Flyi
Warbringer|Dragons of Tarkir|168|U|{3}{R}|Creature - Orc Berserker|3|3|Dash costs you pay cost {2} less <i>(as long as this creature is on the battlefield)</i>.$Dash {2}{R} <i>(You may cast this spell for its dash cost. If you do, it gains haste, and it's returned from the battlefield to its owner's hand at the beginning of the next end step.)</i>|
Zurgo Bellstriker|Dragons of Tarkir|169|R|{R}|Legendary Creature - Orc Warrior|2|2|Zurgo Bellstriker can't block creatures with power 2 or greater.$Dash {1}{R} <i>You may cast this creature for its dash cost. If you do, it gains haste, and it's returned to its owner's hand at the beginning of the next end step.)</i>|
Aerie Bowmasters|Dragons of Tarkir|170|C|{2}|{G}{G}|Creature - Hound Archer|Reach <i>(This creature can block creatures with flying.)</i>$Megamorph {5}{G} <i>(You may cast this card face down as a 2/2 creature for {3}. Turn it face up at any time for its megamorph cost and put a +1/+1 counter on it.)</i>|
Ainok Survivalist|Dragons of Tarkir|172|U|{1}{G}|Creature - Hound Shaman|2|1|Megamorph {1}{G} <i>(You may cast this card face down for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)</i>$When Ainok Survivalist is turned face up, destroy target artifact or enchantment an opponent controls.|
Assault Formation|Dragons of Tarkir|173|R|{1}{G}|Enchantment|||Each creature you control assigns combat damage equal to its toughness rather than its power.${G}: Target creature with defender can attack this turn as though it didn't have defender.${2}{G}: Creatures you control get +0/+1 until end of turn.|
Avatar of the Resolute|Dragons of Tarkir|175|R|{G}{G}|Creature - Avatar|3|2|Reach, trample$Avatar of the Resolute enters the battlefield with a +1/+1 counter on it for each other creature you control with a +1/+1 counter on it.|
Collected Company|Dragons of Tarkir|177|R|{3}{G}|Instant|||Look at the top six cards of your library. Put up to two creature cards with converted mana cost 3 or less from among them onto the battlefield. Put the rest on the bottom of your library in any order.|