diff --git a/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java b/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java new file mode 100644 index 00000000000..6a4c994fa6e --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java @@ -0,0 +1,62 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BrotherhoodSpy extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledPermanent(SubType.ASSASSIN); + + static { + filter.add(SuperType.LEGENDARY.getPredicate()); + } + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter); + private static final Hint hint = new ConditionHint(condition, "You control a legendary Assassin"); + + public BrotherhoodSpy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // At the beginning of combat on your turn, if you control a legendary Assassin, Brotherhood Spy gets +1/+0 until end of turn and can't be blocked this turn. + Ability ability = new ConditionalInterveningIfTriggeredAbility( + new BeginningOfCombatTriggeredAbility( + new BoostTargetEffect(1, 0), TargetController.YOU, false + ), condition, "At the beginning of combat on your turn, if you control a legendary Assassin, " + + "{this} gets +1/+0 until end of turn and can't be blocked this turn." + ); + ability.addEffect(new CantBeBlockedSourceEffect(Duration.EndOfTurn)); + this.addAbility(ability.addHint(hint)); + } + + private BrotherhoodSpy(final BrotherhoodSpy card) { + super(card); + } + + @Override + public BrotherhoodSpy copy() { + return new BrotherhoodSpy(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AssassinsCreed.java b/Mage.Sets/src/mage/sets/AssassinsCreed.java index 90eaa06c480..e9e045f2615 100644 --- a/Mage.Sets/src/mage/sets/AssassinsCreed.java +++ b/Mage.Sets/src/mage/sets/AssassinsCreed.java @@ -33,6 +33,7 @@ public final class AssassinsCreed extends ExpansionSet { cards.add(new SetCardInfo("Black Market Connections", 87, Rarity.RARE, mage.cards.b.BlackMarketConnections.class)); cards.add(new SetCardInfo("Brotherhood Ambushers", 285, Rarity.UNCOMMON, mage.cards.b.BrotherhoodAmbushers.class)); cards.add(new SetCardInfo("Brotherhood Patriarch", 286, Rarity.COMMON, mage.cards.b.BrotherhoodPatriarch.class)); + cards.add(new SetCardInfo("Brotherhood Spy", 282, Rarity.UNCOMMON, mage.cards.b.BrotherhoodSpy.class)); cards.add(new SetCardInfo("Cathartic Reunion", 94, Rarity.UNCOMMON, mage.cards.c.CatharticReunion.class)); cards.add(new SetCardInfo("Chain Assassination", 23, Rarity.UNCOMMON, mage.cards.c.ChainAssassination.class)); cards.add(new SetCardInfo("Cleopatra, Exiled Pharaoh", 52, Rarity.MYTHIC, mage.cards.c.CleopatraExiledPharaoh.class));