1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-08 01:01:04 -09:00

[ZNR] fixed text generation issues with kicker abilities ()

This commit is contained in:
Evan Kranzler 2020-09-21 17:11:51 -04:00
parent 45a2532a89
commit 20f30e340e
33 changed files with 60 additions and 94 deletions

View file

@ -2,7 +2,6 @@ package mage.cards.b;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@ -24,7 +23,7 @@ public final class BloodBeckoning extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}");
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// Return target creature card from your graveyard to your hand. If this spell was kicked, instead return two target creature cards from your graveyard to your hand.
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()

View file

@ -1,10 +1,7 @@
package mage.cards.b;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@ -16,10 +13,11 @@ import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.game.Game;
import mage.target.TargetPermanent;
import mage.target.TargetPlayer;
import mage.target.common.TargetCreatureOrPlaneswalker;
import mage.target.targetadjustment.TargetAdjuster;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -29,7 +27,7 @@ public final class BloodchiefsThirst extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}");
// Kicker {2}{B}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{B}")));
this.addAbility(new KickerAbility("{2}{B}"));
// Destroy target creature or planeswalker with converted mana cost 2 or less. If this spell was kicked, instead destroy target creature or planeswalker.
this.getSpellAbility().addEffect(new DestroyTargetEffect(

View file

@ -4,7 +4,6 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect;
@ -32,7 +31,7 @@ public final class BubbleSnare extends CardImpl {
this.subtype.add(SubType.AURA);
// Kicker {2}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{U}")));
this.addAbility(new KickerAbility("{2}{U}"));
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();

View file

@ -1,7 +1,6 @@
package mage.cards.c;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageAllEffect;
import mage.abilities.keyword.KickerAbility;
@ -21,7 +20,7 @@ public final class Cinderclasm extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}");
// Kicker {R}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{R}")));
this.addAbility(new KickerAbility("{R}"));
// Cinderclasm deals 1 damage to each creature. If it was kicked, it deals 2 damage to each creature instead.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(

View file

@ -1,36 +1,35 @@
package mage.cards.c;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.CantBeCounteredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.constants.SubType;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.KickerAbility;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import java.util.UUID;
/**
*
* @author TheElk801
*/
public final class CragplateBaloth extends CardImpl {
public CragplateBaloth(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}");
this.subtype.add(SubType.BEAST);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// Kicker {2}{G}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{G}")));
this.addAbility(new KickerAbility("{2}{G}"));
// This spell can't be countered.
this.addAbility(new CantBeCounteredAbility());

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
@ -39,7 +38,7 @@ public final class CunningGeysermage extends CardImpl {
this.toughness = new MageInt(2);
// Kicker {2}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{U}")));
this.addAbility(new KickerAbility("{2}{U}"));
// When Cunning Geysermage enters the battlefield, if it was kicked, return up to one other target creature to its owner's hand.
Ability ability = new ConditionalInterveningIfTriggeredAbility(

View file

@ -2,7 +2,6 @@ package mage.cards.d;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.keyword.KickerAbility;
@ -24,7 +23,7 @@ public final class DauntlessUnity extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}");
// Kicker {1}{W}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{1}{W}")));
this.addAbility(new KickerAbility("{1}{W}"));
// Creatures you control get +1/+1 until end of turn. If this spell was kicked, those creatures get +2/+1 until end of turn instead.
this.getSpellAbility().addEffect(new DauntlessUnityEffect());

View file

@ -1,7 +1,6 @@
package mage.cards.f;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.KickerAbility;
@ -20,7 +19,7 @@ public final class FieldResearch extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Kicker {2}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{U}")));
this.addAbility(new KickerAbility("{2}{U}"));
// Draw two cards. If this spell was kicked, draw three cards instead.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.g;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@ -30,7 +29,7 @@ public final class GhastlyGloomhunter extends CardImpl {
this.toughness = new MageInt(1);
// Kicker {3}{B}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}{B}")));
this.addAbility(new KickerAbility("{3}{B}"));
// Flying
this.addAbility(FlyingAbility.getInstance());

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.KickerAbility;
@ -39,7 +38,7 @@ public final class GnarlidColony extends CardImpl {
this.toughness = new MageInt(2);
// Kicker {2}{G}
this.addAbility(new KickerAbility(new ManaCostsImpl("{2}{G}")));
this.addAbility(new KickerAbility("{2}{G}"));
// If Gnarlid Colony was kicked, it enters the battlefield with two +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(

View file

@ -1,7 +1,5 @@
package mage.cards.j;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@ -11,22 +9,23 @@ import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
import mage.abilities.effects.keyword.ScryEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.cards.CardsImpl;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.counters.CounterType;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -40,7 +39,7 @@ public final class JaceMirrorMage extends CardImpl {
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4));
// Kicker {2}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}")));
this.addAbility(new KickerAbility("{2}"));
// When Jace, Mirror Mage enters the battlefield, if Jace was kicked, create a token that's a copy of Jace, Mirror Mage except it's not legendary and its starting loyalty is 1.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -1,22 +1,21 @@
package mage.cards.k;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.constants.SubType;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.KickerAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -31,7 +30,7 @@ public final class KitesailCleric extends CardImpl {
this.toughness = new MageInt(1);
// Kicker {2}{W}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{W}")));
this.addAbility(new KickerAbility("{2}{W}"));
// Flying
this.addAbility(FlyingAbility.getInstance());

View file

@ -2,7 +2,6 @@ package mage.cards.m;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@ -23,7 +22,7 @@ public final class MaddeningCacophony extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}");
// Kicker {3}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}{U}")));
this.addAbility(new KickerAbility("{3}{U}"));
// Each opponent mills eight cards. If this spell was kicked, instead each opponent mills half their library, rounded up.
this.getSpellAbility().addEffect(new MaddeningCacophonyEffect());

View file

@ -1,10 +1,7 @@
package mage.cards.m;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.keyword.KickerAbility;
@ -16,6 +13,8 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -25,7 +24,7 @@ public final class MightOfMurasa extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}");
// Kicker {2}{G}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{G}")));
this.addAbility(new KickerAbility("{2}{G}"));
// Target creature gets +3/+3 until end of turn. If this spell was kicked, that creature gets +5/+5 until end of turn instead.
this.getSpellAbility().addEffect(new MightOfMurasaEffect());

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.PutOnLibrarySourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.KickerAbility;
@ -34,7 +33,7 @@ public final class MossPitSkeleton extends CardImpl {
this.toughness = new MageInt(2);
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// If Moss-Pit Skeleton was kicked, it enters the battlefield with three +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
@ -38,7 +37,7 @@ public final class MurasaSproutling extends CardImpl {
this.toughness = new MageInt(3);
// Kicker {1}{G}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{1}{G}")));
this.addAbility(new KickerAbility("{1}{G}"));
// When Murasa Sproutling enters the battlefield, if it was kicked, return target card with a kicker ability from your graveyard to your hand.
Ability ability = new ConditionalInterveningIfTriggeredAbility(

View file

@ -5,7 +5,6 @@ import mage.abilities.Ability;
import mage.abilities.common.BecomesTargetTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.dynamicvalue.common.SourcePermanentPowerCount;
@ -51,7 +50,7 @@ public final class MyriadConstruct extends CardImpl {
this.toughness = new MageInt(4);
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// If Myriad Construct was kicked, it enters the battlefield with a +1/+1 counter on it for each nonbasic land your opponents control.
this.addAbility(new EntersBattlefieldAbility(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.keyword.KickerAbility;
@ -33,7 +32,7 @@ public final class NullpriestOfOblivion extends CardImpl {
this.toughness = new MageInt(1);
// Kicker {3}{B}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}{B}")));
this.addAbility(new KickerAbility("{3}{B}"));
// Menace
this.addAbility(new MenaceAbility());

View file

@ -1,7 +1,6 @@
package mage.cards.r;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.abilities.keyword.KickerAbility;
@ -22,7 +21,7 @@ public final class ReclaimTheWastes extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}");
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library. If this spell was kicked, search your library for two basic land cards instead of one.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(

View file

@ -1,7 +1,6 @@
package mage.cards.r;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.KickerAbility;
@ -21,7 +20,7 @@ public final class RoilEruption extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}");
// Kicker {5}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{5}")));
this.addAbility(new KickerAbility("{5}"));
// Roil Eruption deals 3 damage to any target. If this spell was kicked, it deals 5 damage instead.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.r;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.KickerAbility;
@ -24,7 +23,7 @@ public final class RoostOfDrakes extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}");
// Kicker {2}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{U}")));
this.addAbility(new KickerAbility("{2}{U}"));
// When Roost of Drakes enters the battlefield, if it was kicked, create a 2/2 blue Drake creature token with flying.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -3,7 +3,6 @@ package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.HasteAbility;
@ -30,7 +29,7 @@ public final class ScorchRider extends CardImpl {
this.toughness = new MageInt(3);
// Kicker {1}{R}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{1}{R}")));
this.addAbility(new KickerAbility("{1}{R}"));
// When Scorch Rider enters the battlefield, if it was kicked, it gains haste until end of turn.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.effects.Effect;
@ -35,7 +34,7 @@ public final class ScourgeOfTheSkyclaves extends CardImpl {
this.toughness = new MageInt(0);
// Kicker {4}{B}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{4}{B}")));
this.addAbility(new KickerAbility("{4}{B}"));
// When you cast this spell, if it was kicked, each player loses half their life, rounded up.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CopyTargetSpellEffect;
@ -36,7 +35,7 @@ public final class SeaGateStormcaller extends CardImpl {
this.toughness = new MageInt(1);
// Kicker {4}{U}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{4}{U}")));
this.addAbility(new KickerAbility("{4}{U}"));
// When Sea Gate Stormcaller enters the battlefield, copy the next instant or sorcery spell with converted mana cost 2 or less you cast this turn when you cast it. If Sea Gate Stormcaller was kicked, copy that spell twice instead. You may choose new targets for the copies.
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(

View file

@ -7,7 +7,6 @@ import mage.abilities.condition.Condition;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@ -40,7 +39,7 @@ public final class ShatterskullCharger extends CardImpl {
this.toughness = new MageInt(3);
// Kicker {2}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}")));
this.addAbility(new KickerAbility("{2}"));
// Trample
this.addAbility(TrampleAbility.getInstance());

View file

@ -1,10 +1,7 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
@ -18,6 +15,8 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -27,7 +26,7 @@ public final class ShellShield extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}");
// Kicker {1}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{1}")));
this.addAbility(new KickerAbility("{1}"));
// Target creature you control gets +0/+3 until end of turn. If this spell was kicked, that creature also gains hexproof until end of turn.
this.getSpellAbility().addEffect(new ShellShieldEffect());

View file

@ -2,7 +2,6 @@ package mage.cards.s;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.CreateTokenCopySourceEffect;
import mage.abilities.keyword.IndestructibleAbility;
@ -23,14 +22,14 @@ public final class SkyclaveRelic extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// Indestructible
this.addAbility(IndestructibleAbility.getInstance());
// When Skyclave Relic enters the battlefield, if it was kicked, create two tapped tokens that are copies of Skyclave Relic.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new CreateTokenCopySourceEffect(2,true)),
new EntersBattlefieldTriggeredAbility(new CreateTokenCopySourceEffect(2, true)),
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
"create two tapped tokens that are copies of {this}."
));

View file

@ -6,7 +6,6 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalAsThoughEffect;
import mage.abilities.effects.common.combat.CanAttackAsThoughItDidntHaveDefenderSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@ -37,7 +36,7 @@ public final class SkyclaveSentinel extends CardImpl {
this.toughness = new MageInt(3);
// Kicker {4}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{4}")));
this.addAbility(new KickerAbility("{4}"));
// Flying
this.addAbility(FlyingAbility.getInstance());

View file

@ -7,7 +7,6 @@ import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.LandfallAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.AsThoughEffectImpl;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@ -34,7 +33,7 @@ public final class SkyclaveShade extends CardImpl {
this.toughness = new MageInt(1);
// Kicker {2}{B}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{2}{B}")));
this.addAbility(new KickerAbility("{2}{B}"));
// Skyclave Shade can't block.
this.addAbility(new CantBlockAbility());

View file

@ -5,7 +5,6 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.InfoEffect;
@ -45,7 +44,7 @@ public final class TajuruParagon extends CardImpl {
));
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// When Tajuru Paragon enters the battlefield, if it was kicked, reveal the top six cards of your library. You may put a card that shares a creature type with it from among them into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -1,22 +1,21 @@
package mage.cards.t;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -31,7 +30,7 @@ public final class TauntingArbormage extends CardImpl {
this.toughness = new MageInt(3);
// Kicker {3}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{3}")));
this.addAbility(new KickerAbility("{3}"));
// When Taunting Arbormage enters the battlefield, if it was kicked, all creatures able to block target creature this turn do so.
Ability ability = new ConditionalInterveningIfTriggeredAbility(

View file

@ -1,7 +1,6 @@
package mage.cards.v;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.counter.AddCountersAllEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
@ -27,9 +26,8 @@ public final class VastwoodSurge extends CardImpl {
public VastwoodSurge(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}");
// Kicker {4}
this.addAbility(new KickerAbility(new ManaCostsImpl<>("{4}")));
this.addAbility(new KickerAbility("{4}"));
// Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library. If this spell was kicked, put two +1/+1 counters on each creature you control.
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(

View file

@ -53,7 +53,7 @@ Ingest|new|
Islandcycling|cost|
Islandwalk|new|
Jump-start|card|
Kicker|cost|
Kicker|manaString|
Level up|cost|
Lifelink|instance|
Living weapon|new|