diff --git a/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java b/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java new file mode 100644 index 00000000000..11260153d0c --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java @@ -0,0 +1,76 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.permanent.TokenPredicate; +import mage.game.permanent.token.MinotaurToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SethronHurloonGeneral extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledPermanent( + SubType.MINOTAUR, "{this} or another nontoken Minotaur" + ); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent(SubType.MINOTAUR, ""); + private static final FilterPermanent filter3 = new FilterPermanent(SubType.MINOTAUR, ""); + + static { + filter.add(Predicates.not(TokenPredicate.instance)); + } + + public SethronHurloonGeneral(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Whenever Sethron, Hurloon General or another nontoken Minotaur enters the battlefield under your control, create a 2/3 red Minotaur creature token. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new CreateTokenEffect(new MinotaurToken()), filter)); + + // {2}{B/R}: Minotaurs you control get +1/+0 and gain menace and haste until end of turn. + Ability ability = new SimpleActivatedAbility(new BoostControlledEffect( + 1, 0, Duration.EndOfTurn, filter2 + ).setText("Minotaurs you control get +1/+0"), new ManaCostsImpl("{2}{B/R}")); + ability.addEffect(new GainAbilityControlledEffect( + new MenaceAbility(), Duration.EndOfTurn, filter3 + ).setText("and gain menace")); + ability.addEffect(new GainAbilityControlledEffect( + HasteAbility.getInstance(), Duration.EndOfTurn, filter3 + ).setText("and haste until end of turn")); + this.addAbility(ability); + } + + private SethronHurloonGeneral(final SethronHurloonGeneral card) { + super(card); + } + + @Override + public SethronHurloonGeneral copy() { + return new SethronHurloonGeneral(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Jumpstart.java b/Mage.Sets/src/mage/sets/Jumpstart.java index dbc4bf9223c..7337c1f08ef 100644 --- a/Mage.Sets/src/mage/sets/Jumpstart.java +++ b/Mage.Sets/src/mage/sets/Jumpstart.java @@ -385,6 +385,7 @@ public final class Jumpstart extends ExpansionSet { cards.add(new SetCardInfo("Sengir Vampire", 275, Rarity.UNCOMMON, mage.cards.s.SengirVampire.class)); cards.add(new SetCardInfo("Serendib Efreet", 175, Rarity.RARE, mage.cards.s.SerendibEfreet.class)); cards.add(new SetCardInfo("Serra Angel", 132, Rarity.UNCOMMON, mage.cards.s.SerraAngel.class)); + cards.add(new SetCardInfo("Sethron, Hurloon General", 25, Rarity.RARE, mage.cards.s.SethronHurloonGeneral.class)); cards.add(new SetCardInfo("Settle the Score", 276, Rarity.UNCOMMON, mage.cards.s.SettleTheScore.class)); cards.add(new SetCardInfo("Shambling Goblin", 277, Rarity.COMMON, mage.cards.s.ShamblingGoblin.class)); cards.add(new SetCardInfo("Sharding Sphinx", 176, Rarity.RARE, mage.cards.s.ShardingSphinx.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/MinotaurToken.java b/Mage/src/main/java/mage/game/permanent/token/MinotaurToken.java new file mode 100644 index 00000000000..2e9d4e7d905 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/MinotaurToken.java @@ -0,0 +1,29 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.ObjectColor; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author TheElk801 + */ +public final class MinotaurToken extends TokenImpl { + + public MinotaurToken() { + super("Minotaur", "2/3 red Minotaur creature token"); + cardType.add(CardType.CREATURE); + color.setColor(ObjectColor.RED); + subtype.add(SubType.MINOTAUR); + power = new MageInt(2); + toughness = new MageInt(3); + } + + private MinotaurToken(final MinotaurToken token) { + super(token); + } + + public MinotaurToken copy() { + return new MinotaurToken(this); + } +}