mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
Some minor fixes to tooltip texts.
This commit is contained in:
parent
98bfd16680
commit
15b08c110e
6 changed files with 48 additions and 26 deletions
|
|
@ -28,6 +28,7 @@
|
||||||
package mage.sets.innistrad;
|
package mage.sets.innistrad;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
|
|
@ -51,8 +52,12 @@ public class RangersGuile extends CardImpl {
|
||||||
|
|
||||||
// Target creature you control gets +1/+1 and gains hexproof until end of turn.
|
// Target creature you control gets +1/+1 and gains hexproof until end of turn.
|
||||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn));
|
Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn);
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HexproofAbility.getInstance(), Duration.EndOfTurn));
|
effect.setText("Target creature you control gets +1/+1");
|
||||||
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
effect = new GainAbilityTargetEffect(HexproofAbility.getInstance(), Duration.EndOfTurn);
|
||||||
|
effect.setText("and gains hexproof until end of turn");
|
||||||
|
this.getSpellAbility().addEffect(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RangersGuile(final RangersGuile card) {
|
public RangersGuile(final RangersGuile card) {
|
||||||
|
|
|
||||||
|
|
@ -29,19 +29,20 @@
|
||||||
package mage.sets.magic2010;
|
package mage.sets.magic2010;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.abilities.LoyaltyAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
|
import mage.abilities.effects.Effects;
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.UntapTargetEffect;
|
||||||
|
import mage.abilities.effects.common.continious.BoostControlledEffect;
|
||||||
|
import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
|
||||||
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.abilities.LoyaltyAbility;
|
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
|
||||||
import mage.abilities.effects.Effects;
|
|
||||||
import mage.abilities.effects.common.continious.BoostControlledEffect;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
|
||||||
import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
|
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
|
||||||
import mage.abilities.effects.common.UntapTargetEffect;
|
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
|
||||||
import mage.cards.CardImpl;
|
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.permanent.token.BeastToken;
|
import mage.game.permanent.token.BeastToken;
|
||||||
|
|
@ -60,18 +61,25 @@ public class GarrukWildspeaker extends CardImpl {
|
||||||
this.expansionSetCode = "M10";
|
this.expansionSetCode = "M10";
|
||||||
this.subtype.add("Garruk");
|
this.subtype.add("Garruk");
|
||||||
this.color.setGreen(true);
|
this.color.setGreen(true);
|
||||||
|
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||||
|
|
||||||
|
// +1: Untap two target lands.
|
||||||
LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
||||||
ability1.addTarget(new TargetLandPermanent(2));
|
ability1.addTarget(new TargetLandPermanent(2));
|
||||||
this.addAbility(ability1);
|
this.addAbility(ability1);
|
||||||
|
|
||||||
|
// −1: Put a 3/3 green Beast creature token onto the battlefield.
|
||||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(beastToken), -1));
|
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(beastToken), -1));
|
||||||
|
|
||||||
|
// −4: Creatures you control get +3/+3 and gain trample until end of turn.
|
||||||
Effects effects1 = new Effects();
|
Effects effects1 = new Effects();
|
||||||
effects1.add(new BoostControlledEffect(3, 3, Duration.EndOfTurn));
|
Effect effect = new BoostControlledEffect(3, 3, Duration.EndOfTurn);
|
||||||
effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()));
|
effect.setText("Creatures you control get +3/+3");
|
||||||
|
effects1.add(effect);
|
||||||
|
effect = new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent());
|
||||||
|
effect.setText("and gain trample until end of turn");
|
||||||
|
effects1.add(effect);
|
||||||
this.addAbility(new LoyaltyAbility(effects1, -4));
|
this.addAbility(new LoyaltyAbility(effects1, -4));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,9 +64,16 @@ public class ProteanHydra extends CardImpl {
|
||||||
this.power = new MageInt(0);
|
this.power = new MageInt(0);
|
||||||
this.toughness = new MageInt(0);
|
this.toughness = new MageInt(0);
|
||||||
|
|
||||||
|
|
||||||
|
// Protean Hydra enters the battlefield with X +1/+1 counters on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ProteanHydraEffect1(), "with X +1/+1 counters on it"));
|
this.addAbility(new EntersBattlefieldAbility(new ProteanHydraEffect1(), "with X +1/+1 counters on it"));
|
||||||
this.addAbility(new ProteanHydraAbility());
|
|
||||||
|
// If damage would be dealt to Protean Hydra, prevent that damage and remove that many +1/+1 counters from it.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ProteanHydraEffect2()));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ProteanHydraEffect2()));
|
||||||
|
|
||||||
|
// Whenever a +1/+1 counter is removed from Protean Hydra, put two +1/+1 counters on it at the beginning of the next end step.
|
||||||
|
this.addAbility(new ProteanHydraAbility());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProteanHydra(final ProteanHydra card) {
|
public ProteanHydra(final ProteanHydra card) {
|
||||||
|
|
@ -115,11 +122,11 @@ public class ProteanHydra extends CardImpl {
|
||||||
|
|
||||||
public ProteanHydraEffect2() {
|
public ProteanHydraEffect2() {
|
||||||
super(Duration.WhileOnBattlefield);
|
super(Duration.WhileOnBattlefield);
|
||||||
|
staticText = "If damage would be dealt to {this}, prevent that damage and remove that many +1/+1 counters from it";
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProteanHydraEffect2(final ProteanHydraEffect2 effect) {
|
public ProteanHydraEffect2(final ProteanHydraEffect2 effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
staticText = "If damage would be dealt to {this}, prevent that damage and remove that many +1/+1 counters from it";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -100,18 +100,18 @@ class HoardingDragonEffect extends OneShotEffect {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Player player = game.getPlayer(source.getControllerId());
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
if (player != null) {
|
if (controller != null) {
|
||||||
TargetCardInLibrary target = new TargetCardInLibrary(new FilterArtifactCard());
|
TargetCardInLibrary target = new TargetCardInLibrary(new FilterArtifactCard());
|
||||||
if (player.searchLibrary(target, game)) {
|
if (controller.searchLibrary(target, game)) {
|
||||||
if (target.getTargets().size() > 0) {
|
if (target.getTargets().size() > 0) {
|
||||||
Card card = player.getLibrary().getCard(target.getFirstTarget(), game);
|
Card card = controller.getLibrary().getCard(target.getFirstTarget(), game);
|
||||||
if (card != null) {
|
if (card != null) {
|
||||||
card.moveToExile(exileId, "Hoarding Dragon", source.getSourceId(), game);
|
controller.moveCardToExileWithInfo(card, exileId, "Hoarding Dragon", source.getSourceId(), game, Zone.LIBRARY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.shuffleLibrary(game);
|
controller.shuffleLibrary(game);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
|
|
@ -53,7 +54,7 @@ public class LifesLegacy extends CardImpl {
|
||||||
this.color.setGreen(true);
|
this.color.setGreen(true);
|
||||||
|
|
||||||
// As an additional cost to cast Life's Legacy, sacrifice a creature.
|
// As an additional cost to cast Life's Legacy, sacrifice a creature.
|
||||||
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent()));
|
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("a creature"))));
|
||||||
// Draw cards equal to the sacrificed creature's power.
|
// Draw cards equal to the sacrificed creature's power.
|
||||||
this.getSpellAbility().addEffect(new LifesLegacyEffect());
|
this.getSpellAbility().addEffect(new LifesLegacyEffect());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,8 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|
||||||
|| ruleLow.startsWith("destroy")
|
|| ruleLow.startsWith("destroy")
|
||||||
|| ruleLow.startsWith("return")
|
|| ruleLow.startsWith("return")
|
||||||
|| ruleLow.startsWith("tap")
|
|| ruleLow.startsWith("tap")
|
||||||
|| ruleLow.startsWith("untap")) {
|
|| ruleLow.startsWith("untap")
|
||||||
|
|| ruleLow.startsWith("put")) {
|
||||||
sb.append("you may ");
|
sb.append("you may ");
|
||||||
} else {
|
} else {
|
||||||
if (!ruleLow.startsWith("its controller may")) {
|
if (!ruleLow.startsWith("its controller may")) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue