mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 05:09:16 -08:00
some updates
This commit is contained in:
parent
46f7f6a422
commit
5c1c02ba9e
16 changed files with 29 additions and 28 deletions
|
|
@ -1,7 +1,7 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerOrBattleTriggeredAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.TransformSourceEffect;
|
||||
|
|
@ -41,9 +41,9 @@ public final class AetherbladeAgent extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(DeathtouchAbility.getInstance());
|
||||
|
||||
// Whenever Gitaxian Mindstinger deals combat damage to a player or battle, draw a card.
|
||||
this.getRightHalfCard().addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
this.getRightHalfCard().addAbility(new DealsCombatDamageToAPlayerOrBattleTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1), false
|
||||
).setOrBattle(true));
|
||||
));
|
||||
}
|
||||
|
||||
private AetherbladeAgent(final AetherbladeAgent card) {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@ package mage.cards.a;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.common.TransformIntoSourceTriggeredAbility;
|
||||
import mage.abilities.common.delayed.OnLeaveReturnExiledToBattlefieldAbility;
|
||||
import mage.abilities.condition.common.EquippedSourceCondition;
|
||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||
import mage.abilities.effects.common.ExileUntilSourceLeavesEffect;
|
||||
import mage.abilities.effects.common.TransformSourceEffect;
|
||||
import mage.cards.CardSetInfo;
|
||||
|
|
@ -51,7 +49,6 @@ public final class AvacynianMissionaries extends TransformingDoubleFacedCard {
|
|||
// When this creature transforms into Lunarch Inquisitors, you may exile another target creature until Lunarch Inquisitors leaves the battlefield.
|
||||
Ability ability = new TransformIntoSourceTriggeredAbility(new ExileUntilSourceLeavesEffect(), true);
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility()));
|
||||
this.getRightHalfCard().addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public final class DennickPiousApprentice extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
|
||||
new InvestigateEffect(1), false,
|
||||
StaticFilters.FILTER_CARD_CREATURE, TargetController.ANY
|
||||
).setTriggersOnce(true).setTriggerPhrase("Whenever one or more creature cards are put into graveyards from anywhere, "));
|
||||
).setTriggersOnceEachTurn(true).setTriggerPhrase("Whenever one or more creature cards are put into graveyards from anywhere, "));
|
||||
|
||||
// If Dennick, Pious Apparition would be put into a graveyard from anywhere, exile it instead.
|
||||
this.getRightHalfCard().addAbility(DisturbAbility.makeExileAbility());
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public final class GarrukRelentless extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(new LoyaltyAbility(new DoIfCostPaid(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(
|
||||
StaticFilters.FILTER_CARD_CREATURE_A
|
||||
), true, true),
|
||||
), true),
|
||||
null,
|
||||
new SacrificeTargetCost(new TargetControlledPermanent(
|
||||
StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ class RavagerOfTheFellsEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
game.damagePlayerOrPlaneswalker(source.getTargets().get(0).getFirstTarget(), 2, source.getSourceId(), source, game, false, true);
|
||||
game.damagePlayerOrPermanent(source.getTargets().get(0).getFirstTarget(), 2, source.getSourceId(), source, game, false, true);
|
||||
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||
if (creature != null) {
|
||||
creature.damage(2, source.getSourceId(), source, game, false, true);
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class LazotepConvertCopyEffect extends OneShotEffect {
|
|||
public LazotepConvertCopyEffect() {
|
||||
super(Outcome.Copy);
|
||||
this.staticText = "as a copy of any creature card in a graveyard, " +
|
||||
"except it's a 4/4 black Zombie in addition to its other colors and types";
|
||||
"except it's a 4/4 black Zombie in addition to its other types";
|
||||
}
|
||||
|
||||
public LazotepConvertCopyEffect(final LazotepConvertCopyEffect effect) {
|
||||
|
|
@ -106,8 +106,11 @@ class LazotepConvertCopyEffect extends OneShotEffect {
|
|||
if (copyFromCard == null) {
|
||||
return true;
|
||||
}
|
||||
Card modifiedCopy = copyFromCard.copy();
|
||||
//Appliers must be applied before CopyEffect, its applier setting is just for copies of copies
|
||||
applier.apply(game, modifiedCopy, source, source.getSourceId());
|
||||
game.addEffect(new CopyEffect(
|
||||
Duration.Custom, copyFromCard, source.getSourceId()
|
||||
Duration.Custom, modifiedCopy, source.getSourceId()
|
||||
).setApplier(applier), source);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public final class InvasionOfErgamon extends TransformingDoubleFacedCard {
|
|||
// When Truga Cliffcharger enters the battlefield, you may discard a card. If you do, search your library for a land or battle card, reveal it, put it into your hand, then shuffle.
|
||||
this.getRightHalfCard().addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new DoIfCostPaid(new SearchLibraryPutInHandEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), new DiscardCardCost())
|
||||
));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package mage.cards.i;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerOrBattleTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SiegeAbility;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
|
|
@ -47,9 +47,9 @@ public final class InvasionOfKamigawa extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever Rooftop Saboteurs deals combat damage to a player or battle, draw a card.
|
||||
this.getRightHalfCard().addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
this.getRightHalfCard().addAbility(new DealsCombatDamageToAPlayerOrBattleTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1), false
|
||||
).setOrBattle(true));
|
||||
));
|
||||
}
|
||||
|
||||
private InvasionOfKamigawa(final InvasionOfKamigawa card) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class InvasionOfSegovia extends TransformingDoubleFacedCard {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("noncreature spells");
|
||||
private static final FilterCard filter = new FilterCard("noncreature spells you cast");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ class DefiantThundermawEffect extends OneShotEffect {
|
|||
if (mor == null) {
|
||||
return false;
|
||||
}
|
||||
game.damagePlayerOrPlaneswalker(
|
||||
game.damagePlayerOrPermanent(
|
||||
getTargetPointer().getFirst(game, source), 2,
|
||||
mor.getSourceId(), source, game, false, true
|
||||
);
|
||||
|
|
|
|||
|
|
@ -133,6 +133,7 @@ class LivingBreakthroughEffect extends ContinuousRuleModifyingEffectImpl {
|
|||
|
||||
private LivingBreakthroughEffect(final LivingBreakthroughEffect effect) {
|
||||
super(effect);
|
||||
this.manaValue = effect.manaValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@ import mage.abilities.common.SimpleActivatedAbility;
|
|||
import mage.abilities.condition.common.CardsInControllerGraveyardCondition;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.effects.CastCardFromGraveyardThenExileItEffect;
|
||||
import mage.abilities.effects.common.DrawDiscardControllerEffect;
|
||||
import mage.abilities.effects.common.ExileAndReturnSourceEffect;
|
||||
import mage.abilities.effects.common.GetEmblemEffect;
|
||||
import mage.abilities.effects.common.MayCastTargetThenExileEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.TransformingDoubleFacedCard;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterInstantOrSorceryCard;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.command.emblems.JaceTelepathUnboundEmblem;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
|
@ -56,10 +56,8 @@ public final class JaceVrynsProdigy extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(ability);
|
||||
|
||||
// -3: You may cast target instant or sorcery card from your graveyard this turn. If that card would be put into your graveyard this turn, exile it instead.
|
||||
ability = new LoyaltyAbility(new CastCardFromGraveyardThenExileItEffect()
|
||||
.setText("You may cast target instant or sorcery card from your graveyard this turn. " +
|
||||
"If that spell would be put into your graveyard, exile it instead"), -3);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(new FilterInstantOrSorceryCard()));
|
||||
ability = new LoyaltyAbility(new MayCastTargetThenExileEffect(Duration.EndOfTurn), -3);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY_FROM_YOUR_GRAVEYARD));
|
||||
this.getRightHalfCard().addAbility(ability);
|
||||
|
||||
// −9: You get an emblem with "Whenever you cast a spell, target opponent mills five cards."
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public final class KytheonHeroOfAkros extends TransformingDoubleFacedCard {
|
|||
|
||||
// 0: Until end of turn, Gideon, Battle-Forged becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
||||
ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(
|
||||
new GideonBattleForgedToken(), "planeswalker", Duration.EndOfTurn
|
||||
new GideonBattleForgedToken(), CardType.PLANESWALKER, Duration.EndOfTurn
|
||||
), 0);
|
||||
ability.addEffect(new PreventAllDamageToSourceEffect(Duration.EndOfTurn)
|
||||
.setText("Prevent all damage that would be dealt to him this turn"));
|
||||
|
|
|
|||
|
|
@ -51,7 +51,9 @@ public final class LunarchVeteran extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever another creature you control leaves the battlefield, you gain 1 life.
|
||||
this.getRightHalfCard().addAbility(new LeavesBattlefieldAllTriggeredAbility(new GainLifeEffect(1), filter));
|
||||
this.getRightHalfCard().addAbility(new LeavesBattlefieldAllTriggeredAbility(
|
||||
new GainLifeEffect(1), StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL
|
||||
));
|
||||
|
||||
// If Luminous Phantom would be put into a graveyard from anywhere, exile it instead.
|
||||
this.getRightHalfCard().addAbility(DisturbAbility.makeExileAbility());
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import mage.constants.SubType;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
|
||||
import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate;
|
||||
import mage.filter.predicate.permanent.DefendingPlayerControlsSourceAttackingPredicate;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -29,7 +29,7 @@ public final class OutlandLiberator extends TransformingDoubleFacedCard {
|
|||
= new FilterArtifactOrEnchantmentPermanent("artifact or enchantment defending player controls");
|
||||
|
||||
static {
|
||||
filter.add(DefendingPlayerControlsPredicate.instance);
|
||||
filter.add(DefendingPlayerControlsSourceAttackingPredicate.instance);
|
||||
}
|
||||
|
||||
public OutlandLiberator(UUID ownerId, CardSetInfo setInfo) {
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public final class RatchetFieldMedic extends TransformingDoubleFacedCard {
|
|||
this.getRightHalfCard().addAbility(new DiesCreatureTriggeredAbility(
|
||||
new TransformSourceEffect().setText("convert {this}"), false, filter
|
||||
).setTriggerPhrase("Whenever one or more nontoken artifacts you control " +
|
||||
"are put into a graveyard from the battlefield, ").setTriggersOnce(true));
|
||||
"are put into a graveyard from the battlefield, ").setTriggersOnceEachTurn(true));
|
||||
}
|
||||
|
||||
private RatchetFieldMedic(final RatchetFieldMedic card) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue