diff --git a/Mage.Sets/src/mage/cards/f/FormAPosse.java b/Mage.Sets/src/mage/cards/f/FormAPosse.java new file mode 100644 index 00000000000..f7b0afa4380 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FormAPosse.java @@ -0,0 +1,32 @@ +package mage.cards.f; + +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.MercenaryToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class FormAPosse extends CardImpl { + + public FormAPosse(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{R}{W}"); + + // Create X 1/1 red Mercenary creature tokens with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery." + this.getSpellAbility().addEffect(new CreateTokenEffect(new MercenaryToken(), ManacostVariableValue.REGULAR)); + } + + private FormAPosse(final FormAPosse card) { + super(card); + } + + @Override + public FormAPosse copy() { + return new FormAPosse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java index 50b7a259461..60177775d5a 100644 --- a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java +++ b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java @@ -35,6 +35,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet { cards.add(new SetCardInfo("Festering Gulch", 257, Rarity.COMMON, mage.cards.f.FesteringGulch.class)); cards.add(new SetCardInfo("Forest", 276, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Forlorn Flats", 258, Rarity.COMMON, mage.cards.f.ForlornFlats.class)); + cards.add(new SetCardInfo("Form a Posse", 204, Rarity.UNCOMMON, mage.cards.f.FormAPosse.class)); cards.add(new SetCardInfo("Frontier Seeker", 13, Rarity.UNCOMMON, mage.cards.f.FrontierSeeker.class)); cards.add(new SetCardInfo("Hell to Pay", 126, Rarity.RARE, mage.cards.h.HellToPay.class)); cards.add(new SetCardInfo("Holy Cow", 16, Rarity.COMMON, mage.cards.h.HolyCow.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/MercenaryToken.java b/Mage/src/main/java/mage/game/permanent/token/MercenaryToken.java new file mode 100644 index 00000000000..09a0e4faba4 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/MercenaryToken.java @@ -0,0 +1,39 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * @author TheElk801 + */ +public final class MercenaryToken extends TokenImpl { + + public MercenaryToken() { + super("Mercenary Token", "1/1 red Mercenary creature token with \"{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery.\""); + cardType.add(CardType.CREATURE); + color.setRed(true); + subtype.add(SubType.MERCENARY); + power = new MageInt(1); + toughness = new MageInt(1); + + Ability ability = new ActivateAsSorceryActivatedAbility( + new BoostTargetEffect(1, 0), new TapSourceCost() + ); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + } + + private MercenaryToken(final MercenaryToken token) { + super(token); + } + + public MercenaryToken copy() { + return new MercenaryToken(this); + } +}