forked from External/mage
[VOW] Implemented Skulking Killer
This commit is contained in:
parent
8d7aa8275b
commit
f9388b89da
2 changed files with 79 additions and 0 deletions
78
Mage.Sets/src/mage/cards/s/SkulkingKiller.java
Normal file
78
Mage.Sets/src/mage/cards/s/SkulkingKiller.java
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SkulkingKiller extends CardImpl {
|
||||
|
||||
public SkulkingKiller(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
|
||||
|
||||
this.subtype.add(SubType.VAMPIRE);
|
||||
this.subtype.add(SubType.ASSASSIN);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
// When Skulking Killer enters the battlefield, target creature an opponent controls gets -2/-2 until end of turn if that opponent controls no other creatures.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new SkulkingKillerEffect());
|
||||
ability.addTarget(new TargetOpponentsCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private SkulkingKiller(final SkulkingKiller card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SkulkingKiller copy() {
|
||||
return new SkulkingKiller(this);
|
||||
}
|
||||
}
|
||||
|
||||
class SkulkingKillerEffect extends OneShotEffect {
|
||||
|
||||
SkulkingKillerEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "target creature an opponent controls gets -2/-2 " +
|
||||
"until end of turn if that opponent controls no other creatures";
|
||||
}
|
||||
|
||||
private SkulkingKillerEffect(final SkulkingKillerEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SkulkingKillerEffect copy() {
|
||||
return new SkulkingKillerEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||
if (permanent == null || game.getBattlefield().count(
|
||||
StaticFilters.FILTER_CONTROLLED_CREATURE,
|
||||
source.getSourceId(), permanent.getControllerId(), game
|
||||
) > 1) {
|
||||
return false;
|
||||
}
|
||||
game.addEffect(new BoostTargetEffect(-2, -2), source);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -242,6 +242,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Sigarda's Imprisonment", 35, Rarity.COMMON, mage.cards.s.SigardasImprisonment.class));
|
||||
cards.add(new SetCardInfo("Sigardian Paladin", 247, Rarity.UNCOMMON, mage.cards.s.SigardianPaladin.class));
|
||||
cards.add(new SetCardInfo("Sinner's Judgment", 12, Rarity.MYTHIC, mage.cards.s.SinnersJudgment.class));
|
||||
cards.add(new SetCardInfo("Skulking Killer", 130, Rarity.UNCOMMON, mage.cards.s.SkulkingKiller.class));
|
||||
cards.add(new SetCardInfo("Skywarp Skaab", 78, Rarity.COMMON, mage.cards.s.SkywarpSkaab.class));
|
||||
cards.add(new SetCardInfo("Snarling Wolf", 219, Rarity.COMMON, mage.cards.s.SnarlingWolf.class));
|
||||
cards.add(new SetCardInfo("Sorin the Mirthless", 131, Rarity.MYTHIC, mage.cards.s.SorinTheMirthless.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue