forked from External/mage
[WHO] Implement Cult of Skaro
This commit is contained in:
parent
ad29594c56
commit
bdf6aa5379
3 changed files with 104 additions and 0 deletions
70
Mage.Sets/src/mage/cards/c/CultOfSkaro.java
Normal file
70
Mage.Sets/src/mage/cards/c/CultOfSkaro.java
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterArtifactCreaturePermanent;
|
||||
import mage.game.permanent.token.DalekToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class CultOfSkaro extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterArtifactCreaturePermanent("artifact creature you control");
|
||||
|
||||
static {
|
||||
filter.add(TargetController.YOU.getControllerPredicate());
|
||||
}
|
||||
|
||||
public CultOfSkaro(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{U}{B}{R}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.DALEK);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Whenever Cult of Skaro attacks, choose one at random --
|
||||
// * Thay -- Put a +1/+1 counter on each artifact creature you control.
|
||||
Ability ability = new AttacksTriggeredAbility(
|
||||
new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter)
|
||||
).withFirstModeFlavorWord("Thay");
|
||||
ability.getModes().setRandom(true);
|
||||
|
||||
// * Caan -- Draw two cards.
|
||||
ability.addMode(new Mode(new DrawCardSourceControllerEffect(2)).withFlavorWord("Caan"));
|
||||
|
||||
// * Sec -- Create a 3/3 black Dalek artifact creature token with menace.
|
||||
ability.addMode(new Mode(new CreateTokenEffect(new DalekToken())).withFlavorWord("Sec"));
|
||||
|
||||
// * Jast -- Each opponent loses 4 life.
|
||||
ability.addMode(new Mode(new LoseLifeOpponentsEffect(4)).withFlavorWord("Jast"));
|
||||
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private CultOfSkaro(final CultOfSkaro card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CultOfSkaro copy() {
|
||||
return new CultOfSkaro(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -49,6 +49,7 @@ public final class DoctorWho extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Creeping Tar Pit", 267, Rarity.RARE, mage.cards.c.CreepingTarPit.class));
|
||||
cards.add(new SetCardInfo("Crisis of Conscience", 17, Rarity.RARE, mage.cards.c.CrisisOfConscience.class));
|
||||
cards.add(new SetCardInfo("Crumbling Necropolis", 268, Rarity.UNCOMMON, mage.cards.c.CrumblingNecropolis.class));
|
||||
cards.add(new SetCardInfo("Cult of Skaro", 117, Rarity.RARE, mage.cards.c.CultOfSkaro.class));
|
||||
cards.add(new SetCardInfo("Cultivate", 230, Rarity.COMMON, mage.cards.c.Cultivate.class));
|
||||
cards.add(new SetCardInfo("Cursed Mirror", 226, Rarity.RARE, mage.cards.c.CursedMirror.class));
|
||||
cards.add(new SetCardInfo("Cyberman Patrol", 174, Rarity.UNCOMMON, mage.cards.c.CybermanPatrol.class));
|
||||
|
|
|
|||
33
Mage/src/main/java/mage/game/permanent/token/DalekToken.java
Normal file
33
Mage/src/main/java/mage/game/permanent/token/DalekToken.java
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.MenaceAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class DalekToken extends TokenImpl {
|
||||
|
||||
public DalekToken() {
|
||||
super("Dalek Token", "3/3 black Dalek artifact creature token with menace");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlack(true);
|
||||
subtype.add(SubType.DALEK);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
addAbility(new MenaceAbility(false));
|
||||
}
|
||||
|
||||
private DalekToken(final DalekToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DalekToken copy() {
|
||||
return new DalekToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue