diff --git a/Mage.Sets/src/mage/cards/d/DropkickBomber.java b/Mage.Sets/src/mage/cards/d/DropkickBomber.java new file mode 100644 index 00000000000..c8090d88c0c --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DropkickBomber.java @@ -0,0 +1,83 @@ +package mage.cards.d; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class DropkickBomber extends CardImpl { + + private static final FilterCreaturePermanent filter + = new FilterCreaturePermanent(SubType.GOBLIN, "Goblins"); + + private static final FilterControlledCreaturePermanent filter2 + = new FilterControlledCreaturePermanent(SubType.GOBLIN, "another target Goblin you control"); + + static { + filter2.add(AnotherPredicate.instance); + } + + public DropkickBomber(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Other Goblins you control get +1/+1. + this.addAbility(new SimpleStaticAbility( + Zone.BATTLEFIELD, + new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, + filter, true + ) + )); + + // {R}: Until end of turn, another target Goblin you control gains flying and "When this creature deals combat damage, sacrifice it." + Ability ability = new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), + new ManaCostsImpl<>("{R}") + ); + ability.addEffect( + new GainAbilityTargetEffect( + new DealsCombatDamageTriggeredAbility(new SacrificeSourceEffect(), false), + Duration.EndOfTurn + ).setText("and \"When this creature deals combat damage, sacrifice it.\"") + ); + ability.addTarget(new TargetControlledCreaturePermanent(filter2)); + this.addAbility(ability); + } + + private DropkickBomber(final DropkickBomber card) { + super(card); + } + + @Override + public DropkickBomber copy() { + return new DropkickBomber(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 41c2cb8c1bc..f68ebe8a83e 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -155,6 +155,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Dreadwing Scavenger", 118, Rarity.UNCOMMON, mage.cards.d.DreadwingScavenger.class)); cards.add(new SetCardInfo("Driver of the Dead", 605, Rarity.COMMON, mage.cards.d.DriverOfTheDead.class)); cards.add(new SetCardInfo("Drogskol Reaver", 655, Rarity.RARE, mage.cards.d.DrogskolReaver.class)); + cards.add(new SetCardInfo("Dropkick Bomber", 537, Rarity.RARE, mage.cards.d.DropkickBomber.class)); cards.add(new SetCardInfo("Druid of the Cowl", 554, Rarity.COMMON, mage.cards.d.DruidOfTheCowl.class)); cards.add(new SetCardInfo("Dryad Militant", 656, Rarity.UNCOMMON, mage.cards.d.DryadMilitant.class)); cards.add(new SetCardInfo("Duress", 606, Rarity.COMMON, mage.cards.d.Duress.class)); diff --git a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java index fdb4d48690c..29288f47083 100644 --- a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java +++ b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java @@ -207,6 +207,7 @@ public final class FoundationsJumpstart extends ExpansionSet { cards.add(new SetCardInfo("Dreadful Apathy", 192, Rarity.COMMON, mage.cards.d.DreadfulApathy.class)); cards.add(new SetCardInfo("Dreadhorde Arcanist", 539, Rarity.RARE, mage.cards.d.DreadhordeArcanist.class)); cards.add(new SetCardInfo("Dreadhound", 427, Rarity.UNCOMMON, mage.cards.d.Dreadhound.class)); + cards.add(new SetCardInfo("Dropkick Bomber", 13, Rarity.RARE, mage.cards.d.DropkickBomber.class)); cards.add(new SetCardInfo("Dross Hopper", 428, Rarity.COMMON, mage.cards.d.DrossHopper.class)); cards.add(new SetCardInfo("Drover of the Mighty", 650, Rarity.UNCOMMON, mage.cards.d.DroverOfTheMighty.class)); cards.add(new SetCardInfo("Drowsing Tyrannodon", 651, Rarity.COMMON, mage.cards.d.DrowsingTyrannodon.class));