diff --git a/Mage.Sets/src/mage/cards/l/LeoninVanguard.java b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java new file mode 100644 index 00000000000..3d465d6ef16 --- /dev/null +++ b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java @@ -0,0 +1,60 @@ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.TargetController; +import mage.filter.StaticFilters; + +/** + * + * @author TheElk801 + */ +public final class LeoninVanguard extends CardImpl { + + public LeoninVanguard(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); + + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // At the beginning of combat on your turn, if you control three or more creatures, Leonin Vanguard gets +1/+1 until end of turn and you gain 1 life. + Ability ability = new ConditionalTriggeredAbility( + new BeginningOfCombatTriggeredAbility( + new BoostSourceEffect(1, 1, Duration.EndOfTurn), + TargetController.YOU, false + ), + new PermanentsOnTheBattlefieldCondition( + StaticFilters.FILTER_CONTROLLED_CREATURES, + ComparisonType.MORE_THAN, 2 + ), + "At the beginning of combat on your turn, " + + "if you control three or more creatures, " + + "{this} gets +1/+1 until end of turn and you gain 1 life." + ); + ability.addEffect(new GainLifeEffect(1)); + this.addAbility(ability); + } + + public LeoninVanguard(final LeoninVanguard card) { + super(card); + } + + @Override + public LeoninVanguard copy() { + return new LeoninVanguard(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index ee46adada59..193fe1896c5 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -134,6 +134,7 @@ public final class CoreSet2019 extends ExpansionSet { cards.add(new SetCardInfo("Lathliss, Dragon Queen", 149, Rarity.RARE, mage.cards.l.LathlissDragonQueen.class)); cards.add(new SetCardInfo("Lava Axe", 150, Rarity.COMMON, mage.cards.l.LavaAxe.class)); cards.add(new SetCardInfo("Lena, Selfless Champion", 21, Rarity.RARE, mage.cards.l.LenaSelflessChampion.class)); + cards.add(new SetCardInfo("Leonin Vanguard", 22, Rarity.UNCOMMON, mage.cards.l.LeoninVanguard.class)); cards.add(new SetCardInfo("Leonin Warleader", 23, Rarity.RARE, mage.cards.l.LeoninWarleader.class)); cards.add(new SetCardInfo("Lich's Caress", 105, Rarity.COMMON, mage.cards.l.LichsCaress.class)); cards.add(new SetCardInfo("Lightning Mare", 151, Rarity.UNCOMMON, mage.cards.l.LightningMare.class)); diff --git a/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java b/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java index a450227a675..0410a5b3a61 100644 --- a/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java @@ -4,6 +4,7 @@ import mage.abilities.Modes; import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.condition.Condition; +import mage.abilities.effects.Effect; import mage.abilities.effects.Effects; import mage.constants.EffectType; import mage.game.Game; @@ -80,6 +81,11 @@ public class ConditionalTriggeredAbility extends TriggeredAbilityImpl { return ability.getEffects(); } + @Override + public void addEffect(Effect effect) { + ability.addEffect(effect); + } + @Override public Modes getModes() { return ability.getModes();