Various small card fixes for Amonkhet.

This commit is contained in:
Mark Langen 2017-04-16 23:23:48 -06:00
parent e2f39b289b
commit d1816428ea
7 changed files with 27 additions and 13 deletions

View file

@ -79,14 +79,25 @@ class ApproachOfTheSecondSunEffect extends OneShotEffect {
for (int i = 0; i < 6 && controller.getLibrary().hasCards(); ++i) {
top6.add(controller.getLibrary().removeFromTop(game));
}
// Is the library now empty, thus the rise is on the bottom (for the message to the players)?
boolean isOnBottom = !controller.getLibrary().hasCards();
// Put this card (if the ability came from an ApproachOfTheSecondSun spell card) on top
controller.moveCardToLibraryWithInfo(spellCard, source.getSourceId(), game, Zone.STACK, true, true);
spellCard.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true);
// put the top 6 we took earlier back on top (going in reverse order this time to get them back
// on top in the proper order)
for (int i = top6.size() - 1; i >= 0; --i) {
controller.getLibrary().putOnTop(top6.get(i), game);
}
// Inform the players
if (isOnBottom) {
game.informPlayers(controller.getLogName() + " puts " + spell.getLogName() + " on the bottom of his or her library.");
} else {
game.informPlayers(controller.getLogName() + " puts " + spell.getLogName() + " into his or her library 6th from the top.");
}
}
}
return true;

View file

@ -97,7 +97,7 @@ class BonePickerCostAdjustmentAbility extends SimpleStaticAbility implements Adj
@Override
public String getRule() {
return "If a creature died this turn, {this} costs 3 less to cast.";
return "If a creature died this turn, {this} costs {3} less to cast.";
}
@Override

View file

@ -60,15 +60,17 @@ public class ManticoreOfTheGauntlet extends CardImpl {
// When Manticore of the Gauntlet enters the battlefield, put a -1/-1 counter on target creature you control. Manticore of the Gauntlet deals 3 damage to target opponent.
Effect counters = new AddCountersTargetEffect(CounterType.M1M1.createInstance());
counters.setText("put a -1/-1 counter on target creature you control");
counters.setTargetPointer(new FirstTargetPointer());
Effect damage = new DamageTargetEffect(new StaticValue(3), true, "", true);
damage.setText("{this} deals 3 damage to target opponent.");
damage.setTargetPointer(new SecondTargetPointer());
Ability ability = new EntersBattlefieldTriggeredAbility(counters);
ability.addTarget(new TargetControlledCreaturePermanent());
ability.addEffect(damage);
ability.addTarget(new TargetControlledCreaturePermanent());
ability.addTarget(new TargetOpponent());
this.addAbility(ability);

View file

@ -69,7 +69,9 @@ public class MercilessJavelineer extends CardImpl {
new StaticValue(1),
Outcome.Removal),
new ManaCostsImpl("{2}"));
ability.addEffect(new CantBlockTargetEffect(Duration.EndOfTurn));
ability.addEffect(
new CantBlockTargetEffect(Duration.EndOfTurn)
.setText("That creature can't block this turn."));
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent());
addAbility(ability);

View file

@ -49,12 +49,6 @@ import mage.filter.predicate.permanent.ControllerPredicate;
public class RakdosDrake extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Other creatures you control");
static {
filter.add(new AnotherPredicate());
filter.add(new ControllerPredicate(TargetController.YOU));
}
public RakdosDrake (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}");
this.subtype.add("Drake");

View file

@ -98,6 +98,10 @@ class RiverSerpentEffect extends RestrictionEffect {
@Override
public boolean applies(Permanent permanent, Ability source, Game game) {
return new CardsInControllerGraveyardCount().calculate(game, source, this) < 5;
if (permanent.getId().equals(source.getSourceId())) {
return new CardsInControllerGraveyardCount().calculate(game, source, this) < 5;
} else {
return false;
}
}
}

View file

@ -56,7 +56,8 @@ public class WarfireJavelineer extends CardImpl {
EntersBattlefieldTriggeredAbility ability =
new EntersBattlefieldTriggeredAbility(
new DamageTargetEffect(
new CardsInControllerGraveyardCount(new FilterInstantOrSorceryCard())));
new CardsInControllerGraveyardCount(new FilterInstantOrSorceryCard()))
.setText("it deals X damage to target creature an opponent controls, where X is the number of instant and sorcery cards in your graveyard."));
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(ability);
}