mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[ANB] added 5 new cards (#11872)
Baloth Packhunter Compound Fracture Hallowed Priest Mardu Outrider Tin Street Cadet
This commit is contained in:
parent
c1b1af1572
commit
5c07b2e422
6 changed files with 226 additions and 7 deletions
56
Mage.Sets/src/mage/cards/b/BalothPackhunter.java
Normal file
56
Mage.Sets/src/mage/cards/b/BalothPackhunter.java
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
package mage.cards.b;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.NamePredicate;
|
||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author tiera3 - modified from CharmedStray
|
||||
*/
|
||||
public final class BalothPackhunter extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterControlledCreaturePermanent("other creature you control named Baloth Packhunter");
|
||||
|
||||
static {
|
||||
filter.add(new NamePredicate("Baloth Packhunter"));
|
||||
filter.add(AnotherPredicate.instance);
|
||||
}
|
||||
|
||||
public BalothPackhunter(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}");
|
||||
|
||||
this.subtype.add(SubType.BEAST);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Whenever Baloth Packhunter enters the battlefield, put two +1/+1 counters on each other creature you control named Baloth Packhunter.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new AddCountersAllEffect(CounterType.P1P1.createInstance(2), filter)
|
||||
));
|
||||
}
|
||||
|
||||
private BalothPackhunter(final BalothPackhunter card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BalothPackhunter copy() {
|
||||
return new BalothPackhunter(this);
|
||||
}
|
||||
}
|
||||
46
Mage.Sets/src/mage/cards/c/CompoundFracture.java
Normal file
46
Mage.Sets/src/mage/cards/c/CompoundFracture.java
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.mageobject.NamePredicate;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author tiera3 - modified from Growth Cycle
|
||||
*/
|
||||
public final class CompoundFracture extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("card named Compound Fracture");
|
||||
static {
|
||||
filter.add(new NamePredicate("Compound Fracture"));
|
||||
}
|
||||
private static final DynamicValue xValue = new CardsInControllerGraveyardCount(filter, -1);
|
||||
private static final String rule = "It gets an additional -1/-1 until end of turn for each " + xValue.getMessage();
|
||||
|
||||
public CompoundFracture(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}");
|
||||
|
||||
// Target creature gets -1/-1 until end of turn.
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(-1, -1, Duration.EndOfTurn));
|
||||
// It gets an additional -1/-1 until end of turn for each card named Compound Fracture in your graveyard.
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn).setText(rule));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
|
||||
private CompoundFracture(final CompoundFracture card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompoundFracture copy() {
|
||||
return new CompoundFracture(this);
|
||||
}
|
||||
}
|
||||
42
Mage.Sets/src/mage/cards/h/HallowedPriest.java
Normal file
42
Mage.Sets/src/mage/cards/h/HallowedPriest.java
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package mage.cards.h;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.GainLifeControllerTriggeredAbility;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author tiera3 - modified from AjanisPridemate
|
||||
*/
|
||||
public final class HallowedPriest extends CardImpl {
|
||||
|
||||
public HallowedPriest(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}");
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.CLERIC);
|
||||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever you gain life, put a +1/+1 counter on Hallowed Priest.
|
||||
this.addAbility(new GainLifeControllerTriggeredAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false
|
||||
));
|
||||
}
|
||||
|
||||
private HallowedPriest(final HallowedPriest card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HallowedPriest copy() {
|
||||
return new HallowedPriest(this);
|
||||
}
|
||||
|
||||
}
|
||||
38
Mage.Sets/src/mage/cards/m/MarduOutrider.java
Normal file
38
Mage.Sets/src/mage/cards/m/MarduOutrider.java
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability; // not sure about this line - think it is not needed
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author tiera3 - modified from LesserMasticore
|
||||
*/
|
||||
public final class MarduOutrider extends CardImpl {
|
||||
|
||||
public MarduOutrider(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}");
|
||||
|
||||
this.subtype.add(SubType.ORC);
|
||||
this.subtype.add(SubType.WARRIOR);
|
||||
this.power = new MageInt(5);
|
||||
this.toughness = new MageInt(5);
|
||||
|
||||
// As an additional cost to cast this spell, discard a card.
|
||||
this.getSpellAbility().addCost(new DiscardCardCost());
|
||||
}
|
||||
|
||||
private MarduOutrider(final MarduOutrider card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarduOutrider copy() {
|
||||
return new MarduOutrider(this);
|
||||
}
|
||||
}
|
||||
39
Mage.Sets/src/mage/cards/t/TinStreetCadet.java
Normal file
39
Mage.Sets/src/mage/cards/t/TinStreetCadet.java
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BecomesBlockedSourceTriggeredAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.game.permanent.token.GoblinToken;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author tiera3 - modified from GoblinInstigator
|
||||
*/
|
||||
public final class TinStreetCadet extends CardImpl {
|
||||
|
||||
public TinStreetCadet(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}");
|
||||
|
||||
this.subtype.add(SubType.GOBLIN);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever Tin Street Cadet becomes blocked, create a 1/1 red Goblin creature token.
|
||||
this.addAbility(new BecomesBlockedSourceTriggeredAbility(new CreateTokenEffect(new GoblinToken()), false));
|
||||
}
|
||||
|
||||
private TinStreetCadet(final TinStreetCadet card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TinStreetCadet copy() {
|
||||
return new TinStreetCadet(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -15,8 +15,6 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
return instance;
|
||||
}
|
||||
|
||||
// Missing cards - Baloth Packhunter , Compound Fracture , Hallowed Priest , Mardu Outrider , Tin Street Cadet
|
||||
|
||||
private ArenaBeginnerSet() {
|
||||
super("Arena Beginner Set", "ANB", ExpansionSet.buildDate(2020, 8, 13), SetType.MAGIC_ONLINE);
|
||||
this.hasBoosters = false;
|
||||
|
|
@ -30,7 +28,7 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Arcane Signet", 117, Rarity.COMMON, mage.cards.a.ArcaneSignet.class));
|
||||
cards.add(new SetCardInfo("Armored Whirl Turtle", 24, Rarity.COMMON, mage.cards.a.ArmoredWhirlTurtle.class));
|
||||
cards.add(new SetCardInfo("Bad Deal", 45, Rarity.UNCOMMON, mage.cards.b.BadDeal.class));
|
||||
// cards.add(new SetCardInfo("Baloth Packhunter", 90, Rarity.COMMON, mage.cards.b.BalothPackhunter.class));
|
||||
cards.add(new SetCardInfo("Baloth Packhunter", 90, Rarity.COMMON, mage.cards.b.BalothPackhunter.class));
|
||||
cards.add(new SetCardInfo("Bombard", 67, Rarity.COMMON, mage.cards.b.Bombard.class));
|
||||
cards.add(new SetCardInfo("Bond of Discipline", 4, Rarity.UNCOMMON, mage.cards.b.BondOfDiscipline.class));
|
||||
cards.add(new SetCardInfo("Burn Bright", 68, Rarity.COMMON, mage.cards.b.BurnBright.class));
|
||||
|
|
@ -39,7 +37,7 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Cloudkin Seer", 25, Rarity.COMMON, mage.cards.c.CloudkinSeer.class));
|
||||
cards.add(new SetCardInfo("Colossal Majesty", 92, Rarity.UNCOMMON, mage.cards.c.ColossalMajesty.class));
|
||||
cards.add(new SetCardInfo("Command Tower", 118, Rarity.COMMON, mage.cards.c.CommandTower.class));
|
||||
// cards.add(new SetCardInfo("Compound Fracture", 46, Rarity.COMMON, mage.cards.c.CompoundFracture.class));
|
||||
cards.add(new SetCardInfo("Compound Fracture", 46, Rarity.COMMON, mage.cards.c.CompoundFracture.class));
|
||||
cards.add(new SetCardInfo("Confront the Assault", 6, Rarity.UNCOMMON, mage.cards.c.ConfrontTheAssault.class));
|
||||
cards.add(new SetCardInfo("Coral Merfolk", 26, Rarity.COMMON, mage.cards.c.CoralMerfolk.class));
|
||||
cards.add(new SetCardInfo("Cruel Cut", 47, Rarity.COMMON, mage.cards.c.CruelCut.class));
|
||||
|
|
@ -61,7 +59,7 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Goblin Tunneler", 73, Rarity.COMMON, mage.cards.g.GoblinTunneler.class));
|
||||
cards.add(new SetCardInfo("Goring Ceratops", 8, Rarity.RARE, mage.cards.g.GoringCeratops.class));
|
||||
cards.add(new SetCardInfo("Greenwood Sentinel", 97, Rarity.COMMON, mage.cards.g.GreenwoodSentinel.class));
|
||||
// cards.add(new SetCardInfo("Hallowed Priest", 9, Rarity.UNCOMMON, mage.cards.h.HallowedPriest.class));
|
||||
cards.add(new SetCardInfo("Hallowed Priest", 9, Rarity.UNCOMMON, mage.cards.h.HallowedPriest.class));
|
||||
cards.add(new SetCardInfo("Hurloon Minotaur", 74, Rarity.COMMON, mage.cards.h.HurloonMinotaur.class));
|
||||
cards.add(new SetCardInfo("Ilysian Caryatid", 98, Rarity.COMMON, mage.cards.i.IlysianCaryatid.class));
|
||||
cards.add(new SetCardInfo("Immortal Phoenix", 75, Rarity.RARE, mage.cards.i.ImmortalPhoenix.class));
|
||||
|
|
@ -76,7 +74,7 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Loxodon Line Breaker", 14, Rarity.COMMON, mage.cards.l.LoxodonLineBreaker.class));
|
||||
cards.add(new SetCardInfo("Malakir Cullblade", 51, Rarity.UNCOMMON, mage.cards.m.MalakirCullblade.class));
|
||||
cards.add(new SetCardInfo("Maniacal Rage", 77, Rarity.COMMON, mage.cards.m.ManiacalRage.class));
|
||||
// cards.add(new SetCardInfo("Mardu Outrider", 52, Rarity.RARE, mage.cards.m.MarduOutrider.class));
|
||||
cards.add(new SetCardInfo("Mardu Outrider", 52, Rarity.RARE, mage.cards.m.MarduOutrider.class));
|
||||
cards.add(new SetCardInfo("Molten Ravager", 78, Rarity.COMMON, mage.cards.m.MoltenRavager.class));
|
||||
cards.add(new SetCardInfo("Moorland Inquisitor", 15, Rarity.COMMON, mage.cards.m.MoorlandInquisitor.class));
|
||||
cards.add(new SetCardInfo("Mountain", 114, Rarity.LAND, mage.cards.basiclands.Mountain.class));
|
||||
|
|
@ -122,7 +120,7 @@ public class ArenaBeginnerSet extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Swamp", 116, Rarity.LAND, mage.cards.basiclands.Swamp.class));
|
||||
cards.add(new SetCardInfo("Sworn Guardian", 35, Rarity.COMMON, mage.cards.s.SwornGuardian.class));
|
||||
cards.add(new SetCardInfo("Tactical Advantage", 22, Rarity.COMMON, mage.cards.t.TacticalAdvantage.class));
|
||||
// cards.add(new SetCardInfo("Tin Street Cadet", 87, Rarity.COMMON, mage.cards.t.TinStreetCadet.class));
|
||||
cards.add(new SetCardInfo("Tin Street Cadet", 87, Rarity.COMMON, mage.cards.t.TinStreetCadet.class));
|
||||
cards.add(new SetCardInfo("Titanic Growth", 106, Rarity.COMMON, mage.cards.t.TitanicGrowth.class));
|
||||
cards.add(new SetCardInfo("Treetop Warden", 107, Rarity.COMMON, mage.cards.t.TreetopWarden.class));
|
||||
cards.add(new SetCardInfo("Typhoid Rats", 63, Rarity.COMMON, mage.cards.t.TyphoidRats.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue