diff --git a/Mage.Sets/src/mage/cards/s/SandstormSalvager.java b/Mage.Sets/src/mage/cards/s/SandstormSalvager.java new file mode 100644 index 00000000000..d73ee881d12 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SandstormSalvager.java @@ -0,0 +1,65 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.GainAbilityAllEffect; +import mage.abilities.effects.common.counter.AddCountersAllEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.permanent.TokenPredicate; +import mage.game.permanent.token.GolemToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SandstormSalvager extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledCreaturePermanent("creature token you control"); + + static { + filter.add(TokenPredicate.TRUE); + } + + public SandstormSalvager(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Sandstorm Salvager enters the battlefield, create a 3/3 colorless Golem artifact creature token. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GolemToken()))); + + // {2}, {T}: Put a +1/+1 counter on each creature token you control. They gain trample until end of turn. + Ability ability = new SimpleActivatedAbility( + new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), new GenericManaCost(2) + ); + ability.addCost(new TapSourceCost()); + ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter)); + this.addAbility(ability); + } + + private SandstormSalvager(final SandstormSalvager card) { + super(card); + } + + @Override + public SandstormSalvager copy() { + return new SandstormSalvager(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheBigScore.java b/Mage.Sets/src/mage/sets/TheBigScore.java index 2d266cda3ef..02575c6ca45 100644 --- a/Mage.Sets/src/mage/sets/TheBigScore.java +++ b/Mage.Sets/src/mage/sets/TheBigScore.java @@ -40,6 +40,7 @@ public final class TheBigScore extends ExpansionSet { cards.add(new SetCardInfo("Omenpath Journey", 18, Rarity.MYTHIC, mage.cards.o.OmenpathJourney.class)); cards.add(new SetCardInfo("Pest Control", 22, Rarity.MYTHIC, mage.cards.p.PestControl.class)); cards.add(new SetCardInfo("Rest in Peace", 4, Rarity.MYTHIC, mage.cards.r.RestInPeace.class)); + cards.add(new SetCardInfo("Sandstorm Salvager", 19, Rarity.MYTHIC, mage.cards.s.SandstormSalvager.class)); cards.add(new SetCardInfo("Simulacrum Synthesizer", 6, Rarity.MYTHIC, mage.cards.s.SimulacrumSynthesizer.class)); cards.add(new SetCardInfo("Sword of Wealth and Power", 26, Rarity.MYTHIC, mage.cards.s.SwordOfWealthAndPower.class)); cards.add(new SetCardInfo("Tarnation Vista", 30, Rarity.MYTHIC, mage.cards.t.TarnationVista.class));