mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
[40K] Implemented Space Marine Devastator
This commit is contained in:
parent
630a9c4445
commit
2ca7cfa462
5 changed files with 57 additions and 3 deletions
49
Mage.Sets/src/mage/cards/s/SpaceMarineDevastator.java
Normal file
49
Mage.Sets/src/mage/cards/s/SpaceMarineDevastator.java
Normal file
|
@ -0,0 +1,49 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.abilities.keyword.SquadAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SpaceMarineDevastator extends CardImpl {
|
||||
|
||||
public SpaceMarineDevastator(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
|
||||
|
||||
this.subtype.add(SubType.ASTARTES);
|
||||
this.subtype.add(SubType.WARRIOR);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Squad {2}
|
||||
this.addAbility(new SquadAbility());
|
||||
|
||||
// Grav-cannon -- When Space Marine Devastator enters the battlefield, destroy up to one target artifact or enchantment.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
|
||||
ability.addTarget(new TargetPermanent(
|
||||
0, 1, StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT
|
||||
));
|
||||
this.addAbility(ability.withFlavorWord("Grav-cannon"));
|
||||
}
|
||||
|
||||
private SpaceMarineDevastator(final SpaceMarineDevastator card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpaceMarineDevastator copy() {
|
||||
return new SpaceMarineDevastator(this);
|
||||
}
|
||||
}
|
|
@ -2,7 +2,6 @@ package mage.cards.v;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.SquadAbility;
|
||||
|
@ -27,7 +26,7 @@ public final class VanguardSuppressor extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Squad {2}
|
||||
this.addAbility(new SquadAbility(new ManaCostsImpl<>("{2}")));
|
||||
this.addAbility(new SquadAbility());
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
|
|
@ -161,6 +161,7 @@ public final class Warhammer40000 extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Skullclamp", 248, Rarity.UNCOMMON, mage.cards.s.Skullclamp.class));
|
||||
cards.add(new SetCardInfo("Skycloud Expanse", 294, Rarity.RARE, mage.cards.s.SkycloudExpanse.class));
|
||||
cards.add(new SetCardInfo("Sol Ring", 249, Rarity.UNCOMMON, mage.cards.s.SolRing.class));
|
||||
cards.add(new SetCardInfo("Space Marine Devastator", 14, Rarity.RARE, mage.cards.s.SpaceMarineDevastator.class));
|
||||
cards.add(new SetCardInfo("Starstorm", 208, Rarity.RARE, mage.cards.s.Starstorm.class));
|
||||
cards.add(new SetCardInfo("Sunken Hollow", 295, Rarity.RARE, mage.cards.s.SunkenHollow.class));
|
||||
cards.add(new SetCardInfo("Swamp", 310, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
@ -2,6 +2,7 @@ package mage.abilities.keyword;
|
|||
|
||||
import mage.abilities.StaticAbility;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
|
@ -9,6 +10,10 @@ import mage.constants.Zone;
|
|||
*/
|
||||
public class SquadAbility extends StaticAbility {
|
||||
|
||||
public SquadAbility() {
|
||||
this(new GenericManaCost(2));
|
||||
}
|
||||
|
||||
public SquadAbility(Cost cost) {
|
||||
super(Zone.STACK, null);
|
||||
// TODO: implement this
|
||||
|
|
|
@ -105,7 +105,7 @@ Soulbond|new|
|
|||
Soulshift|number|
|
||||
Skulk|new|
|
||||
Spectacle|card, cost|
|
||||
Squad|cost|
|
||||
Squad|new|
|
||||
Storm|new|
|
||||
Sunburst|new|
|
||||
Suspend|number, cost, card|
|
||||
|
|
Loading…
Reference in a new issue