Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions Mage.Sets/src/mage/cards/b/BlackWidowDaringOperative.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package mage.cards.b;

import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.MillCardsControllerEffect;
import mage.abilities.hint.ValueHint;
import mage.abilities.keyword.MenaceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;

import java.util.UUID;

/**
* @author muz
*/
public final class BlackWidowDaringOperative extends CardImpl {

public BlackWidowDaringOperative(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}");

this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SPY);
this.subtype.add(SubType.HERO);
this.power = new MageInt(3);
this.toughness = new MageInt(4);

// Menace
this.addAbility(new MenaceAbility(true));

// When Black Widow enters, mill three cards.
this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3)));

// Whenever Black Widow deals combat damage to a player, each opponent loses life equal to the number of creature cards in your graveyard.
DynamicValue xValue = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURES);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
new LoseLifeOpponentsEffect(xValue)
.setText("each opponent loses life equal to the number of creature cards in your graveyard")
).addHint(new ValueHint("Creature cards in your graveyard", xValue));
this.addAbility(ability);
}

private BlackWidowDaringOperative(final BlackWidowDaringOperative card) {
super(card);
}

@Override
public BlackWidowDaringOperative copy() {
return new BlackWidowDaringOperative(this);
}
}
1 change: 1 addition & 0 deletions Mage.Sets/src/mage/sets/MarvelSuperHeroesCommander.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ private MarvelSuperHeroesCommander() {
cards.add(new SetCardInfo("Black Tom Cassidy", 715, Rarity.COMMON, mage.cards.b.BlackTomCassidy.class));
cards.add(new SetCardInfo("Black Widow, Agile Avenger", 395, Rarity.RARE, mage.cards.b.BlackWidowAgileAvenger.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Black Widow, Agile Avenger", 77, Rarity.RARE, mage.cards.b.BlackWidowAgileAvenger.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Black Widow, Daring Operative", 831, Rarity.MYTHIC, mage.cards.b.BlackWidowDaringOperative.class));
cards.add(new SetCardInfo("Black Widow, Deadly Hunter", 648, Rarity.RARE, mage.cards.b.BlackWidowDeadlyHunter.class));
cards.add(new SetCardInfo("Black Widow, Intel Expert", 504, Rarity.RARE, mage.cards.b.BlackWidowIntelExpert.class));
cards.add(new SetCardInfo("Black Widow, Natasha Romanoff", 846, Rarity.COMMON, mage.cards.b.BlackWidowNatashaRomanoff.class));
Expand Down
Loading