forked from External/mage
Merge pull request 'master' (#47) from External/mage:master into master
All checks were successful
/ build_release (push) Successful in 16m14s
All checks were successful
/ build_release (push) Successful in 16m14s
Reviewed-on: #47
This commit is contained in:
commit
dd34dc9b0b
27 changed files with 894 additions and 47 deletions
|
|
@ -10,10 +10,7 @@ import mage.abilities.keyword.ReachAbility;
|
||||||
import mage.abilities.keyword.VigilanceAbility;
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.Outcome;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.SuperType;
|
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
@ -42,8 +39,8 @@ public final class AloySaviorOfMeridian extends CardImpl {
|
||||||
this.addAbility(ReachAbility.getInstance());
|
this.addAbility(ReachAbility.getInstance());
|
||||||
|
|
||||||
// In You, All Things Are Possible -- Whenever one or more artifact creatures you control attack, discover X, where X is the greatest power among them.
|
// In You, All Things Are Possible -- Whenever one or more artifact creatures you control attack, discover X, where X is the greatest power among them.
|
||||||
this.addAbility(new AttacksWithCreaturesTriggeredAbility(
|
this.addAbility(new AttacksWithCreaturesTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
new AloySaviorOfMeridianEffect(), 1, StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE
|
new AloySaviorOfMeridianEffect(), 1, StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE, true
|
||||||
).setTriggerPhrase("Whenever one or more artifact creatures you control attack, ").withFlavorWord("In You, All Things Are Possible"));
|
).setTriggerPhrase("Whenever one or more artifact creatures you control attack, ").withFlavorWord("In You, All Things Are Possible"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
58
Mage.Sets/src/mage/cards/a/AvatarKyoshiEarthbender.java
Normal file
58
Mage.Sets/src/mage/cards/a/AvatarKyoshiEarthbender.java
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.condition.common.MyTurnCondition;
|
||||||
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
|
import mage.abilities.effects.common.UntapTargetEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||||
|
import mage.abilities.effects.keyword.EarthbendTargetEffect;
|
||||||
|
import mage.abilities.keyword.HexproofAbility;
|
||||||
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
|
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.target.common.TargetControlledLandPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class AvatarKyoshiEarthbender extends CardImpl {
|
||||||
|
|
||||||
|
public AvatarKyoshiEarthbender(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}{G}");
|
||||||
|
|
||||||
|
this.supertype.add(SuperType.LEGENDARY);
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.AVATAR);
|
||||||
|
this.power = new MageInt(6);
|
||||||
|
this.toughness = new MageInt(6);
|
||||||
|
|
||||||
|
// During your turn, Avatar Kyoshi has hexproof.
|
||||||
|
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||||
|
new GainAbilitySourceEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||||
|
MyTurnCondition.instance, "during your turn, {this} has hexproof"
|
||||||
|
)));
|
||||||
|
|
||||||
|
// At the beginning of combat on your turn, earthbend 8, then untap that land.
|
||||||
|
Ability ability = new BeginningOfCombatTriggeredAbility(new EarthbendTargetEffect(8));
|
||||||
|
ability.addEffect(new UntapTargetEffect().setText(", then untap that land"));
|
||||||
|
ability.addTarget(new TargetControlledLandPermanent());
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private AvatarKyoshiEarthbender(final AvatarKyoshiEarthbender card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AvatarKyoshiEarthbender copy() {
|
||||||
|
return new AvatarKyoshiEarthbender(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
49
Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java
Normal file
49
Mage.Sets/src/mage/cards/a/AzulaOnTheHunt.java
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||||
|
import mage.abilities.keyword.FirebendingAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
|
import mage.game.permanent.token.ClueArtifactToken;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class AzulaOnTheHunt extends CardImpl {
|
||||||
|
|
||||||
|
public AzulaOnTheHunt(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
|
||||||
|
|
||||||
|
this.supertype.add(SuperType.LEGENDARY);
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.NOBLE);
|
||||||
|
this.power = new MageInt(4);
|
||||||
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
// Firebending 2
|
||||||
|
this.addAbility(new FirebendingAbility(2));
|
||||||
|
|
||||||
|
// Whenever Azula attacks, you lose 1 life and create a Clue token.
|
||||||
|
Ability ability = new AttacksTriggeredAbility(new LoseLifeSourceControllerEffect(1));
|
||||||
|
ability.addEffect(new CreateTokenEffect(new ClueArtifactToken()).concatBy("and"));
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private AzulaOnTheHunt(final AzulaOnTheHunt card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AzulaOnTheHunt copy() {
|
||||||
|
return new AzulaOnTheHunt(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
37
Mage.Sets/src/mage/cards/c/CunningManeuver.java
Normal file
37
Mage.Sets/src/mage/cards/c/CunningManeuver.java
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.game.permanent.token.ClueArtifactToken;
|
||||||
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class CunningManeuver extends CardImpl {
|
||||||
|
|
||||||
|
public CunningManeuver(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}");
|
||||||
|
|
||||||
|
// Target creature gets +3/+1 until end of turn.
|
||||||
|
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 1));
|
||||||
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
||||||
|
// Create a Clue token.
|
||||||
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new ClueArtifactToken()).concatBy("<br>"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private CunningManeuver(final CunningManeuver card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CunningManeuver copy() {
|
||||||
|
return new CunningManeuver(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -62,8 +62,7 @@ class DevastatingOnslaughtEffect extends OneShotEffect {
|
||||||
if (permanent == null || xValue < 1) {
|
if (permanent == null || xValue < 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect();
|
CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(null, null, true, xValue);
|
||||||
effect.setHasHaste(true);
|
|
||||||
effect.setSavedPermanent(permanent);
|
effect.setSavedPermanent(permanent);
|
||||||
effect.apply(game, source);
|
effect.apply(game, source);
|
||||||
effect.sacrificeTokensCreatedAtNextEndStep(game, source);
|
effect.sacrificeTokensCreatedAtNextEndStep(game, source);
|
||||||
|
|
|
||||||
42
Mage.Sets/src/mage/cards/f/FirebendingStudent.java
Normal file
42
Mage.Sets/src/mage/cards/f/FirebendingStudent.java
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
package mage.cards.f;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue;
|
||||||
|
import mage.abilities.keyword.FirebendingAbility;
|
||||||
|
import mage.abilities.keyword.ProwessAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class FirebendingStudent extends CardImpl {
|
||||||
|
|
||||||
|
public FirebendingStudent(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.MONK);
|
||||||
|
this.power = new MageInt(1);
|
||||||
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
|
// Prowess
|
||||||
|
this.addAbility(new ProwessAbility());
|
||||||
|
|
||||||
|
// Firebending X, where X is this creature's power.
|
||||||
|
this.addAbility(new FirebendingAbility(SourcePermanentPowerValue.NOT_NEGATIVE));
|
||||||
|
}
|
||||||
|
|
||||||
|
private FirebendingStudent(final FirebendingStudent card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FirebendingStudent copy() {
|
||||||
|
return new FirebendingStudent(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
|
import mage.ApprovingObject;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
|
|
@ -26,7 +27,6 @@ import mage.target.targetpointer.FixedTarget;
|
||||||
import mage.util.CardUtil;
|
import mage.util.CardUtil;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.ApprovingObject;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
|
|
@ -181,7 +181,7 @@ class KnowledgePoolExileAndPlayEffect extends OneShotEffect {
|
||||||
FilterNonlandCard filter = new FilterNonlandCard("nonland card exiled with Knowledge Pool");
|
FilterNonlandCard filter = new FilterNonlandCard("nonland card exiled with Knowledge Pool");
|
||||||
filter.add(Predicates.not(new CardIdPredicate(spell.getSourceId())));
|
filter.add(Predicates.not(new CardIdPredicate(spell.getSourceId())));
|
||||||
|
|
||||||
TargetCardInExile target = new TargetCardInExile(0, 1, filter, source.getSourceId());
|
TargetCardInExile target = new TargetCardInExile(0, 1, filter, exileZoneId);
|
||||||
target.withNotTarget(true);
|
target.withNotTarget(true);
|
||||||
|
|
||||||
if (!spellController.choose(Outcome.PlayForFree, game.getExile().getExileZone(exileZoneId), target, source, game)) {
|
if (!spellController.choose(Outcome.PlayForFree, game.getExile().getExileZone(exileZoneId), target, source, game)) {
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public final class LizardConnorssCurse extends CardImpl {
|
||||||
CreatureToken token = new CreatureToken(4, 4, "green Lizard creature with base power and toughness 4/4", SubType.LIZARD)
|
CreatureToken token = new CreatureToken(4, 4, "green Lizard creature with base power and toughness 4/4", SubType.LIZARD)
|
||||||
.withColor("G");
|
.withColor("G");
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(
|
Ability ability = new EntersBattlefieldTriggeredAbility(
|
||||||
new BecomesCreatureTargetEffect(token, true, false, Duration.WhileOnBattlefield)
|
new BecomesCreatureTargetEffect(token, true, false, Duration.Custom)
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(0, 1, filter));
|
ability.addTarget(new TargetPermanent(0, 1, filter));
|
||||||
ability.withFlavorWord("Lizard Formula");
|
ability.withFlavorWord("Lizard Formula");
|
||||||
|
|
|
||||||
54
Mage.Sets/src/mage/cards/n/NorthPolePatrol.java
Normal file
54
Mage.Sets/src/mage/cards/n/NorthPolePatrol.java
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
package mage.cards.n;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
import mage.abilities.costs.common.WaterbendCost;
|
||||||
|
import mage.abilities.effects.common.TapTargetEffect;
|
||||||
|
import mage.abilities.effects.common.UntapTargetEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.target.TargetPermanent;
|
||||||
|
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class NorthPolePatrol extends CardImpl {
|
||||||
|
|
||||||
|
public NorthPolePatrol(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.SOLDIER);
|
||||||
|
this.subtype.add(SubType.ALLY);
|
||||||
|
this.power = new MageInt(2);
|
||||||
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
// {T}: Untap another target permanent you control.
|
||||||
|
Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new TapSourceCost());
|
||||||
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_TARGET_PERMANENT));
|
||||||
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
// Waterbend {3}, {T}: Tap target creature an opponent controls.
|
||||||
|
ability = new SimpleActivatedAbility(new TapTargetEffect(), new WaterbendCost(3));
|
||||||
|
ability.addCost(new TapSourceCost());
|
||||||
|
ability.addTarget(new TargetOpponentsCreaturePermanent());
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private NorthPolePatrol(final NorthPolePatrol card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NorthPolePatrol copy() {
|
||||||
|
return new NorthPolePatrol(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
39
Mage.Sets/src/mage/cards/s/SozinsComet.java
Normal file
39
Mage.Sets/src/mage/cards/s/SozinsComet.java
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
package mage.cards.s;
|
||||||
|
|
||||||
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
|
import mage.abilities.keyword.FirebendingAbility;
|
||||||
|
import mage.abilities.keyword.ForetellAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Duration;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class SozinsComet extends CardImpl {
|
||||||
|
|
||||||
|
public SozinsComet(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
|
||||||
|
|
||||||
|
// Each creature you control gains firebending 5 until end of turn.
|
||||||
|
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(
|
||||||
|
new FirebendingAbility(5), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE
|
||||||
|
));
|
||||||
|
|
||||||
|
// Foretell {2}{R}
|
||||||
|
this.addAbility(new ForetellAbility(this, "{2}{R}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private SozinsComet(final SozinsComet card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SozinsComet copy() {
|
||||||
|
return new SozinsComet(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -26,7 +26,7 @@ public final class TandemTakedown extends CardImpl {
|
||||||
CardType.PLANESWALKER.getPredicate(),
|
CardType.PLANESWALKER.getPredicate(),
|
||||||
CardType.BATTLE.getPredicate()
|
CardType.BATTLE.getPredicate()
|
||||||
));
|
));
|
||||||
filter.add(new AnotherTargetPredicate(2));
|
filter.add(new AnotherTargetPredicate(3));
|
||||||
}
|
}
|
||||||
|
|
||||||
public TandemTakedown(UUID ownerId, CardSetInfo setInfo) {
|
public TandemTakedown(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
||||||
70
Mage.Sets/src/mage/cards/t/TheCaveOfTwoLovers.java
Normal file
70
Mage.Sets/src/mage/cards/t/TheCaveOfTwoLovers.java
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
package mage.cards.t;
|
||||||
|
|
||||||
|
import mage.abilities.common.SagaAbility;
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
||||||
|
import mage.abilities.effects.keyword.EarthbendTargetEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SagaChapter;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.FilterCard;
|
||||||
|
import mage.filter.predicate.Predicates;
|
||||||
|
import mage.game.permanent.token.AllyToken;
|
||||||
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
import mage.target.common.TargetControlledLandPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class TheCaveOfTwoLovers extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterCard filter = new FilterCard("a Mountain or Cave card");
|
||||||
|
|
||||||
|
static {
|
||||||
|
filter.add(Predicates.or(
|
||||||
|
SubType.MOUNTAIN.getPredicate(),
|
||||||
|
SubType.CAVE.getPredicate()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public TheCaveOfTwoLovers(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.SAGA);
|
||||||
|
|
||||||
|
// (As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)
|
||||||
|
SagaAbility sagaAbility = new SagaAbility(this);
|
||||||
|
|
||||||
|
// I -- Create two 1/1 white Ally creature tokens.
|
||||||
|
sagaAbility.addChapterEffect(
|
||||||
|
this, SagaChapter.CHAPTER_I,
|
||||||
|
new CreateTokenEffect(new AllyToken(), 2)
|
||||||
|
);
|
||||||
|
|
||||||
|
// II -- Search your library for a Mountain or Cave card, reveal it, put it into your hand, then shuffle.
|
||||||
|
sagaAbility.addChapterEffect(
|
||||||
|
this, SagaChapter.CHAPTER_II,
|
||||||
|
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true
|
||||||
|
));
|
||||||
|
|
||||||
|
// III -- Earthbend 3.
|
||||||
|
sagaAbility.addChapterEffect(
|
||||||
|
this, SagaChapter.CHAPTER_III,
|
||||||
|
new EarthbendTargetEffect(3), new TargetControlledLandPermanent()
|
||||||
|
);
|
||||||
|
this.addAbility(sagaAbility);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TheCaveOfTwoLovers(final TheCaveOfTwoLovers card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TheCaveOfTwoLovers copy() {
|
||||||
|
return new TheCaveOfTwoLovers(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
47
Mage.Sets/src/mage/cards/t/TigerSeal.java
Normal file
47
Mage.Sets/src/mage/cards/t/TigerSeal.java
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
package mage.cards.t;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.DrawNthCardTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.TapSourceEffect;
|
||||||
|
import mage.abilities.effects.common.UntapSourceEffect;
|
||||||
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
|
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class TigerSeal extends CardImpl {
|
||||||
|
|
||||||
|
public TigerSeal(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.CAT);
|
||||||
|
this.subtype.add(SubType.SEAL);
|
||||||
|
this.power = new MageInt(3);
|
||||||
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
// Vigilance
|
||||||
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
|
// At the beginning of your upkeep, tap this creature.
|
||||||
|
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapSourceEffect()));
|
||||||
|
|
||||||
|
// Whenever you draw your second card each turn, untap this creature.
|
||||||
|
this.addAbility(new DrawNthCardTriggeredAbility(new UntapSourceEffect()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private TigerSeal(final TigerSeal card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TigerSeal copy() {
|
||||||
|
return new TigerSeal(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ class UltimaOriginOfOblivionEffect extends ContinuousEffectImpl {
|
||||||
}
|
}
|
||||||
switch (layer) {
|
switch (layer) {
|
||||||
case TypeChangingEffects_4:
|
case TypeChangingEffects_4:
|
||||||
permanent.looseAllAbilities(game);
|
permanent.removeAllAbilities(source.getSourceId(), game);
|
||||||
permanent.addAbility(new ColorlessManaAbility(), source.getSourceId(), game);
|
permanent.addAbility(new ColorlessManaAbility(), source.getSourceId(), game);
|
||||||
return true;
|
return true;
|
||||||
case AbilityAddingRemovingEffects_6:
|
case AbilityAddingRemovingEffects_6:
|
||||||
|
|
|
||||||
49
Mage.Sets/src/mage/cards/w/WhiteLotusReinforcements.java
Normal file
49
Mage.Sets/src/mage/cards/w/WhiteLotusReinforcements.java
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
package mage.cards.w;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||||
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.FilterPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class WhiteLotusReinforcements extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterPermanent filter = new FilterPermanent(SubType.ALLY, "Allies");
|
||||||
|
|
||||||
|
public WhiteLotusReinforcements(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.SOLDIER);
|
||||||
|
this.subtype.add(SubType.ALLY);
|
||||||
|
this.power = new MageInt(2);
|
||||||
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
// Vigilance
|
||||||
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
|
// Other Allies you control get +1/+1.
|
||||||
|
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(
|
||||||
|
1, 1, Duration.WhileOnBattlefield, filter, true
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
|
||||||
|
private WhiteLotusReinforcements(final WhiteLotusReinforcements card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WhiteLotusReinforcements copy() {
|
||||||
|
return new WhiteLotusReinforcements(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
38
Mage.Sets/src/mage/cards/w/WhiteLotusTile.java
Normal file
38
Mage.Sets/src/mage/cards/w/WhiteLotusTile.java
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
package mage.cards.w;
|
||||||
|
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
import mage.abilities.dynamicvalue.common.GreatestSharedCreatureTypeCount;
|
||||||
|
import mage.abilities.mana.AnyColorManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class WhiteLotusTile extends CardImpl {
|
||||||
|
|
||||||
|
public WhiteLotusTile(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||||
|
|
||||||
|
// This artifact enters tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
|
||||||
|
// {T}: Add X mana of any one color, where X is the greatest number of creatures you control that have a creature type in common.
|
||||||
|
this.addAbility(new AnyColorManaAbility(
|
||||||
|
new TapSourceCost(), GreatestSharedCreatureTypeCount.instance, false
|
||||||
|
).addHint(GreatestSharedCreatureTypeCount.getHint()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private WhiteLotusTile(final WhiteLotusTile card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WhiteLotusTile copy() {
|
||||||
|
return new WhiteLotusTile(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -72,7 +72,7 @@ class YixlidJailerEffect extends ContinuousEffectImpl {
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
for (Card card : player.getGraveyard().getCards(game)) {
|
for (Card card : player.getGraveyard().getCards(game)) {
|
||||||
if (card != null) {
|
if (card != null) {
|
||||||
card.looseAllAbilities(game);
|
card.loseAllAbilities(game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
39
Mage.Sets/src/mage/cards/z/ZukosExile.java
Normal file
39
Mage.Sets/src/mage/cards/z/ZukosExile.java
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
package mage.cards.z;
|
||||||
|
|
||||||
|
import mage.abilities.effects.common.CreateTokenControllerTargetEffect;
|
||||||
|
import mage.abilities.effects.common.ExileTargetEffect;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.game.permanent.token.ClueArtifactToken;
|
||||||
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class ZukosExile extends CardImpl {
|
||||||
|
|
||||||
|
public ZukosExile(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.LESSON);
|
||||||
|
|
||||||
|
// Exile target artifact, creature, or enchantment. Its controller creates a Clue token.
|
||||||
|
this.getSpellAbility().addEffect(new ExileTargetEffect());
|
||||||
|
this.getSpellAbility().addEffect(new CreateTokenControllerTargetEffect(new ClueArtifactToken()));
|
||||||
|
this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE_OR_ENCHANTMENT));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ZukosExile(final ZukosExile card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZukosExile copy() {
|
||||||
|
return new ZukosExile(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public final class AvatarTheLastAirbender extends ExpansionSet {
|
public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
|
|
||||||
private static final List<String> unfinished = Arrays.asList("Aang's Iceberg", "Avatar Aang", "Aang, Master of Elements", "Flexible Waterbender", "Geyser Leaper", "Giant Koi", "Katara, Bending Prodigy", "Katara, Water Tribe's Hope", "Waterbending Lesson", "Watery Grasp", "Yue, the Moon Spirit");
|
private static final List<String> unfinished = Arrays.asList("Aang's Iceberg", "Avatar Aang", "Flexible Waterbender", "Geyser Leaper", "Giant Koi", "Hama, the Bloodbender", "Katara, Bending Prodigy", "Katara, Water Tribe's Hope", "North Pole Patrol", "Secret of Bloodbending", "The Legend of Kuruk", "Waterbending Lesson", "Water Tribe Rallier", "Watery Grasp", "Yue, the Moon Spirit");
|
||||||
private static final AvatarTheLastAirbender instance = new AvatarTheLastAirbender();
|
private static final AvatarTheLastAirbender instance = new AvatarTheLastAirbender();
|
||||||
|
|
||||||
public static AvatarTheLastAirbender getInstance() {
|
public static AvatarTheLastAirbender getInstance() {
|
||||||
|
|
@ -29,6 +29,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Aang's Iceberg", 5, Rarity.RARE, mage.cards.a.AangsIceberg.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Aang's Iceberg", 5, Rarity.RARE, mage.cards.a.AangsIceberg.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Aang's Journey", 1, Rarity.COMMON, mage.cards.a.AangsJourney.class));
|
cards.add(new SetCardInfo("Aang's Journey", 1, Rarity.COMMON, mage.cards.a.AangsJourney.class));
|
||||||
cards.add(new SetCardInfo("Aang, Master of Elements", 207, Rarity.MYTHIC, mage.cards.a.AangMasterOfElements.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Aang, Master of Elements", 207, Rarity.MYTHIC, mage.cards.a.AangMasterOfElements.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Aang, Master of Elements", 308, Rarity.MYTHIC, mage.cards.a.AangMasterOfElements.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Aang, Master of Elements", 363, Rarity.MYTHIC, mage.cards.a.AangMasterOfElements.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Aang, Master of Elements", 363, Rarity.MYTHIC, mage.cards.a.AangMasterOfElements.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Aang, the Last Airbender", 4, Rarity.UNCOMMON, mage.cards.a.AangTheLastAirbender.class));
|
cards.add(new SetCardInfo("Aang, the Last Airbender", 4, Rarity.UNCOMMON, mage.cards.a.AangTheLastAirbender.class));
|
||||||
cards.add(new SetCardInfo("Abandon Attachments", 205, Rarity.COMMON, mage.cards.a.AbandonAttachments.class));
|
cards.add(new SetCardInfo("Abandon Attachments", 205, Rarity.COMMON, mage.cards.a.AbandonAttachments.class));
|
||||||
|
|
@ -36,9 +37,11 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 10, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 10, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 316, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Appa, Steadfast Guardian", 316, Rarity.MYTHIC, mage.cards.a.AppaSteadfastGuardian.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Avatar Aang", 207, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Avatar Aang", 207, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Avatar Aang", 308, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Avatar Aang", 363, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Avatar Aang", 363, Rarity.MYTHIC, mage.cards.a.AvatarAang.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Avatar Enthusiasts", 11, Rarity.COMMON, mage.cards.a.AvatarEnthusiasts.class));
|
cards.add(new SetCardInfo("Avatar Enthusiasts", 11, Rarity.COMMON, mage.cards.a.AvatarEnthusiasts.class));
|
||||||
cards.add(new SetCardInfo("Azula Always Lies", 84, Rarity.COMMON, mage.cards.a.AzulaAlwaysLies.class));
|
cards.add(new SetCardInfo("Azula Always Lies", 84, Rarity.COMMON, mage.cards.a.AzulaAlwaysLies.class));
|
||||||
|
cards.add(new SetCardInfo("Azula, On the Hunt", 85, Rarity.UNCOMMON, mage.cards.a.AzulaOnTheHunt.class));
|
||||||
cards.add(new SetCardInfo("Badgermole", 166, Rarity.COMMON, mage.cards.b.Badgermole.class));
|
cards.add(new SetCardInfo("Badgermole", 166, Rarity.COMMON, mage.cards.b.Badgermole.class));
|
||||||
cards.add(new SetCardInfo("Barrels of Blasting Jelly", 254, Rarity.COMMON, mage.cards.b.BarrelsOfBlastingJelly.class));
|
cards.add(new SetCardInfo("Barrels of Blasting Jelly", 254, Rarity.COMMON, mage.cards.b.BarrelsOfBlastingJelly.class));
|
||||||
cards.add(new SetCardInfo("Beetle-Headed Merchants", 86, Rarity.COMMON, mage.cards.b.BeetleHeadedMerchants.class));
|
cards.add(new SetCardInfo("Beetle-Headed Merchants", 86, Rarity.COMMON, mage.cards.b.BeetleHeadedMerchants.class));
|
||||||
|
|
@ -47,6 +50,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Cat-Gator", 91, Rarity.UNCOMMON, mage.cards.c.CatGator.class));
|
cards.add(new SetCardInfo("Cat-Gator", 91, Rarity.UNCOMMON, mage.cards.c.CatGator.class));
|
||||||
cards.add(new SetCardInfo("Cat-Owl", 212, Rarity.COMMON, mage.cards.c.CatOwl.class));
|
cards.add(new SetCardInfo("Cat-Owl", 212, Rarity.COMMON, mage.cards.c.CatOwl.class));
|
||||||
cards.add(new SetCardInfo("Corrupt Court Official", 92, Rarity.COMMON, mage.cards.c.CorruptCourtOfficial.class));
|
cards.add(new SetCardInfo("Corrupt Court Official", 92, Rarity.COMMON, mage.cards.c.CorruptCourtOfficial.class));
|
||||||
|
cards.add(new SetCardInfo("Cunning Maneuver", 130, Rarity.COMMON, mage.cards.c.CunningManeuver.class));
|
||||||
cards.add(new SetCardInfo("Dai Li Indoctrination", 93, Rarity.COMMON, mage.cards.d.DaiLiIndoctrination.class));
|
cards.add(new SetCardInfo("Dai Li Indoctrination", 93, Rarity.COMMON, mage.cards.d.DaiLiIndoctrination.class));
|
||||||
cards.add(new SetCardInfo("Deserter's Disciple", 131, Rarity.COMMON, mage.cards.d.DesertersDisciple.class));
|
cards.add(new SetCardInfo("Deserter's Disciple", 131, Rarity.COMMON, mage.cards.d.DesertersDisciple.class));
|
||||||
cards.add(new SetCardInfo("Earth Kingdom Soldier", 216, Rarity.COMMON, mage.cards.e.EarthKingdomSoldier.class));
|
cards.add(new SetCardInfo("Earth Kingdom Soldier", 216, Rarity.COMMON, mage.cards.e.EarthKingdomSoldier.class));
|
||||||
|
|
@ -55,19 +59,26 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Earthbending Lesson", 176, Rarity.COMMON, mage.cards.e.EarthbendingLesson.class));
|
cards.add(new SetCardInfo("Earthbending Lesson", 176, Rarity.COMMON, mage.cards.e.EarthbendingLesson.class));
|
||||||
cards.add(new SetCardInfo("Epic Downfall", 96, Rarity.UNCOMMON, mage.cards.e.EpicDownfall.class));
|
cards.add(new SetCardInfo("Epic Downfall", 96, Rarity.UNCOMMON, mage.cards.e.EpicDownfall.class));
|
||||||
cards.add(new SetCardInfo("Fated Firepower", 132, Rarity.MYTHIC, mage.cards.f.FatedFirepower.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fated Firepower", 132, Rarity.MYTHIC, mage.cards.f.FatedFirepower.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Fated Firepower", 297, Rarity.MYTHIC, mage.cards.f.FatedFirepower.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fated Firepower", 341, Rarity.MYTHIC, mage.cards.f.FatedFirepower.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fated Firepower", 341, Rarity.MYTHIC, mage.cards.f.FatedFirepower.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Lord Sozin", 117, Rarity.MYTHIC, mage.cards.f.FireLordSozin.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fire Lord Sozin", 117, Rarity.MYTHIC, mage.cards.f.FireLordSozin.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Lord Sozin", 356, Rarity.MYTHIC, mage.cards.f.FireLordSozin.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fire Lord Sozin", 356, Rarity.MYTHIC, mage.cards.f.FireLordSozin.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Lord Zuko", 221, Rarity.RARE, mage.cards.f.FireLordZuko.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fire Lord Zuko", 221, Rarity.RARE, mage.cards.f.FireLordZuko.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Lord Zuko", 360, Rarity.RARE, mage.cards.f.FireLordZuko.class, FULL_ART_USE_VARIOUS));
|
cards.add(new SetCardInfo("Fire Lord Zuko", 315, Rarity.RARE, mage.cards.f.FireLordZuko.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Nation Attacks", 133, Rarity.UNCOMMON, mage.cards.f.FireNationAttacks.class));
|
cards.add(new SetCardInfo("Fire Lord Zuko", 360, Rarity.RARE, mage.cards.f.FireLordZuko.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Fire Nation Attacks", 133, Rarity.UNCOMMON, mage.cards.f.FireNationAttacks.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Fire Nation Attacks", 299, Rarity.UNCOMMON, mage.cards.f.FireNationAttacks.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Fire Nation Engineer", 99, Rarity.UNCOMMON, mage.cards.f.FireNationEngineer.class));
|
cards.add(new SetCardInfo("Fire Nation Engineer", 99, Rarity.UNCOMMON, mage.cards.f.FireNationEngineer.class));
|
||||||
cards.add(new SetCardInfo("Fire Sages", 136, Rarity.UNCOMMON, mage.cards.f.FireSages.class));
|
cards.add(new SetCardInfo("Fire Sages", 136, Rarity.UNCOMMON, mage.cards.f.FireSages.class));
|
||||||
|
cards.add(new SetCardInfo("Firebending Student", 139, Rarity.RARE, mage.cards.f.FirebendingStudent.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Firebending Student", 342, Rarity.RARE, mage.cards.f.FirebendingStudent.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Firebending Student", 393, Rarity.RARE, mage.cards.f.FirebendingStudent.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("First-Time Flyer", 49, Rarity.COMMON, mage.cards.f.FirstTimeFlyer.class));
|
cards.add(new SetCardInfo("First-Time Flyer", 49, Rarity.COMMON, mage.cards.f.FirstTimeFlyer.class));
|
||||||
cards.add(new SetCardInfo("Flexible Waterbender", 50, Rarity.COMMON, mage.cards.f.FlexibleWaterbender.class));
|
cards.add(new SetCardInfo("Flexible Waterbender", 50, Rarity.COMMON, mage.cards.f.FlexibleWaterbender.class));
|
||||||
cards.add(new SetCardInfo("Flopsie, Bumi's Buddy", 179, Rarity.UNCOMMON, mage.cards.f.FlopsieBumisBuddy.class));
|
cards.add(new SetCardInfo("Flopsie, Bumi's Buddy", 179, Rarity.UNCOMMON, mage.cards.f.FlopsieBumisBuddy.class));
|
||||||
cards.add(new SetCardInfo("Forest", 286, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Forest", 286, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Forest", 291, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Forest", 291, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Forest", 296, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Geyser Leaper", 52, Rarity.COMMON, mage.cards.g.GeyserLeaper.class));
|
cards.add(new SetCardInfo("Geyser Leaper", 52, Rarity.COMMON, mage.cards.g.GeyserLeaper.class));
|
||||||
cards.add(new SetCardInfo("Giant Koi", 53, Rarity.COMMON, mage.cards.g.GiantKoi.class));
|
cards.add(new SetCardInfo("Giant Koi", 53, Rarity.COMMON, mage.cards.g.GiantKoi.class));
|
||||||
cards.add(new SetCardInfo("Glider Kids", 21, Rarity.COMMON, mage.cards.g.GliderKids.class));
|
cards.add(new SetCardInfo("Glider Kids", 21, Rarity.COMMON, mage.cards.g.GliderKids.class));
|
||||||
|
|
@ -80,14 +91,16 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Iguana Parrot", 56, Rarity.COMMON, mage.cards.i.IguanaParrot.class));
|
cards.add(new SetCardInfo("Iguana Parrot", 56, Rarity.COMMON, mage.cards.i.IguanaParrot.class));
|
||||||
cards.add(new SetCardInfo("Island", 283, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Island", 283, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Island", 288, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Island", 288, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Island", 293, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
|
||||||
cards.add(new SetCardInfo("It'll Quench Ya!", 58, Rarity.COMMON, mage.cards.i.ItllQuenchYa.class));
|
cards.add(new SetCardInfo("It'll Quench Ya!", 58, Rarity.COMMON, mage.cards.i.ItllQuenchYa.class));
|
||||||
cards.add(new SetCardInfo("Jeong Jeong's Deserters", 25, Rarity.COMMON, mage.cards.j.JeongJeongsDeserters.class));
|
cards.add(new SetCardInfo("Jeong Jeong's Deserters", 25, Rarity.COMMON, mage.cards.j.JeongJeongsDeserters.class));
|
||||||
cards.add(new SetCardInfo("Katara, Bending Prodigy", 59, Rarity.UNCOMMON, mage.cards.k.KataraBendingProdigy.class));
|
cards.add(new SetCardInfo("Katara, Bending Prodigy", 59, Rarity.UNCOMMON, mage.cards.k.KataraBendingProdigy.class));
|
||||||
cards.add(new SetCardInfo("Katara, Water Tribe's Hope", 231, Rarity.RARE, mage.cards.k.KataraWaterTribesHope.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Katara, Water Tribe's Hope", 231, Rarity.RARE, mage.cards.k.KataraWaterTribesHope.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Katara, Water Tribe's Hope", 351, Rarity.RARE, mage.cards.k.KataraWaterTribesHope.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Katara, Water Tribe's Hope", 351, Rarity.RARE, mage.cards.k.KataraWaterTribesHope.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Katara, the Fearless", 230, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Katara, the Fearless", 230, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Katara, the Fearless", 305, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Katara, the Fearless", 350, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Katara, the Fearless", 350, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Katara, the Fearless", 361, Rarity.RARE, mage.cards.k.KataraTheFearless.class, FULL_ART_USE_VARIOUS));
|
cards.add(new SetCardInfo("Katara, the Fearless", 361, Rarity.RARE, mage.cards.k.KataraTheFearless.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Lightning Strike", 146, Rarity.COMMON, mage.cards.l.LightningStrike.class));
|
cards.add(new SetCardInfo("Lightning Strike", 146, Rarity.COMMON, mage.cards.l.LightningStrike.class));
|
||||||
cards.add(new SetCardInfo("Long Feng, Grand Secretariat", 233, Rarity.UNCOMMON, mage.cards.l.LongFengGrandSecretariat.class));
|
cards.add(new SetCardInfo("Long Feng, Grand Secretariat", 233, Rarity.UNCOMMON, mage.cards.l.LongFengGrandSecretariat.class));
|
||||||
cards.add(new SetCardInfo("Master Pakku", 63, Rarity.UNCOMMON, mage.cards.m.MasterPakku.class));
|
cards.add(new SetCardInfo("Master Pakku", 63, Rarity.UNCOMMON, mage.cards.m.MasterPakku.class));
|
||||||
|
|
@ -95,9 +108,12 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Merchant of Many Hats", 110, Rarity.COMMON, mage.cards.m.MerchantOfManyHats.class));
|
cards.add(new SetCardInfo("Merchant of Many Hats", 110, Rarity.COMMON, mage.cards.m.MerchantOfManyHats.class));
|
||||||
cards.add(new SetCardInfo("Momo, Friendly Flier", 29, Rarity.RARE, mage.cards.m.MomoFriendlyFlier.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Momo, Friendly Flier", 29, Rarity.RARE, mage.cards.m.MomoFriendlyFlier.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Momo, Friendly Flier", 317, Rarity.RARE, mage.cards.m.MomoFriendlyFlier.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Momo, Friendly Flier", 317, Rarity.RARE, mage.cards.m.MomoFriendlyFlier.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Momo, Friendly Flier", 394, Rarity.RARE, mage.cards.m.MomoFriendlyFlier.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Mongoose Lizard", 148, Rarity.COMMON, mage.cards.m.MongooseLizard.class));
|
cards.add(new SetCardInfo("Mongoose Lizard", 148, Rarity.COMMON, mage.cards.m.MongooseLizard.class));
|
||||||
cards.add(new SetCardInfo("Mountain", 285, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Mountain", 285, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Mountain", 290, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Mountain", 290, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Mountain", 295, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("North Pole Patrol", 65, Rarity.UNCOMMON, mage.cards.n.NorthPolePatrol.class));
|
||||||
cards.add(new SetCardInfo("Ostrich-Horse", 188, Rarity.COMMON, mage.cards.o.OstrichHorse.class));
|
cards.add(new SetCardInfo("Ostrich-Horse", 188, Rarity.COMMON, mage.cards.o.OstrichHorse.class));
|
||||||
cards.add(new SetCardInfo("Otter-Penguin", 67, Rarity.COMMON, mage.cards.o.OtterPenguin.class));
|
cards.add(new SetCardInfo("Otter-Penguin", 67, Rarity.COMMON, mage.cards.o.OtterPenguin.class));
|
||||||
cards.add(new SetCardInfo("Ozai's Cruelty", 113, Rarity.UNCOMMON, mage.cards.o.OzaisCruelty.class));
|
cards.add(new SetCardInfo("Ozai's Cruelty", 113, Rarity.UNCOMMON, mage.cards.o.OzaisCruelty.class));
|
||||||
|
|
@ -105,6 +121,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Pillar Launch", 189, Rarity.COMMON, mage.cards.p.PillarLaunch.class));
|
cards.add(new SetCardInfo("Pillar Launch", 189, Rarity.COMMON, mage.cards.p.PillarLaunch.class));
|
||||||
cards.add(new SetCardInfo("Plains", 282, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 282, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Plains", 287, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 287, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Plains", 292, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Pretending Poxbearers", 237, Rarity.COMMON, mage.cards.p.PretendingPoxbearers.class));
|
cards.add(new SetCardInfo("Pretending Poxbearers", 237, Rarity.COMMON, mage.cards.p.PretendingPoxbearers.class));
|
||||||
cards.add(new SetCardInfo("Rabaroo Troop", 32, Rarity.COMMON, mage.cards.r.RabarooTroop.class));
|
cards.add(new SetCardInfo("Rabaroo Troop", 32, Rarity.COMMON, mage.cards.r.RabarooTroop.class));
|
||||||
cards.add(new SetCardInfo("Raucous Audience", 190, Rarity.COMMON, mage.cards.r.RaucousAudience.class));
|
cards.add(new SetCardInfo("Raucous Audience", 190, Rarity.COMMON, mage.cards.r.RaucousAudience.class));
|
||||||
|
|
@ -122,22 +139,33 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Sokka, Bold Boomeranger", 383, Rarity.RARE, mage.cards.s.SokkaBoldBoomeranger.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Sokka, Bold Boomeranger", 383, Rarity.RARE, mage.cards.s.SokkaBoldBoomeranger.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Sokka, Lateral Strategist", 241, Rarity.UNCOMMON, mage.cards.s.SokkaLateralStrategist.class));
|
cards.add(new SetCardInfo("Sokka, Lateral Strategist", 241, Rarity.UNCOMMON, mage.cards.s.SokkaLateralStrategist.class));
|
||||||
cards.add(new SetCardInfo("Southern Air Temple", 36, Rarity.UNCOMMON, mage.cards.s.SouthernAirTemple.class));
|
cards.add(new SetCardInfo("Southern Air Temple", 36, Rarity.UNCOMMON, mage.cards.s.SouthernAirTemple.class));
|
||||||
|
cards.add(new SetCardInfo("Sozin's Comet", 154, Rarity.MYTHIC, mage.cards.s.SozinsComet.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Sozin's Comet", 309, Rarity.MYTHIC, mage.cards.s.SozinsComet.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Sozin's Comet", 332, Rarity.MYTHIC, mage.cards.s.SozinsComet.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Suki, Kyoshi Warrior", 243, Rarity.UNCOMMON, mage.cards.s.SukiKyoshiWarrior.class));
|
cards.add(new SetCardInfo("Suki, Kyoshi Warrior", 243, Rarity.UNCOMMON, mage.cards.s.SukiKyoshiWarrior.class));
|
||||||
cards.add(new SetCardInfo("Swamp", 284, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 284, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Swamp", 289, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 289, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Swamp", 294, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("The Cave of Two Lovers", 126, Rarity.UNCOMMON, mage.cards.t.TheCaveOfTwoLovers.class));
|
||||||
cards.add(new SetCardInfo("The Rise of Sozin", 117, Rarity.MYTHIC, mage.cards.t.TheRiseOfSozin.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("The Rise of Sozin", 117, Rarity.MYTHIC, mage.cards.t.TheRiseOfSozin.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("The Rise of Sozin", 356, Rarity.MYTHIC, mage.cards.t.TheRiseOfSozin.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("The Rise of Sozin", 356, Rarity.MYTHIC, mage.cards.t.TheRiseOfSozin.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Tiger-Seal", 318, Rarity.RARE, mage.cards.t.TigerSeal.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Tiger-Seal", 75, Rarity.RARE, mage.cards.t.TigerSeal.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Toph, the Blind Bandit", 198, Rarity.UNCOMMON, mage.cards.t.TophTheBlindBandit.class));
|
cards.add(new SetCardInfo("Toph, the Blind Bandit", 198, Rarity.UNCOMMON, mage.cards.t.TophTheBlindBandit.class));
|
||||||
cards.add(new SetCardInfo("Toph, the First Metalbender", 247, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Toph, the First Metalbender", 247, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Toph, the First Metalbender", 353, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Toph, the First Metalbender", 353, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Toph, the First Metalbender", 362, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, FULL_ART_USE_VARIOUS));
|
cards.add(new SetCardInfo("Toph, the First Metalbender", 362, Rarity.RARE, mage.cards.t.TophTheFirstMetalbender.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Turtle-Duck", 200, Rarity.COMMON, mage.cards.t.TurtleDuck.class));
|
cards.add(new SetCardInfo("Turtle-Duck", 200, Rarity.COMMON, mage.cards.t.TurtleDuck.class));
|
||||||
cards.add(new SetCardInfo("Vindictive Warden", 249, Rarity.COMMON, mage.cards.v.VindictiveWarden.class));
|
cards.add(new SetCardInfo("Vindictive Warden", 249, Rarity.COMMON, mage.cards.v.VindictiveWarden.class));
|
||||||
cards.add(new SetCardInfo("Waterbending Lesson", 80, Rarity.COMMON, mage.cards.w.WaterbendingLesson.class));
|
cards.add(new SetCardInfo("Waterbending Lesson", 80, Rarity.COMMON, mage.cards.w.WaterbendingLesson.class));
|
||||||
cards.add(new SetCardInfo("Watery Grasp", 82, Rarity.COMMON, mage.cards.w.WateryGrasp.class));
|
cards.add(new SetCardInfo("Watery Grasp", 82, Rarity.COMMON, mage.cards.w.WateryGrasp.class));
|
||||||
|
cards.add(new SetCardInfo("White Lotus Reinforcements", 251, Rarity.UNCOMMON, mage.cards.w.WhiteLotusReinforcements.class));
|
||||||
|
cards.add(new SetCardInfo("White Lotus Tile", 262, Rarity.MYTHIC, mage.cards.w.WhiteLotusTile.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("White Lotus Tile", 330, Rarity.MYTHIC, mage.cards.w.WhiteLotusTile.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Yue, the Moon Spirit", 338, Rarity.RARE, mage.cards.y.YueTheMoonSpirit.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Yue, the Moon Spirit", 338, Rarity.RARE, mage.cards.y.YueTheMoonSpirit.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Yue, the Moon Spirit", 83, Rarity.RARE, mage.cards.y.YueTheMoonSpirit.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Yue, the Moon Spirit", 83, Rarity.RARE, mage.cards.y.YueTheMoonSpirit.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Yuyan Archers", 161, Rarity.COMMON, mage.cards.y.YuyanArchers.class));
|
cards.add(new SetCardInfo("Yuyan Archers", 161, Rarity.COMMON, mage.cards.y.YuyanArchers.class));
|
||||||
|
cards.add(new SetCardInfo("Zuko's Exile", 3, Rarity.COMMON, mage.cards.z.ZukosExile.class));
|
||||||
cards.add(new SetCardInfo("Zuko, Exiled Prince", 163, Rarity.UNCOMMON, mage.cards.z.ZukoExiledPrince.class));
|
cards.add(new SetCardInfo("Zuko, Exiled Prince", 163, Rarity.UNCOMMON, mage.cards.z.ZukoExiledPrince.class));
|
||||||
|
|
||||||
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName()));
|
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName()));
|
||||||
|
|
|
||||||
|
|
@ -36,19 +36,25 @@ public final class AvatarTheLastAirbenderEternal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Allied Teamwork", 213, Rarity.RARE, mage.cards.a.AlliedTeamwork.class));
|
cards.add(new SetCardInfo("Allied Teamwork", 213, Rarity.RARE, mage.cards.a.AlliedTeamwork.class));
|
||||||
cards.add(new SetCardInfo("Appa, Aang's Companion", 214, Rarity.UNCOMMON, mage.cards.a.AppaAangsCompanion.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Appa, Aang's Companion", 214, Rarity.UNCOMMON, mage.cards.a.AppaAangsCompanion.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Appa, Aang's Companion", 268, Rarity.UNCOMMON, mage.cards.a.AppaAangsCompanion.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Appa, Aang's Companion", 268, Rarity.UNCOMMON, mage.cards.a.AppaAangsCompanion.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Avatar Kyoshi, Earthbender", 130, Rarity.MYTHIC, mage.cards.a.AvatarKyoshiEarthbender.class));
|
||||||
cards.add(new SetCardInfo("Bumi, Eclectic Earthbender", 248, Rarity.RARE, mage.cards.b.BumiEclecticEarthbender.class));
|
cards.add(new SetCardInfo("Bumi, Eclectic Earthbender", 248, Rarity.RARE, mage.cards.b.BumiEclecticEarthbender.class));
|
||||||
cards.add(new SetCardInfo("Capital Guard", 234, Rarity.COMMON, mage.cards.c.CapitalGuard.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Capital Guard", 234, Rarity.COMMON, mage.cards.c.CapitalGuard.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Capital Guard", 277, Rarity.COMMON, mage.cards.c.CapitalGuard.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Capital Guard", 277, Rarity.COMMON, mage.cards.c.CapitalGuard.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Cruel Tutor", 24, Rarity.MYTHIC, mage.cards.c.CruelTutor.class));
|
||||||
|
cards.add(new SetCardInfo("Dark Depths", 56, Rarity.MYTHIC, mage.cards.d.DarkDepths.class));
|
||||||
cards.add(new SetCardInfo("Deny Entry", 222, Rarity.COMMON, mage.cards.d.DenyEntry.class));
|
cards.add(new SetCardInfo("Deny Entry", 222, Rarity.COMMON, mage.cards.d.DenyEntry.class));
|
||||||
|
cards.add(new SetCardInfo("Descendants' Path", 167, Rarity.RARE, mage.cards.d.DescendantsPath.class));
|
||||||
cards.add(new SetCardInfo("Dragon Moose", 235, Rarity.COMMON, mage.cards.d.DragonMoose.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Dragon Moose", 235, Rarity.COMMON, mage.cards.d.DragonMoose.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Dragon Moose", 278, Rarity.COMMON, mage.cards.d.DragonMoose.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Dragon Moose", 278, Rarity.COMMON, mage.cards.d.DragonMoose.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Earthbending Student", 249, Rarity.UNCOMMON, mage.cards.e.EarthbendingStudent.class));
|
cards.add(new SetCardInfo("Earthbending Student", 249, Rarity.UNCOMMON, mage.cards.e.EarthbendingStudent.class));
|
||||||
cards.add(new SetCardInfo("Eel-Hounds", 250, Rarity.UNCOMMON, mage.cards.e.EelHounds.class));
|
cards.add(new SetCardInfo("Eel-Hounds", 250, Rarity.UNCOMMON, mage.cards.e.EelHounds.class));
|
||||||
|
cards.add(new SetCardInfo("Eladamri's Call", 48, Rarity.MYTHIC, mage.cards.e.EladamrisCall.class));
|
||||||
cards.add(new SetCardInfo("Elephant-Rat", 228, Rarity.COMMON, mage.cards.e.ElephantRat.class));
|
cards.add(new SetCardInfo("Elephant-Rat", 228, Rarity.COMMON, mage.cards.e.ElephantRat.class));
|
||||||
cards.add(new SetCardInfo("Explore", 259, Rarity.COMMON, mage.cards.e.Explore.class));
|
cards.add(new SetCardInfo("Explore", 259, Rarity.COMMON, mage.cards.e.Explore.class));
|
||||||
cards.add(new SetCardInfo("Explosive Shot", 236, Rarity.COMMON, mage.cards.e.ExplosiveShot.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Explosive Shot", 236, Rarity.COMMON, mage.cards.e.ExplosiveShot.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Explosive Shot", 279, Rarity.COMMON, mage.cards.e.ExplosiveShot.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Explosive Shot", 279, Rarity.COMMON, mage.cards.e.ExplosiveShot.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Feed the Swarm", 257, Rarity.COMMON, mage.cards.f.FeedTheSwarm.class));
|
cards.add(new SetCardInfo("Feed the Swarm", 257, Rarity.COMMON, mage.cards.f.FeedTheSwarm.class));
|
||||||
|
cards.add(new SetCardInfo("Fiery Confluence", 165, Rarity.RARE, mage.cards.f.FieryConfluence.class));
|
||||||
cards.add(new SetCardInfo("Fire Nation Ambushers", 229, Rarity.COMMON, mage.cards.f.FireNationAmbushers.class));
|
cards.add(new SetCardInfo("Fire Nation Ambushers", 229, Rarity.COMMON, mage.cards.f.FireNationAmbushers.class));
|
||||||
cards.add(new SetCardInfo("Fire Nation Archers", 237, Rarity.RARE, mage.cards.f.FireNationArchers.class));
|
cards.add(new SetCardInfo("Fire Nation Archers", 237, Rarity.RARE, mage.cards.f.FireNationArchers.class));
|
||||||
cards.add(new SetCardInfo("Fire Nation Sentinels", 230, Rarity.RARE, mage.cards.f.FireNationSentinels.class));
|
cards.add(new SetCardInfo("Fire Nation Sentinels", 230, Rarity.RARE, mage.cards.f.FireNationSentinels.class));
|
||||||
|
|
@ -60,6 +66,7 @@ public final class AvatarTheLastAirbenderEternal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Force of Negation", 13, Rarity.MYTHIC, mage.cards.f.ForceOfNegation.class));
|
cards.add(new SetCardInfo("Force of Negation", 13, Rarity.MYTHIC, mage.cards.f.ForceOfNegation.class));
|
||||||
cards.add(new SetCardInfo("Frog-Squirrels", 251, Rarity.COMMON, mage.cards.f.FrogSquirrels.class));
|
cards.add(new SetCardInfo("Frog-Squirrels", 251, Rarity.COMMON, mage.cards.f.FrogSquirrels.class));
|
||||||
cards.add(new SetCardInfo("Gilacorn", 231, Rarity.COMMON, mage.cards.g.Gilacorn.class));
|
cards.add(new SetCardInfo("Gilacorn", 231, Rarity.COMMON, mage.cards.g.Gilacorn.class));
|
||||||
|
cards.add(new SetCardInfo("Heroic Intervention", 43, Rarity.MYTHIC, mage.cards.h.HeroicIntervention.class));
|
||||||
cards.add(new SetCardInfo("Hippo-Cows", 252, Rarity.COMMON, mage.cards.h.HippoCows.class));
|
cards.add(new SetCardInfo("Hippo-Cows", 252, Rarity.COMMON, mage.cards.h.HippoCows.class));
|
||||||
cards.add(new SetCardInfo("Iroh, Firebending Instructor", 240, Rarity.UNCOMMON, mage.cards.i.IrohFirebendingInstructor.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Iroh, Firebending Instructor", 240, Rarity.UNCOMMON, mage.cards.i.IrohFirebendingInstructor.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Iroh, Firebending Instructor", 282, Rarity.UNCOMMON, mage.cards.i.IrohFirebendingInstructor.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Iroh, Firebending Instructor", 282, Rarity.UNCOMMON, mage.cards.i.IrohFirebendingInstructor.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
@ -84,6 +91,7 @@ public final class AvatarTheLastAirbenderEternal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Mountain", 294, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Mountain", 294, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Mountain", 295, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Mountain", 295, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Mountain", 296, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Mountain", 296, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Mystic Remora", 16, Rarity.MYTHIC, mage.cards.m.MysticRemora.class));
|
||||||
cards.add(new SetCardInfo("Path to Redemption", 271, Rarity.COMMON, mage.cards.p.PathToRedemption.class));
|
cards.add(new SetCardInfo("Path to Redemption", 271, Rarity.COMMON, mage.cards.p.PathToRedemption.class));
|
||||||
cards.add(new SetCardInfo("Plains", 297, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 297, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Plains", 298, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 298, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
@ -95,6 +103,7 @@ public final class AvatarTheLastAirbenderEternal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Plains", 304, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 304, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Purple Pentapus", 233, Rarity.COMMON, mage.cards.p.PurplePentapus.class));
|
cards.add(new SetCardInfo("Purple Pentapus", 233, Rarity.COMMON, mage.cards.p.PurplePentapus.class));
|
||||||
cards.add(new SetCardInfo("Razor Rings", 272, Rarity.COMMON, mage.cards.r.RazorRings.class));
|
cards.add(new SetCardInfo("Razor Rings", 272, Rarity.COMMON, mage.cards.r.RazorRings.class));
|
||||||
|
cards.add(new SetCardInfo("Release to Memory", 5, Rarity.MYTHIC, mage.cards.r.ReleaseToMemory.class));
|
||||||
cards.add(new SetCardInfo("Roku's Mastery", 243, Rarity.UNCOMMON, mage.cards.r.RokusMastery.class));
|
cards.add(new SetCardInfo("Roku's Mastery", 243, Rarity.UNCOMMON, mage.cards.r.RokusMastery.class));
|
||||||
cards.add(new SetCardInfo("Run Amok", 258, Rarity.COMMON, mage.cards.r.RunAmok.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Run Amok", 258, Rarity.COMMON, mage.cards.r.RunAmok.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Run Amok", 284, Rarity.COMMON, mage.cards.r.RunAmok.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Run Amok", 284, Rarity.COMMON, mage.cards.r.RunAmok.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
@ -114,6 +123,7 @@ public final class AvatarTheLastAirbenderEternal extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Tundra Wall", 220, Rarity.COMMON, mage.cards.t.TundraWall.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Tundra Wall", 220, Rarity.COMMON, mage.cards.t.TundraWall.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Tundra Wall", 275, Rarity.COMMON, mage.cards.t.TundraWall.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Tundra Wall", 275, Rarity.COMMON, mage.cards.t.TundraWall.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Turtle-Seals", 226, Rarity.COMMON, mage.cards.t.TurtleSeals.class));
|
cards.add(new SetCardInfo("Turtle-Seals", 226, Rarity.COMMON, mage.cards.t.TurtleSeals.class));
|
||||||
|
cards.add(new SetCardInfo("Valakut, the Molten Pinnacle", 61, Rarity.MYTHIC, mage.cards.v.ValakutTheMoltenPinnacle.class));
|
||||||
cards.add(new SetCardInfo("Warship Scout", 244, Rarity.COMMON, mage.cards.w.WarshipScout.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Warship Scout", 244, Rarity.COMMON, mage.cards.w.WarshipScout.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Warship Scout", 285, Rarity.COMMON, mage.cards.w.WarshipScout.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Warship Scout", 285, Rarity.COMMON, mage.cards.w.WarshipScout.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Water Whip", 227, Rarity.RARE, mage.cards.w.WaterWhip.class));
|
cards.add(new SetCardInfo("Water Whip", 227, Rarity.RARE, mage.cards.w.WaterWhip.class));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
package org.mage.test.cards.single.mbs;
|
||||||
|
|
||||||
|
import mage.constants.PhaseStep;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jmlundeen
|
||||||
|
*/
|
||||||
|
public class KnowledgePoolTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
/*
|
||||||
|
Knowledge Pool
|
||||||
|
{6}
|
||||||
|
Artifact
|
||||||
|
Imprint - When Knowledge Pool enters the battlefield, each player exiles the top three cards of their library.
|
||||||
|
Whenever a player casts a spell from their hand, that player exiles it. If the player does, they may cast another nonland card exiled with Knowledge Pool without paying that card's mana cost.
|
||||||
|
*/
|
||||||
|
private static final String knowledgePool = "Knowledge Pool";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Lightning Bolt
|
||||||
|
{R}
|
||||||
|
Instant
|
||||||
|
Lightning Bolt deals 3 damage to any target.
|
||||||
|
*/
|
||||||
|
private static final String lightningBolt = "Lightning Bolt";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Shock
|
||||||
|
{R}
|
||||||
|
Instant
|
||||||
|
Shock deals 2 damage to any target.
|
||||||
|
*/
|
||||||
|
private static final String shock = "Shock";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testKnowledgePool() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
|
||||||
|
addCard(Zone.BATTLEFIELD, playerB, "Mountain");
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, knowledgePool);
|
||||||
|
addCard(Zone.HAND, playerA, lightningBolt);
|
||||||
|
addCard(Zone.HAND, playerB, shock);
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, lightningBolt, playerB);
|
||||||
|
setChoice(playerA, false);
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerB, shock, playerA);
|
||||||
|
setChoice(playerB, true);
|
||||||
|
setChoice(playerB, lightningBolt);
|
||||||
|
addTarget(playerB, playerA);
|
||||||
|
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertLife(playerA, 20 - 3); // shock exiled, bolt cast from knowledge pool
|
||||||
|
assertLife(playerB, 20); // bolt exiled, no card to cast from knowledge pool
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -156,7 +156,7 @@ public interface Card extends MageObject, Ownerable {
|
||||||
|
|
||||||
void addAbility(Ability ability);
|
void addAbility(Ability ability);
|
||||||
|
|
||||||
void looseAllAbilities(Game game);
|
void loseAllAbilities(Game game);
|
||||||
|
|
||||||
boolean addCounters(Counter counter, Ability source, Game game);
|
boolean addCounters(Counter counter, Ability source, Game game);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void looseAllAbilities(Game game) {
|
public void loseAllAbilities(Game game) {
|
||||||
CardState cardState = game.getState().getCardState(this.getId());
|
CardState cardState = game.getState().getCardState(this.getId());
|
||||||
cardState.setLostAllAbilities(true);
|
cardState.setLostAllAbilities(true);
|
||||||
cardState.getAbilities().clear();
|
cardState.getAbilities().clear();
|
||||||
|
|
|
||||||
|
|
@ -1223,8 +1223,8 @@ public class Spell extends StackObjectImpl implements Card {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void looseAllAbilities(Game game) {
|
public void loseAllAbilities(Game game) {
|
||||||
throw new UnsupportedOperationException("Spells should not loose all abilities. Check if this operation is correct.");
|
throw new UnsupportedOperationException("Spells should not lose all abilities. Check if this operation is correct.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,6 @@
|
||||||
[=$cardName=]
|
[=$cardName=]
|
||||||
[=$manaCost=]
|
[=$manaCost=]
|
||||||
[=$typeLine=]
|
[=$typeLine=]
|
||||||
[=$abilities=][= $powerToughness ? "\n $powerToughness" : "" =]
|
[=$abilities=][=$loyalty ? "\n Loyalty:$loyalty" : "" =][=$powerToughness ? "\n $powerToughness" : "" =]
|
||||||
*/
|
*/
|
||||||
private static final String [=$classNameLower=] = "[=$cardName=]";
|
private static final String [=$classNameLower=] = "[=$cardName=]";
|
||||||
|
|
@ -11,7 +11,6 @@ You can add as many additional cards as you like.
|
||||||
You can also call the script without arguments and it will prompt you for card names
|
You can also call the script without arguments and it will prompt you for card names
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
|
||||||
use Text::Template;
|
use Text::Template;
|
||||||
use strict;
|
use strict;
|
||||||
use File::Path qw(make_path);
|
use File::Path qw(make_path);
|
||||||
|
|
@ -40,12 +39,87 @@ sub fixCost {
|
||||||
$string;
|
$string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Resolve a user-provided card name to the canonical card key in %cards.
|
||||||
|
# Tries:
|
||||||
|
# 1) exact key
|
||||||
|
# 2) case-insensitive exact match
|
||||||
|
# 3) case-insensitive substring match (if single match => use it, if multiple => warn and return undef)
|
||||||
|
sub resolveCardName {
|
||||||
|
my ($input) = @_;
|
||||||
|
return undef unless defined $input;
|
||||||
|
# trim whitespace
|
||||||
|
$input =~ s/^\s+|\s+$//g;
|
||||||
|
return $input if exists $cards{$input};
|
||||||
|
|
||||||
|
my $lc_input = lc $input;
|
||||||
|
|
||||||
|
# case-insensitive exact
|
||||||
|
foreach my $k (keys %cards) {
|
||||||
|
return $k if lc($k) eq $lc_input;
|
||||||
|
}
|
||||||
|
|
||||||
|
# substring (partial) matches
|
||||||
|
my @matches = grep { index(lc($_), $lc_input) != -1 } keys %cards;
|
||||||
|
if (@matches == 1) {
|
||||||
|
return $matches[0];
|
||||||
|
} elsif (@matches > 1) {
|
||||||
|
@matches = sort @matches;
|
||||||
|
# If not interactive, don't block; print candidates and return undef
|
||||||
|
unless (-t STDIN) {
|
||||||
|
warn "Multiple matches found for '$input' (non-interactive):\n";
|
||||||
|
foreach my $m (@matches) { warn " $m\n"; }
|
||||||
|
warn "Please be more specific.\n";
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "Multiple matches found for '$input':\n";
|
||||||
|
my $i = 0;
|
||||||
|
foreach my $m (@matches) {
|
||||||
|
$i++;
|
||||||
|
print " $i) $m\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
print "Select a number (1-$i) or 0 to cancel: ";
|
||||||
|
my $choice = <STDIN>;
|
||||||
|
unless (defined $choice) { print "\nNo selection (EOF). Skipping.\n"; return undef; }
|
||||||
|
chomp $choice;
|
||||||
|
$choice =~ s/^\s+|\s+$//g;
|
||||||
|
|
||||||
|
# numeric choice
|
||||||
|
if ($choice =~ /^\d+$/) {
|
||||||
|
my $num = int($choice);
|
||||||
|
if ($num == 0) {
|
||||||
|
return undef;
|
||||||
|
} elsif ($num >= 1 && $num <= $i) {
|
||||||
|
return $matches[$num - 1];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
# try exact name match among candidates (case-insensitive)
|
||||||
|
foreach my $m (@matches) {
|
||||||
|
return $m if lc($m) eq lc($choice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "Invalid selection, please try again.\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sub generateCardInfo {
|
sub generateCardInfo {
|
||||||
my ($cardName, $infoTemplate) = @_;
|
my ($cardName, $infoTemplate) = @_;
|
||||||
|
|
||||||
|
# attempt to resolve loosely if direct lookup fails
|
||||||
if (!exists $cards{$cardName}) {
|
if (!exists $cards{$cardName}) {
|
||||||
warn "Card name doesn't exist: $cardName (skipping)\n";
|
my $resolved = resolveCardName($cardName);
|
||||||
return "";
|
if (!defined $resolved) {
|
||||||
|
warn "Card name doesn't exist: $cardName (skipping)\n";
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
$cardName = $resolved;
|
||||||
}
|
}
|
||||||
|
|
||||||
my %vars;
|
my %vars;
|
||||||
|
|
@ -61,17 +135,30 @@ sub generateCardInfo {
|
||||||
$vars{'manaCost'} = $card[4];
|
$vars{'manaCost'} = $card[4];
|
||||||
$vars{'typeLine'} = $card[5];
|
$vars{'typeLine'} = $card[5];
|
||||||
|
|
||||||
my $cardAbilities = $card[8];
|
# Check if this is a planeswalker
|
||||||
|
my $isPlaneswalker = $card[5] =~ /Planeswalker/i;
|
||||||
|
|
||||||
|
my $cardAbilities;
|
||||||
|
if ($isPlaneswalker) {
|
||||||
|
# For planeswalkers: field 6 is loyalty, field 7 is abilities
|
||||||
|
$vars{'loyalty'} = $card[6] if $card[6]; # loyalty
|
||||||
|
$cardAbilities = $card[7];
|
||||||
|
} else {
|
||||||
|
# For non-planeswalkers: field 6/7 is power/toughness, field 8 is abilities
|
||||||
|
if ($card[6]) {
|
||||||
|
$vars{'powerToughness'} = "$card[6]/$card[7]";
|
||||||
|
}
|
||||||
|
$cardAbilities = $card[8];
|
||||||
|
}
|
||||||
|
|
||||||
my @abilities = split(/\$/, $cardAbilities);
|
my @abilities = split(/\$/, $cardAbilities);
|
||||||
my $abilitiesFormatted = join("\n ", @abilities);
|
my $abilitiesFormatted = join("\n ", @abilities);
|
||||||
$vars{'abilities'} = $abilitiesFormatted;
|
$vars{'abilities'} = $abilitiesFormatted;
|
||||||
if ($card[6]) {
|
|
||||||
$vars{'powerToughness'} = "$card[6]/$card[7]"
|
|
||||||
}
|
|
||||||
|
|
||||||
return $infoTemplate->fill_in(HASH => \%vars);
|
return $infoTemplate->fill_in(HASH => \%vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
my $author;
|
my $author;
|
||||||
if (-e $authorFile) {
|
if (-e $authorFile) {
|
||||||
open(DATA, $authorFile) || die "can't open $authorFile : $!";
|
open(DATA, $authorFile) || die "can't open $authorFile : $!";
|
||||||
|
|
@ -110,7 +197,7 @@ while (my $line = <DATA>) {
|
||||||
}
|
}
|
||||||
close(DATA);
|
close(DATA);
|
||||||
|
|
||||||
# Get card names from arguments
|
# Get card names from arguments or prompt
|
||||||
my @cardNames = @ARGV;
|
my @cardNames = @ARGV;
|
||||||
if (@cardNames == 0) {
|
if (@cardNames == 0) {
|
||||||
print 'Enter a card name: ';
|
print 'Enter a card name: ';
|
||||||
|
|
@ -127,17 +214,27 @@ if (@cardNames == 0) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Trim whitespace for all inputs
|
||||||
|
foreach my $i (0..$#cardNames) {
|
||||||
|
$cardNames[$i] =~ s/^\s+|\s+$//g if defined $cardNames[$i];
|
||||||
|
}
|
||||||
|
|
||||||
# Main card is the first one
|
# Main card is the first one
|
||||||
my $mainCardName = $cardNames[0];
|
my $mainCardNameInput = $cardNames[0];
|
||||||
my @additionalCards = @cardNames[1..$#cardNames];
|
|
||||||
|
# Resolve main card with loose matching
|
||||||
|
my $resolvedMain = resolveCardName($mainCardNameInput);
|
||||||
|
if (!defined $resolvedMain) {
|
||||||
|
die "Card name doesn't exist or is ambiguous: $mainCardNameInput\n";
|
||||||
|
}
|
||||||
|
my $mainCardName = $resolvedMain;
|
||||||
|
|
||||||
|
my @additionalCardsInput = ();
|
||||||
|
if (@cardNames > 1) {
|
||||||
|
@additionalCardsInput = @cardNames[1..$#cardNames];
|
||||||
|
}
|
||||||
|
|
||||||
if (!exists $cards{$mainCardName}) {
|
if (!exists $cards{$mainCardName}) {
|
||||||
my $possible;
|
|
||||||
foreach $possible (sort keys(%cards)) {
|
|
||||||
if ($possible =~ m/$mainCardName/img && $mainCardName =~ m/..../) {
|
|
||||||
print("Did you mean $possible?\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
die "Card name doesn't exist: $mainCardName\n";
|
die "Card name doesn't exist: $mainCardName\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,7 +250,17 @@ $vars{'classNameLower'} = lcfirst(toCamelCase($mainCardName));
|
||||||
$vars{'cardNameFirstLetter'} = lc substr($mainCardName, 0, 1);
|
$vars{'cardNameFirstLetter'} = lc substr($mainCardName, 0, 1);
|
||||||
|
|
||||||
foreach my $setName (keys %{$cards{$originalName}}) {
|
foreach my $setName (keys %{$cards{$originalName}}) {
|
||||||
$setCode = lc($sets{$setName});
|
if (exists $sets{$setName}) {
|
||||||
|
$setCode = lc($sets{$setName});
|
||||||
|
last; # Use the first valid set found
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fallback if no valid set code was found
|
||||||
|
unless (defined $setCode) {
|
||||||
|
warn "Warning: No valid set code found for card '$mainCardName'. Using 'unk' as fallback.\n";
|
||||||
|
warn "Available sets for this card: " . join(", ", keys %{$cards{$originalName}}) . "\n";
|
||||||
|
$setCode = 'unk';
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if card is already implemented
|
# Check if card is already implemented
|
||||||
|
|
@ -177,10 +284,15 @@ $vars{'setCode'} = $setCode;
|
||||||
# Generate main card info
|
# Generate main card info
|
||||||
my $allCardInfo = generateCardInfo($mainCardName, $infoTemplate);
|
my $allCardInfo = generateCardInfo($mainCardName, $infoTemplate);
|
||||||
|
|
||||||
# Generate additional card info templates
|
# Generate additional card info templates (resolve each loosely)
|
||||||
foreach my $additionalCard (@additionalCards) {
|
foreach my $additionalCardInput (@additionalCardsInput) {
|
||||||
my $additionalInfo = generateCardInfo($additionalCard, $infoTemplate);
|
my $resolved = resolveCardName($additionalCardInput);
|
||||||
if (defined $additionalInfo) {
|
if (!defined $resolved) {
|
||||||
|
warn "Skipping additional card (not found or ambiguous): $additionalCardInput\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
my $additionalInfo = generateCardInfo($resolved, $infoTemplate);
|
||||||
|
if (defined $additionalInfo && $additionalInfo ne '') {
|
||||||
$allCardInfo .= "\n\n" . $additionalInfo;
|
$allCardInfo .= "\n\n" . $additionalInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -193,6 +305,6 @@ print CARD $result;
|
||||||
close CARD;
|
close CARD;
|
||||||
|
|
||||||
print "$fileName\n";
|
print "$fileName\n";
|
||||||
if (@additionalCards > 0) {
|
if (@additionalCardsInput > 0) {
|
||||||
print "Additional cards included: " . join(", ", @additionalCards) . "\n";
|
print "Additional cards included: " . join(", ", map { resolveCardName($_) // $_ } @additionalCardsInput) . "\n";
|
||||||
}
|
}
|
||||||
|
|
@ -59761,8 +59761,11 @@ Twilight Mire|Edge of Eternities Commander|189|R||Land|||{T}: Add {C}.${B/G}, {T
|
||||||
Viridescent Bog|Edge of Eternities Commander|190|R||Land|||{1}, {T}: Add {B}{G}.|
|
Viridescent Bog|Edge of Eternities Commander|190|R||Land|||{1}, {T}: Add {B}{G}.|
|
||||||
Wastes|Edge of Eternities Commander|191|C||Basic Land|||{T}: Add {C}.|
|
Wastes|Edge of Eternities Commander|191|C||Basic Land|||{T}: Add {C}.|
|
||||||
Aang's Journey|Avatar: The Last Airbender|1|C|{2}|Sorcery - Lesson|||Kicker {2}$Search your library for a basic land card. If this spell was kicked, instead search your library for a basic land card and a Shrine card. Reveal those cards, put them into your hand, then shuffle.$You gain 2 life.|
|
Aang's Journey|Avatar: The Last Airbender|1|C|{2}|Sorcery - Lesson|||Kicker {2}$Search your library for a basic land card. If this spell was kicked, instead search your library for a basic land card and a Shrine card. Reveal those cards, put them into your hand, then shuffle.$You gain 2 life.|
|
||||||
|
Energybending|Avatar: The Last Airbender|2|U|{2}|Instant - Lesson|||Lands you control gain all basic land types until end of turn.$Draw a card.|
|
||||||
|
Zuko's Exile|Avatar: The Last Airbender|3|C|{5}|Instant - Lesson|||Exile target artifact, creature, or enchantment. Its controller creates a Clue token.|
|
||||||
Aang, the Last Airbender|Avatar: The Last Airbender|4|U|{3}{W}|Legendary Creature - Human Avatar Ally|3|2|Flying$When Aang enters, airbend up to one other target nonland permanent.$Whenever you cast a Lesson spell, Aang gains lifelink until end of turn.|
|
Aang, the Last Airbender|Avatar: The Last Airbender|4|U|{3}{W}|Legendary Creature - Human Avatar Ally|3|2|Flying$When Aang enters, airbend up to one other target nonland permanent.$Whenever you cast a Lesson spell, Aang gains lifelink until end of turn.|
|
||||||
Aang's Iceberg|Avatar: The Last Airbender|5|R|{2}{W}|Enchantment|||Flash$When this enchantment enters, exile up to one other target nonland permanent until this enchantment leaves the battlefield.$Waterbend {3}: Sacrifice this enchantment. If you do, scry 2.|
|
Aang's Iceberg|Avatar: The Last Airbender|5|R|{2}{W}|Enchantment|||Flash$When this enchantment enters, exile up to one other target nonland permanent until this enchantment leaves the battlefield.$Waterbend {3}: Sacrifice this enchantment. If you do, scry 2.|
|
||||||
|
Airbender Ascension|Avatar: The Last Airbender|6|R|{1}{W}|Enchantment|||When this enchantment enters, airbend up to one target creature.$Whenever a creature you control enters, put a quest counter on this enchantment.$At the beginning of your end step, if this enchantment has four or more quest counters on it, exile up to one target creature you control, then return it to the battlefield under its owner's control.|
|
||||||
Airbending Lesson|Avatar: The Last Airbender|8|C|{2}{W}|Instant - Lesson|||Airbend target nonland permanent.$Draw a card.|
|
Airbending Lesson|Avatar: The Last Airbender|8|C|{2}{W}|Instant - Lesson|||Airbend target nonland permanent.$Draw a card.|
|
||||||
Appa, Steadfast Guardian|Avatar: The Last Airbender|10|M|{2}{W}{W}|Legendary Creature - Bison Ally|3|4|Flash$Flying$When Appa enters, airbend any number of other target nonland permanents you control.$Whenever you cast a spell from exile, create a 1/1 white Ally creature token.|
|
Appa, Steadfast Guardian|Avatar: The Last Airbender|10|M|{2}{W}{W}|Legendary Creature - Bison Ally|3|4|Flash$Flying$When Appa enters, airbend any number of other target nonland permanents you control.$Whenever you cast a spell from exile, create a 1/1 white Ally creature token.|
|
||||||
Avatar Enthusiasts|Avatar: The Last Airbender|11|C|{2}{W}|Creature - Human Peasant Ally|2|2|Whenever another Ally you control enters, put a +1/+1 counter on this creature.|
|
Avatar Enthusiasts|Avatar: The Last Airbender|11|C|{2}{W}|Creature - Human Peasant Ally|2|2|Whenever another Ally you control enters, put a +1/+1 counter on this creature.|
|
||||||
|
|
@ -59774,28 +59777,42 @@ Path to Redemption|Avatar: The Last Airbender|31|C|{1}{W}|Enchantment - Aura|||E
|
||||||
Rabaroo Troop|Avatar: The Last Airbender|32|C|{3}{W}{W}|Creature - Rabbit Kangaroo|3|5|Landfall -- Whenever a land you control enters, this creature gains flying until end of turn and you gain 1 life.$Plainscycling {2}|
|
Rabaroo Troop|Avatar: The Last Airbender|32|C|{3}{W}{W}|Creature - Rabbit Kangaroo|3|5|Landfall -- Whenever a land you control enters, this creature gains flying until end of turn and you gain 1 life.$Plainscycling {2}|
|
||||||
Razor Rings|Avatar: The Last Airbender|33|C|{1}{W}|Instant|||Razor Rings deals 4 damage to target attacking or blocking creature. You gain life equal to the excess damage dealt this way.|
|
Razor Rings|Avatar: The Last Airbender|33|C|{1}{W}|Instant|||Razor Rings deals 4 damage to target attacking or blocking creature. You gain life equal to the excess damage dealt this way.|
|
||||||
Southern Air Temple|Avatar: The Last Airbender|36|U|{3}{W}|Legendary Enchantment - Shrine|||When Southern Air Temple enters, put X +1/+1 counters on each creature you control, where X is the number of Shrines you control.$Whenever another Shrine you control enters, put a +1/+1 counter on each creature you control.|
|
Southern Air Temple|Avatar: The Last Airbender|36|U|{3}{W}|Legendary Enchantment - Shrine|||When Southern Air Temple enters, put X +1/+1 counters on each creature you control, where X is the number of Shrines you control.$Whenever another Shrine you control enters, put a +1/+1 counter on each creature you control.|
|
||||||
|
Water Tribe Rallier|Avatar: The Last Airbender|42|U|{1}{W}|Creature - Human Soldier Ally|2|2|Waterbend {5}: Look at the top four cards of your library. You may reveal a creature card with power 3 or less from among them and put it into your hand. Put the rest on the bottom of your library in a random order.|
|
||||||
|
Yip Yip!|Avatar: The Last Airbender|43|C|{W}|Instant - Lesson|||Target creature you control gets +2/+2 until end of turn. If that creature is an Ally, it also gains flying until end of turn.|
|
||||||
First-Time Flyer|Avatar: The Last Airbender|49|C|{1}{U}|Creature - Human Pilot Ally|1|2|Flying$This creature gets +1/+1 as long as there's a Lesson card in your graveyard.|
|
First-Time Flyer|Avatar: The Last Airbender|49|C|{1}{U}|Creature - Human Pilot Ally|1|2|Flying$This creature gets +1/+1 as long as there's a Lesson card in your graveyard.|
|
||||||
Flexible Waterbender|Avatar: The Last Airbender|50|C|{3}{U}|Creature - Human Warrior Ally|2|5|Vigilance$Waterbend {3}: This creature has base power and toughness 5/2 until end of turn.|
|
Flexible Waterbender|Avatar: The Last Airbender|50|C|{3}{U}|Creature - Human Warrior Ally|2|5|Vigilance$Waterbend {3}: This creature has base power and toughness 5/2 until end of turn.|
|
||||||
Geyser Leaper|Avatar: The Last Airbender|52|C|{4}{U}|Creature - Human Warrior Ally|4|3|Flying$Waterbend {4}: Draw a card, then discard a card.|
|
Geyser Leaper|Avatar: The Last Airbender|52|C|{4}{U}|Creature - Human Warrior Ally|4|3|Flying$Waterbend {4}: Draw a card, then discard a card.|
|
||||||
Giant Koi|Avatar: The Last Airbender|53|C|{4}{U}{U}|Creature - Fish|5|7|Waterbend {3}: This creature can't be blocked this turn.$Islandcycling {2}|
|
Giant Koi|Avatar: The Last Airbender|53|C|{4}{U}{U}|Creature - Fish|5|7|Waterbend {3}: This creature can't be blocked this turn.$Islandcycling {2}|
|
||||||
|
Gran-Gran|Avatar: The Last Airbender|54|U|{U}|Legendary Creature - Human Peasant Ally|1|2|Whenever Gran-Gran becomes tapped, draw a card, then discard a card.$Noncreature spells you cast cost {1} less to cast as long as there are three or more Lesson cards in your graveyard.|
|
||||||
|
Honest Work|Avatar: The Last Airbender|55|U|{U}|Enchantment - Aura|||Enchant creature an opponent controls$When this Aura enters, tap enchanted creature and remove all counters from it.$Enchanted creature loses all abilities and is a Citizen with base power and toughness 1/1 and "{T}: Add {C}" named Humble Merchant.|
|
||||||
Iguana Parrot|Avatar: The Last Airbender|56|C|{2}{U}|Creature - Lizard Bird Pirate|2|2|Flying, vigilance$Prowess|
|
Iguana Parrot|Avatar: The Last Airbender|56|C|{2}{U}|Creature - Lizard Bird Pirate|2|2|Flying, vigilance$Prowess|
|
||||||
It'll Quench Ya!|Avatar: The Last Airbender|58|C|{1}{U}|Instant - Lesson|||Counter target spell unless its controller pays {2}.|
|
It'll Quench Ya!|Avatar: The Last Airbender|58|C|{1}{U}|Instant - Lesson|||Counter target spell unless its controller pays {2}.|
|
||||||
Katara, Bending Prodigy|Avatar: The Last Airbender|59|U|{2}{U}|Legendary Creature - Human Warrior Ally|2|3|At the beginning of your end step, if Katara is tapped, put a +1/+1 counter on her.$Waterbend {6}: Draw a card.|
|
Katara, Bending Prodigy|Avatar: The Last Airbender|59|U|{2}{U}|Legendary Creature - Human Warrior Ally|2|3|At the beginning of your end step, if Katara is tapped, put a +1/+1 counter on her.$Waterbend {6}: Draw a card.|
|
||||||
|
The Legend of Kuruk|Avatar: The Last Airbender|61|M|{2}{U}{U}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I, II -- Scry 2, then draw a card.$III -- Exile this Saga, then return it to the battlefield$transformed under your control.|
|
||||||
|
Avatar Kuruk|Avatar: The Last Airbender|61|M||Legendary Creature - Avatar|4|3|Whenever you cast a spell, create a 1/1 colorless Spirit creature token with "This token can't block or be blocked by non-Spirit creatures."$Exhaust -- Waterbend {20}: Take an extra turn after this one.|
|
||||||
Master Pakku|Avatar: The Last Airbender|63|U|{1}{U}|Legendary Creature - Human Advisor Ally|1|3|Prowess$Whenever Master Pakku becomes tapped, target player mills X cards, where X is the number of Lesson cards in your graveyard.|
|
Master Pakku|Avatar: The Last Airbender|63|U|{1}{U}|Legendary Creature - Human Advisor Ally|1|3|Prowess$Whenever Master Pakku becomes tapped, target player mills X cards, where X is the number of Lesson cards in your graveyard.|
|
||||||
|
North Pole Patrol|Avatar: The Last Airbender|65|U|{2}{U}|Creature - Human Soldier Ally|2|3|{T}: Untap another target permanent you control.$Waterbend {3}, {T}: Tap target creature an opponent controls.|
|
||||||
Otter-Penguin|Avatar: The Last Airbender|67|C|{1}{U}|Creature - Otter Bird|2|1|Whenever you draw your second card each turn, this creature gets +1/+2 until end of turn and can't be blocked this turn.|
|
Otter-Penguin|Avatar: The Last Airbender|67|C|{1}{U}|Creature - Otter Bird|2|1|Whenever you draw your second card each turn, this creature gets +1/+2 until end of turn and can't be blocked this turn.|
|
||||||
Rowdy Snowballers|Avatar: The Last Airbender|68|C|{2}{U}|Creature - Human Peasant Ally|2|2|When this creature enters, tap target creature an opponent controls and put a stun counter on it.|
|
Rowdy Snowballers|Avatar: The Last Airbender|68|C|{2}{U}|Creature - Human Peasant Ally|2|2|When this creature enters, tap target creature an opponent controls and put a stun counter on it.|
|
||||||
|
Secret of Bloodbending|Avatar: The Last Airbender|69|M|{U}{U}{U}{U}|Sorcery - Lesson|||As an additional cost to cast this spell, you may waterbend {10}.$You control target opponent during their next combat phase. If this spell's additional cost was paid, you control that player during their next turn instead.$Exile Secret of Bloodbending.|
|
||||||
Serpent of the Pass|Avatar: The Last Airbender|70|U|{5}{U}{U}|Creature - Serpent|6|5|If there are three or more Lesson cards in your graveyard, you may cast this spell as though it had flash.$This spell costs {1} less to cast for each noncreature, nonland card in your graveyard.|
|
Serpent of the Pass|Avatar: The Last Airbender|70|U|{5}{U}{U}|Creature - Serpent|6|5|If there are three or more Lesson cards in your graveyard, you may cast this spell as though it had flash.$This spell costs {1} less to cast for each noncreature, nonland card in your graveyard.|
|
||||||
Sokka's Haiku|Avatar: The Last Airbender|71|U|{3}{U}{U}|Instant - Lesson|||Counter target spell.$Draw a card, then mill three cards.$Untap target land.|
|
Sokka's Haiku|Avatar: The Last Airbender|71|U|{3}{U}{U}|Instant - Lesson|||Counter target spell.$Draw a card, then mill three cards.$Untap target land.|
|
||||||
|
Tiger-Seal|Avatar: The Last Airbender|75|R|{U}|Creature - Cat Seal|3|3|Vigilance$At the beginning of your upkeep, tap this creature.$Whenever you draw your second card each turn, untap this creature.|
|
||||||
|
Wan Shi Tong, Librarian|Avatar: The Last Airbender|78|M|{X}{U}{U}|Legendary Creature - Bird Spirit|1|1|Flash$Flying, vigilance$When Wan Shi Tong enters, put X +1/+1 counters on him. Then draw half X cards, rounded down.$Whenever an opponent searches their library, put a +1/+1 counter on Wan Shi Tong and draw a card.|
|
||||||
Waterbending Lesson|Avatar: The Last Airbender|80|C|{3}{U}|Sorcery - Lesson|||Draw three cards. Then discard a card unless you waterbend {2}.|
|
Waterbending Lesson|Avatar: The Last Airbender|80|C|{3}{U}|Sorcery - Lesson|||Draw three cards. Then discard a card unless you waterbend {2}.|
|
||||||
Watery Grasp|Avatar: The Last Airbender|82|C|{U}|Enchantment - Aura|||Enchant creature$Enchanted creature doesn't untap during its controller's untap step.$Waterbend {5}: Enchanted creature's owner shuffles it into their library.|
|
Watery Grasp|Avatar: The Last Airbender|82|C|{U}|Enchantment - Aura|||Enchant creature$Enchanted creature doesn't untap during its controller's untap step.$Waterbend {5}: Enchanted creature's owner shuffles it into their library.|
|
||||||
Yue, the Moon Spirit|Avatar: The Last Airbender|83|R|{3}{U}|Legendary Creature - Spirit Ally|3|3|Flying, vigilance$Waterbend {5}, {T}: You may cast a noncreature spell from your hand without paying its mana cost.|
|
Yue, the Moon Spirit|Avatar: The Last Airbender|83|R|{3}{U}|Legendary Creature - Spirit Ally|3|3|Flying, vigilance$Waterbend {5}, {T}: You may cast a noncreature spell from your hand without paying its mana cost.|
|
||||||
Azula Always Lies|Avatar: The Last Airbender|84|C|{1}{B}|Instant - Lesson|||Choose one or both --$* Target creature gets -1/-1 until end of turn.$* Put a +1/+1 counter on target creature.|
|
Azula Always Lies|Avatar: The Last Airbender|84|C|{1}{B}|Instant - Lesson|||Choose one or both --$* Target creature gets -1/-1 until end of turn.$* Put a +1/+1 counter on target creature.|
|
||||||
|
Azula, On the Hunt|Avatar: The Last Airbender|85|U|{3}{B}|Legendary Creature - Human Noble|4|3|Firebending 2$Whenever Azula attacks, you lose 1 life and create a Clue token.|
|
||||||
Beetle-Headed Merchants|Avatar: The Last Airbender|86|C|{4}{B}|Creature - Human Citizen|5|4|Whenever this creature attacks, you may sacrifice another creature or artifact. If you do, draw a card and put a +1/+1 counter on this creature.|
|
Beetle-Headed Merchants|Avatar: The Last Airbender|86|C|{4}{B}|Creature - Human Citizen|5|4|Whenever this creature attacks, you may sacrifice another creature or artifact. If you do, draw a card and put a +1/+1 counter on this creature.|
|
||||||
|
Boiling Rock Rioter|Avatar: The Last Airbender|87|R|{2}{B}|Creature - Human Rogue Ally|3|3|Firebending 1$Tap an untapped Ally you control: Exile target card from a graveyard.$Whenever this creature attacks, you may cast an Ally spell from among cards you own exiled with this creature.|
|
||||||
Buzzard-Wasp Colony|Avatar: The Last Airbender|88|U|{3}{B}|Creature - Bird Insect|2|2|Flying$When this creature enters, you may sacrifice an artifact or creature. If you do, draw a card.$Whenever another creature you control dies, if it had counters on it, put its counters on this creature.|
|
Buzzard-Wasp Colony|Avatar: The Last Airbender|88|U|{3}{B}|Creature - Bird Insect|2|2|Flying$When this creature enters, you may sacrifice an artifact or creature. If you do, draw a card.$Whenever another creature you control dies, if it had counters on it, put its counters on this creature.|
|
||||||
Cat-Gator|Avatar: The Last Airbender|91|U|{6}{B}|Creature - Fish Crocodile|3|2|Lifelink$When this creature enters, it deals damage equal to the number of Swamps you control to any target.|
|
Cat-Gator|Avatar: The Last Airbender|91|U|{6}{B}|Creature - Fish Crocodile|3|2|Lifelink$When this creature enters, it deals damage equal to the number of Swamps you control to any target.|
|
||||||
Corrupt Court Official|Avatar: The Last Airbender|92|C|{1}{B}|Creature - Human Advisor|1|1|When this creature enters, target opponent discards a card.|
|
Corrupt Court Official|Avatar: The Last Airbender|92|C|{1}{B}|Creature - Human Advisor|1|1|When this creature enters, target opponent discards a card.|
|
||||||
Dai Li Indoctrination|Avatar: The Last Airbender|93|C|{1}{B}|Sorcery - Lesson|||Choose one --$* Target opponent reveals their hand. You choose a nonland permanent card from it. That player discards that card.$* Earthbend 2.|
|
Dai Li Indoctrination|Avatar: The Last Airbender|93|C|{1}{B}|Sorcery - Lesson|||Choose one --$* Target opponent reveals their hand. You choose a nonland permanent card from it. That player discards that card.$* Earthbend 2.|
|
||||||
|
Day of Black Sun|Avatar: The Last Airbender|94|R|{X}{B}{B}|Sorcery|||Each creature with mana value X or less loses all abilities until end of turn. Destroy those creatures.|
|
||||||
Epic Downfall|Avatar: The Last Airbender|96|U|{1}{B}|Sorcery|||Exile target creature with mana value 3 or greater.|
|
Epic Downfall|Avatar: The Last Airbender|96|U|{1}{B}|Sorcery|||Exile target creature with mana value 3 or greater.|
|
||||||
|
The Fire Nation Drill|Avatar: The Last Airbender|98|R|{2}{B}{B}|Legendary Artifact - Vehicle|6|3|Trample$When The Fire Nation Drill enters, you may tap it. When you do, destroy target creature with power 4 or less.${1}: Permanents your opponents control lose hexproof and indestructible until end of turn.$Crew 2|
|
||||||
Fire Nation Engineer|Avatar: The Last Airbender|99|U|{2}{B}|Creature - Human Artificer|2|3|Raid -- At the beginning of your end step, if you attacked this turn, put a +1/+1 counter on another target creature or Vehicle you control.|
|
Fire Nation Engineer|Avatar: The Last Airbender|99|U|{2}{B}|Creature - Human Artificer|2|3|Raid -- At the beginning of your end step, if you attacked this turn, put a +1/+1 counter on another target creature or Vehicle you control.|
|
||||||
Heartless Act|Avatar: The Last Airbender|103|U|{1}{B}|Instant|||Choose one --$* Destroy target creature with no counters on it.$* Remove up to three counters from target creature.|
|
Heartless Act|Avatar: The Last Airbender|103|U|{1}{B}|Instant|||Choose one --$* Destroy target creature with no counters on it.$* Remove up to three counters from target creature.|
|
||||||
Hog-Monkey|Avatar: The Last Airbender|104|C|{2}{B}|Creature - Boar Monkey|3|2|At the beginning of combat on your turn, target creature you control with a +1/+1 counter on it gains menace until end of turn.$Exhaust -- {5}: Put two +1/+1 counters on this creature.|
|
Hog-Monkey|Avatar: The Last Airbender|104|C|{2}{B}|Creature - Boar Monkey|3|2|At the beginning of combat on your turn, target creature you control with a +1/+1 counter on it gains menace until end of turn.$Exhaust -- {5}: Put two +1/+1 counters on this creature.|
|
||||||
|
|
@ -59803,49 +59820,85 @@ Merchant of Many Hats|Avatar: The Last Airbender|110|C|{1}{B}|Creature - Human P
|
||||||
Ozai's Cruelty|Avatar: The Last Airbender|113|U|{2}{B}|Sorcery - Lesson|||Ozai's Cruelty deals 2 damage to target player. That player discards two cards.|
|
Ozai's Cruelty|Avatar: The Last Airbender|113|U|{2}{B}|Sorcery - Lesson|||Ozai's Cruelty deals 2 damage to target player. That player discards two cards.|
|
||||||
The Rise of Sozin|Avatar: The Last Airbender|117|M|{4}{B}{B}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I -- Destroy all creatures.$II -- Choose a card name. Search target opponent's graveyard, hand, and library for up to four cards with that name and exile them. Then that player shuffles.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
The Rise of Sozin|Avatar: The Last Airbender|117|M|{4}{B}{B}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I -- Destroy all creatures.$II -- Choose a card name. Search target opponent's graveyard, hand, and library for up to four cards with that name and exile them. Then that player shuffles.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
||||||
Fire Lord Sozin|Avatar: The Last Airbender|117|M||Legendary Creature - Human Noble|5|5|Menace, firebending 3$Whenever Fire Lord Sozin deals combat damage to a player, you may pay {X}. When you do, put any number of target creature cards with total mana value X or less from that player's graveyard onto the battlefield under your control.|
|
Fire Lord Sozin|Avatar: The Last Airbender|117|M||Legendary Creature - Human Noble|5|5|Menace, firebending 3$Whenever Fire Lord Sozin deals combat damage to a player, you may pay {X}. When you do, put any number of target creature cards with total mana value X or less from that player's graveyard onto the battlefield under your control.|
|
||||||
|
The Cave of Two Lovers|Avatar: The Last Airbender|126|U|{3}{R}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Create two 1/1 white Ally creature tokens.$II -- Search your library for a Mountain or Cave card, reveal it, put it into your hand,$then shuffle.$III -- Earthbend 3.|
|
||||||
|
Crescent Island Temple|Avatar: The Last Airbender|129|U|{3}{R}|Legendary Enchantment - Shrine|||When Crescent Island Temple enters, for each Shrine you control, create a 1/1 red Monk creature token with prowess.$Whenever another Shrine you control enters, create a 1/1 red Monk creature token with prowess.|
|
||||||
|
Cunning Maneuver|Avatar: The Last Airbender|130|C|{1}{R}|Instant|||Target creature gets +3/+1 until end of turn.$Create a Clue token.|
|
||||||
Deserter's Disciple|Avatar: The Last Airbender|131|C|{1}{R}|Creature - Human Rebel Ally|2|2|{T}: Another target creature you control with power 2 or less can't be blocked this turn.|
|
Deserter's Disciple|Avatar: The Last Airbender|131|C|{1}{R}|Creature - Human Rebel Ally|2|2|{T}: Another target creature you control with power 2 or less can't be blocked this turn.|
|
||||||
Fated Firepower|Avatar: The Last Airbender|132|M|{X}{R}{R}{R}|Enchantment|||Flash$This enchantment enters with X fire counters on it.$If a source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus an amount of damage equal to the number of fire counters on this enchantment instead.|
|
Fated Firepower|Avatar: The Last Airbender|132|M|{X}{R}{R}{R}|Enchantment|||Flash$This enchantment enters with X fire counters on it.$If a source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus an amount of damage equal to the number of fire counters on this enchantment instead.|
|
||||||
Fire Nation Attacks|Avatar: The Last Airbender|133|U|{4}{R}|Instant|||Create two 2/2 red Soldier creature tokens with firebending 1.$Flashback {8}{R}|
|
Fire Nation Attacks|Avatar: The Last Airbender|133|U|{4}{R}|Instant|||Create two 2/2 red Soldier creature tokens with firebending 1.$Flashback {8}{R}|
|
||||||
Fire Sages|Avatar: The Last Airbender|136|U|{1}{R}|Creature - Human Cleric|2|2|Firebending 1${1}{R}{R}: Put a +1/+1 counter on this creature.|
|
Fire Sages|Avatar: The Last Airbender|136|U|{1}{R}|Creature - Human Cleric|2|2|Firebending 1${1}{R}{R}: Put a +1/+1 counter on this creature.|
|
||||||
|
Firebending Student|Avatar: The Last Airbender|139|R|{1}{R}|Creature - Human Monk|1|2|Prowess$Firebending X, where X is this creature's power.|
|
||||||
How to Start a Riot|Avatar: The Last Airbender|140|C|{2}{R}|Instant - Lesson|||Target creature gains menace until end of turn.$Creatures target player controls get +2/+0 until end of turn.|
|
How to Start a Riot|Avatar: The Last Airbender|140|C|{2}{R}|Instant - Lesson|||Target creature gains menace until end of turn.$Creatures target player controls get +2/+0 until end of turn.|
|
||||||
|
The Last Agni Kai|Avatar: The Last Airbender|144|R|{1}{R}|Instant|||Target creature you control fights target creature an opponent controls. If the creature the opponent controls is dealt excess damage this way, add that much {R}.$Until end of turn, you don't lose unspent red mana as steps and phases end.|
|
||||||
|
The Legend of Roku|Avatar: The Last Airbender|145|M|{2}{R}{R}|Enchantment - Saga|||(As this Saga enters and after your draw$step, add a lore counter.)$I -- Exile the top three cards of your library. Until the end of your next turn, you may play those cards.$II -- Add one mana of any color.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
||||||
|
Avatar Roku|Avatar: The Last Airbender|145|M||Legendary Creature - Avatar|4|4|Firebending 4${8}: Create a 4/4 red Dragon creature token with flying and firebending 4.|
|
||||||
Lightning Strike|Avatar: The Last Airbender|146|C|{1}{R}|Instant|||Lightning Strike deals 3 damage to any target.|
|
Lightning Strike|Avatar: The Last Airbender|146|C|{1}{R}|Instant|||Lightning Strike deals 3 damage to any target.|
|
||||||
Mongoose Lizard|Avatar: The Last Airbender|148|C|{4}{R}{R}|Creature - Mongoose Lizard|5|6|Menace$When this creature enters, it deals 1 damage to any target.$Mountaincycling {2}|
|
Mongoose Lizard|Avatar: The Last Airbender|148|C|{4}{R}{R}|Creature - Mongoose Lizard|5|6|Menace$When this creature enters, it deals 1 damage to any target.$Mountaincycling {2}|
|
||||||
|
Ran and Shaw|Avatar: The Last Airbender|150|R|{3}{R}{R}|Legendary Creature - Dragon|4|4|Flying, firebending 2$When Ran and Shaw enter, if you cast them and there are three or more Dragon and/or Lesson cards in your graveyard, create a token that's a copy of Ran and Shaw, except it's not legendary.${3}{R}: Dragons you control get +2/+0 until end of turn.|
|
||||||
Redirect Lightning|Avatar: The Last Airbender|151|R|{R}|Instant - Lesson|||As an additional cost to cast this spell, pay 5 life or pay {2}.$Change the target of target spell or ability with a single target.|
|
Redirect Lightning|Avatar: The Last Airbender|151|R|{R}|Instant - Lesson|||As an additional cost to cast this spell, pay 5 life or pay {2}.$Change the target of target spell or ability with a single target.|
|
||||||
Rough Rhino Cavalry|Avatar: The Last Airbender|152|C|{4}{R}|Creature - Human Mercenary|5|5|Firebending 2$Exhaust -- {8}: Put two +1/+1 counters on this creature. It gains trample until end of turn.|
|
Rough Rhino Cavalry|Avatar: The Last Airbender|152|C|{4}{R}|Creature - Human Mercenary|5|5|Firebending 2$Exhaust -- {8}: Put two +1/+1 counters on this creature. It gains trample until end of turn.|
|
||||||
|
Solstice Revelations|Avatar: The Last Airbender|153|U|{2}{R}|Instant - Lesson|||Exile cards from the top of your library until you exile a nonland card. You may cast that card without paying its mana cost if the spell's mana value is less than the number of Mountains you control. If you don't cast that card this way, put it into your hand.$Flashback {6}{R}|
|
||||||
|
Sozin's Comet|Avatar: The Last Airbender|154|M|{3}{R}{R}|Sorcery|||Each creature you control gains firebending 5 until end of turn.$Foretell {2}{R}|
|
||||||
|
War Balloon|Avatar: The Last Airbender|159|U|{2}{R}|Artifact - Vehicle|4|3|Flying${1}: Put a fire counter on this Vehicle.$As long as this Vehicle has three or more fire counters on it, it's an artifact creature.$Crew 3|
|
||||||
Yuyan Archers|Avatar: The Last Airbender|161|C|{1}{R}|Creature - Human Archer|3|1|Reach$When this creature enters, you may discard a card. If you do, draw a card.|
|
Yuyan Archers|Avatar: The Last Airbender|161|C|{1}{R}|Creature - Human Archer|3|1|Reach$When this creature enters, you may discard a card. If you do, draw a card.|
|
||||||
Zuko, Exiled Prince|Avatar: The Last Airbender|163|U|{3}{R}|Legendary Creature - Human Noble|4|3|Firebending 3${3}: Exile the top card of your library. You may play that card this turn.|
|
Zuko, Exiled Prince|Avatar: The Last Airbender|163|U|{3}{R}|Legendary Creature - Human Noble|4|3|Firebending 3${3}: Exile the top card of your library. You may play that card this turn.|
|
||||||
|
Allies at Last|Avatar: The Last Airbender|164|U|{2}{G}|Instant|||Affinity for Allies$Up to two target creatures you control each deal damage equal to their power to target creature an opponent controls.|
|
||||||
Badgermole|Avatar: The Last Airbender|166|C|{4}{G}|Creature - Badger Mole|4|4|When this creature enters, earthbend 2.$Creatures you control with +1/+1 counters on them have trample.|
|
Badgermole|Avatar: The Last Airbender|166|C|{4}{G}|Creature - Badger Mole|4|4|When this creature enters, earthbend 2.$Creatures you control with +1/+1 counters on them have trample.|
|
||||||
|
Badgermole Cub|Avatar: The Last Airbender|167|M|{1}{G}|Creature - Badger Mole|2|2|When this creature enters, earthbend 1.$Whenever you tap a creature for mana, add an additional {G}.|
|
||||||
|
Cycle of Renewal|Avatar: The Last Airbender|170|C|{2}{G}|Instant - Lesson|||Sacrifice a land. Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle.|
|
||||||
Earth Rumble|Avatar: The Last Airbender|174|U|{3}{G}|Sorcery|||Earthbend 2. When you do, up to one target creature you control fights target creature an opponent controls.|
|
Earth Rumble|Avatar: The Last Airbender|174|U|{3}{G}|Sorcery|||Earthbend 2. When you do, up to one target creature you control fights target creature an opponent controls.|
|
||||||
Earthbending Lesson|Avatar: The Last Airbender|176|C|{3}{G}|Sorcery - Lesson|||Earthbend 4.|
|
Earthbending Lesson|Avatar: The Last Airbender|176|C|{3}{G}|Sorcery - Lesson|||Earthbend 4.|
|
||||||
Flopsie, Bumi's Buddy|Avatar: The Last Airbender|179|U|{4}{G}{G}|Legendary Creature - Ape Goat|4|4|When Flopsie enters, put a +1/+1 counter on each creature you control.$Each creature you control with power 4 or greater can't be blocked by more than one creature.|
|
Flopsie, Bumi's Buddy|Avatar: The Last Airbender|179|U|{4}{G}{G}|Legendary Creature - Ape Goat|4|4|When Flopsie enters, put a +1/+1 counter on each creature you control.$Each creature you control with power 4 or greater can't be blocked by more than one creature.|
|
||||||
Haru, Hidden Talent|Avatar: The Last Airbender|182|U|{1}{G}|Legendary Creature - Human Peasant Ally|1|1|Whenever another Ally you control enters, earthbend 1.|
|
Haru, Hidden Talent|Avatar: The Last Airbender|182|U|{1}{G}|Legendary Creature - Human Peasant Ally|1|1|Whenever another Ally you control enters, earthbend 1.|
|
||||||
|
Invasion Tactics|Avatar: The Last Airbender|183|U|{4}{G}|Enchantment|||When this enchantment enters, creatures you control get +2/+2 until end of turn.$Whenever one or more Allies you control deal combat damage to a player, draw a card.|
|
||||||
|
Leaves from the Vine|Avatar: The Last Airbender|185|U|{1}{G}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Mill three cards, then create a Food token.$II -- Put a +1/+1 counter on each of up to two target creatures you control.$III -- Draw a card if there's a creature or Lesson card in your graveyard.|
|
||||||
Ostrich-Horse|Avatar: The Last Airbender|188|C|{2}{G}|Creature - Bird Horse|3|1|When this creature enters, mill three cards. You may put a land card from among them into your hand. If you don't, put a +1/+1 counter on this creature.|
|
Ostrich-Horse|Avatar: The Last Airbender|188|C|{2}{G}|Creature - Bird Horse|3|1|When this creature enters, mill three cards. You may put a land card from among them into your hand. If you don't, put a +1/+1 counter on this creature.|
|
||||||
Pillar Launch|Avatar: The Last Airbender|189|C|{G}|Instant|||Target creature gets +2/+2 and gains reach until end of turn. Untap it.|
|
Pillar Launch|Avatar: The Last Airbender|189|C|{G}|Instant|||Target creature gets +2/+2 and gains reach until end of turn. Untap it.|
|
||||||
Raucous Audience|Avatar: The Last Airbender|190|C|{1}{G}|Creature - Human Citizen|2|1|{T}: Add {G}. If you control a creature with power 4 or greater, add {G}{G} instead.|
|
Raucous Audience|Avatar: The Last Airbender|190|C|{1}{G}|Creature - Human Citizen|2|1|{T}: Add {G}. If you control a creature with power 4 or greater, add {G}{G} instead.|
|
||||||
Rebellious Captives|Avatar: The Last Airbender|191|C|{1}{G}|Creature - Human Peasant Ally|2|2|Exhaust -- {6}: Put two +1/+1 counters on this creature, then earthbend 2.|
|
Rebellious Captives|Avatar: The Last Airbender|191|C|{1}{G}|Creature - Human Peasant Ally|2|2|Exhaust -- {6}: Put two +1/+1 counters on this creature, then earthbend 2.|
|
||||||
Rocky Rebuke|Avatar: The Last Airbender|193|C|{1}{G}|Instant|||Target creature you control deals damage equal to its power to target creature an opponent controls.|
|
Rocky Rebuke|Avatar: The Last Airbender|193|C|{1}{G}|Instant|||Target creature you control deals damage equal to its power to target creature an opponent controls.|
|
||||||
Saber-Tooth Moose-Lion|Avatar: The Last Airbender|194|C|{4}{G}{G}|Creature - Elk Cat|7|7|Reach$Forestcycling {2}|
|
Saber-Tooth Moose-Lion|Avatar: The Last Airbender|194|C|{4}{G}{G}|Creature - Elk Cat|7|7|Reach$Forestcycling {2}|
|
||||||
|
Seismic Sense|Avatar: The Last Airbender|195|U|{G}|Sorcery - Lesson|||Look at the top X cards of your library, where X is the number of lands you control. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.|
|
||||||
|
Sparring Dummy|Avatar: The Last Airbender|197|U|{1}{G}|Artifact Creature - Scarecrow|1|3|Defender${T}: Mill a card. You may put a land card milled this way into your hand. You gain 2 life if a Lesson card is milled this way.|
|
||||||
Toph, the Blind Bandit|Avatar: The Last Airbender|198|U|{2}{G}|Legendary Creature - Human Warrior Ally|*|3|When Toph enters, earthbend 2.$Toph's power is equal to the number of +1/+1 counters on lands you control.|
|
Toph, the Blind Bandit|Avatar: The Last Airbender|198|U|{2}{G}|Legendary Creature - Human Warrior Ally|*|3|When Toph enters, earthbend 2.$Toph's power is equal to the number of +1/+1 counters on lands you control.|
|
||||||
Turtle-Duck|Avatar: The Last Airbender|200|C|{G}|Creature - Turtle Bird|0|4|{3}: Until end of turn, this creature has base power 4 and gains trample.|
|
Turtle-Duck|Avatar: The Last Airbender|200|C|{G}|Creature - Turtle Bird|0|4|{3}: Until end of turn, this creature has base power 4 and gains trample.|
|
||||||
|
Aang, at the Crossroads|Avatar: The Last Airbender|203|R|{2}{G}{W}{U}|Legendary Creature - Human Avatar Ally|3|3|Flying$When Aang enters, look at the top five cards of your library. You may put a creature card with mana value 4 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.$When another creature you control leaves the battlefield, transform Aang at the beginning of the next upkeep.|
|
||||||
|
Aang, Destined Savior|Avatar: The Last Airbender|203|R||Legendary Creature - Avatar Ally|4|4|Flying$Land creatures you control have vigilance.$At the beginning of combat on your turn, earthbend 2.|
|
||||||
Abandon Attachments|Avatar: The Last Airbender|205|C|{1}{U/R}|Instant - Lesson|||You may discard a card. If you do, draw two cards.|
|
Abandon Attachments|Avatar: The Last Airbender|205|C|{1}{U/R}|Instant - Lesson|||You may discard a card. If you do, draw two cards.|
|
||||||
Avatar Aang|Avatar: The Last Airbender|207|M|{R}{G}{W}{U}|Legendary Creature - Human Avatar Ally|4|4|Flying, firebending 2$Whenever you waterbend, earthbend, firebend, or airbend, draw a card. Then if you've done all four this turn, transform Avatar Aang.|
|
Avatar Aang|Avatar: The Last Airbender|207|M|{R}{G}{W}{U}|Legendary Creature - Human Avatar Ally|4|4|Flying, firebending 2$Whenever you waterbend, earthbend, firebend, or airbend, draw a card. Then if you've done all four this turn, transform Avatar Aang.|
|
||||||
Aang, Master of Elements|Avatar: The Last Airbender|207|M||Legendary Creature - Avatar Ally|6|6|Flying$Spells you cast cost {W}{U}{B}{R}{G} less to cast.$At the beginning of each upkeep, you may transform Aang, Master of Elements. If you do, you gain 4 life, draw four cards, put four +1/+1 counters on him, and he deals 4 damage to each opponent.|
|
Aang, Master of Elements|Avatar: The Last Airbender|207|M||Legendary Creature - Avatar Ally|6|6|Flying$Spells you cast cost {W}{U}{B}{R}{G} less to cast.$At the beginning of each upkeep, you may transform Aang, Master of Elements. If you do, you gain 4 life, draw four cards, put four +1/+1 counters on him, and he deals 4 damage to each opponent.|
|
||||||
|
Azula, Cunning Usurper|Avatar: The Last Airbender|208|R|{2}{U}{B}{B}|Legendary Creature - Human Noble Rogue|4|4|Firebending 2$When Azula enters, target opponent exiles a nontoken creature they control, then they exile a nonland card from their graveyard.$During your turn, you may cast cards exiled with Azula and you may cast them as though they had flash. Mana of any type can be spent to cast those spells.|
|
||||||
Cat-Owl|Avatar: The Last Airbender|212|C|{3}{W/U}|Creature - Cat Bird|3|3|Flying$Whenever this creature attacks, untap target artifact or creature.|
|
Cat-Owl|Avatar: The Last Airbender|212|C|{3}{W/U}|Creature - Cat Bird|3|3|Flying$Whenever this creature attacks, untap target artifact or creature.|
|
||||||
|
Dai Li Agents|Avatar: The Last Airbender|214|U|{3}{B}{G}|Creature - Human Soldier|3|4|When this creature enters, earthbend 1, then earthbend 1.$Whenever this creature attacks, each opponent loses X life and you gain X life, where X is the number of creatures you control with +1/+1 counters on them.|
|
||||||
|
Dragonfly Swarm|Avatar: The Last Airbender|215|U|{1}{U}{R}|Creature - Dragon Insect|*|3|Flying, ward {1}$This creature's power is equal to the number of noncreature, nonland cards in your graveyard.$When this creature dies, if there's a Lesson card in your graveyard, draw a card.|
|
||||||
Earth Kingdom Soldier|Avatar: The Last Airbender|216|C|{4}{G/W}|Creature - Human Soldier|3|4|Vigilance$When this creature enters, put a +1/+1 counter on each of up to two target creatures you control.|
|
Earth Kingdom Soldier|Avatar: The Last Airbender|216|C|{4}{G/W}|Creature - Human Soldier|3|4|Vigilance$When this creature enters, put a +1/+1 counter on each of up to two target creatures you control.|
|
||||||
|
Earth King's Lieutenant|Avatar: The Last Airbender|217|R|{G}{W}|Creature - Human Soldier Ally|1|1|Trample$When this creature enters, put a +1/+1 counter on each other Ally creature you control.$Whenever another Ally you control enters, put a +1/+1 counter on this creature.|
|
||||||
Earth Village Ruffians|Avatar: The Last Airbender|219|C|{2}{B/G}|Creature - Human Soldier Rogue|3|1|When this creature dies, earthbend 2.|
|
Earth Village Ruffians|Avatar: The Last Airbender|219|C|{2}{B/G}|Creature - Human Soldier Rogue|3|1|When this creature dies, earthbend 2.|
|
||||||
|
Fire Lord Azula|Avatar: The Last Airbender|220|R|{1}{U}{B}{R}|Legendary Creature - Human Noble|4|4|Firebending 2$Whenever you cast a spell while Fire Lord Azula is attacking, copy that spell. You may choose new targets for the copy.|
|
||||||
Fire Lord Zuko|Avatar: The Last Airbender|221|R|{R}{W}{B}|Legendary Creature - Human Noble Ally|2|4|Firebending X, where X is Fire Lord Zuko's power.$Whenever you cast a spell from exile and whenever a permanent you control enters from exile, put a +1/+1 counter on each creature you control.|
|
Fire Lord Zuko|Avatar: The Last Airbender|221|R|{R}{W}{B}|Legendary Creature - Human Noble Ally|2|4|Firebending X, where X is Fire Lord Zuko's power.$Whenever you cast a spell from exile and whenever a permanent you control enters from exile, put a +1/+1 counter on each creature you control.|
|
||||||
|
Guru Pathik|Avatar: The Last Airbender|223|U|{2}{G/U}{G/U}|Legendary Creature - Human Monk Ally|2|4|When Guru Pathik enters, look at the top five cards of your library. You may reveal a Lesson, Saga, or Shrine card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.$Whenever you cast a Lesson, Saga, or Shrine spell, put a +1/+1 counter on another target creature you control.|
|
||||||
|
Hama, the Bloodbender|Avatar: The Last Airbender|224|U|{2}{U/B}{U/B}{U/B}|Legendary Creature - Human Warlock|3|3|When Hama enters, target opponent mills three cards. Exile up to one noncreature, nonland card from that player's graveyard. For as long as you control Hama, you may cast the exiled card during your turn by waterbending {X} rather than paying its mana cost, where X is its mana value.|
|
||||||
Hei Bai, Spirit of Balance|Avatar: The Last Airbender|225|U|{2}{W/B}{W/B}|Legendary Creature - Bear Spirit|3|3|Whenever Hei Bai enters or attacks, you may sacrifice another creature or artifact. If you do, put two +1/+1 counters on Hei Bai.$When Hei Bai leaves the battlefield, put its counters on target creature you control.|
|
Hei Bai, Spirit of Balance|Avatar: The Last Airbender|225|U|{2}{W/B}{W/B}|Legendary Creature - Bear Spirit|3|3|Whenever Hei Bai enters or attacks, you may sacrifice another creature or artifact. If you do, put two +1/+1 counters on Hei Bai.$When Hei Bai leaves the battlefield, put its counters on target creature you control.|
|
||||||
|
Iroh, Grand Lotus|Avatar: The Last Airbender|227|R|{3}{G}{U}{R}|Legendary Creature - Human Noble Ally|5|5|Firebending 2$During your turn, each non-Lesson instant and sorcery card in your graveyard has flashback. The flashback cost is equal to that card's mana cost.$During your turn, each Lesson card in your graveyard has flashback {1}.|
|
||||||
Katara, the Fearless|Avatar: The Last Airbender|230|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
Katara, the Fearless|Avatar: The Last Airbender|230|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
||||||
Katara, Water Tribe's Hope|Avatar: The Last Airbender|231|R|{2}{W}{U}{U}|Legendary Creature - Human Warrior Ally|3|3|Vigilance$When Katara enters, create a 1/1 white Ally creature token.$Waterbend {X}: Creatures you control have base power and toughness X/X until end of turn. X can't be 0. Activate only during your turn.|
|
Katara, Water Tribe's Hope|Avatar: The Last Airbender|231|R|{2}{W}{U}{U}|Legendary Creature - Human Warrior Ally|3|3|Vigilance$When Katara enters, create a 1/1 white Ally creature token.$Waterbend {X}: Creatures you control have base power and toughness X/X until end of turn. X can't be 0. Activate only during your turn.|
|
||||||
|
The Lion-Turtle|Avatar: The Last Airbender|232|R|{1}{G}{U}|Legendary Creature - Elder Cat Turtle|3|6|Vigilance, reach$When The Lion-Turtle enters, you gain 3 life.$The Lion-Turtle can't attack or block unless there are three or more Lesson cards in your graveyard.${T}: Add one mana of any color.|
|
||||||
Long Feng, Grand Secretariat|Avatar: The Last Airbender|233|U|{1}{B/G}{B/G}|Legendary Creature - Human Advisor|2|3|Whenever another creature you control or a land you control is put into a graveyard from the battlefield, put a +1/+1 counter on target creature you control.|
|
Long Feng, Grand Secretariat|Avatar: The Last Airbender|233|U|{1}{B/G}{B/G}|Legendary Creature - Human Advisor|2|3|Whenever another creature you control or a land you control is put into a graveyard from the battlefield, put a +1/+1 counter on target creature you control.|
|
||||||
|
Ozai, the Phoenix King|Avatar: The Last Airbender|235|M|{2}{B}{B}{R}{R}|Legendary Creature - Human Noble|7|7|Trample, firebending 4, haste$If you would lose unspent mana, that mana becomes red instead.$Ozai has flying and indestructible as long as you have six or more unspent mana.|
|
||||||
Pretending Poxbearers|Avatar: The Last Airbender|237|C|{1}{W/B}|Creature - Human Citizen Ally|2|1|When this creature dies, create a 1/1 white Ally creature token.|
|
Pretending Poxbearers|Avatar: The Last Airbender|237|C|{1}{W/B}|Creature - Human Citizen Ally|2|1|When this creature dies, create a 1/1 white Ally creature token.|
|
||||||
Sokka, Bold Boomeranger|Avatar: The Last Airbender|240|R|{U}{R}|Legendary Creature - Human Warrior Ally|1|1|When Sokka enters, discard up to two cards, then draw that many cards.$Whenever you cast an artifact or Lesson spell, put a +1/+1 counter on Sokka.|
|
Sokka, Bold Boomeranger|Avatar: The Last Airbender|240|R|{U}{R}|Legendary Creature - Human Warrior Ally|1|1|When Sokka enters, discard up to two cards, then draw that many cards.$Whenever you cast an artifact or Lesson spell, put a +1/+1 counter on Sokka.|
|
||||||
Sokka, Lateral Strategist|Avatar: The Last Airbender|241|U|{1}{W/U}{W/U}|Legendary Creature - Human Warrior Ally|2|4|Vigilance$Whenever Sokka and at least one other creature attack, draw a card.|
|
Sokka, Lateral Strategist|Avatar: The Last Airbender|241|U|{1}{W/U}{W/U}|Legendary Creature - Human Warrior Ally|2|4|Vigilance$Whenever Sokka and at least one other creature attack, draw a card.|
|
||||||
|
Sokka, Tenacious Tactician|Avatar: The Last Airbender|242|R|{1}{U}{R}{W}|Legendary Creature - Human Warrior Ally|3|3|Menace, prowess$Other Allies you control have menace and prowess.$Whenever you cast a noncreature spell, create a 1/1 white Ally creature token.|
|
||||||
Suki, Kyoshi Warrior|Avatar: The Last Airbender|243|U|{2}{G/W}{G/W}|Legendary Creature - Human Warrior Ally|*|4|Suki's power is equal to the number of creatures you control.$Whenever Suki attacks, create a 1/1 white Ally creature token that's tapped and attacking.|
|
Suki, Kyoshi Warrior|Avatar: The Last Airbender|243|U|{2}{G/W}{G/W}|Legendary Creature - Human Warrior Ally|*|4|Suki's power is equal to the number of creatures you control.$Whenever Suki attacks, create a 1/1 white Ally creature token that's tapped and attacking.|
|
||||||
|
Sun Warriors|Avatar: The Last Airbender|244|U|{2}{R}{W}|Creature - Human Warrior Ally|3|5|Firebending X, where X is the number of creatures you control.${5}: Create a 1/1 white Ally creature token.|
|
||||||
Toph, the First Metalbender|Avatar: The Last Airbender|247|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
Toph, the First Metalbender|Avatar: The Last Airbender|247|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
||||||
|
Uncle Iroh|Avatar: The Last Airbender|248|U|{1}{R/G}{R/G}|Legendary Creature - Human Noble Ally|4|2|Firebending 1$Lesson spells you cast cost {1} less to cast.|
|
||||||
Vindictive Warden|Avatar: The Last Airbender|249|C|{2}{B/R}|Creature - Human Soldier|2|3|Menace$Firebending 1${3}: This creature deals 1 damage to each opponent.|
|
Vindictive Warden|Avatar: The Last Airbender|249|C|{2}{B/R}|Creature - Human Soldier|2|3|Menace$Firebending 1${3}: This creature deals 1 damage to each opponent.|
|
||||||
|
White Lotus Reinforcements|Avatar: The Last Airbender|251|U|{1}{G}{W}|Creature - Human Soldier Ally|2|3|Vigilance$Other Allies you control get +1/+1.|
|
||||||
Barrels of Blasting Jelly|Avatar: The Last Airbender|254|C|{1}|Artifact|||{1}: Add one mana of any color. Activate only once each turn.${5}, {T}, Sacrifice this artifact: It deals 5 damage to target creature.|
|
Barrels of Blasting Jelly|Avatar: The Last Airbender|254|C|{1}|Artifact|||{1}: Add one mana of any color. Activate only once each turn.${5}, {T}, Sacrifice this artifact: It deals 5 damage to target creature.|
|
||||||
Bender's Waterskin|Avatar: The Last Airbender|255|C|{3}|Artifact|||Untap this artifact during each other player's untap step.${T}: Add one mana of any color.|
|
Bender's Waterskin|Avatar: The Last Airbender|255|C|{3}|Artifact|||Untap this artifact during each other player's untap step.${T}: Add one mana of any color.|
|
||||||
|
Trusty Boomerang|Avatar: The Last Airbender|260|U|{1}|Artifact - Equipment|||Equipped creature has "{1}, {T}: Tap target creature. Return Trusty Boomerang to its owner's hand."$Equip {1}|
|
||||||
|
White Lotus Tile|Avatar: The Last Airbender|262|M|{4}|Artifact|||This artifact enters tapped.${T}: Add X mana of any one color, where X is the greatest number of creatures you control that have a creature type in common.|
|
||||||
Plains|Avatar: The Last Airbender|282|C||Basic Land - Plains|||({T}: Add {W}.)|
|
Plains|Avatar: The Last Airbender|282|C||Basic Land - Plains|||({T}: Add {W}.)|
|
||||||
Island|Avatar: The Last Airbender|283|C||Basic Land - Island|||({T}: Add {U}.)|
|
Island|Avatar: The Last Airbender|283|C||Basic Land - Island|||({T}: Add {U}.)|
|
||||||
Swamp|Avatar: The Last Airbender|284|C||Basic Land - Swamp|||({T}: Add {B}.)|
|
Swamp|Avatar: The Last Airbender|284|C||Basic Land - Swamp|||({T}: Add {B}.)|
|
||||||
|
|
@ -59856,24 +59909,69 @@ Island|Avatar: The Last Airbender|288|C||Basic Land - Island|||({T}: Add {U}.)|
|
||||||
Swamp|Avatar: The Last Airbender|289|C||Basic Land - Swamp|||({T}: Add {B}.)|
|
Swamp|Avatar: The Last Airbender|289|C||Basic Land - Swamp|||({T}: Add {B}.)|
|
||||||
Mountain|Avatar: The Last Airbender|290|C||Basic Land - Mountain|||({T}: Add {R}.)|
|
Mountain|Avatar: The Last Airbender|290|C||Basic Land - Mountain|||({T}: Add {R}.)|
|
||||||
Forest|Avatar: The Last Airbender|291|C||Basic Land - Forest|||({T}: Add {G}.)|
|
Forest|Avatar: The Last Airbender|291|C||Basic Land - Forest|||({T}: Add {G}.)|
|
||||||
|
Plains|Avatar: The Last Airbender|292|C||Basic Land - Plains|||({T}: Add {W}.)|
|
||||||
|
Island|Avatar: The Last Airbender|293|C||Basic Land - Island|||({T}: Add {U}.)|
|
||||||
|
Swamp|Avatar: The Last Airbender|294|C||Basic Land - Swamp|||({T}: Add {B}.)|
|
||||||
|
Mountain|Avatar: The Last Airbender|295|C||Basic Land - Mountain|||({T}: Add {R}.)|
|
||||||
|
Forest|Avatar: The Last Airbender|296|C||Basic Land - Forest|||({T}: Add {G}.)|
|
||||||
|
Fated Firepower|Avatar: The Last Airbender|297|M|{X}{R}{R}{R}|Enchantment|||Flash$This enchantment enters with X fire counters on it.$If a source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus an amount of damage equal to the number of fire counters on this enchantment instead.|
|
||||||
|
Fire Nation Attacks|Avatar: The Last Airbender|299|U|{4}{R}|Instant|||Create two 2/2 red Soldier creature tokens with firebending 1.$Flashback {8}{R}|
|
||||||
|
Azula, Cunning Usurper|Avatar: The Last Airbender|303|R|{2}{U}{B}{B}|Legendary Creature - Human Noble Rogue|4|4|Firebending 2$When Azula enters, target opponent exiles a nontoken creature they control, then they exile a nonland card from their graveyard.$During your turn, you may cast cards exiled with Azula and you may cast them as though they had flash. Mana of any type can be spent to cast those spells.|
|
||||||
|
Aang, at the Crossroads|Avatar: The Last Airbender|304|R|{2}{G}{W}{U}|Legendary Creature - Human Avatar Ally|3|3|Flying$When Aang enters, look at the top five cards of your library. You may put a creature card with mana value 4 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.$When another creature you control leaves the battlefield, transform Aang at the beginning of the next upkeep.|
|
||||||
|
Aang, Destined Savior|Avatar: The Last Airbender|304|R||Legendary Creature - Avatar Ally|4|4|Flying$Land creatures you control have vigilance.$At the beginning of combat on your turn, earthbend 2.|
|
||||||
|
Katara, the Fearless|Avatar: The Last Airbender|305|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
||||||
|
Dai Li Agents|Avatar: The Last Airbender|306|U|{3}{B}{G}|Creature - Human Soldier|3|4|When this creature enters, earthbend 1, then earthbend 1.$Whenever this creature attacks, each opponent loses X life and you gain X life, where X is the number of creatures you control with +1/+1 counters on them.|
|
||||||
|
Avatar Aang|Avatar: The Last Airbender|308|M|{R}{G}{W}{U}|Legendary Creature - Human Avatar Ally|4|4|Flying, firebending 2$Whenever you waterbend, earthbend, firebend, or airbend, draw a card. Then if you've done all four this turn, transform Avatar Aang.|
|
||||||
|
Aang, Master of Elements|Avatar: The Last Airbender|308|M||Legendary Creature - Avatar Ally|6|6|Flying$Spells you cast cost {W}{U}{B}{R}{G} less to cast.$At the beginning of each upkeep, you may transform Aang, Master of Elements. If you do, you gain 4 life, draw four cards, put four +1/+1 counters on him, and he deals 4 damage to each opponent.|
|
||||||
|
Sozin's Comet|Avatar: The Last Airbender|309|M|{3}{R}{R}|Sorcery|||Each creature you control gains firebending 5 until end of turn.$Foretell {2}{R}|
|
||||||
|
Ozai, the Phoenix King|Avatar: The Last Airbender|311|M|{2}{B}{B}{R}{R}|Legendary Creature - Human Noble|7|7|Trample, firebending 4, haste$If you would lose unspent mana, that mana becomes red instead.$Ozai has flying and indestructible as long as you have six or more unspent mana.|
|
||||||
|
Fire Lord Azula|Avatar: The Last Airbender|313|R|{1}{U}{B}{R}|Legendary Creature - Human Noble|4|4|Firebending 2$Whenever you cast a spell while Fire Lord Azula is attacking, copy that spell. You may choose new targets for the copy.|
|
||||||
|
The Last Agni Kai|Avatar: The Last Airbender|314|R|{1}{R}|Instant|||Target creature you control fights target creature an opponent controls. If the creature the opponent controls is dealt excess damage this way, add that much {R}.$Until end of turn, you don't lose unspent red mana as steps and phases end.|
|
||||||
|
Fire Lord Zuko|Avatar: The Last Airbender|315|R|{R}{W}{B}|Legendary Creature - Human Noble Ally|2|4|Firebending X, where X is Fire Lord Zuko's power.$Whenever you cast a spell from exile and whenever a permanent you control enters from exile, put a +1/+1 counter on each creature you control.|
|
||||||
Appa, Steadfast Guardian|Avatar: The Last Airbender|316|M|{2}{W}{W}|Legendary Creature - Bison Ally|3|4|Flash$Flying$When Appa enters, airbend any number of other target nonland permanents you control.$Whenever you cast a spell from exile, create a 1/1 white Ally creature token.|
|
Appa, Steadfast Guardian|Avatar: The Last Airbender|316|M|{2}{W}{W}|Legendary Creature - Bison Ally|3|4|Flash$Flying$When Appa enters, airbend any number of other target nonland permanents you control.$Whenever you cast a spell from exile, create a 1/1 white Ally creature token.|
|
||||||
Momo, Friendly Flier|Avatar: The Last Airbender|317|R|{W}|Legendary Creature - Lemur Bat Ally|1|1|Flying$The first non-Lemur creature spell with flying you cast during each of your turns costs {1} less to cast.$Whenever another creature you control with flying enters, Momo gets +1/+1 until end of turn.|
|
Momo, Friendly Flier|Avatar: The Last Airbender|317|R|{W}|Legendary Creature - Lemur Bat Ally|1|1|Flying$The first non-Lemur creature spell with flying you cast during each of your turns costs {1} less to cast.$Whenever another creature you control with flying enters, Momo gets +1/+1 until end of turn.|
|
||||||
|
Tiger-Seal|Avatar: The Last Airbender|318|R|{U}|Creature - Cat Seal|3|3|Vigilance$At the beginning of your upkeep, tap this creature.$Whenever you draw your second card each turn, untap this creature.|
|
||||||
|
Wan Shi Tong, Librarian|Avatar: The Last Airbender|320|M|{X}{U}{U}|Legendary Creature - Bird Spirit|1|1|Flash$Flying, vigilance$When Wan Shi Tong enters, put X +1/+1 counters on him. Then draw half X cards, rounded down.$Whenever an opponent searches their library, put a +1/+1 counter on Wan Shi Tong and draw a card.|
|
||||||
|
The Fire Nation Drill|Avatar: The Last Airbender|321|R|{2}{B}{B}|Legendary Artifact - Vehicle|6|3|Trample$When The Fire Nation Drill enters, you may tap it. When you do, destroy target creature with power 4 or less.${1}: Permanents your opponents control lose hexproof and indestructible until end of turn.$Crew 2|
|
||||||
|
Ran and Shaw|Avatar: The Last Airbender|325|R|{3}{R}{R}|Legendary Creature - Dragon|4|4|Flying, firebending 2$When Ran and Shaw enter, if you cast them and there are three or more Dragon and/or Lesson cards in your graveyard, create a token that's a copy of Ran and Shaw, except it's not legendary.${3}{R}: Dragons you control get +2/+0 until end of turn.|
|
||||||
|
Badgermole Cub|Avatar: The Last Airbender|326|M|{1}{G}|Creature - Badger Mole|2|2|When this creature enters, earthbend 1.$Whenever you tap a creature for mana, add an additional {G}.|
|
||||||
|
The Lion-Turtle|Avatar: The Last Airbender|328|R|{1}{G}{U}|Legendary Creature - Elder Cat Turtle|3|6|Vigilance, reach$When The Lion-Turtle enters, you gain 3 life.$The Lion-Turtle can't attack or block unless there are three or more Lesson cards in your graveyard.${T}: Add one mana of any color.|
|
||||||
|
White Lotus Tile|Avatar: The Last Airbender|330|M|{4}|Artifact|||This artifact enters tapped.${T}: Add X mana of any one color, where X is the greatest number of creatures you control that have a creature type in common.|
|
||||||
|
Sozin's Comet|Avatar: The Last Airbender|332|M|{3}{R}{R}|Sorcery|||Each creature you control gains firebending 5 until end of turn.$Foretell {2}{R}|
|
||||||
|
Fire Lord Azula|Avatar: The Last Airbender|334|R|{1}{U}{B}{R}|Legendary Creature - Human Noble|4|4|Firebending 2$Whenever you cast a spell while Fire Lord Azula is attacking, copy that spell. You may choose new targets for the copy.|
|
||||||
|
Ozai, the Phoenix King|Avatar: The Last Airbender|335|M|{2}{B}{B}{R}{R}|Legendary Creature - Human Noble|7|7|Trample, firebending 4, haste$If you would lose unspent mana, that mana becomes red instead.$Ozai has flying and indestructible as long as you have six or more unspent mana.|
|
||||||
Aang's Iceberg|Avatar: The Last Airbender|336|R|{2}{W}|Enchantment|||Flash$When this enchantment enters, exile up to one other target nonland permanent until this enchantment leaves the battlefield.$Waterbend {3}: Sacrifice this enchantment. If you do, scry 2.|
|
Aang's Iceberg|Avatar: The Last Airbender|336|R|{2}{W}|Enchantment|||Flash$When this enchantment enters, exile up to one other target nonland permanent until this enchantment leaves the battlefield.$Waterbend {3}: Sacrifice this enchantment. If you do, scry 2.|
|
||||||
|
Secret of Bloodbending|Avatar: The Last Airbender|337|M|{U}{U}{U}{U}|Sorcery - Lesson|||As an additional cost to cast this spell, you may waterbend {10}.$You control target opponent during their next combat phase. If this spell's additional cost was paid, you control that player during their next turn instead.$Exile Secret of Bloodbending.|
|
||||||
Yue, the Moon Spirit|Avatar: The Last Airbender|338|R|{3}{U}|Legendary Creature - Spirit Ally|3|3|Flying, vigilance$Waterbend {5}, {T}: You may cast a noncreature spell from your hand without paying its mana cost.|
|
Yue, the Moon Spirit|Avatar: The Last Airbender|338|R|{3}{U}|Legendary Creature - Spirit Ally|3|3|Flying, vigilance$Waterbend {5}, {T}: You may cast a noncreature spell from your hand without paying its mana cost.|
|
||||||
Fated Firepower|Avatar: The Last Airbender|341|M|{X}{R}{R}{R}|Enchantment|||Flash$This enchantment enters with X fire counters on it.$If a source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus an amount of damage equal to the number of fire counters on this enchantment instead.|
|
Fated Firepower|Avatar: The Last Airbender|341|M|{X}{R}{R}{R}|Enchantment|||Flash$This enchantment enters with X fire counters on it.$If a source you control would deal damage to an opponent or a permanent an opponent controls, it deals that much damage plus an amount of damage equal to the number of fire counters on this enchantment instead.|
|
||||||
|
Firebending Student|Avatar: The Last Airbender|342|R|{1}{R}|Creature - Human Monk|1|2|Prowess$Firebending X, where X is this creature's power.|
|
||||||
Redirect Lightning|Avatar: The Last Airbender|343|R|{R}|Instant - Lesson|||As an additional cost to cast this spell, pay 5 life or pay {2}.$Change the target of target spell or ability with a single target.|
|
Redirect Lightning|Avatar: The Last Airbender|343|R|{R}|Instant - Lesson|||As an additional cost to cast this spell, pay 5 life or pay {2}.$Change the target of target spell or ability with a single target.|
|
||||||
|
Aang, at the Crossroads|Avatar: The Last Airbender|346|R|{2}{G}{W}{U}|Legendary Creature - Human Avatar Ally|3|3|Flying$When Aang enters, look at the top five cards of your library. You may put a creature card with mana value 4 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.$When another creature you control leaves the battlefield, transform Aang at the beginning of the next upkeep.|
|
||||||
|
Aang, Destined Savior|Avatar: The Last Airbender|346|R||Legendary Creature - Avatar Ally|4|4|Flying$Land creatures you control have vigilance.$At the beginning of combat on your turn, earthbend 2.|
|
||||||
|
Iroh, Grand Lotus|Avatar: The Last Airbender|349|R|{3}{G}{U}{R}|Legendary Creature - Human Noble Ally|5|5|Firebending 2$During your turn, each non-Lesson instant and sorcery card in your graveyard has flashback. The flashback cost is equal to that card's mana cost.$During your turn, each Lesson card in your graveyard has flashback {1}.|
|
||||||
Katara, the Fearless|Avatar: The Last Airbender|350|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
Katara, the Fearless|Avatar: The Last Airbender|350|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
||||||
Katara, Water Tribe's Hope|Avatar: The Last Airbender|351|R|{2}{W}{U}{U}|Legendary Creature - Human Warrior Ally|3|3|Vigilance$When Katara enters, create a 1/1 white Ally creature token.$Waterbend {X}: Creatures you control have base power and toughness X/X until end of turn. X can't be 0. Activate only during your turn.|
|
Katara, Water Tribe's Hope|Avatar: The Last Airbender|351|R|{2}{W}{U}{U}|Legendary Creature - Human Warrior Ally|3|3|Vigilance$When Katara enters, create a 1/1 white Ally creature token.$Waterbend {X}: Creatures you control have base power and toughness X/X until end of turn. X can't be 0. Activate only during your turn.|
|
||||||
|
Sokka, Tenacious Tactician|Avatar: The Last Airbender|352|R|{1}{U}{R}{W}|Legendary Creature - Human Warrior Ally|3|3|Menace, prowess$Other Allies you control have menace and prowess.$Whenever you cast a noncreature spell, create a 1/1 white Ally creature token.|
|
||||||
Toph, the First Metalbender|Avatar: The Last Airbender|353|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
Toph, the First Metalbender|Avatar: The Last Airbender|353|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
||||||
|
The Legend of Kuruk|Avatar: The Last Airbender|355|M|{2}{U}{U}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I, II -- Scry 2, then draw a card.$III -- Exile this Saga, then return it to the battlefield$transformed under your control.|
|
||||||
|
Avatar Kuruk|Avatar: The Last Airbender|355|M||Legendary Creature - Avatar|4|3|Whenever you cast a spell, create a 1/1 colorless Spirit creature token with "This token can't block or be blocked by non-Spirit creatures."$Exhaust -- Waterbend {20}: Take an extra turn after this one.|
|
||||||
The Rise of Sozin|Avatar: The Last Airbender|356|M|{4}{B}{B}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I -- Destroy all creatures.$II -- Choose a card name. Search target opponent's graveyard, hand, and library for up to four cards with that name and exile them. Then that player shuffles.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
The Rise of Sozin|Avatar: The Last Airbender|356|M|{4}{B}{B}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter.)$I -- Destroy all creatures.$II -- Choose a card name. Search target opponent's graveyard, hand, and library for up to four cards with that name and exile them. Then that player shuffles.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
||||||
Fire Lord Sozin|Avatar: The Last Airbender|356|M||Legendary Creature - Human Noble|5|5|Menace, firebending 3$Whenever Fire Lord Sozin deals combat damage to a player, you may pay {X}. When you do, put any number of target creature cards with total mana value X or less from that player's graveyard onto the battlefield under your control.|
|
Fire Lord Sozin|Avatar: The Last Airbender|356|M||Legendary Creature - Human Noble|5|5|Menace, firebending 3$Whenever Fire Lord Sozin deals combat damage to a player, you may pay {X}. When you do, put any number of target creature cards with total mana value X or less from that player's graveyard onto the battlefield under your control.|
|
||||||
|
The Legend of Roku|Avatar: The Last Airbender|357|M|{2}{R}{R}|Enchantment - Saga|||(As this Saga enters and after your draw$step, add a lore counter.)$I -- Exile the top three cards of your library. Until the end of your next turn, you may play those cards.$II -- Add one mana of any color.$III -- Exile this Saga, then return it to the battlefield transformed under your control.|
|
||||||
|
Avatar Roku|Avatar: The Last Airbender|357|M||Legendary Creature - Avatar|4|4|Firebending 4${8}: Create a 4/4 red Dragon creature token with flying and firebending 4.|
|
||||||
Fire Lord Zuko|Avatar: The Last Airbender|360|R|{R}{W}{B}|Legendary Creature - Human Noble Ally|2|4|Firebending X, where X is Fire Lord Zuko's power.$Whenever you cast a spell from exile and whenever a permanent you control enters from exile, put a +1/+1 counter on each creature you control.|
|
Fire Lord Zuko|Avatar: The Last Airbender|360|R|{R}{W}{B}|Legendary Creature - Human Noble Ally|2|4|Firebending X, where X is Fire Lord Zuko's power.$Whenever you cast a spell from exile and whenever a permanent you control enters from exile, put a +1/+1 counter on each creature you control.|
|
||||||
Katara, the Fearless|Avatar: The Last Airbender|361|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
Katara, the Fearless|Avatar: The Last Airbender|361|R|{G}{W}{U}|Legendary Creature - Human Warrior Ally|3|3|If a triggered ability of an Ally you control triggers, that ability triggers an additional time.|
|
||||||
Toph, the First Metalbender|Avatar: The Last Airbender|362|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
Toph, the First Metalbender|Avatar: The Last Airbender|362|R|{1}{R}{G}{W}|Legendary Creature - Human Warrior Ally|3|3|Nontoken artifacts you control are lands in addition to their other types.$At the beginning of your end step, earthbend 2.|
|
||||||
Avatar Aang|Avatar: The Last Airbender|363|M|{R}{G}{W}{U}|Legendary Creature - Human Avatar Ally|4|4|Flying, firebending 2$Whenever you waterbend, earthbend, firebend, or airbend, draw a card. Then if you've done all four this turn, transform Avatar Aang.|
|
Avatar Aang|Avatar: The Last Airbender|363|M|{R}{G}{W}{U}|Legendary Creature - Human Avatar Ally|4|4|Flying, firebending 2$Whenever you waterbend, earthbend, firebend, or airbend, draw a card. Then if you've done all four this turn, transform Avatar Aang.|
|
||||||
Aang, Master of Elements|Avatar: The Last Airbender|363|M||Legendary Creature - Avatar Ally|6|6|Flying$Spells you cast cost {W}{U}{B}{R}{G} less to cast.$At the beginning of each upkeep, you may transform Aang, Master of Elements. If you do, you gain 4 life, draw four cards, put four +1/+1 counters on him, and he deals 4 damage to each opponent.|
|
Aang, Master of Elements|Avatar: The Last Airbender|363|M||Legendary Creature - Avatar Ally|6|6|Flying$Spells you cast cost {W}{U}{B}{R}{G} less to cast.$At the beginning of each upkeep, you may transform Aang, Master of Elements. If you do, you gain 4 life, draw four cards, put four +1/+1 counters on him, and he deals 4 damage to each opponent.|
|
||||||
|
Airbender Ascension|Avatar: The Last Airbender|364|R|{1}{W}|Enchantment|||When this enchantment enters, airbend up to one target creature.$Whenever a creature you control enters, put a quest counter on this enchantment.$At the beginning of your end step, if this enchantment has four or more quest counters on it, exile up to one target creature you control, then return it to the battlefield under its owner's control.|
|
||||||
Hakoda, Selfless Commander|Avatar: The Last Airbender|366|R|{3}{W}|Legendary Creature - Human Warrior Ally|3|5|Vigilance$You may look at the top card of your library any time.$You may cast Ally spells from the top of your library.$Sacrifice Hakoda: Creatures you control get +0/+5 and gain indestructible until end of turn.|
|
Hakoda, Selfless Commander|Avatar: The Last Airbender|366|R|{3}{W}|Legendary Creature - Human Warrior Ally|3|5|Vigilance$You may look at the top card of your library any time.$You may cast Ally spells from the top of your library.$Sacrifice Hakoda: Creatures you control get +0/+5 and gain indestructible until end of turn.|
|
||||||
|
Boiling Rock Rioter|Avatar: The Last Airbender|372|R|{2}{B}|Creature - Human Rogue Ally|3|3|Firebending 1$Tap an untapped Ally you control: Exile target card from a graveyard.$Whenever this creature attacks, you may cast an Ally spell from among cards you own exiled with this creature.|
|
||||||
|
Day of Black Sun|Avatar: The Last Airbender|373|R|{X}{B}{B}|Sorcery|||Each creature with mana value X or less loses all abilities until end of turn. Destroy those creatures.|
|
||||||
|
Earth King's Lieutenant|Avatar: The Last Airbender|380|R|{G}{W}|Creature - Human Soldier Ally|1|1|Trample$When this creature enters, put a +1/+1 counter on each other Ally creature you control.$Whenever another Ally you control enters, put a +1/+1 counter on this creature.|
|
||||||
Sokka, Bold Boomeranger|Avatar: The Last Airbender|383|R|{U}{R}|Legendary Creature - Human Warrior Ally|1|1|When Sokka enters, discard up to two cards, then draw that many cards.$Whenever you cast an artifact or Lesson spell, put a +1/+1 counter on Sokka.|
|
Sokka, Bold Boomeranger|Avatar: The Last Airbender|383|R|{U}{R}|Legendary Creature - Human Warrior Ally|1|1|When Sokka enters, discard up to two cards, then draw that many cards.$Whenever you cast an artifact or Lesson spell, put a +1/+1 counter on Sokka.|
|
||||||
|
Firebending Student|Avatar: The Last Airbender|393|R|{1}{R}|Creature - Human Monk|1|2|Prowess$Firebending X, where X is this creature's power.|
|
||||||
|
Momo, Friendly Flier|Avatar: The Last Airbender|394|R|{W}|Legendary Creature - Lemur Bat Ally|1|1|Flying$The first non-Lemur creature spell with flying you cast during each of your turns costs {1} less to cast.$Whenever another creature you control with flying enters, Momo gets +1/+1 until end of turn.|
|
||||||
Anti-Venom, Horrifying Healer|Marvel's Spider-Man|1|M|{W}{W}{W}{W}{W}|Legendary Creature - Symbiote Hero|5|5|When Anti-Venom enters, if he was cast, return target creature card from your graveyard to the battlefield.$If damage would be dealt to Anti-Venom, prevent that damage and put that many +1/+1 counters on him.|
|
Anti-Venom, Horrifying Healer|Marvel's Spider-Man|1|M|{W}{W}{W}{W}{W}|Legendary Creature - Symbiote Hero|5|5|When Anti-Venom enters, if he was cast, return target creature card from your graveyard to the battlefield.$If damage would be dealt to Anti-Venom, prevent that damage and put that many +1/+1 counters on him.|
|
||||||
Arachne, Psionic Weaver|Marvel's Spider-Man|2|R|{2}{W}|Legendary Creature - Spider Human Hero|3|3|Web-slinging {W}$As Arachne enters, look at target opponent's hand, then choose a noncreature card type.$Spells of the chosen type cost {1} more to cast.|
|
Arachne, Psionic Weaver|Marvel's Spider-Man|2|R|{2}{W}|Legendary Creature - Spider Human Hero|3|3|Web-slinging {W}$As Arachne enters, look at target opponent's hand, then choose a noncreature card type.$Spells of the chosen type cost {1} more to cast.|
|
||||||
Aunt May|Marvel's Spider-Man|3|U|{W}|Legendary Creature - Human Citizen|0|2|Whenever another creature you control enters, you gain 1 life. If it's a Spider, put a +1/+1 counter on it.|
|
Aunt May|Marvel's Spider-Man|3|U|{W}|Legendary Creature - Human Citizen|0|2|Whenever another creature you control enters, you gain 1 life. If it's a Spider, put a +1/+1 counter on it.|
|
||||||
|
|
@ -60174,12 +60272,32 @@ Urban Retreat|Marvel's Spider-Man|283|R||Land|||This land enters tapped.${T}: Ad
|
||||||
Spider-Sense|Marvel's Spider-Man|284|R|{1}{U}|Instant|||Web-slinging {U}$Counter target instant spell, sorcery spell, or triggered ability.|
|
Spider-Sense|Marvel's Spider-Man|284|R|{1}{U}|Instant|||Web-slinging {U}$Counter target instant spell, sorcery spell, or triggered ability.|
|
||||||
Radioactive Spider|Marvel's Spider-Man|285|R|{G}|Creature - Spider|1|1|Reach, deathtouch$Fateful Bite -- {2}, Sacrifice this creature: Search your library for a Spider Hero card, reveal it, put it into your hand, then shuffle. Activate only as a sorcery.|
|
Radioactive Spider|Marvel's Spider-Man|285|R|{G}|Creature - Spider|1|1|Reach, deathtouch$Fateful Bite -- {2}, Sacrifice this creature: Search your library for a Spider Hero card, reveal it, put it into your hand, then shuffle. Activate only as a sorcery.|
|
||||||
Gwenom, Remorseless|Marvel's Spider-Man|286|M|{3}{B}{B}|Legendary Creature - Symbiote Spider Hero|4|4|Deathtouch, lifelink$Whenever Gwenom attacks, until end of turn you may look at the top card of your library any time and you may play cards from the top of your library. If you cast a spell this way, pay life equal to its mana value rather than pay its mana cost.|
|
Gwenom, Remorseless|Marvel's Spider-Man|286|M|{3}{B}{B}|Legendary Creature - Symbiote Spider Hero|4|4|Deathtouch, lifelink$Whenever Gwenom attacks, until end of turn you may look at the top card of your library any time and you may play cards from the top of your library. If you cast a spell this way, pay life equal to its mana value rather than pay its mana cost.|
|
||||||
|
Release to Memory|Avatar: The Last Airbender Eternal|5|M|{3}{W}|Instant|||Exile target opponent's graveyard. For each creature card exiled this way, create a 1/1 colorless Spirit creature token.|
|
||||||
Force of Negation|Avatar: The Last Airbender Eternal|13|M|{1}{U}{U}|Instant|||If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost.$Counter target noncreature spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard.|
|
Force of Negation|Avatar: The Last Airbender Eternal|13|M|{1}{U}{U}|Instant|||If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost.$Counter target noncreature spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard.|
|
||||||
|
Mystic Remora|Avatar: The Last Airbender Eternal|16|M|{U}|Enchantment|||Cumulative upkeep {1}$Whenever an opponent casts a noncreature spell, you may draw a card unless that player pays {4}.|
|
||||||
|
Cruel Tutor|Avatar: The Last Airbender Eternal|24|M|{2}{B}|Sorcery|||Search your library for a card, then shuffle and put that card on top. You lose 2 life.|
|
||||||
The Great Henge|Avatar: The Last Airbender Eternal|41|M|{7}{G}{G}|Legendary Artifact|||This spell costs {X} less to cast, where X is the greatest power among creatures you control.${T}: Add {G}{G}. You gain 2 life.$Whenever a nontoken creature you control enters, put a +1/+1 counter on it and draw a card.|
|
The Great Henge|Avatar: The Last Airbender Eternal|41|M|{7}{G}{G}|Legendary Artifact|||This spell costs {X} less to cast, where X is the greatest power among creatures you control.${T}: Add {G}{G}. You gain 2 life.$Whenever a nontoken creature you control enters, put a +1/+1 counter on it and draw a card.|
|
||||||
|
Heroic Intervention|Avatar: The Last Airbender Eternal|43|M|{1}{G}|Instant|||Permanents you control gain hexproof and indestructible until end of turn.|
|
||||||
|
Eladamri's Call|Avatar: The Last Airbender Eternal|48|M|{G}{W}|Instant|||Search your library for a creature card, reveal that card, put it into your hand, then shuffle.|
|
||||||
|
Dark Depths|Avatar: The Last Airbender Eternal|56|M||Legendary Snow Land|||Dark Depths enters with ten ice counters on it.${3}: Remove an ice counter from Dark Depths.$When Dark Depths has no ice counters on it, sacrifice it. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible.|
|
||||||
|
Valakut, the Molten Pinnacle|Avatar: The Last Airbender Eternal|61|M||Land|||This land enters tapped.$Whenever a Mountain you control enters, if you control at least five other Mountains, you may have this land deal 3 damage to any target.${T}: Add {R}.|
|
||||||
|
Katara's Reversal|Avatar: The Last Airbender Eternal|63|R|{2}{U}{U}|Instant|||Counter up to four target spells and/or abilities.$Untap up to four target artifacts and/or creatures.|
|
||||||
|
Sokka and Suki|Avatar: The Last Airbender Eternal|71|R|{U}{R}{W}|Legendary Creature - Human Warrior Ally|3|3|Whenever Sokka and Suki or another Ally you control enters, attach up to one target Equipment you control to that creature.$Whenever an Equipment you control enters, create a 1/1 white Ally creature token.|
|
||||||
Aang, Airbending Master|Avatar: The Last Airbender Eternal|74|M|{4}{W}|Legendary Creature - Human Avatar Ally|4|4|When Aang enters, airbend another target creature.$Whenever one or more creatures you control leave the battlefield without dying, you get an experience counter.$At the beginning of your upkeep, create a 1/1 white Ally creature token for each experience counter you have.|
|
Aang, Airbending Master|Avatar: The Last Airbender Eternal|74|M|{4}{W}|Legendary Creature - Human Avatar Ally|4|4|When Aang enters, airbend another target creature.$Whenever one or more creatures you control leave the battlefield without dying, you get an experience counter.$At the beginning of your upkeep, create a 1/1 white Ally creature token for each experience counter you have.|
|
||||||
|
Sokka, Swordmaster|Avatar: The Last Airbender Eternal|83|M|{2}{W}|Legendary Creature - Human Warrior Ally|3|3|Vigilance$Equipment spells you cast cost {1} less to cast for each Ally you control.$At the beginning of combat on your turn, attach up to one target Equipment you control to Sokka.|
|
||||||
Katara, Waterbending Master|Avatar: The Last Airbender Eternal|93|M|{1}{U}|Legendary Creature - Human Warrior Ally|1|3|Whenever you cast a spell during an opponent's turn, you get an experience counter.$Whenever Katara attacks, you may draw a card for each experience counter you have. If you do, discard a card.|
|
Katara, Waterbending Master|Avatar: The Last Airbender Eternal|93|M|{1}{U}|Legendary Creature - Human Warrior Ally|1|3|Whenever you cast a spell during an opponent's turn, you get an experience counter.$Whenever Katara attacks, you may draw a card for each experience counter you have. If you do, discard a card.|
|
||||||
|
Wan Shi Tong, All-Knowing|Avatar: The Last Airbender Eternal|98|M|{3}{U}{U}|Legendary Creature - Bird Spirit|4|4|Flying$When Wan Shi Tong enters, target nonland permanent's owner puts it into their library second from the top or on the bottom.$Whenever one or more cards are put into a library from anywhere, create two 1/1 colorless Spirit creature tokens with "This token can't block or be blocked by non-Spirit creatures."|
|
||||||
|
Azula, Ruthless Firebender|Avatar: The Last Airbender Eternal|101|M|{2}{B}|Legendary Creature - Human Noble|3|3|Firebending 1$Whenever Azula attacks, you may discard a card. Then you get an experience counter for each player who discarded a card this turn.${2}{B}: Until end of turn, Azula gets +1/+1 for each experience counter you have and gains menace.|
|
||||||
Fire Lord Ozai|Avatar: The Last Airbender Eternal|104|M|{3}{B}|Legendary Creature - Human Noble|4|4|Whenever Fire Lord Ozai attacks, you may sacrifice another creature. If you do, add an amount of {R} equal to the sacrificed creature's power. Until end of combat, you don't lose this mana as steps end.${6}: Exile the top card of each opponent's library. Until end of turn, you may play one of those cards without paying its mana cost.|
|
Fire Lord Ozai|Avatar: The Last Airbender Eternal|104|M|{3}{B}|Legendary Creature - Human Noble|4|4|Whenever Fire Lord Ozai attacks, you may sacrifice another creature. If you do, add an amount of {R} equal to the sacrificed creature's power. Until end of combat, you don't lose this mana as steps end.${6}: Exile the top card of each opponent's library. Until end of turn, you may play one of those cards without paying its mana cost.|
|
||||||
|
Avatar Roku, Firebender|Avatar: The Last Airbender Eternal|112|M|{3}{R}{R}{R}|Legendary Creature - Human Avatar|6|6|Whenever a player attacks, add six {R}. Until end of combat, you don't lose this mana as steps end.${R}{R}{R}: Target creature gets +3/+0 until end of turn.|
|
||||||
|
Fang, Roku's Companion|Avatar: The Last Airbender Eternal|115|R|{3}{R}{R}|Legendary Creature - Dragon|4|4|Flying$Whenever Fang attacks, another target legendary creature you control gets +X/+0 until end of turn, where X is Fang's power.$When Fang dies, if he wasn't a Spirit, return this card to the battlefield under your control. He's a Spirit in addition to his other types.|
|
||||||
|
Zuko, Firebending Master|Avatar: The Last Airbender Eternal|127|M|{1}{R}|Legendary Creature - Human Noble Ally|2|2|First strike$Firebending X, where X is the number of experience counters you have.$Whenever you cast a spell during combat, you get an experience counter.|
|
||||||
|
Avatar Kyoshi, Earthbender|Avatar: The Last Airbender Eternal|130|M|{5}{G}{G}{G}|Legendary Creature - Human Avatar|6|6|During your turn, Avatar Kyoshi has hexproof.$At the beginning of combat on your turn, earthbend 8, then untap that land.|
|
||||||
The Cabbage Merchant|Avatar: The Last Airbender Eternal|134|R|{2}{G}|Legendary Creature - Human Citizen|2|2|Whenever an opponent casts a noncreature spell, create a Food token.$Whenever a creature deals combat damage to you, sacrifice a Food token.$Tap two untapped Foods you control: Add one mana of any color.|
|
The Cabbage Merchant|Avatar: The Last Airbender Eternal|134|R|{2}{G}|Legendary Creature - Human Citizen|2|2|Whenever an opponent casts a noncreature spell, create a Food token.$Whenever a creature deals combat damage to you, sacrifice a Food token.$Tap two untapped Foods you control: Add one mana of any color.|
|
||||||
|
Hei Bai, Forest Guardian|Avatar: The Last Airbender Eternal|139|M|{3}{G}|Legendary Creature - Bear Spirit|4|4|When Hei Bai enters, reveal cards from the top of your library until you reveal a Shrine card. You may put that card onto the battlefield. Then shuffle.${W}{U}{B}{R}{G}, {T}: For each legendary enchantment you control, create a 1/1 colorless Spirit creature token with "This token can't block or be blocked by non-Spirit creatures."|
|
||||||
|
Toph, Earthbending Master|Avatar: The Last Airbender Eternal|145|M|{3}{G}|Legendary Creature - Human Warrior Ally|2|4|Landfall -- Whenever a land you control enters, you get an experience counter.$Whenever you attack, earthbend X, where X is the number of experience counters you have.|
|
||||||
|
Fiery Confluence|Avatar: The Last Airbender Eternal|165|R|{2}{R}{R}|Sorcery|||Choose three. You may choose the same mode more than once.$* Fiery Confluence deals 1 damage to each creature.$* Fiery Confluence deals 2 damage to each opponent.$* Destroy target artifact.|
|
||||||
|
Descendants' Path|Avatar: The Last Airbender Eternal|167|R|{2}{G}|Enchantment|||At the beginning of your upkeep, reveal the top card of your library. If it's a creature card that shares a creature type with a creature you control, you may cast it without paying its mana cost. If you don't cast it, put it on the bottom of your library.|
|
||||||
Aang, Air Nomad|Avatar: The Last Airbender Eternal|210|R|{3}{W}{W}|Legendary Creature - Human Avatar Ally|5|4|Flying$Vigilance$Other creatures you control have vigilance.|
|
Aang, Air Nomad|Avatar: The Last Airbender Eternal|210|R|{3}{W}{W}|Legendary Creature - Human Avatar Ally|5|4|Flying$Vigilance$Other creatures you control have vigilance.|
|
||||||
Aang's Defense|Avatar: The Last Airbender Eternal|211|C|{W}|Instant|||Target blocking creature you control gets +2/+2 until end of turn.$Draw a card.|
|
Aang's Defense|Avatar: The Last Airbender Eternal|211|C|{W}|Instant|||Target blocking creature you control gets +2/+2 until end of turn.$Draw a card.|
|
||||||
Aardvark Sloth|Avatar: The Last Airbender Eternal|212|C|{3}{W}|Creature - Sloth Beast|3|3|Lifelink|
|
Aardvark Sloth|Avatar: The Last Airbender Eternal|212|C|{3}{W}|Creature - Sloth Beast|3|3|Lifelink|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue