diff --git a/Mage.Sets/src/mage/cards/a/ArahboTheFirstFang.java b/Mage.Sets/src/mage/cards/a/ArahboTheFirstFang.java new file mode 100644 index 00000000000..bb0ef48f756 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArahboTheFirstFang.java @@ -0,0 +1,62 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.TokenPredicate; +import mage.game.permanent.token.CatToken3; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ArahboTheFirstFang extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.CAT, "Cats"); + private static final FilterPermanent filter2 = new FilterControlledPermanent(SubType.CAT, "nontoken Cat you control"); + + static { + filter2.add(TokenPredicate.FALSE); + } + + public ArahboTheFirstFang(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.AVATAR); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Other Cats you control get +1/+1. + this.addAbility(new SimpleStaticAbility(new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, filter, true + ))); + + // Whenever Arahbo or another nontoken Cat you control enters, create a 1/1 white Cat creature token. + this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility( + new CreateTokenEffect(new CatToken3()), filter2, false, false + )); + } + + private ArahboTheFirstFang(final ArahboTheFirstFang card) { + super(card); + } + + @Override + public ArahboTheFirstFang copy() { + return new ArahboTheFirstFang(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 8ff851cee0c..67b7dcce8f3 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -25,6 +25,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Ajani, Caller of the Pride", 134, Rarity.MYTHIC, mage.cards.a.AjaniCallerOfThePride.class)); cards.add(new SetCardInfo("Angelic Edict", 490, Rarity.COMMON, mage.cards.a.AngelicEdict.class)); cards.add(new SetCardInfo("Anthem of Champions", 116, Rarity.RARE, mage.cards.a.AnthemOfChampions.class)); + cards.add(new SetCardInfo("Arahbo, the First Fang", 2, Rarity.RARE, mage.cards.a.ArahboTheFirstFang.class)); cards.add(new SetCardInfo("Arcane Epiphany", 29, Rarity.UNCOMMON, mage.cards.a.ArcaneEpiphany.class)); cards.add(new SetCardInfo("Ball Lightning", 618, Rarity.RARE, mage.cards.b.BallLightning.class)); cards.add(new SetCardInfo("Bloodtithe Collector", 516, Rarity.UNCOMMON, mage.cards.b.BloodtitheCollector.class));