updated oracle changes

This commit is contained in:
Evan Kranzler 2018-09-28 11:21:17 -04:00
parent 48a1386b8f
commit 33beb8245e
6 changed files with 28 additions and 44 deletions

View file

@ -1,7 +1,6 @@
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.MageObject; import mage.MageObject;
import mage.ObjectColor; import mage.ObjectColor;
@ -13,13 +12,7 @@ import mage.abilities.effects.OneShotEffect;
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.SubType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.FilterPlayer;
import mage.filter.FilterSpell; import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.ExileZone; import mage.game.ExileZone;
@ -31,8 +24,9 @@ import mage.players.Player;
import mage.target.TargetPlayer; import mage.target.TargetPlayer;
import mage.util.CardUtil; import mage.util.CardUtil;
import java.util.UUID;
/** /**
*
* @author LevelX2 * @author LevelX2
*/ */
public final class CircuDimirLobotomist extends CardImpl { public final class CircuDimirLobotomist extends CardImpl {
@ -54,16 +48,16 @@ public final class CircuDimirLobotomist extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// 10/1/2005 The first two abilities target libraries, not players.
// Target Library not supported yet - used as workaround target player
// Whenever you cast a blue spell, exile the top card of target library. // Whenever you cast a blue spell, exile the top card of target library.
Ability ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlue, false); Ability ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlue, false);
ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
// Whenever you cast a black spell, exile the top card of target library. // Whenever you cast a black spell, exile the top card of target library.
ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlack, false); ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlack, false);
ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
// Your opponents can't cast nonland cards with the same name as a card exiled with Circu, Dimir Lobotomist. // Your opponents can't cast nonland cards with the same name as a card exiled with Circu, Dimir Lobotomist.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CircuDimirLobotomistRuleModifyingEffect())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CircuDimirLobotomistRuleModifyingEffect()));
} }
@ -82,7 +76,7 @@ class CircuDimirLobotomistEffect extends OneShotEffect {
public CircuDimirLobotomistEffect() { public CircuDimirLobotomistEffect() {
super(Outcome.Detriment); super(Outcome.Detriment);
this.staticText = "exile the top card of target library"; this.staticText = "exile the top card of target player's library";
} }
public CircuDimirLobotomistEffect(final CircuDimirLobotomistEffect effect) { public CircuDimirLobotomistEffect(final CircuDimirLobotomistEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.k; package mage.cards.k;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -12,11 +11,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.cards.Cards; import mage.cards.Cards;
import mage.cards.CardsImpl; import mage.cards.CardsImpl;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.FaceDownPredicate; import mage.filter.predicate.other.FaceDownPredicate;
import mage.filter.predicate.permanent.ControllerPredicate; import mage.filter.predicate.permanent.ControllerPredicate;
@ -25,21 +20,22 @@ import mage.game.permanent.Permanent;
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
*/ */
public final class KeeperOfTheLens extends CardImpl { public final class KeeperOfTheLens extends CardImpl {
public KeeperOfTheLens(UUID ownerId, CardSetInfo setInfo) { public KeeperOfTheLens(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}");
this.subtype.add(SubType.GOLEM); this.subtype.add(SubType.GOLEM);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// You may look at face-down creatures you don't control. // You may look at face-down creatures you don't control.
// TODO: this should be a static abilitie and not use activated abilities (because it could than be restriced) // TODO: this should be a static abilitie and not use activated abilities (because it could than be restriced)
this.addAbility(new KeeperOfTheLensLookFaceDownAbility()); this.addAbility(new KeeperOfTheLensLookFaceDownAbility());
} }
public KeeperOfTheLens(final KeeperOfTheLens card) { public KeeperOfTheLens(final KeeperOfTheLens card) {
@ -82,7 +78,7 @@ class KeeperOfTheLensLookFaceDownEffect extends OneShotEffect {
public KeeperOfTheLensLookFaceDownEffect() { public KeeperOfTheLensLookFaceDownEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);
this.staticText = "You may look at face-down creatures you don't control"; this.staticText = "You may look at face-down creatures you don't control any time";
} }
public KeeperOfTheLensLookFaceDownEffect(final KeeperOfTheLensLookFaceDownEffect effect) { public KeeperOfTheLensLookFaceDownEffect(final KeeperOfTheLensLookFaceDownEffect effect) {
@ -96,7 +92,7 @@ class KeeperOfTheLensLookFaceDownEffect extends OneShotEffect {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
Player controller= game.getPlayer(source.getControllerId()); Player controller = game.getPlayer(source.getControllerId());
MageObject mageObject = game.getObject(source.getSourceId()); MageObject mageObject = game.getObject(source.getSourceId());
if (controller == null || mageObject == null) { if (controller == null || mageObject == null) {
return false; return false;

View file

@ -1,7 +1,6 @@
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -17,6 +16,8 @@ import mage.constants.*;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* @author rscoates * @author rscoates
*/ */
@ -50,7 +51,7 @@ class PrecognitionFieldTopCardRevealedEffect extends ContinuousEffectImpl {
public PrecognitionFieldTopCardRevealedEffect() { public PrecognitionFieldTopCardRevealedEffect() {
super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit);
staticText = "You may look at the top card of your library. (You may do this at any time.)"; staticText = "You may look at the top card of your library any time.";
} }
public PrecognitionFieldTopCardRevealedEffect(final PrecognitionFieldTopCardRevealedEffect effect) { public PrecognitionFieldTopCardRevealedEffect(final PrecognitionFieldTopCardRevealedEffect effect) {

View file

@ -73,7 +73,7 @@ class SphinxOfJwarIsleEffect extends OneShotEffect {
public SphinxOfJwarIsleEffect() { public SphinxOfJwarIsleEffect() {
super(Outcome.Neutral); super(Outcome.Neutral);
this.staticText = "You may look at the top card of your library"; this.staticText = "You may look at the top card of your library any time";
} }
public SphinxOfJwarIsleEffect(final SphinxOfJwarIsleEffect effect) { public SphinxOfJwarIsleEffect(final SphinxOfJwarIsleEffect effect) {

View file

@ -1,7 +1,6 @@
package mage.cards.t; package mage.cards.t;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
@ -24,8 +23,9 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetNonlandPermanent; import mage.target.common.TargetNonlandPermanent;
import java.util.UUID;
/** /**
*
* @author LevelX2 * @author LevelX2
*/ */
public final class TeferiHeroOfDominaria extends CardImpl { public final class TeferiHeroOfDominaria extends CardImpl {
@ -38,10 +38,11 @@ public final class TeferiHeroOfDominaria extends CardImpl {
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
// +1: Draw a card. At the beginning of the next end step, untap two lands. // +1: Draw a card. At the beginning of the next end step, untap up to two lands.
LoyaltyAbility ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), 1); LoyaltyAbility ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), 1);
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility( DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(
new UntapLandsEffect(2, false)); new UntapLandsEffect(2)
);
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(delayedAbility)); ability.addEffect(new CreateDelayedTriggeredAbilityEffect(delayedAbility));
this.addAbility(ability); this.addAbility(ability);

View file

@ -1,7 +1,6 @@
package mage.cards.v; package mage.cards.v;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -12,21 +11,14 @@ import mage.abilities.effects.ContinuousEffectImpl;
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.AsThoughEffectType; import mage.constants.*;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.ManaType;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.players.ManaPoolItem; import mage.players.ManaPoolItem;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
*
* @author jeffwadsworth * @author jeffwadsworth
*/ */
public final class VizierOfTheMenagerie extends CardImpl { public final class VizierOfTheMenagerie extends CardImpl {
@ -63,7 +55,7 @@ class VizierOfTheMenagerieTopCardRevealedEffect extends ContinuousEffectImpl {
public VizierOfTheMenagerieTopCardRevealedEffect() { public VizierOfTheMenagerieTopCardRevealedEffect() {
super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit);
staticText = "You may look at the top card of your library. (You may do this at any time.)"; staticText = "You may look at the top card of your library any time";
} }
public VizierOfTheMenagerieTopCardRevealedEffect(final VizierOfTheMenagerieTopCardRevealedEffect effect) { public VizierOfTheMenagerieTopCardRevealedEffect(final VizierOfTheMenagerieTopCardRevealedEffect effect) {