* Some changes to tooltip texts.

This commit is contained in:
LevelX2 2014-04-12 22:23:46 +02:00
parent 50e82ef930
commit bc0bd754dd
6 changed files with 30 additions and 14 deletions

View file

@ -44,6 +44,7 @@ import mage.filter.FilterPermanent;
import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
/** /**
@ -98,8 +99,10 @@ class FlickerwispEffect extends OneShotEffect<FlickerwispEffect> {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getFirstTarget()); Permanent permanent = game.getPermanent(source.getFirstTarget());
if (permanent != null) { Player controller = game.getPlayer(source.getControllerId());
if (permanent.moveToExile(source.getSourceId(), "Flickerwisp Exile", source.getId(), game)) { Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(source.getSourceId());
if (controller != null && permanent != null && sourcePermanent != null) {
if (controller.moveCardToExileWithInfo(permanent, source.getSourceId(), sourcePermanent.getName(), source.getSourceId(), game, Zone.BATTLEFIELD)) {
//create delayed triggered ability //create delayed triggered ability
AtEndOfTurnDelayedTriggeredAbility delayedAbility = new AtEndOfTurnDelayedTriggeredAbility(new ReturnFromExileEffect(source.getSourceId(), Zone.BATTLEFIELD, false)); AtEndOfTurnDelayedTriggeredAbility delayedAbility = new AtEndOfTurnDelayedTriggeredAbility(new ReturnFromExileEffect(source.getSourceId(), Zone.BATTLEFIELD, false));
delayedAbility.setSourceId(source.getSourceId()); delayedAbility.setSourceId(source.getSourceId());

View file

@ -49,7 +49,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
* @author Loki * @author Loki
*/ */
public class LordOfLineage extends CardImpl<LordOfLineage> { public class LordOfLineage extends CardImpl<LordOfLineage> {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Other Vampire creatures");
static { static {
filter.add(new SubtypePredicate("Vampire")); filter.add(new SubtypePredicate("Vampire"));
@ -71,7 +71,6 @@ public class LordOfLineage extends CardImpl<LordOfLineage> {
// Other Vampire creatures you control get +2/+2. // Other Vampire creatures you control get +2/+2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, filter, true))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, filter, true)));
// {tap}: Put a 2/2 black Vampire creature token with flying onto the battlefield. // {tap}: Put a 2/2 black Vampire creature token with flying onto the battlefield.
// {tap}: Put a 2/2 black Vampire creature token with flying onto the battlefield.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new VampireToken()), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new VampireToken()), new TapSourceCost()));
} }

View file

@ -43,7 +43,7 @@ import mage.filter.predicate.mageobject.CardTypePredicate;
*/ */
public class KruphixsInsight extends CardImpl<KruphixsInsight> { public class KruphixsInsight extends CardImpl<KruphixsInsight> {
private static final FilterCard filter = new FilterCard("enchantment cards"); private static final FilterCard filter = new FilterCard("up to three enchantment cards");
static { static {
filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); filter.add(new CardTypePredicate(CardType.ENCHANTMENT));

View file

@ -38,6 +38,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.VariableManaCost; import mage.abilities.costs.mana.VariableManaCost;
import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continious.GainAbilityAllEffect; import mage.abilities.effects.common.continious.GainAbilityAllEffect;
import mage.abilities.effects.common.continious.SetPowerToughnessAllEffect; import mage.abilities.effects.common.continious.SetPowerToughnessAllEffect;
import mage.abilities.keyword.ChangelingAbility; import mage.abilities.keyword.ChangelingAbility;
@ -50,6 +51,8 @@ import mage.filter.common.FilterControlledCreaturePermanent;
*/ */
public class MirrorEntity extends CardImpl<MirrorEntity> { public class MirrorEntity extends CardImpl<MirrorEntity> {
static private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Creatures you control");
public MirrorEntity(UUID ownerId) { public MirrorEntity(UUID ownerId) {
super(ownerId, 31, "Mirror Entity", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{W}"); super(ownerId, 31, "Mirror Entity", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{W}");
this.expansionSetCode = "LRW"; this.expansionSetCode = "LRW";
@ -62,9 +65,13 @@ public class MirrorEntity extends CardImpl<MirrorEntity> {
// Changeling // Changeling
this.addAbility(ChangelingAbility.getInstance()); this.addAbility(ChangelingAbility.getInstance());
// {X}: Creatures you control become X/X and gain all creature types until end of turn. // {X}: Creatures you control become X/X and gain all creature types until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ChangelingAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures you control")),new VariableManaCost());
DynamicValue variableMana = new ManacostVariableValue(); DynamicValue variableMana = new ManacostVariableValue();
ability.addEffect(new SetPowerToughnessAllEffect(variableMana, variableMana, Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures you control"), true)); Effect effect = new SetPowerToughnessAllEffect(variableMana, variableMana, Duration.EndOfTurn, filter, true);
effect.setText("Creatures you control become X/X");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new VariableManaCost());
effect = new GainAbilityAllEffect(ChangelingAbility.getInstance(), Duration.EndOfTurn, filter);
effect.setText("and gain all creature types until end of turn");
ability.addEffect(effect);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -64,7 +64,7 @@ public class ExileCardYouChooseTargetOpponentEffect extends OneShotEffect<ExileC
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getFirstTarget()); Player player = game.getPlayer(source.getFirstTarget());
if (player != null) { if (player != null && !player.getHand().isEmpty()) {
player.revealCards("Exile " + filter.getMessage(), player.getHand(), game); player.revealCards("Exile " + filter.getMessage(), player.getHand(), game);
Player you = game.getPlayer(source.getControllerId()); Player you = game.getPlayer(source.getControllerId());
if (you != null) { if (you != null) {
@ -73,7 +73,7 @@ public class ExileCardYouChooseTargetOpponentEffect extends OneShotEffect<ExileC
if (you.choose(Outcome.Benefit, player.getHand(), target, game)) { if (you.choose(Outcome.Benefit, player.getHand(), target, game)) {
Card card = player.getHand().get(target.getFirstTarget(), game); Card card = player.getHand().get(target.getFirstTarget(), game);
if (card != null) { if (card != null) {
card.moveToExile(null, null , source.getSourceId(), game); player.moveCardToExileWithInfo(card, null, null, source.getSourceId(), game, Zone.HAND);
} }
} }
} }

View file

@ -29,13 +29,17 @@
package mage.abilities.effects.common; package mage.abilities.effects.common;
import java.util.UUID; import java.util.UUID;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.Card; import mage.cards.Card;
import mage.constants.Outcome;
import mage.constants.Zone;
import static mage.constants.Zone.BATTLEFIELD;
import static mage.constants.Zone.GRAVEYARD;
import static mage.constants.Zone.HAND;
import mage.game.ExileZone; import mage.game.ExileZone;
import mage.game.Game; import mage.game.Game;
import mage.players.Player;
/** /**
* *
@ -79,11 +83,13 @@ public class ReturnFromExileEffect extends OneShotEffect<ReturnFromExileEffect>
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
ExileZone exile = game.getExile().getExileZone(exileId); ExileZone exile = game.getExile().getExileZone(exileId);
if (exile != null) { Player controller = game.getPlayer(source.getControllerId());
if (controller != null && exile != null) {
exile = exile.copy(); exile = exile.copy();
for (UUID cardId: exile) { for (UUID cardId: exile) {
Card card = game.getCard(cardId); Card card = game.getCard(cardId);
card.moveToZone(zone, source.getId(), game, tapped); card.moveToZone(zone, source.getSourceId(), game, tapped);
game.informPlayers(new StringBuilder(controller.getName()).append(" moves ").append(card.getName()).append(" to ").append(zone.toString()).toString());
} }
game.getExile().getExileZone(exileId).clear(); game.getExile().getExileZone(exileId).clear();
return true; return true;
@ -97,8 +103,9 @@ public class ReturnFromExileEffect extends OneShotEffect<ReturnFromExileEffect>
switch(zone) { switch(zone) {
case BATTLEFIELD: case BATTLEFIELD:
sb.append("to the battlefield under its owner's control"); sb.append("to the battlefield under its owner's control");
if (tapped) if (tapped) {
sb.append(" tapped"); sb.append(" tapped");
}
break; break;
case HAND: case HAND:
sb.append("to their owner's hand"); sb.append("to their owner's hand");