mirror of
https://github.com/correl/mage.git
synced 2024-12-28 19:19:20 +00:00
[SLX] update Street Fighter cards to Universes Within versions
This commit is contained in:
parent
88e82d12a0
commit
50a52d18e3
10 changed files with 167 additions and 121 deletions
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.k;
|
package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -24,9 +24,9 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class KenBurningBrawler extends CardImpl {
|
public final class AishaOfSparksAndSmoke extends CardImpl {
|
||||||
|
|
||||||
public KenBurningBrawler(UUID ownerId, CardSetInfo setInfo) {
|
public AishaOfSparksAndSmoke(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -45,35 +45,35 @@ public final class KenBurningBrawler extends CardImpl {
|
||||||
|
|
||||||
// Shoryuken—Whenever Ken deals combat damage, you may cast a sorcery spell from your hand with mana value less than or equal to that damage without paying its mana cost.
|
// Shoryuken—Whenever Ken deals combat damage, you may cast a sorcery spell from your hand with mana value less than or equal to that damage without paying its mana cost.
|
||||||
this.addAbility(new DealsCombatDamageTriggeredAbility(
|
this.addAbility(new DealsCombatDamageTriggeredAbility(
|
||||||
new KenBurningBrawlerEffect(), false
|
new AishaOfSparksAndSmokeEffect(), false
|
||||||
).withFlavorWord("Shoryuken"));
|
).withFlavorWord("Shoryuken"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private KenBurningBrawler(final KenBurningBrawler card) {
|
private AishaOfSparksAndSmoke(final AishaOfSparksAndSmoke card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KenBurningBrawler copy() {
|
public AishaOfSparksAndSmoke copy() {
|
||||||
return new KenBurningBrawler(this);
|
return new AishaOfSparksAndSmoke(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KenBurningBrawlerEffect extends OneShotEffect {
|
class AishaOfSparksAndSmokeEffect extends OneShotEffect {
|
||||||
|
|
||||||
KenBurningBrawlerEffect() {
|
AishaOfSparksAndSmokeEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "you may cast a sorcery spell from your hand with mana value " +
|
staticText = "you may cast a sorcery spell from your hand with mana value " +
|
||||||
"less than or equal to that damage without paying its mana cost";
|
"less than or equal to that damage without paying its mana cost";
|
||||||
}
|
}
|
||||||
|
|
||||||
private KenBurningBrawlerEffect(final KenBurningBrawlerEffect effect) {
|
private AishaOfSparksAndSmokeEffect(final AishaOfSparksAndSmokeEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KenBurningBrawlerEffect copy() {
|
public AishaOfSparksAndSmokeEffect copy() {
|
||||||
return new KenBurningBrawlerEffect(this);
|
return new AishaOfSparksAndSmokeEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.e;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -6,7 +6,10 @@ import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.MyTurnCondition;
|
import mage.abilities.condition.common.MyTurnCondition;
|
||||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
|
import mage.abilities.effects.common.ChooseOpponentEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.ruleModifying.CombatDamageByToughnessEffect;
|
import mage.abilities.effects.common.ruleModifying.CombatDamageByToughnessEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -16,16 +19,21 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.game.Game;
|
||||||
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class EHondaSumoChampion extends CardImpl {
|
public final class BaldinCenturyHerdmaster extends CardImpl {
|
||||||
|
|
||||||
public EHondaSumoChampion(UUID ownerId, CardSetInfo setInfo) {
|
public BaldinCenturyHerdmaster(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -43,18 +51,48 @@ public final class EHondaSumoChampion extends CardImpl {
|
||||||
|
|
||||||
// Hundred Hand Slap—Whenever E. Honda, Sumo Champion attacks, up to one hundred target creatures each get +0/+X until end of turn, where X is the number of cards in your hand.
|
// Hundred Hand Slap—Whenever E. Honda, Sumo Champion attacks, up to one hundred target creatures each get +0/+X until end of turn, where X is the number of cards in your hand.
|
||||||
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
|
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
|
||||||
StaticValue.get(0), CardsInTargetPlayerHandCount.instance, Duration.EndOfTurn
|
StaticValue.get(0), BaldinCenturyHerdmasterValue.instance, Duration.EndOfTurn
|
||||||
).setText("up to one hundred target creatures each get +0/+X until end of turn, where X is the number of cards in your hand"));
|
).setText("up to one hundred target creatures each get +0/+X until end of turn, where X is the number of cards in your hand"));
|
||||||
ability.addTarget(new TargetCreaturePermanent(0, 100));
|
ability.addTarget(new TargetCreaturePermanent(0, 100));
|
||||||
this.addAbility(ability.withFlavorWord("Hundred Hand Slap"));
|
this.addAbility(ability.withFlavorWord("Hundred Hand Slap"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private EHondaSumoChampion(final EHondaSumoChampion card) {
|
private BaldinCenturyHerdmaster(final BaldinCenturyHerdmaster card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EHondaSumoChampion copy() {
|
public BaldinCenturyHerdmaster copy() {
|
||||||
return new EHondaSumoChampion(this);
|
return new BaldinCenturyHerdmaster(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum BaldinCenturyHerdmasterValue implements DynamicValue {
|
||||||
|
instance;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
||||||
|
return Optional.ofNullable(game.getPlayer(
|
||||||
|
(UUID) game.getState().getValue(sourceAbility.getSourceId() + ChooseOpponentEffect.VALUE_KEY)
|
||||||
|
))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(Player::getHand)
|
||||||
|
.map(Set::size)
|
||||||
|
.orElse(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaldinCenturyHerdmasterValue copy() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMessage() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "1";
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.g;
|
package mage.cards.i;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -25,9 +25,9 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class GuileSonicSoldier extends CardImpl {
|
public final class ImmardTheStormcleaver extends CardImpl {
|
||||||
|
|
||||||
public GuileSonicSoldier(UUID ownerId, CardSetInfo setInfo) {
|
public ImmardTheStormcleaver(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{R}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{R}{W}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -39,36 +39,36 @@ public final class GuileSonicSoldier extends CardImpl {
|
||||||
// Whenever Guile, Sonic Soldier enters the battlefield or attacks, put a charge counter on him or remove one from him. When you remove a counter this way, choose one—
|
// Whenever Guile, Sonic Soldier enters the battlefield or attacks, put a charge counter on him or remove one from him. When you remove a counter this way, choose one—
|
||||||
// • Sonic Boom—Guile, Sonic Soldier deals 4 damage to any target.
|
// • Sonic Boom—Guile, Sonic Soldier deals 4 damage to any target.
|
||||||
// • Flash Kick—Guile, Sonic Soldier gains lifelink and indestructible until end of turn.
|
// • Flash Kick—Guile, Sonic Soldier gains lifelink and indestructible until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new GuileSonicSoldierEffect()));
|
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(new ImmardTheStormcleaverEffect()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private GuileSonicSoldier(final GuileSonicSoldier card) {
|
private ImmardTheStormcleaver(final ImmardTheStormcleaver card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GuileSonicSoldier copy() {
|
public ImmardTheStormcleaver copy() {
|
||||||
return new GuileSonicSoldier(this);
|
return new ImmardTheStormcleaver(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GuileSonicSoldierEffect extends OneShotEffect {
|
class ImmardTheStormcleaverEffect extends OneShotEffect {
|
||||||
|
|
||||||
private final ReflexiveTriggeredAbility ability = makeAbility();
|
private final ReflexiveTriggeredAbility ability = makeAbility();
|
||||||
|
|
||||||
GuileSonicSoldierEffect() {
|
ImmardTheStormcleaverEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "put a charge counter on him or remove one from him. When you remove a counter this way, "
|
staticText = "put a charge counter on him or remove one from him. When you remove a counter this way, "
|
||||||
+ CardUtil.getTextWithFirstCharLowerCase(ability.getRule());
|
+ CardUtil.getTextWithFirstCharLowerCase(ability.getRule());
|
||||||
}
|
}
|
||||||
|
|
||||||
private GuileSonicSoldierEffect(final GuileSonicSoldierEffect effect) {
|
private ImmardTheStormcleaverEffect(final ImmardTheStormcleaverEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GuileSonicSoldierEffect copy() {
|
public ImmardTheStormcleaverEffect copy() {
|
||||||
return new GuileSonicSoldierEffect(this);
|
return new ImmardTheStormcleaverEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.z;
|
package mage.cards.m;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
import mage.MageObjectReference;
|
||||||
|
@ -33,15 +33,15 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ZangiefTheRedCyclone extends CardImpl {
|
public final class MaarikaBrutalGladiator extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(ZangiefTheRedCycloneWatcher::checkPermanent);
|
filter.add(MaarikaBrutalGladiatorWatcher::checkPermanent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ZangiefTheRedCyclone(UUID ownerId, CardSetInfo setInfo) {
|
public MaarikaBrutalGladiator(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -61,21 +61,21 @@ public final class ZangiefTheRedCyclone extends CardImpl {
|
||||||
|
|
||||||
// Spinning Piledriver—Whenever Zangief deals damage to a creature, if that creature was dealt excess damage this turn, that creature's controller sacrifices a noncreature, nonland permanent.
|
// Spinning Piledriver—Whenever Zangief deals damage to a creature, if that creature was dealt excess damage this turn, that creature's controller sacrifices a noncreature, nonland permanent.
|
||||||
this.addAbility(new DealsDamageToACreatureTriggeredAbility(
|
this.addAbility(new DealsDamageToACreatureTriggeredAbility(
|
||||||
new ZangiefTheRedCycloneEffect(), false, false, true, filter
|
new MaarikaBrutalGladiatorEffect(), false, false, true, filter
|
||||||
).withFlavorWord("Spinning Piledriver"), new ZangiefTheRedCycloneWatcher());
|
).withFlavorWord("Spinning Piledriver"), new MaarikaBrutalGladiatorWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZangiefTheRedCyclone(final ZangiefTheRedCyclone card) {
|
private MaarikaBrutalGladiator(final MaarikaBrutalGladiator card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ZangiefTheRedCyclone copy() {
|
public MaarikaBrutalGladiator copy() {
|
||||||
return new ZangiefTheRedCyclone(this);
|
return new MaarikaBrutalGladiator(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZangiefTheRedCycloneEffect extends OneShotEffect {
|
class MaarikaBrutalGladiatorEffect extends OneShotEffect {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterNonlandPermanent("noncreature, nonland permanent");
|
private static final FilterPermanent filter = new FilterNonlandPermanent("noncreature, nonland permanent");
|
||||||
|
|
||||||
|
@ -83,19 +83,19 @@ class ZangiefTheRedCycloneEffect extends OneShotEffect {
|
||||||
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
||||||
}
|
}
|
||||||
|
|
||||||
ZangiefTheRedCycloneEffect() {
|
MaarikaBrutalGladiatorEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "if that creature was dealt excess damage this turn, " +
|
staticText = "if that creature was dealt excess damage this turn, " +
|
||||||
"that creature's controller sacrifices a noncreature, nonland permanent";
|
"that creature's controller sacrifices a noncreature, nonland permanent";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZangiefTheRedCycloneEffect(final ZangiefTheRedCycloneEffect effect) {
|
private MaarikaBrutalGladiatorEffect(final MaarikaBrutalGladiatorEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ZangiefTheRedCycloneEffect copy() {
|
public MaarikaBrutalGladiatorEffect copy() {
|
||||||
return new ZangiefTheRedCycloneEffect(this);
|
return new MaarikaBrutalGladiatorEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -110,11 +110,11 @@ class ZangiefTheRedCycloneEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZangiefTheRedCycloneWatcher extends Watcher {
|
class MaarikaBrutalGladiatorWatcher extends Watcher {
|
||||||
|
|
||||||
private final Set<MageObjectReference> morSet = new HashSet<>();
|
private final Set<MageObjectReference> morSet = new HashSet<>();
|
||||||
|
|
||||||
ZangiefTheRedCycloneWatcher() {
|
MaarikaBrutalGladiatorWatcher() {
|
||||||
super(WatcherScope.GAME);
|
super(WatcherScope.GAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ class ZangiefTheRedCycloneWatcher extends Watcher {
|
||||||
static boolean checkPermanent(Permanent input, Game game) {
|
static boolean checkPermanent(Permanent input, Game game) {
|
||||||
return game
|
return game
|
||||||
.getState()
|
.getState()
|
||||||
.getWatcher(ZangiefTheRedCycloneWatcher.class)
|
.getWatcher(MaarikaBrutalGladiatorWatcher.class)
|
||||||
.morSet
|
.morSet
|
||||||
.stream()
|
.stream()
|
||||||
.anyMatch(mor -> mor.refersTo(input, game));
|
.anyMatch(mor -> mor.refersTo(input, game));
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.d;
|
package mage.cards.t;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
import mage.MageObjectReference;
|
||||||
|
@ -33,7 +33,7 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class DhalsimPliablePacifist extends CardImpl {
|
public final class TadeasJuniperAscendant extends CardImpl {
|
||||||
|
|
||||||
private static final Condition condition = new InvertCondition(SourceAttackingCondition.instance);
|
private static final Condition condition = new InvertCondition(SourceAttackingCondition.instance);
|
||||||
private static final FilterControlledCreaturePermanent filter
|
private static final FilterControlledCreaturePermanent filter
|
||||||
|
@ -43,7 +43,7 @@ public final class DhalsimPliablePacifist extends CardImpl {
|
||||||
filter.add(new AbilityPredicate(ReachAbility.class));
|
filter.add(new AbilityPredicate(ReachAbility.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
public DhalsimPliablePacifist(UUID ownerId, CardSetInfo setInfo) {
|
public TadeasJuniperAscendant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -63,37 +63,37 @@ public final class DhalsimPliablePacifist extends CardImpl {
|
||||||
|
|
||||||
// Whenever a creature you control with reach attacks, untap it and it can't be blocked by creatures with greater power this combat.
|
// Whenever a creature you control with reach attacks, untap it and it can't be blocked by creatures with greater power this combat.
|
||||||
this.addAbility(new AttacksCreatureYouControlTriggeredAbility(
|
this.addAbility(new AttacksCreatureYouControlTriggeredAbility(
|
||||||
new DhalsimPliablePacifistEffect(), false, filter, true
|
new TadeasJuniperAscendantEffect(), false, filter, true
|
||||||
));
|
));
|
||||||
|
|
||||||
// Fierce Punch—Whenever one or more creatures you control deal combat damage to a player, draw a card.
|
// Fierce Punch—Whenever one or more creatures you control deal combat damage to a player, draw a card.
|
||||||
this.addAbility(new DhalsimPliablePacifistTriggeredAbility());
|
this.addAbility(new TadeasJuniperAscendantTriggeredAbility());
|
||||||
}
|
}
|
||||||
|
|
||||||
private DhalsimPliablePacifist(final DhalsimPliablePacifist card) {
|
private TadeasJuniperAscendant(final TadeasJuniperAscendant card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DhalsimPliablePacifist copy() {
|
public TadeasJuniperAscendant copy() {
|
||||||
return new DhalsimPliablePacifist(this);
|
return new TadeasJuniperAscendant(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DhalsimPliablePacifistEffect extends OneShotEffect {
|
class TadeasJuniperAscendantEffect extends OneShotEffect {
|
||||||
|
|
||||||
DhalsimPliablePacifistEffect() {
|
TadeasJuniperAscendantEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "untap it and it can't be blocked by creatures with greater power this combat";
|
staticText = "untap it and it can't be blocked by creatures with greater power this combat";
|
||||||
}
|
}
|
||||||
|
|
||||||
private DhalsimPliablePacifistEffect(final DhalsimPliablePacifistEffect effect) {
|
private TadeasJuniperAscendantEffect(final TadeasJuniperAscendantEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DhalsimPliablePacifistEffect copy() {
|
public TadeasJuniperAscendantEffect copy() {
|
||||||
return new DhalsimPliablePacifistEffect(this);
|
return new TadeasJuniperAscendantEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -103,28 +103,28 @@ class DhalsimPliablePacifistEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
permanent.untap(game);
|
permanent.untap(game);
|
||||||
game.addEffect(new DhalsimPliablePacifistBlockEffect(permanent, game), source);
|
game.addEffect(new TadeasJuniperAscendantBlockEffect(permanent, game), source);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DhalsimPliablePacifistBlockEffect extends RestrictionEffect {
|
class TadeasJuniperAscendantBlockEffect extends RestrictionEffect {
|
||||||
|
|
||||||
private final MageObjectReference mor;
|
private final MageObjectReference mor;
|
||||||
|
|
||||||
DhalsimPliablePacifistBlockEffect(Permanent permanent, Game game) {
|
TadeasJuniperAscendantBlockEffect(Permanent permanent, Game game) {
|
||||||
super(Duration.EndOfTurn);
|
super(Duration.EndOfTurn);
|
||||||
this.mor = new MageObjectReference(permanent, game);
|
this.mor = new MageObjectReference(permanent, game);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DhalsimPliablePacifistBlockEffect(final DhalsimPliablePacifistBlockEffect effect) {
|
private TadeasJuniperAscendantBlockEffect(final TadeasJuniperAscendantBlockEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
this.mor = effect.mor;
|
this.mor = effect.mor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DhalsimPliablePacifistBlockEffect copy() {
|
public TadeasJuniperAscendantBlockEffect copy() {
|
||||||
return new DhalsimPliablePacifistBlockEffect(this);
|
return new TadeasJuniperAscendantBlockEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -143,23 +143,23 @@ class DhalsimPliablePacifistBlockEffect extends RestrictionEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DhalsimPliablePacifistTriggeredAbility extends TriggeredAbilityImpl {
|
class TadeasJuniperAscendantTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
private final Set<UUID> damagedPlayerIds = new HashSet<>();
|
private final Set<UUID> damagedPlayerIds = new HashSet<>();
|
||||||
|
|
||||||
DhalsimPliablePacifistTriggeredAbility() {
|
TadeasJuniperAscendantTriggeredAbility() {
|
||||||
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false);
|
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false);
|
||||||
this.withFlavorWord("Fierce Punch");
|
this.withFlavorWord("Fierce Punch");
|
||||||
setTriggerPhrase("Whenever one or more creatures you control deal combat damage to a player, ");
|
setTriggerPhrase("Whenever one or more creatures you control deal combat damage to a player, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
private DhalsimPliablePacifistTriggeredAbility(final DhalsimPliablePacifistTriggeredAbility ability) {
|
private TadeasJuniperAscendantTriggeredAbility(final TadeasJuniperAscendantTriggeredAbility ability) {
|
||||||
super(ability);
|
super(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DhalsimPliablePacifistTriggeredAbility copy() {
|
public TadeasJuniperAscendantTriggeredAbility copy() {
|
||||||
return new DhalsimPliablePacifistTriggeredAbility(this);
|
return new TadeasJuniperAscendantTriggeredAbility(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.b;
|
package mage.cards.t;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -23,9 +23,9 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class BlankaFerociousFriend extends CardImpl {
|
public final class TheHowlingAbomination extends CardImpl {
|
||||||
|
|
||||||
public BlankaFerociousFriend(UUID ownerId, CardSetInfo setInfo) {
|
public TheHowlingAbomination(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -40,7 +40,7 @@ public final class BlankaFerociousFriend extends CardImpl {
|
||||||
|
|
||||||
// Rolling Attack—Blanka, Ferocious Friend has trample as long as you've cast three or more spells this turn.
|
// Rolling Attack—Blanka, Ferocious Friend has trample as long as you've cast three or more spells this turn.
|
||||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||||
new GainAbilitySourceEffect(TrampleAbility.getInstance()), BlankaFerociousFriendCondition.instance,
|
new GainAbilitySourceEffect(TrampleAbility.getInstance()), TheHowlingAbominationCondition.instance,
|
||||||
"{this} has trample as long as you've cast three or more spells this turn"
|
"{this} has trample as long as you've cast three or more spells this turn"
|
||||||
)).withFlavorWord("Rolling Attack"));
|
)).withFlavorWord("Rolling Attack"));
|
||||||
|
|
||||||
|
@ -53,17 +53,17 @@ public final class BlankaFerociousFriend extends CardImpl {
|
||||||
this.addAbility(ability.withFlavorWord("Electric Thunder"));
|
this.addAbility(ability.withFlavorWord("Electric Thunder"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BlankaFerociousFriend(final BlankaFerociousFriend card) {
|
private TheHowlingAbomination(final TheHowlingAbomination card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlankaFerociousFriend copy() {
|
public TheHowlingAbomination copy() {
|
||||||
return new BlankaFerociousFriend(this);
|
return new TheHowlingAbomination(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum BlankaFerociousFriendCondition implements Condition {
|
enum TheHowlingAbominationCondition implements Condition {
|
||||||
instance;
|
instance;
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.r;
|
package mage.cards.v;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -24,9 +24,9 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class RyuWorldWarrior extends CardImpl {
|
public final class VikyaScorchingStalwart extends CardImpl {
|
||||||
|
|
||||||
public RyuWorldWarrior(UUID ownerId, CardSetInfo setInfo) {
|
public VikyaScorchingStalwart(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -39,38 +39,38 @@ public final class RyuWorldWarrior extends CardImpl {
|
||||||
this.addAbility(new TrainingAbility());
|
this.addAbility(new TrainingAbility());
|
||||||
|
|
||||||
// Hadoken—{4}{R}, {Q}, Discard a card: Ryu, World Warrior deals damage equal to his power to any target. If excess damage was dealt to a creature this way, draw a card.
|
// Hadoken—{4}{R}, {Q}, Discard a card: Ryu, World Warrior deals damage equal to his power to any target. If excess damage was dealt to a creature this way, draw a card.
|
||||||
Ability ability = new SimpleActivatedAbility(new RyuWorldWarriorEffect(), new ManaCostsImpl<>("{4}{R}"));
|
Ability ability = new SimpleActivatedAbility(new VikyaScorchingStalwartEffect(), new ManaCostsImpl<>("{4}{R}"));
|
||||||
ability.addCost(new UntapSourceCost());
|
ability.addCost(new UntapSourceCost());
|
||||||
ability.addCost(new DiscardCardCost());
|
ability.addCost(new DiscardCardCost());
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability.withFlavorWord("Hadoken"));
|
this.addAbility(ability.withFlavorWord("Hadoken"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private RyuWorldWarrior(final RyuWorldWarrior card) {
|
private VikyaScorchingStalwart(final VikyaScorchingStalwart card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RyuWorldWarrior copy() {
|
public VikyaScorchingStalwart copy() {
|
||||||
return new RyuWorldWarrior(this);
|
return new VikyaScorchingStalwart(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RyuWorldWarriorEffect extends OneShotEffect {
|
class VikyaScorchingStalwartEffect extends OneShotEffect {
|
||||||
|
|
||||||
RyuWorldWarriorEffect() {
|
VikyaScorchingStalwartEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "{this} deals damage equal to his power to any target. " +
|
staticText = "{this} deals damage equal to his power to any target. " +
|
||||||
"If excess damage was dealt to a creature this way, draw a card";
|
"If excess damage was dealt to a creature this way, draw a card";
|
||||||
}
|
}
|
||||||
|
|
||||||
private RyuWorldWarriorEffect(final RyuWorldWarriorEffect effect) {
|
private VikyaScorchingStalwartEffect(final VikyaScorchingStalwartEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RyuWorldWarriorEffect copy() {
|
public VikyaScorchingStalwartEffect copy() {
|
||||||
return new RyuWorldWarriorEffect(this);
|
return new VikyaScorchingStalwartEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,4 +1,4 @@
|
||||||
package mage.cards.c;
|
package mage.cards.z;
|
||||||
|
|
||||||
import mage.ApprovingObject;
|
import mage.ApprovingObject;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
@ -23,9 +23,9 @@ import java.util.UUID;
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ChunLiCountlessKicks extends CardImpl {
|
public final class ZethiArcaneBlademaster extends CardImpl {
|
||||||
|
|
||||||
public ChunLiCountlessKicks(UUID ownerId, CardSetInfo setInfo) {
|
public ZethiArcaneBlademaster(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}");
|
||||||
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
this.addSuperType(SuperType.LEGENDARY);
|
||||||
|
@ -38,24 +38,24 @@ public final class ChunLiCountlessKicks extends CardImpl {
|
||||||
this.addAbility(new MultikickerAbility("{W/U}"));
|
this.addAbility(new MultikickerAbility("{W/U}"));
|
||||||
|
|
||||||
// When Chun-Li enters the battlefield, exile up to X target instant cards from your graveyard, where X is the number of times Chun-Li was kicked. Put a kick counter on each of them.
|
// When Chun-Li enters the battlefield, exile up to X target instant cards from your graveyard, where X is the number of times Chun-Li was kicked. Put a kick counter on each of them.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ChunLiCountlessKicksExileEffect())
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ZethiArcaneBlademasterExileEffect())
|
||||||
.setTargetAdjuster(ChunLiCountlessKicksAdjuster.instance));
|
.setTargetAdjuster(ZethiArcaneBlademasterAdjuster.instance));
|
||||||
|
|
||||||
// Lightning Kick—Whenever Chun-Li attacks, copy each exiled card you own with a kick counter on it. You may cast the copies.
|
// Lightning Kick—Whenever Chun-Li attacks, copy each exiled card you own with a kick counter on it. You may cast the copies.
|
||||||
this.addAbility(new AttacksTriggeredAbility(new ChunLiCountlessKicksCastEffect()).withFlavorWord("Lightning Kick"));
|
this.addAbility(new AttacksTriggeredAbility(new ZethiArcaneBlademasterCastEffect()).withFlavorWord("Lightning Kick"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChunLiCountlessKicks(final ChunLiCountlessKicks card) {
|
private ZethiArcaneBlademaster(final ZethiArcaneBlademaster card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChunLiCountlessKicks copy() {
|
public ZethiArcaneBlademaster copy() {
|
||||||
return new ChunLiCountlessKicks(this);
|
return new ZethiArcaneBlademaster(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ChunLiCountlessKicksAdjuster implements TargetAdjuster {
|
enum ZethiArcaneBlademasterAdjuster implements TargetAdjuster {
|
||||||
instance;
|
instance;
|
||||||
private static final FilterCard filter = new FilterCard("instant cards from your graveyard");
|
private static final FilterCard filter = new FilterCard("instant cards from your graveyard");
|
||||||
|
|
||||||
|
@ -71,21 +71,21 @@ enum ChunLiCountlessKicksAdjuster implements TargetAdjuster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChunLiCountlessKicksExileEffect extends OneShotEffect {
|
class ZethiArcaneBlademasterExileEffect extends OneShotEffect {
|
||||||
|
|
||||||
ChunLiCountlessKicksExileEffect() {
|
ZethiArcaneBlademasterExileEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "exile up to X target instant cards from your graveyard, "
|
staticText = "exile up to X target instant cards from your graveyard, "
|
||||||
+ "where X is the number of times {this} was kicked. Put a kick counter on each of them";
|
+ "where X is the number of times {this} was kicked. Put a kick counter on each of them";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChunLiCountlessKicksExileEffect(final ChunLiCountlessKicksExileEffect effect) {
|
private ZethiArcaneBlademasterExileEffect(final ZethiArcaneBlademasterExileEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChunLiCountlessKicksExileEffect copy() {
|
public ZethiArcaneBlademasterExileEffect copy() {
|
||||||
return new ChunLiCountlessKicksExileEffect(this);
|
return new ZethiArcaneBlademasterExileEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -101,20 +101,20 @@ class ChunLiCountlessKicksExileEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChunLiCountlessKicksCastEffect extends OneShotEffect {
|
class ZethiArcaneBlademasterCastEffect extends OneShotEffect {
|
||||||
|
|
||||||
ChunLiCountlessKicksCastEffect() {
|
ZethiArcaneBlademasterCastEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "copy each exiled card you own with a kick counter on it. You may cast the copies";
|
staticText = "copy each exiled card you own with a kick counter on it. You may cast the copies";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ChunLiCountlessKicksCastEffect(final ChunLiCountlessKicksCastEffect effect) {
|
private ZethiArcaneBlademasterCastEffect(final ZethiArcaneBlademasterCastEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChunLiCountlessKicksCastEffect copy() {
|
public ZethiArcaneBlademasterCastEffect copy() {
|
||||||
return new ChunLiCountlessKicksCastEffect(this);
|
return new ZethiArcaneBlademasterCastEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -153,7 +153,7 @@ class ChunLiCountlessKicksCastEffect extends OneShotEffect {
|
||||||
);
|
);
|
||||||
game.getState().setValue("PlayFromNotOwnHandZone" + copiedCard.getId(), null);
|
game.getState().setValue("PlayFromNotOwnHandZone" + copiedCard.getId(), null);
|
||||||
} else {
|
} else {
|
||||||
Logger.getLogger(ChunLiCountlessKicksCastEffect.class).error("Chun Li, Countless Kicks: "
|
Logger.getLogger(ZethiArcaneBlademasterCastEffect.class).error("Chun Li, Countless Kicks: "
|
||||||
+ "spell ability == null " + copiedCard.getName());
|
+ "spell ability == null " + copiedCard.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -421,14 +421,14 @@ public class SecretLairDrop extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Freed from the Real", 425, Rarity.RARE, mage.cards.f.FreedFromTheReal.class));
|
cards.add(new SetCardInfo("Freed from the Real", 425, Rarity.RARE, mage.cards.f.FreedFromTheReal.class));
|
||||||
cards.add(new SetCardInfo("Boseiju, Who Shelters All", 426, Rarity.RARE, mage.cards.b.BoseijuWhoSheltersAll.class));
|
cards.add(new SetCardInfo("Boseiju, Who Shelters All", 426, Rarity.RARE, mage.cards.b.BoseijuWhoSheltersAll.class));
|
||||||
cards.add(new SetCardInfo("Hall of the Bandit Lord", 427, Rarity.RARE, mage.cards.h.HallOfTheBanditLord.class));
|
cards.add(new SetCardInfo("Hall of the Bandit Lord", 427, Rarity.RARE, mage.cards.h.HallOfTheBanditLord.class));
|
||||||
cards.add(new SetCardInfo("E. Honda, Sumo Champion", 428, Rarity.RARE, mage.cards.e.EHondaSumoChampion.class));
|
cards.add(new SetCardInfo("Baldin, Century Herdmaster", 428, Rarity.RARE, mage.cards.b.BaldinCenturyHerdmaster.class));
|
||||||
cards.add(new SetCardInfo("Ryu, World Warrior", 429, Rarity.RARE, mage.cards.r.RyuWorldWarrior.class));
|
cards.add(new SetCardInfo("Vikya, Scorching Stalwart", 429, Rarity.RARE, mage.cards.v.VikyaScorchingStalwart.class));
|
||||||
cards.add(new SetCardInfo("Ken, Burning Brawler", 430, Rarity.RARE, mage.cards.k.KenBurningBrawler.class));
|
cards.add(new SetCardInfo("Aisha of Sparks and Smoke", 430, Rarity.RARE, mage.cards.a.AishaOfSparksAndSmoke.class));
|
||||||
cards.add(new SetCardInfo("Blanka, Ferocious Friend", 431, Rarity.RARE, mage.cards.b.BlankaFerociousFriend.class));
|
cards.add(new SetCardInfo("The Howling Abomination", 431, Rarity.RARE, mage.cards.t.TheHowlingAbomination.class));
|
||||||
cards.add(new SetCardInfo("Chun-Li, Countless Kicks", 432, Rarity.RARE, mage.cards.c.ChunLiCountlessKicks.class));
|
cards.add(new SetCardInfo("Zethi, Arcane Blademaster", 432, Rarity.RARE, mage.cards.z.ZethiArcaneBlademaster.class));
|
||||||
cards.add(new SetCardInfo("Dhalsim, Pliable Pacifist", 433, Rarity.RARE, mage.cards.d.DhalsimPliablePacifist.class));
|
cards.add(new SetCardInfo("Tadeas, Juniper Ascendant", 433, Rarity.RARE, mage.cards.t.TadeasJuniperAscendant.class));
|
||||||
cards.add(new SetCardInfo("Guile, Sonic Soldier", 434, Rarity.RARE, mage.cards.g.GuileSonicSoldier.class));
|
cards.add(new SetCardInfo("Immard, the Stormcleaver", 434, Rarity.RARE, mage.cards.i.ImmardTheStormcleaver.class));
|
||||||
cards.add(new SetCardInfo("Zangief, the Red Cyclone", 435, Rarity.RARE, mage.cards.z.ZangiefTheRedCyclone.class));
|
cards.add(new SetCardInfo("Maarika, Brutal Gladiator", 435, Rarity.RARE, mage.cards.m.MaarikaBrutalGladiator.class));
|
||||||
cards.add(new SetCardInfo("Windbrisk Heights", 436, Rarity.RARE, mage.cards.w.WindbriskHeights.class));
|
cards.add(new SetCardInfo("Windbrisk Heights", 436, Rarity.RARE, mage.cards.w.WindbriskHeights.class));
|
||||||
cards.add(new SetCardInfo("Shelldock Isle", 437, Rarity.RARE, mage.cards.s.ShelldockIsle.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Shelldock Isle", 437, Rarity.RARE, mage.cards.s.ShelldockIsle.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Howltooth Hollow", 438, Rarity.RARE, mage.cards.h.HowltoothHollow.class));
|
cards.add(new SetCardInfo("Howltooth Hollow", 438, Rarity.RARE, mage.cards.h.HowltoothHollow.class));
|
||||||
|
|
|
@ -21,15 +21,23 @@ public final class UniversesWithin extends ExpansionSet {
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
this.hasBoosters = false;
|
this.hasBoosters = false;
|
||||||
|
|
||||||
|
cards.add(new SetCardInfo("Aisha of Sparks and Smoke", 12, Rarity.RARE, mage.cards.a.AishaOfSparksAndSmoke.class));
|
||||||
cards.add(new SetCardInfo("Arvinox, the Mind Flail", 1, Rarity.MYTHIC, mage.cards.a.ArvinoxTheMindFlail.class));
|
cards.add(new SetCardInfo("Arvinox, the Mind Flail", 1, Rarity.MYTHIC, mage.cards.a.ArvinoxTheMindFlail.class));
|
||||||
|
cards.add(new SetCardInfo("Baldin, Century Herdmaster", 10, Rarity.RARE, mage.cards.b.BaldinCenturyHerdmaster.class));
|
||||||
cards.add(new SetCardInfo("Bjorna, Nightfall Alchemist", 2, Rarity.RARE, mage.cards.b.BjornaNightfallAlchemist.class));
|
cards.add(new SetCardInfo("Bjorna, Nightfall Alchemist", 2, Rarity.RARE, mage.cards.b.BjornaNightfallAlchemist.class));
|
||||||
cards.add(new SetCardInfo("Cecily, Haunted Mage", 3, Rarity.RARE, mage.cards.c.CecilyHauntedMage.class));
|
cards.add(new SetCardInfo("Cecily, Haunted Mage", 3, Rarity.RARE, mage.cards.c.CecilyHauntedMage.class));
|
||||||
cards.add(new SetCardInfo("Elmar, Ulvenwald Informant", 4, Rarity.RARE, mage.cards.e.ElmarUlvenwaldInformant.class));
|
cards.add(new SetCardInfo("Elmar, Ulvenwald Informant", 4, Rarity.RARE, mage.cards.e.ElmarUlvenwaldInformant.class));
|
||||||
cards.add(new SetCardInfo("Hargilde, Kindly Runechanter", 5, Rarity.RARE, mage.cards.h.HargildeKindlyRunechanter.class));
|
cards.add(new SetCardInfo("Hargilde, Kindly Runechanter", 5, Rarity.RARE, mage.cards.h.HargildeKindlyRunechanter.class));
|
||||||
cards.add(new SetCardInfo("Havengul Laboratory", 9, Rarity.RARE, mage.cards.h.HavengulLaboratory.class));
|
cards.add(new SetCardInfo("Havengul Laboratory", 9, Rarity.RARE, mage.cards.h.HavengulLaboratory.class));
|
||||||
cards.add(new SetCardInfo("Havengul Mystery", 9, Rarity.RARE, mage.cards.h.HavengulMystery.class));
|
cards.add(new SetCardInfo("Havengul Mystery", 9, Rarity.RARE, mage.cards.h.HavengulMystery.class));
|
||||||
|
cards.add(new SetCardInfo("Immard, the Stormcleaver", 14, Rarity.RARE, mage.cards.i.ImmardTheStormcleaver.class));
|
||||||
|
cards.add(new SetCardInfo("Maarika, Brutal Gladiator", 15, Rarity.RARE, mage.cards.m.MaarikaBrutalGladiator.class));
|
||||||
cards.add(new SetCardInfo("Othelm, Sigardian Outcast", 6, Rarity.RARE, mage.cards.o.OthelmSigardianOutcast.class));
|
cards.add(new SetCardInfo("Othelm, Sigardian Outcast", 6, Rarity.RARE, mage.cards.o.OthelmSigardianOutcast.class));
|
||||||
cards.add(new SetCardInfo("Sophina, Spearsage Deserter", 7, Rarity.RARE, mage.cards.s.SophinaSpearsageDeserter.class));
|
cards.add(new SetCardInfo("Sophina, Spearsage Deserter", 7, Rarity.RARE, mage.cards.s.SophinaSpearsageDeserter.class));
|
||||||
|
cards.add(new SetCardInfo("Tadeas, Juniper Ascendant", 16, Rarity.RARE, mage.cards.t.TadeasJuniperAscendant.class));
|
||||||
|
cards.add(new SetCardInfo("The Howling Abomination", 13, Rarity.RARE, mage.cards.t.TheHowlingAbomination.class));
|
||||||
|
cards.add(new SetCardInfo("Vikya, Scorching Stalwart", 11, Rarity.RARE, mage.cards.v.VikyaScorchingStalwart.class));
|
||||||
cards.add(new SetCardInfo("Wernog, Rider's Chaplain", 8, Rarity.RARE, mage.cards.w.WernogRidersChaplain.class));
|
cards.add(new SetCardInfo("Wernog, Rider's Chaplain", 8, Rarity.RARE, mage.cards.w.WernogRidersChaplain.class));
|
||||||
|
cards.add(new SetCardInfo("Zethi, Arcane Blademaster", 17, Rarity.RARE, mage.cards.z.ZethiArcaneBlademaster.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue