mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
* Some changes to tooltip texts.
This commit is contained in:
parent
50e82ef930
commit
bc0bd754dd
6 changed files with 30 additions and 14 deletions
|
@ -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());
|
||||||
|
|
|
@ -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()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Reference in a new issue