mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[EOE] Implement Virulent Silencer
This commit is contained in:
parent
14f17dff91
commit
eb32ef42f8
3 changed files with 56 additions and 2 deletions
53
Mage.Sets/src/mage/cards/v/VirulentSilencer.java
Normal file
53
Mage.Sets/src/mage/cards/v/VirulentSilencer.java
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility;
|
||||
import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SetTargetPointer;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.permanent.TokenPredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class VirulentSilencer extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterControlledPermanent("a nontoken artifact creature you control");
|
||||
|
||||
static {
|
||||
filter.add(TokenPredicate.FALSE);
|
||||
filter.add(CardType.ARTIFACT.getPredicate());
|
||||
filter.add(CardType.CREATURE.getPredicate());
|
||||
}
|
||||
|
||||
public VirulentSilencer(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}");
|
||||
|
||||
this.subtype.add(SubType.ROBOT);
|
||||
this.subtype.add(SubType.ASSASSIN);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Whenever a nontoken artifact creature you control deals combat damage to a player, that player gets two poison counters.
|
||||
this.addAbility(new DealsDamageToAPlayerAllTriggeredAbility(
|
||||
new AddPoisonCounterTargetEffect(2), filter,
|
||||
false, SetTargetPointer.PLAYER, true
|
||||
));
|
||||
}
|
||||
|
||||
private VirulentSilencer(final VirulentSilencer card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirulentSilencer copy() {
|
||||
return new VirulentSilencer(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -67,6 +67,7 @@ public final class EdgeOfEternities extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 287, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Thrumming Hivepool", 247, Rarity.RARE, mage.cards.t.ThrummingHivepool.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Thrumming Hivepool", 356, Rarity.RARE, mage.cards.t.ThrummingHivepool.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Virulent Silencer", 248, Rarity.UNCOMMON, mage.cards.v.VirulentSilencer.class));
|
||||
cards.add(new SetCardInfo("Watery Grave", 261, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Watery Grave", 286, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Watery Grave", 381, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@ public class AddPoisonCounterTargetEffect extends OneShotEffect {
|
|||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
return getTargetPointer().describeTargets(mode.getTargets(), "it") +
|
||||
return getTargetPointer().describeTargets(mode.getTargets(), "that player") +
|
||||
(getTargetPointer().isPlural(mode.getTargets()) ? " get " : " gets ") +
|
||||
CardUtil.getSimpleCountersText(amount, "a", "poison");
|
||||
CardUtil.getSimpleCountersText(amount, "a", "poison");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue