mirror of
https://github.com/correl/mage.git
synced 2024-12-25 11:11:16 +00:00
commit
ad893aee31
13 changed files with 505 additions and 375 deletions
|
@ -41,7 +41,7 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
|
|||
public final static int MAGE_VERSION_MAJOR = 1;
|
||||
public final static int MAGE_VERSION_MINOR = 4;
|
||||
public final static int MAGE_VERSION_PATCH = 26;
|
||||
public final static String MAGE_VERSION_MINOR_PATCH = "V1";
|
||||
public final static String MAGE_VERSION_MINOR_PATCH = "V2";
|
||||
public final static String MAGE_VERSION_INFO = "";
|
||||
|
||||
private final int major;
|
||||
|
|
|
@ -86,19 +86,17 @@ public enum ChatManager {
|
|||
if (chatId != null) {
|
||||
ChatSession chatSession = chatSessions.get(chatId);
|
||||
if (chatSession != null) {
|
||||
synchronized (chatSession) {
|
||||
if (chatSessions.containsKey(chatId)) {
|
||||
final Lock w = lock.writeLock();
|
||||
w.lock();
|
||||
try {
|
||||
chatSessions.remove(chatId);
|
||||
} finally {
|
||||
w.unlock();
|
||||
}
|
||||
logger.trace("Chat removed - chatId: " + chatId);
|
||||
} else {
|
||||
logger.trace("Chat to destroy does not exist - chatId: " + chatId);
|
||||
if (chatSessions.containsKey(chatId)) {
|
||||
final Lock w = lock.writeLock();
|
||||
w.lock();
|
||||
try {
|
||||
chatSessions.remove(chatId);
|
||||
} finally {
|
||||
w.unlock();
|
||||
}
|
||||
logger.trace("Chat removed - chatId: " + chatId);
|
||||
} else {
|
||||
logger.trace("Chat to destroy does not exist - chatId: " + chatId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -386,6 +386,8 @@ public class User {
|
|||
if (controller.isPresent()) {
|
||||
ccSideboard(entry.getValue(), entry.getKey(), controller.get().getRemainingTime(), controller.get().getOptions().isLimited());
|
||||
} else {
|
||||
// Table is missing after connection was lost during sideboard.
|
||||
// Means other players were removed or conceded the game?
|
||||
logger.error("sideboarding id not found : " + entry.getKey());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,9 +48,9 @@ import mage.game.permanent.Permanent;
|
|||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public class BloodforgedWarAxe extends CardImpl {
|
||||
public class BloodforgedBattleAxe extends CardImpl {
|
||||
|
||||
public BloodforgedWarAxe(UUID ownerId, CardSetInfo setInfo) {
|
||||
public BloodforgedBattleAxe(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
|
||||
this.subtype.add("Equipment");
|
||||
|
@ -59,36 +59,36 @@ public class BloodforgedWarAxe extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0)));
|
||||
|
||||
// Whenever equipped creature deals combat damage to a player, create a token that's a copy of Bloodforged War Axe.
|
||||
this.addAbility(new BloodforgedWarAxeAbility());
|
||||
this.addAbility(new BloodforgedBattleAxeAbility());
|
||||
|
||||
// Equip 2
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2)));
|
||||
|
||||
}
|
||||
|
||||
public BloodforgedWarAxe(final BloodforgedWarAxe card) {
|
||||
public BloodforgedBattleAxe(final BloodforgedBattleAxe card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BloodforgedWarAxe copy() {
|
||||
return new BloodforgedWarAxe(this);
|
||||
public BloodforgedBattleAxe copy() {
|
||||
return new BloodforgedBattleAxe(this);
|
||||
}
|
||||
}
|
||||
|
||||
class BloodforgedWarAxeAbility extends TriggeredAbilityImpl {
|
||||
class BloodforgedBattleAxeAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public BloodforgedWarAxeAbility() {
|
||||
public BloodforgedBattleAxeAbility() {
|
||||
super(Zone.BATTLEFIELD, new PutTokenOntoBattlefieldCopySourceEffect());
|
||||
}
|
||||
|
||||
public BloodforgedWarAxeAbility(final BloodforgedWarAxeAbility ability) {
|
||||
public BloodforgedBattleAxeAbility(final BloodforgedBattleAxeAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BloodforgedWarAxeAbility copy() {
|
||||
return new BloodforgedWarAxeAbility(this);
|
||||
public BloodforgedBattleAxeAbility copy() {
|
||||
return new BloodforgedBattleAxeAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -46,7 +46,6 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -74,7 +73,7 @@ public class DragonTempest extends CardImpl {
|
|||
new DragonTempestDamageEffect(),
|
||||
new FilterCreaturePermanent(SubType.DRAGON, "a Dragon"),
|
||||
false,
|
||||
SetTargetPointer.PERMANENT,
|
||||
SetTargetPointer.NONE,
|
||||
""
|
||||
);
|
||||
ability.addTarget(new TargetCreatureOrPlayer());
|
||||
|
@ -118,15 +117,16 @@ class DragonTempestDamageEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
Permanent damageSource = (Permanent) getValue("permanentEnteringBattlefield");
|
||||
int amount = game.getBattlefield().countAll(dragonFilter, controller.getId(), game);
|
||||
if (amount > 0) {
|
||||
Permanent targetCreature = ((FixedTarget) getTargetPointer()).getTargetedPermanentOrLKIBattlefield(game);
|
||||
Permanent targetCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (targetCreature != null) {
|
||||
targetCreature.damage(amount, getTargetPointer().getFirst(game, source), game, false, true);
|
||||
targetCreature.damage(amount, damageSource.getId(), game, false, true);
|
||||
} else {
|
||||
Player player = game.getPlayer(source.getTargets().getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(amount, getTargetPointer().getFirst(game, source), game, false, true);
|
||||
player.damage(amount, damageSource.getId(), game, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.condition.common.FatefulHourCondition;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
@ -54,11 +55,9 @@ import mage.target.common.TargetControlledPermanent;
|
|||
public class FaithsShield extends CardImpl {
|
||||
|
||||
public FaithsShield(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}");
|
||||
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}");
|
||||
|
||||
// Target permanent you control gains protection from the color of your choice until end of turn.
|
||||
|
||||
// Fateful hour - If you have 5 or less life, instead you and each permanent you control gain protection from the color of your choice until end of turn.
|
||||
this.getSpellAbility().addEffect(new FaithsShieldEffect());
|
||||
this.getSpellAbility().addTarget(new TargetControlledPermanent());
|
||||
|
@ -79,7 +78,7 @@ class FaithsShieldEffect extends OneShotEffect {
|
|||
public FaithsShieldEffect() {
|
||||
super(Outcome.Protect);
|
||||
staticText = "Target permanent you control gains protection from the color of your choice until end of turn."
|
||||
+ "<br/><br/><i>Fateful hour</i> - If you have 5 or less life, instead you and each permanent you control gain protection from the color of your choice until end of turn";
|
||||
+ "<br/><br/><i>Fateful hour</i> - If you have 5 or less life, instead you and each permanent you control gain protection from the color of your choice until end of turn";
|
||||
}
|
||||
|
||||
public FaithsShieldEffect(final FaithsShieldEffect effect) {
|
||||
|
@ -89,7 +88,8 @@ class FaithsShieldEffect extends OneShotEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null) {
|
||||
MageObject mageObject = game.getObject(source.getSourceId());
|
||||
if (controller != null && mageObject != null) {
|
||||
if (FatefulHourCondition.instance.apply(game, source)) {
|
||||
ChoiceColor choice = new ChoiceColor();
|
||||
while (!choice.isChosen()) {
|
||||
|
@ -98,18 +98,20 @@ class FaithsShieldEffect extends OneShotEffect {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
FilterCard filter = new FilterCard();
|
||||
filter.add(new ColorPredicate(choice.getColor()));
|
||||
filter.setMessage(choice.getChoice());
|
||||
|
||||
Ability ability = new ProtectionAbility(filter) ;
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControllerEffect(ability, Duration.EndOfTurn), source);
|
||||
}
|
||||
else {
|
||||
if (choice.getColor() != null) {
|
||||
game.informPlayers(mageObject.getLogName() + ": " + controller.getLogName() + " has chosen " + choice.getChoice());
|
||||
FilterCard filter = new FilterCard();
|
||||
filter.add(new ColorPredicate(choice.getColor()));
|
||||
filter.setMessage(choice.getChoice());
|
||||
Ability ability = new ProtectionAbility(filter);
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControllerEffect(ability, Duration.EndOfTurn), source);
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
game.addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn), source);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
return false;
|
||||
|
|
125
Mage.Sets/src/mage/cards/s/SehtsTiger.java
Normal file
125
Mage.Sets/src/mage/cards/s/SehtsTiger.java
Normal file
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControllerEffect;
|
||||
import mage.abilities.keyword.FlashAbility;
|
||||
import mage.abilities.keyword.ProtectionAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.choices.ChoiceColor;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public class SehtsTiger extends CardImpl {
|
||||
|
||||
public SehtsTiger(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
|
||||
|
||||
this.subtype.add(SubType.CAT);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Flash
|
||||
this.addAbility(FlashAbility.getInstance());
|
||||
|
||||
// When Seht's Tiger enters the battlefield, you gain protection from the color of your choice until end of turn.
|
||||
// (You can't be targeted, dealt damage, or enchanted by anything of the chosen color.)
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SehtsTigerEffect(), false));
|
||||
|
||||
}
|
||||
|
||||
public SehtsTiger(final SehtsTiger card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SehtsTiger copy() {
|
||||
return new SehtsTiger(this);
|
||||
}
|
||||
}
|
||||
|
||||
class SehtsTigerEffect extends OneShotEffect {
|
||||
|
||||
public SehtsTigerEffect() {
|
||||
super(Outcome.Protect);
|
||||
staticText = "you gain protection from the color of your choice until end of turn <i>(You can't be targeted, dealt damage, or enchanted by anything of the chosen color.)</i>";
|
||||
}
|
||||
|
||||
public SehtsTigerEffect(final SehtsTigerEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
MageObject mageObject = game.getObject(source.getSourceId());
|
||||
if (controller != null && mageObject != null) {
|
||||
ChoiceColor choice = new ChoiceColor();
|
||||
while (!choice.isChosen()) {
|
||||
controller.choose(Outcome.Protect, choice, game);
|
||||
if (!controller.canRespond()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (choice.getColor() != null) {
|
||||
game.informPlayers(mageObject.getLogName() + ": " + controller.getLogName() + " has chosen " + choice.getChoice());
|
||||
FilterCard filter = new FilterCard();
|
||||
filter.add(new ColorPredicate(choice.getColor()));
|
||||
filter.setMessage(choice.getChoice());
|
||||
Ability ability = new ProtectionAbility(filter);
|
||||
game.addEffect(new GainAbilityControllerEffect(ability, Duration.EndOfTurn), source);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SehtsTigerEffect copy() {
|
||||
return new SehtsTigerEffect(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -76,7 +76,7 @@ public class StarfieldOfNyx extends CardImpl {
|
|||
}
|
||||
|
||||
public StarfieldOfNyx(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{W}");
|
||||
|
||||
// At the beginning of your upkeep, you may return target enchantment card from your graveyard to the battlefield.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
|
||||
|
@ -112,7 +112,7 @@ class StarfieldOfNyxEffect extends ContinuousEffectImpl {
|
|||
|
||||
public StarfieldOfNyxEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.BecomeCreature);
|
||||
staticText = "Each other non-Aura enchantment is a creature in addition to its other types and has base power and toughness each equal to its converted mana cost";
|
||||
staticText = "Each other non-Aura enchantment you control is a creature in addition to its other types and has base power and toughness each equal to its converted mana cost";
|
||||
}
|
||||
|
||||
public StarfieldOfNyxEffect(final StarfieldOfNyxEffect effect) {
|
||||
|
@ -162,7 +162,7 @@ class StarfieldOfNyxEffect extends ContinuousEffectImpl {
|
|||
public Set<UUID> isDependentTo(List<ContinuousEffect> allEffectsInLayer) {
|
||||
return allEffectsInLayer
|
||||
.stream()
|
||||
.filter(effect->effect.getDependencyTypes().contains(DependencyType.AuraAddingRemoving))
|
||||
.filter(effect -> effect.getDependencyTypes().contains(DependencyType.AuraAddingRemoving))
|
||||
.map(Effect::getId)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
|
|
|
@ -1,103 +1,103 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public class Commander2017 extends ExpansionSet {
|
||||
|
||||
private static final Commander2017 instance = new Commander2017();
|
||||
|
||||
public static Commander2017 getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private Commander2017() {
|
||||
super("Commander 2017 Edition", "C17", ExpansionSet.buildDate(2017, 8, 25), SetType.SUPPLEMENTAL);
|
||||
this.blockName = "Command Zone";
|
||||
|
||||
cards.add(new SetCardInfo("Arahbo, Roar of the World", 35, Rarity.MYTHIC, mage.cards.a.ArahboRoarOfTheWorld.class));
|
||||
cards.add(new SetCardInfo("Balan, Wandering Knight", 2, Rarity.RARE, mage.cards.b.BalanWanderingKnight.class));
|
||||
cards.add(new SetCardInfo("Bloodforged War Axe", 50, Rarity.RARE, mage.cards.b.BloodforgedWarAxe.class));
|
||||
cards.add(new SetCardInfo("Bloodline Necromancer", 14, Rarity.UNCOMMON, mage.cards.b.BloodlineNecromancer.class));
|
||||
cards.add(new SetCardInfo("Bloodsworn Steward", 22, Rarity.RARE, mage.cards.b.BloodswornSteward.class));
|
||||
cards.add(new SetCardInfo("Boneyard Scourge", 15, Rarity.RARE, mage.cards.b.BoneyardScourge.class));
|
||||
cards.add(new SetCardInfo("Crimson Honor Guard", 23, Rarity.RARE, mage.cards.c.CrimsonHonorGuard.class));
|
||||
cards.add(new SetCardInfo("Curse of Bounty", 30, Rarity.UNCOMMON, mage.cards.c.CurseOfBounty.class));
|
||||
cards.add(new SetCardInfo("Curse of Disturbance", 16, Rarity.UNCOMMON, mage.cards.c.CurseOfDisturbance.class));
|
||||
cards.add(new SetCardInfo("Curse of Opulence", 24, Rarity.UNCOMMON, mage.cards.c.CurseOfOpulence.class));
|
||||
cards.add(new SetCardInfo("Curse of Verbosity", 9, Rarity.UNCOMMON, mage.cards.c.CurseOfVerbosity.class));
|
||||
cards.add(new SetCardInfo("Curse of Vitality", 3, Rarity.UNCOMMON, mage.cards.c.CurseOfVitality.class));
|
||||
cards.add(new SetCardInfo("Disrupt Decorum", 25, Rarity.RARE, mage.cards.d.DisruptDecorum.class));
|
||||
cards.add(new SetCardInfo("Edgar Markov", 36, Rarity.MYTHIC, mage.cards.e.EdgarMarkov.class));
|
||||
cards.add(new SetCardInfo("Fortunate Few", 4, Rarity.RARE, mage.cards.f.FortunateFew.class));
|
||||
cards.add(new SetCardInfo("Fractured Identity", 37, Rarity.RARE, mage.cards.f.FracturedIdentity.class));
|
||||
cards.add(new SetCardInfo("Galecaster Colossus", 10, Rarity.RARE, mage.cards.g.GalecasterColossus.class));
|
||||
cards.add(new SetCardInfo("Hammer of Nazahn", 51, Rarity.RARE, mage.cards.h.HammerOfNazahn.class));
|
||||
cards.add(new SetCardInfo("Herald's Horn", 53, Rarity.UNCOMMON, mage.cards.h.HeraldsHorn.class));
|
||||
cards.add(new SetCardInfo("Heirloom Blade", 52, Rarity.UNCOMMON, mage.cards.h.HeirloomBlade.class));
|
||||
cards.add(new SetCardInfo("Hungry Lynx", 31, Rarity.RARE, mage.cards.h.HungryLynx.class));
|
||||
cards.add(new SetCardInfo("Inalla, Archmage Ritualist", 38, Rarity.MYTHIC, mage.cards.i.InallaArchmageRitualist.class));
|
||||
cards.add(new SetCardInfo("Izzet Chemister", 26, Rarity.RARE, mage.cards.i.IzzetChemister.class));
|
||||
cards.add(new SetCardInfo("Kess, Dissident Mage", 39, Rarity.MYTHIC, mage.cards.k.KessDissidentMage.class));
|
||||
cards.add(new SetCardInfo("Kheru Mind-Eater", 17, Rarity.RARE, mage.cards.k.KheruMindEater.class));
|
||||
cards.add(new SetCardInfo("Kindred Boon", 5, Rarity.RARE, mage.cards.k.KindredBoon.class));
|
||||
cards.add(new SetCardInfo("Kindred Charge", 27, Rarity.RARE, mage.cards.k.KindredCharge.class));
|
||||
cards.add(new SetCardInfo("Kindred Discovery", 11, Rarity.RARE, mage.cards.k.KindredDiscovery.class));
|
||||
cards.add(new SetCardInfo("Kindred Dominance", 18, Rarity.RARE, mage.cards.k.KindredDominance.class));
|
||||
cards.add(new SetCardInfo("Kindred Summons", 32, Rarity.RARE, mage.cards.k.KindredSummons.class));
|
||||
cards.add(new SetCardInfo("Licia, Sanguine Tribune", 40, Rarity.MYTHIC, mage.cards.l.LiciaSanguineTribune.class));
|
||||
cards.add(new SetCardInfo("Magus of the Mind", 12, Rarity.RARE, mage.cards.m.MagusOfTheMind.class));
|
||||
cards.add(new SetCardInfo("Mairsil, the Pretender", 41, Rarity.MYTHIC, mage.cards.m.MairsilThePretender.class));
|
||||
cards.add(new SetCardInfo("Mathas, Fiend Seeker", 42, Rarity.MYTHIC, mage.cards.m.MathasFiendSeeker.class));
|
||||
cards.add(new SetCardInfo("Mirri, Weatherlight Duelist", 43, Rarity.MYTHIC, mage.cards.m.MirriWeatherlightDuelist.class));
|
||||
cards.add(new SetCardInfo("Mirror of the Forebears", 54, Rarity.UNCOMMON, mage.cards.m.MirrorOfTheForebears.class));
|
||||
cards.add(new SetCardInfo("Nazahn, Revered Bladesmith", 44, Rarity.MYTHIC, mage.cards.n.NazahnReveredBladesmith.class));
|
||||
cards.add(new SetCardInfo("O-Kagachi, Vengeful Kami", 45, Rarity.MYTHIC, mage.cards.o.OKagachiVengefulKami.class));
|
||||
cards.add(new SetCardInfo("Path of Ancestry", 56, Rarity.COMMON, mage.cards.p.PathOfAncestry.class));
|
||||
cards.add(new SetCardInfo("Patron of the Vein", 20, Rarity.RARE, mage.cards.p.PatronOfTheVein.class));
|
||||
cards.add(new SetCardInfo("Qasali Slingers", 33, Rarity.RARE, mage.cards.q.QasaliSlingers.class));
|
||||
cards.add(new SetCardInfo("Ramos, Dragon Engine", 55, Rarity.MYTHIC, mage.cards.r.RamosDragonEngine.class));
|
||||
cards.add(new SetCardInfo("Scalelord Reckoner", 6, Rarity.RARE, mage.cards.s.ScalelordReckoner.class));
|
||||
cards.add(new SetCardInfo("Shifting Shadow", 28, Rarity.RARE, mage.cards.s.ShiftingShadow.class));
|
||||
cards.add(new SetCardInfo("Taigam, Ojutai Master", 46, Rarity.MYTHIC, mage.cards.t.TaigamOjutaiMaster.class));
|
||||
cards.add(new SetCardInfo("Taigam, Sidisi's Hand", 47, Rarity.RARE, mage.cards.t.TaigamSidisisHand.class));
|
||||
cards.add(new SetCardInfo("Teferi's Protection", 8, Rarity.RARE, mage.cards.t.TeferisProtection.class));
|
||||
cards.add(new SetCardInfo("Territorial Hellkite", 29, Rarity.RARE, mage.cards.t.TerritorialHellkite.class));
|
||||
cards.add(new SetCardInfo("The Ur-Dragon", 48, Rarity.MYTHIC, mage.cards.t.TheUrDragon.class));
|
||||
cards.add(new SetCardInfo("Traverse the Outlands", 34, Rarity.RARE, mage.cards.t.TraverseTheOutlands.class));
|
||||
cards.add(new SetCardInfo("Vindictive Lich", 21, Rarity.RARE, mage.cards.v.VindictiveLich.class));
|
||||
cards.add(new SetCardInfo("Wasitora, Nekoru Queen", 49, Rarity.MYTHIC, mage.cards.w.WasitoraNekoruQueen.class));
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public class Commander2017 extends ExpansionSet {
|
||||
|
||||
private static final Commander2017 instance = new Commander2017();
|
||||
|
||||
public static Commander2017 getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private Commander2017() {
|
||||
super("Commander 2017 Edition", "C17", ExpansionSet.buildDate(2017, 8, 25), SetType.SUPPLEMENTAL);
|
||||
this.blockName = "Command Zone";
|
||||
|
||||
cards.add(new SetCardInfo("Arahbo, Roar of the World", 35, Rarity.MYTHIC, mage.cards.a.ArahboRoarOfTheWorld.class));
|
||||
cards.add(new SetCardInfo("Balan, Wandering Knight", 2, Rarity.RARE, mage.cards.b.BalanWanderingKnight.class));
|
||||
cards.add(new SetCardInfo("Bloodforged Battle-Axe", 50, Rarity.RARE, mage.cards.b.BloodforgedBattleAxe.class));
|
||||
cards.add(new SetCardInfo("Bloodline Necromancer", 14, Rarity.UNCOMMON, mage.cards.b.BloodlineNecromancer.class));
|
||||
cards.add(new SetCardInfo("Bloodsworn Steward", 22, Rarity.RARE, mage.cards.b.BloodswornSteward.class));
|
||||
cards.add(new SetCardInfo("Boneyard Scourge", 15, Rarity.RARE, mage.cards.b.BoneyardScourge.class));
|
||||
cards.add(new SetCardInfo("Crimson Honor Guard", 23, Rarity.RARE, mage.cards.c.CrimsonHonorGuard.class));
|
||||
cards.add(new SetCardInfo("Curse of Bounty", 30, Rarity.UNCOMMON, mage.cards.c.CurseOfBounty.class));
|
||||
cards.add(new SetCardInfo("Curse of Disturbance", 16, Rarity.UNCOMMON, mage.cards.c.CurseOfDisturbance.class));
|
||||
cards.add(new SetCardInfo("Curse of Opulence", 24, Rarity.UNCOMMON, mage.cards.c.CurseOfOpulence.class));
|
||||
cards.add(new SetCardInfo("Curse of Verbosity", 9, Rarity.UNCOMMON, mage.cards.c.CurseOfVerbosity.class));
|
||||
cards.add(new SetCardInfo("Curse of Vitality", 3, Rarity.UNCOMMON, mage.cards.c.CurseOfVitality.class));
|
||||
cards.add(new SetCardInfo("Disrupt Decorum", 25, Rarity.RARE, mage.cards.d.DisruptDecorum.class));
|
||||
cards.add(new SetCardInfo("Edgar Markov", 36, Rarity.MYTHIC, mage.cards.e.EdgarMarkov.class));
|
||||
cards.add(new SetCardInfo("Fortunate Few", 4, Rarity.RARE, mage.cards.f.FortunateFew.class));
|
||||
cards.add(new SetCardInfo("Fractured Identity", 37, Rarity.RARE, mage.cards.f.FracturedIdentity.class));
|
||||
cards.add(new SetCardInfo("Galecaster Colossus", 10, Rarity.RARE, mage.cards.g.GalecasterColossus.class));
|
||||
cards.add(new SetCardInfo("Hammer of Nazahn", 51, Rarity.RARE, mage.cards.h.HammerOfNazahn.class));
|
||||
cards.add(new SetCardInfo("Herald's Horn", 53, Rarity.UNCOMMON, mage.cards.h.HeraldsHorn.class));
|
||||
cards.add(new SetCardInfo("Heirloom Blade", 52, Rarity.UNCOMMON, mage.cards.h.HeirloomBlade.class));
|
||||
cards.add(new SetCardInfo("Hungry Lynx", 31, Rarity.RARE, mage.cards.h.HungryLynx.class));
|
||||
cards.add(new SetCardInfo("Inalla, Archmage Ritualist", 38, Rarity.MYTHIC, mage.cards.i.InallaArchmageRitualist.class));
|
||||
cards.add(new SetCardInfo("Izzet Chemister", 26, Rarity.RARE, mage.cards.i.IzzetChemister.class));
|
||||
cards.add(new SetCardInfo("Kess, Dissident Mage", 39, Rarity.MYTHIC, mage.cards.k.KessDissidentMage.class));
|
||||
cards.add(new SetCardInfo("Kheru Mind-Eater", 17, Rarity.RARE, mage.cards.k.KheruMindEater.class));
|
||||
cards.add(new SetCardInfo("Kindred Boon", 5, Rarity.RARE, mage.cards.k.KindredBoon.class));
|
||||
cards.add(new SetCardInfo("Kindred Charge", 27, Rarity.RARE, mage.cards.k.KindredCharge.class));
|
||||
cards.add(new SetCardInfo("Kindred Discovery", 11, Rarity.RARE, mage.cards.k.KindredDiscovery.class));
|
||||
cards.add(new SetCardInfo("Kindred Dominance", 18, Rarity.RARE, mage.cards.k.KindredDominance.class));
|
||||
cards.add(new SetCardInfo("Kindred Summons", 32, Rarity.RARE, mage.cards.k.KindredSummons.class));
|
||||
cards.add(new SetCardInfo("Licia, Sanguine Tribune", 40, Rarity.MYTHIC, mage.cards.l.LiciaSanguineTribune.class));
|
||||
cards.add(new SetCardInfo("Magus of the Mind", 12, Rarity.RARE, mage.cards.m.MagusOfTheMind.class));
|
||||
cards.add(new SetCardInfo("Mairsil, the Pretender", 41, Rarity.MYTHIC, mage.cards.m.MairsilThePretender.class));
|
||||
cards.add(new SetCardInfo("Mathas, Fiend Seeker", 42, Rarity.MYTHIC, mage.cards.m.MathasFiendSeeker.class));
|
||||
cards.add(new SetCardInfo("Mirri, Weatherlight Duelist", 43, Rarity.MYTHIC, mage.cards.m.MirriWeatherlightDuelist.class));
|
||||
cards.add(new SetCardInfo("Mirror of the Forebears", 54, Rarity.UNCOMMON, mage.cards.m.MirrorOfTheForebears.class));
|
||||
cards.add(new SetCardInfo("Nazahn, Revered Bladesmith", 44, Rarity.MYTHIC, mage.cards.n.NazahnReveredBladesmith.class));
|
||||
cards.add(new SetCardInfo("O-Kagachi, Vengeful Kami", 45, Rarity.MYTHIC, mage.cards.o.OKagachiVengefulKami.class));
|
||||
cards.add(new SetCardInfo("Path of Ancestry", 56, Rarity.COMMON, mage.cards.p.PathOfAncestry.class));
|
||||
cards.add(new SetCardInfo("Patron of the Vein", 20, Rarity.RARE, mage.cards.p.PatronOfTheVein.class));
|
||||
cards.add(new SetCardInfo("Qasali Slingers", 33, Rarity.RARE, mage.cards.q.QasaliSlingers.class));
|
||||
cards.add(new SetCardInfo("Ramos, Dragon Engine", 55, Rarity.MYTHIC, mage.cards.r.RamosDragonEngine.class));
|
||||
cards.add(new SetCardInfo("Scalelord Reckoner", 6, Rarity.RARE, mage.cards.s.ScalelordReckoner.class));
|
||||
cards.add(new SetCardInfo("Shifting Shadow", 28, Rarity.RARE, mage.cards.s.ShiftingShadow.class));
|
||||
cards.add(new SetCardInfo("Taigam, Ojutai Master", 46, Rarity.MYTHIC, mage.cards.t.TaigamOjutaiMaster.class));
|
||||
cards.add(new SetCardInfo("Taigam, Sidisi's Hand", 47, Rarity.RARE, mage.cards.t.TaigamSidisisHand.class));
|
||||
cards.add(new SetCardInfo("Teferi's Protection", 8, Rarity.RARE, mage.cards.t.TeferisProtection.class));
|
||||
cards.add(new SetCardInfo("Territorial Hellkite", 29, Rarity.RARE, mage.cards.t.TerritorialHellkite.class));
|
||||
cards.add(new SetCardInfo("The Ur-Dragon", 48, Rarity.MYTHIC, mage.cards.t.TheUrDragon.class));
|
||||
cards.add(new SetCardInfo("Traverse the Outlands", 34, Rarity.RARE, mage.cards.t.TraverseTheOutlands.class));
|
||||
cards.add(new SetCardInfo("Vindictive Lich", 21, Rarity.RARE, mage.cards.v.VindictiveLich.class));
|
||||
cards.add(new SetCardInfo("Wasitora, Nekoru Queen", 49, Rarity.MYTHIC, mage.cards.w.WasitoraNekoruQueen.class));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,224 +1,225 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public class FutureSight extends ExpansionSet {
|
||||
|
||||
private static final FutureSight instance = new FutureSight();
|
||||
|
||||
public static FutureSight getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private FutureSight() {
|
||||
super("Future Sight", "FUT", ExpansionSet.buildDate(2007, 4, 4), SetType.EXPANSION);
|
||||
this.blockName = "Time Spiral";
|
||||
this.parentSet = TimeSpiral.getInstance();
|
||||
this.hasBasicLands = false;
|
||||
this.hasBoosters = true;
|
||||
this.numBoosterLands = 0;
|
||||
this.numBoosterCommon = 11;
|
||||
this.numBoosterUncommon = 3;
|
||||
this.numBoosterRare = 1;
|
||||
this.ratioBoosterMythic = 0;
|
||||
cards.add(new SetCardInfo("Akroma's Memorial", 159, Rarity.RARE, mage.cards.a.AkromasMemorial.class));
|
||||
cards.add(new SetCardInfo("Angel of Salvation", 1, Rarity.RARE, mage.cards.a.AngelOfSalvation.class));
|
||||
cards.add(new SetCardInfo("Arcanum Wings", 48, Rarity.UNCOMMON, mage.cards.a.ArcanumWings.class));
|
||||
cards.add(new SetCardInfo("Arc Blade", 94, Rarity.UNCOMMON, mage.cards.a.ArcBlade.class));
|
||||
cards.add(new SetCardInfo("Augur il-Vec", 2, Rarity.COMMON, mage.cards.a.AugurIlVec.class));
|
||||
cards.add(new SetCardInfo("Augur of Skulls", 63, Rarity.COMMON, mage.cards.a.AugurOfSkulls.class));
|
||||
cards.add(new SetCardInfo("Aven Augur", 32, Rarity.COMMON, mage.cards.a.AvenAugur.class));
|
||||
cards.add(new SetCardInfo("Aven Mindcensor", 18, Rarity.UNCOMMON, mage.cards.a.AvenMindcensor.class));
|
||||
cards.add(new SetCardInfo("Barren Glory", 3, Rarity.RARE, mage.cards.b.BarrenGlory.class));
|
||||
cards.add(new SetCardInfo("Baru, Fist of Krosa", 142, Rarity.RARE, mage.cards.b.BaruFistOfKrosa.class));
|
||||
cards.add(new SetCardInfo("Bitter Ordeal", 80, Rarity.RARE, mage.cards.b.BitterOrdeal.class));
|
||||
cards.add(new SetCardInfo("Blade of the Sixth Pride", 19, Rarity.COMMON, mage.cards.b.BladeOfTheSixthPride.class));
|
||||
cards.add(new SetCardInfo("Blind Phantasm", 49, Rarity.COMMON, mage.cards.b.BlindPhantasm.class));
|
||||
cards.add(new SetCardInfo("Bloodshot Trainee", 110, Rarity.UNCOMMON, mage.cards.b.BloodshotTrainee.class));
|
||||
cards.add(new SetCardInfo("Bogardan Lancer", 95, Rarity.COMMON, mage.cards.b.BogardanLancer.class));
|
||||
cards.add(new SetCardInfo("Boldwyr Intimidator", 111, Rarity.UNCOMMON, mage.cards.b.BoldwyrIntimidator.class));
|
||||
cards.add(new SetCardInfo("Bonded Fetch", 50, Rarity.UNCOMMON, mage.cards.b.BondedFetch.class));
|
||||
cards.add(new SetCardInfo("Bound in Silence", 20, Rarity.UNCOMMON, mage.cards.b.BoundInSilence.class));
|
||||
cards.add(new SetCardInfo("Bridge from Below", 81, Rarity.RARE, mage.cards.b.BridgeFromBelow.class));
|
||||
cards.add(new SetCardInfo("Centaur Omenreader", 143, Rarity.UNCOMMON, mage.cards.c.CentaurOmenreader.class));
|
||||
cards.add(new SetCardInfo("Char-Rumbler", 96, Rarity.UNCOMMON, mage.cards.c.CharRumbler.class));
|
||||
cards.add(new SetCardInfo("Chronomantic Escape", 4, Rarity.UNCOMMON, mage.cards.c.ChronomanticEscape.class));
|
||||
cards.add(new SetCardInfo("Cloud Key", 160, Rarity.RARE, mage.cards.c.CloudKey.class));
|
||||
cards.add(new SetCardInfo("Cloudseeder", 33, Rarity.UNCOMMON, mage.cards.c.Cloudseeder.class));
|
||||
cards.add(new SetCardInfo("Coalition Relic", 161, Rarity.RARE, mage.cards.c.CoalitionRelic.class));
|
||||
cards.add(new SetCardInfo("Cryptic Annelid", 34, Rarity.UNCOMMON, mage.cards.c.CrypticAnnelid.class));
|
||||
cards.add(new SetCardInfo("Cutthroat il-Dal", 64, Rarity.COMMON, mage.cards.c.CutthroatIlDal.class));
|
||||
cards.add(new SetCardInfo("Cyclical Evolution", 125, Rarity.UNCOMMON, mage.cards.c.CyclicalEvolution.class));
|
||||
cards.add(new SetCardInfo("Dakmor Salvage", 169, Rarity.UNCOMMON, mage.cards.d.DakmorSalvage.class));
|
||||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public class FutureSight extends ExpansionSet {
|
||||
|
||||
private static final FutureSight instance = new FutureSight();
|
||||
|
||||
public static FutureSight getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private FutureSight() {
|
||||
super("Future Sight", "FUT", ExpansionSet.buildDate(2007, 4, 4), SetType.EXPANSION);
|
||||
this.blockName = "Time Spiral";
|
||||
this.parentSet = TimeSpiral.getInstance();
|
||||
this.hasBasicLands = false;
|
||||
this.hasBoosters = true;
|
||||
this.numBoosterLands = 0;
|
||||
this.numBoosterCommon = 11;
|
||||
this.numBoosterUncommon = 3;
|
||||
this.numBoosterRare = 1;
|
||||
this.ratioBoosterMythic = 0;
|
||||
cards.add(new SetCardInfo("Akroma's Memorial", 159, Rarity.RARE, mage.cards.a.AkromasMemorial.class));
|
||||
cards.add(new SetCardInfo("Angel of Salvation", 1, Rarity.RARE, mage.cards.a.AngelOfSalvation.class));
|
||||
cards.add(new SetCardInfo("Arcanum Wings", 48, Rarity.UNCOMMON, mage.cards.a.ArcanumWings.class));
|
||||
cards.add(new SetCardInfo("Arc Blade", 94, Rarity.UNCOMMON, mage.cards.a.ArcBlade.class));
|
||||
cards.add(new SetCardInfo("Augur il-Vec", 2, Rarity.COMMON, mage.cards.a.AugurIlVec.class));
|
||||
cards.add(new SetCardInfo("Augur of Skulls", 63, Rarity.COMMON, mage.cards.a.AugurOfSkulls.class));
|
||||
cards.add(new SetCardInfo("Aven Augur", 32, Rarity.COMMON, mage.cards.a.AvenAugur.class));
|
||||
cards.add(new SetCardInfo("Aven Mindcensor", 18, Rarity.UNCOMMON, mage.cards.a.AvenMindcensor.class));
|
||||
cards.add(new SetCardInfo("Barren Glory", 3, Rarity.RARE, mage.cards.b.BarrenGlory.class));
|
||||
cards.add(new SetCardInfo("Baru, Fist of Krosa", 142, Rarity.RARE, mage.cards.b.BaruFistOfKrosa.class));
|
||||
cards.add(new SetCardInfo("Bitter Ordeal", 80, Rarity.RARE, mage.cards.b.BitterOrdeal.class));
|
||||
cards.add(new SetCardInfo("Blade of the Sixth Pride", 19, Rarity.COMMON, mage.cards.b.BladeOfTheSixthPride.class));
|
||||
cards.add(new SetCardInfo("Blind Phantasm", 49, Rarity.COMMON, mage.cards.b.BlindPhantasm.class));
|
||||
cards.add(new SetCardInfo("Bloodshot Trainee", 110, Rarity.UNCOMMON, mage.cards.b.BloodshotTrainee.class));
|
||||
cards.add(new SetCardInfo("Bogardan Lancer", 95, Rarity.COMMON, mage.cards.b.BogardanLancer.class));
|
||||
cards.add(new SetCardInfo("Boldwyr Intimidator", 111, Rarity.UNCOMMON, mage.cards.b.BoldwyrIntimidator.class));
|
||||
cards.add(new SetCardInfo("Bonded Fetch", 50, Rarity.UNCOMMON, mage.cards.b.BondedFetch.class));
|
||||
cards.add(new SetCardInfo("Bound in Silence", 20, Rarity.UNCOMMON, mage.cards.b.BoundInSilence.class));
|
||||
cards.add(new SetCardInfo("Bridge from Below", 81, Rarity.RARE, mage.cards.b.BridgeFromBelow.class));
|
||||
cards.add(new SetCardInfo("Centaur Omenreader", 143, Rarity.UNCOMMON, mage.cards.c.CentaurOmenreader.class));
|
||||
cards.add(new SetCardInfo("Char-Rumbler", 96, Rarity.UNCOMMON, mage.cards.c.CharRumbler.class));
|
||||
cards.add(new SetCardInfo("Chronomantic Escape", 4, Rarity.UNCOMMON, mage.cards.c.ChronomanticEscape.class));
|
||||
cards.add(new SetCardInfo("Cloud Key", 160, Rarity.RARE, mage.cards.c.CloudKey.class));
|
||||
cards.add(new SetCardInfo("Cloudseeder", 33, Rarity.UNCOMMON, mage.cards.c.Cloudseeder.class));
|
||||
cards.add(new SetCardInfo("Coalition Relic", 161, Rarity.RARE, mage.cards.c.CoalitionRelic.class));
|
||||
cards.add(new SetCardInfo("Cryptic Annelid", 34, Rarity.UNCOMMON, mage.cards.c.CrypticAnnelid.class));
|
||||
cards.add(new SetCardInfo("Cutthroat il-Dal", 64, Rarity.COMMON, mage.cards.c.CutthroatIlDal.class));
|
||||
cards.add(new SetCardInfo("Cyclical Evolution", 125, Rarity.UNCOMMON, mage.cards.c.CyclicalEvolution.class));
|
||||
cards.add(new SetCardInfo("Dakmor Salvage", 169, Rarity.UNCOMMON, mage.cards.d.DakmorSalvage.class));
|
||||
cards.add(new SetCardInfo("Darksteel Garrison", 167, Rarity.RARE, mage.cards.d.DarksteelGarrison.class));
|
||||
cards.add(new SetCardInfo("Daybreak Coronet", 21, Rarity.RARE, mage.cards.d.DaybreakCoronet.class));
|
||||
cards.add(new SetCardInfo("Death Rattle", 82, Rarity.COMMON, mage.cards.d.DeathRattle.class));
|
||||
cards.add(new SetCardInfo("Deepcavern Imp", 83, Rarity.COMMON, mage.cards.d.DeepcavernImp.class));
|
||||
cards.add(new SetCardInfo("Delay", 35, Rarity.UNCOMMON, mage.cards.d.Delay.class));
|
||||
cards.add(new SetCardInfo("Dryad Arbor", 174, Rarity.UNCOMMON, mage.cards.d.DryadArbor.class));
|
||||
cards.add(new SetCardInfo("Dust of Moments", 5, Rarity.UNCOMMON, mage.cards.d.DustOfMoments.class));
|
||||
cards.add(new SetCardInfo("Edge of Autumn", 144, Rarity.COMMON, mage.cards.e.EdgeOfAutumn.class));
|
||||
cards.add(new SetCardInfo("Emberwilde Augur", 97, Rarity.COMMON, mage.cards.e.EmberwildeAugur.class));
|
||||
cards.add(new SetCardInfo("Emblem of the Warmind", 112, Rarity.UNCOMMON, mage.cards.e.EmblemOfTheWarmind.class));
|
||||
cards.add(new SetCardInfo("Epochrasite", 162, Rarity.RARE, mage.cards.e.Epochrasite.class));
|
||||
cards.add(new SetCardInfo("Daybreak Coronet", 21, Rarity.RARE, mage.cards.d.DaybreakCoronet.class));
|
||||
cards.add(new SetCardInfo("Death Rattle", 82, Rarity.COMMON, mage.cards.d.DeathRattle.class));
|
||||
cards.add(new SetCardInfo("Deepcavern Imp", 83, Rarity.COMMON, mage.cards.d.DeepcavernImp.class));
|
||||
cards.add(new SetCardInfo("Delay", 35, Rarity.UNCOMMON, mage.cards.d.Delay.class));
|
||||
cards.add(new SetCardInfo("Dryad Arbor", 174, Rarity.UNCOMMON, mage.cards.d.DryadArbor.class));
|
||||
cards.add(new SetCardInfo("Dust of Moments", 5, Rarity.UNCOMMON, mage.cards.d.DustOfMoments.class));
|
||||
cards.add(new SetCardInfo("Edge of Autumn", 144, Rarity.COMMON, mage.cards.e.EdgeOfAutumn.class));
|
||||
cards.add(new SetCardInfo("Emberwilde Augur", 97, Rarity.COMMON, mage.cards.e.EmberwildeAugur.class));
|
||||
cards.add(new SetCardInfo("Emblem of the Warmind", 112, Rarity.UNCOMMON, mage.cards.e.EmblemOfTheWarmind.class));
|
||||
cards.add(new SetCardInfo("Epochrasite", 162, Rarity.RARE, mage.cards.e.Epochrasite.class));
|
||||
cards.add(new SetCardInfo("Fatal Attraction", 98, Rarity.COMMON, mage.cards.f.FatalAttraction.class));
|
||||
cards.add(new SetCardInfo("Festering March", 65, Rarity.UNCOMMON, mage.cards.f.FesteringMarch.class));
|
||||
cards.add(new SetCardInfo("Fleshwrither", 84, Rarity.UNCOMMON, mage.cards.f.Fleshwrither.class));
|
||||
cards.add(new SetCardInfo("Flowstone Embrace", 113, Rarity.COMMON, mage.cards.f.FlowstoneEmbrace.class));
|
||||
cards.add(new SetCardInfo("Fomori Nomad", 114, Rarity.COMMON, mage.cards.f.FomoriNomad.class));
|
||||
cards.add(new SetCardInfo("Force of Savagery", 126, Rarity.RARE, mage.cards.f.ForceOfSavagery.class));
|
||||
cards.add(new SetCardInfo("Foresee", 36, Rarity.COMMON, mage.cards.f.Foresee.class));
|
||||
cards.add(new SetCardInfo("Frenzy Sliver", 85, Rarity.COMMON, mage.cards.f.FrenzySliver.class));
|
||||
cards.add(new SetCardInfo("Gathan Raiders", 99, Rarity.COMMON, mage.cards.g.GathanRaiders.class));
|
||||
cards.add(new SetCardInfo("Ghostfire", 115, Rarity.COMMON, mage.cards.g.Ghostfire.class));
|
||||
cards.add(new SetCardInfo("Gibbering Descent", 66, Rarity.RARE, mage.cards.g.GibberingDescent.class));
|
||||
cards.add(new SetCardInfo("Glittering Wish", 156, Rarity.RARE, mage.cards.g.GlitteringWish.class));
|
||||
cards.add(new SetCardInfo("Goldmeadow Lookout", 22, Rarity.UNCOMMON, mage.cards.g.GoldmeadowLookout.class));
|
||||
cards.add(new SetCardInfo("Graven Cairns", 175, Rarity.RARE, mage.cards.g.GravenCairns.class));
|
||||
cards.add(new SetCardInfo("Grave Peril", 67, Rarity.COMMON, mage.cards.g.GravePeril.class));
|
||||
cards.add(new SetCardInfo("Grave Scrabbler", 86, Rarity.COMMON, mage.cards.g.GraveScrabbler.class));
|
||||
cards.add(new SetCardInfo("Grinning Ignus", 116, Rarity.COMMON, mage.cards.g.GrinningIgnus.class));
|
||||
cards.add(new SetCardInfo("Grove of the Burnwillows", 176, Rarity.RARE, mage.cards.g.GroveOfTheBurnwillows.class));
|
||||
cards.add(new SetCardInfo("Haze of Rage", 100, Rarity.UNCOMMON, mage.cards.h.HazeOfRage.class));
|
||||
cards.add(new SetCardInfo("Heartwood Storyteller", 127, Rarity.RARE, mage.cards.h.HeartwoodStoryteller.class));
|
||||
cards.add(new SetCardInfo("Henchfiend of Ukor", 117, Rarity.COMMON, mage.cards.h.HenchfiendOfUkor.class));
|
||||
cards.add(new SetCardInfo("Homing Sliver", 118, Rarity.COMMON, mage.cards.h.HomingSliver.class));
|
||||
cards.add(new SetCardInfo("Horizon Canopy", 177, Rarity.RARE, mage.cards.h.HorizonCanopy.class));
|
||||
cards.add(new SetCardInfo("Ichor Slick", 68, Rarity.COMMON, mage.cards.i.IchorSlick.class));
|
||||
cards.add(new SetCardInfo("Imperiosaur", 145, Rarity.UNCOMMON, mage.cards.i.Imperiosaur.class));
|
||||
cards.add(new SetCardInfo("Infiltrator il-Kor", 37, Rarity.COMMON, mage.cards.i.InfiltratorIlKor.class));
|
||||
cards.add(new SetCardInfo("Intervention Pact", 8, Rarity.RARE, mage.cards.i.InterventionPact.class));
|
||||
cards.add(new SetCardInfo("Jhoira of the Ghitu", 157, Rarity.RARE, mage.cards.j.JhoiraOfTheGhitu.class));
|
||||
cards.add(new SetCardInfo("Judge Unworthy", 9, Rarity.COMMON, mage.cards.j.JudgeUnworthy.class));
|
||||
cards.add(new SetCardInfo("Kavu Primarch", 128, Rarity.COMMON, mage.cards.k.KavuPrimarch.class));
|
||||
cards.add(new SetCardInfo("Keldon Megaliths", 170, Rarity.UNCOMMON, mage.cards.k.KeldonMegaliths.class));
|
||||
cards.add(new SetCardInfo("Knight of Sursi", 10, Rarity.COMMON, mage.cards.k.KnightOfSursi.class));
|
||||
cards.add(new SetCardInfo("Korlash, Heir to Blackblade", 87, Rarity.RARE, mage.cards.k.KorlashHeirToBlackblade.class));
|
||||
cards.add(new SetCardInfo("Leaden Fists", 38, Rarity.COMMON, mage.cards.l.LeadenFists.class));
|
||||
cards.add(new SetCardInfo("Linessa, Zephyr Mage", 51, Rarity.RARE, mage.cards.l.LinessaZephyrMage.class));
|
||||
cards.add(new SetCardInfo("Llanowar Augur", 129, Rarity.COMMON, mage.cards.l.LlanowarAugur.class));
|
||||
cards.add(new SetCardInfo("Llanowar Empath", 130, Rarity.COMMON, mage.cards.l.LlanowarEmpath.class));
|
||||
cards.add(new SetCardInfo("Llanowar Mentor", 131, Rarity.UNCOMMON, mage.cards.l.LlanowarMentor.class));
|
||||
cards.add(new SetCardInfo("Llanowar Reborn", 171, Rarity.UNCOMMON, mage.cards.l.LlanowarReborn.class));
|
||||
cards.add(new SetCardInfo("Logic Knot", 52, Rarity.COMMON, mage.cards.l.LogicKnot.class));
|
||||
cards.add(new SetCardInfo("Lost Auramancers", 11, Rarity.UNCOMMON, mage.cards.l.LostAuramancers.class));
|
||||
cards.add(new SetCardInfo("Lucent Liminid", 24, Rarity.COMMON, mage.cards.l.LucentLiminid.class));
|
||||
cards.add(new SetCardInfo("Lumithread Field", 25, Rarity.COMMON, mage.cards.l.LumithreadField.class));
|
||||
cards.add(new SetCardInfo("Lymph Sliver", 26, Rarity.COMMON, mage.cards.l.LymphSliver.class));
|
||||
cards.add(new SetCardInfo("Maelstrom Djinn", 39, Rarity.RARE, mage.cards.m.MaelstromDjinn.class));
|
||||
cards.add(new SetCardInfo("Magus of the Abyss", 70, Rarity.RARE, mage.cards.m.MagusOfTheAbyss.class));
|
||||
cards.add(new SetCardInfo("Magus of the Future", 40, Rarity.RARE, mage.cards.m.MagusOfTheFuture.class));
|
||||
cards.add(new SetCardInfo("Magus of the Moat", 12, Rarity.RARE, mage.cards.m.MagusOfTheMoat.class));
|
||||
cards.add(new SetCardInfo("Magus of the Moon", 101, Rarity.RARE, mage.cards.m.MagusOfTheMoon.class));
|
||||
cards.add(new SetCardInfo("Magus of the Vineyard", 132, Rarity.RARE, mage.cards.m.MagusOfTheVineyard.class));
|
||||
cards.add(new SetCardInfo("Marshaling Cry", 13, Rarity.COMMON, mage.cards.m.MarshalingCry.class));
|
||||
cards.add(new SetCardInfo("Mass of Ghouls", 88, Rarity.COMMON, mage.cards.m.MassOfGhouls.class));
|
||||
cards.add(new SetCardInfo("Mesmeric Sliver", 53, Rarity.COMMON, mage.cards.m.MesmericSliver.class));
|
||||
cards.add(new SetCardInfo("Minions' Murmurs", 71, Rarity.UNCOMMON, mage.cards.m.MinionsMurmurs.class));
|
||||
cards.add(new SetCardInfo("Mistmeadow Skulk", 27, Rarity.UNCOMMON, mage.cards.m.MistmeadowSkulk.class));
|
||||
cards.add(new SetCardInfo("Molten Disaster", 102, Rarity.RARE, mage.cards.m.MoltenDisaster.class));
|
||||
cards.add(new SetCardInfo("Muraganda Petroglyphs", 146, Rarity.RARE, mage.cards.m.MuragandaPetroglyphs.class));
|
||||
cards.add(new SetCardInfo("Mystic Speculation", 41, Rarity.UNCOMMON, mage.cards.m.MysticSpeculation.class));
|
||||
cards.add(new SetCardInfo("Nacatl War-Pride", 147, Rarity.UNCOMMON, mage.cards.n.NacatlWarPride.class));
|
||||
cards.add(new SetCardInfo("Narcomoeba", 54, Rarity.UNCOMMON, mage.cards.n.Narcomoeba.class));
|
||||
cards.add(new SetCardInfo("Nessian Courser", 148, Rarity.COMMON, mage.cards.n.NessianCourser.class));
|
||||
cards.add(new SetCardInfo("New Benalia", 172, Rarity.UNCOMMON, mage.cards.n.NewBenalia.class));
|
||||
cards.add(new SetCardInfo("Nihilith", 72, Rarity.RARE, mage.cards.n.Nihilith.class));
|
||||
cards.add(new SetCardInfo("Nimbus Maze", 178, Rarity.RARE, mage.cards.n.NimbusMaze.class));
|
||||
cards.add(new SetCardInfo("Nix", 55, Rarity.RARE, mage.cards.n.Nix.class));
|
||||
cards.add(new SetCardInfo("Oblivion Crown", 73, Rarity.COMMON, mage.cards.o.OblivionCrown.class));
|
||||
cards.add(new SetCardInfo("Oriss, Samite Guardian", 28, Rarity.RARE, mage.cards.o.OrissSamiteGuardian.class));
|
||||
cards.add(new SetCardInfo("Pact of Negation", 42, Rarity.RARE, mage.cards.p.PactOfNegation.class));
|
||||
cards.add(new SetCardInfo("Pact of the Titan", 103, Rarity.RARE, mage.cards.p.PactOfTheTitan.class));
|
||||
cards.add(new SetCardInfo("Patrician's Scorn", 29, Rarity.COMMON, mage.cards.p.PatriciansScorn.class));
|
||||
cards.add(new SetCardInfo("Petrified Plating", 133, Rarity.COMMON, mage.cards.p.PetrifiedPlating.class));
|
||||
cards.add(new SetCardInfo("Phosphorescent Feast", 149, Rarity.UNCOMMON, mage.cards.p.PhosphorescentFeast.class));
|
||||
cards.add(new SetCardInfo("Pooling Venom", 74, Rarity.UNCOMMON, mage.cards.p.PoolingVenom.class));
|
||||
cards.add(new SetCardInfo("Pyromancer's Swath", 104, Rarity.RARE, mage.cards.p.PyromancersSwath.class));
|
||||
cards.add(new SetCardInfo("Quagnoth", 150, Rarity.RARE, mage.cards.q.Quagnoth.class));
|
||||
cards.add(new SetCardInfo("Quiet Disrepair", 134, Rarity.COMMON, mage.cards.q.QuietDisrepair.class));
|
||||
cards.add(new SetCardInfo("Ramosian Revivalist", 30, Rarity.UNCOMMON, mage.cards.r.RamosianRevivalist.class));
|
||||
cards.add(new SetCardInfo("Ravaging Riftwurm", 135, Rarity.UNCOMMON, mage.cards.r.RavagingRiftwurm.class));
|
||||
cards.add(new SetCardInfo("Reality Strobe", 43, Rarity.UNCOMMON, mage.cards.r.RealityStrobe.class));
|
||||
cards.add(new SetCardInfo("Riddle of Lightning", 105, Rarity.COMMON, mage.cards.r.RiddleOfLightning.class));
|
||||
cards.add(new SetCardInfo("Rift Elemental", 106, Rarity.COMMON, mage.cards.r.RiftElemental.class));
|
||||
cards.add(new SetCardInfo("Riftsweeper", 136, Rarity.UNCOMMON, mage.cards.r.Riftsweeper.class));
|
||||
cards.add(new SetCardInfo("Rites of Flourishing", 137, Rarity.RARE, mage.cards.r.RitesOfFlourishing.class));
|
||||
cards.add(new SetCardInfo("River of Tears", 179, Rarity.RARE, mage.cards.r.RiverOfTears.class));
|
||||
cards.add(new SetCardInfo("Saltskitter", 14, Rarity.COMMON, mage.cards.s.Saltskitter.class));
|
||||
cards.add(new SetCardInfo("Sarcomite Myr", 56, Rarity.COMMON, mage.cards.s.SarcomiteMyr.class));
|
||||
cards.add(new SetCardInfo("Scourge of Kher Ridges", 107, Rarity.RARE, mage.cards.s.ScourgeOfKherRidges.class));
|
||||
cards.add(new SetCardInfo("Scout's Warning", 16, Rarity.RARE, mage.cards.s.ScoutsWarning.class));
|
||||
cards.add(new SetCardInfo("Second Wind", 57, Rarity.UNCOMMON, mage.cards.s.SecondWind.class));
|
||||
cards.add(new SetCardInfo("Shapeshifter's Marrow", 58, Rarity.RARE, mage.cards.s.ShapeshiftersMarrow.class));
|
||||
cards.add(new SetCardInfo("Shimian Specter", 76, Rarity.RARE, mage.cards.s.ShimianSpecter.class));
|
||||
cards.add(new SetCardInfo("Skirk Ridge Exhumer", 77, Rarity.UNCOMMON, mage.cards.s.SkirkRidgeExhumer.class));
|
||||
cards.add(new SetCardInfo("Skizzik Surger", 120, Rarity.UNCOMMON, mage.cards.s.SkizzikSurger.class));
|
||||
cards.add(new SetCardInfo("Slaughter Pact", 78, Rarity.RARE, mage.cards.s.SlaughterPact.class));
|
||||
cards.add(new SetCardInfo("Sliver Legion", 158, Rarity.RARE, mage.cards.s.SliverLegion.class));
|
||||
cards.add(new SetCardInfo("Sliversmith", 163, Rarity.UNCOMMON, mage.cards.s.Sliversmith.class));
|
||||
cards.add(new SetCardInfo("Snake Cult Initiation", 89, Rarity.UNCOMMON, mage.cards.s.SnakeCultInitiation.class));
|
||||
cards.add(new SetCardInfo("Soultether Golem", 164, Rarity.UNCOMMON, mage.cards.s.SoultetherGolem.class));
|
||||
cards.add(new SetCardInfo("Sparkspitter", 109, Rarity.UNCOMMON, mage.cards.s.Sparkspitter.class));
|
||||
cards.add(new SetCardInfo("Spin into Myth", 60, Rarity.UNCOMMON, mage.cards.s.SpinIntoMyth.class));
|
||||
cards.add(new SetCardInfo("Spirit en-Dal", 17, Rarity.UNCOMMON, mage.cards.s.SpiritEnDal.class));
|
||||
cards.add(new SetCardInfo("Sporoloth Ancient", 152, Rarity.COMMON, mage.cards.s.SporolothAncient.class));
|
||||
cards.add(new SetCardInfo("Sprout Swarm", 138, Rarity.COMMON, mage.cards.s.SproutSwarm.class));
|
||||
cards.add(new SetCardInfo("Storm Entity", 122, Rarity.UNCOMMON, mage.cards.s.StormEntity.class));
|
||||
cards.add(new SetCardInfo("Street Wraith", 90, Rarity.UNCOMMON, mage.cards.s.StreetWraith.class));
|
||||
cards.add(new SetCardInfo("Stronghold Rats", 79, Rarity.UNCOMMON, mage.cards.s.StrongholdRats.class));
|
||||
cards.add(new SetCardInfo("Summoner's Pact", 139, Rarity.RARE, mage.cards.s.SummonersPact.class));
|
||||
cards.add(new SetCardInfo("Sword of the Meek", 165, Rarity.UNCOMMON, mage.cards.s.SwordOfTheMeek.class));
|
||||
cards.add(new SetCardInfo("Take Possession", 44, Rarity.RARE, mage.cards.t.TakePossession.class));
|
||||
cards.add(new SetCardInfo("Tarmogoyf", 153, Rarity.RARE, mage.cards.t.Tarmogoyf.class));
|
||||
cards.add(new SetCardInfo("Tarox Bladewing", 123, Rarity.RARE, mage.cards.t.TaroxBladewing.class));
|
||||
cards.add(new SetCardInfo("Thornweald Archer", 154, Rarity.COMMON, mage.cards.t.ThornwealdArcher.class));
|
||||
cards.add(new SetCardInfo("Tolaria West", 173, Rarity.UNCOMMON, mage.cards.t.TolariaWest.class));
|
||||
cards.add(new SetCardInfo("Tombstalker", 91, Rarity.RARE, mage.cards.t.Tombstalker.class));
|
||||
cards.add(new SetCardInfo("Unblinking Bleb", 45, Rarity.COMMON, mage.cards.u.UnblinkingBleb.class));
|
||||
cards.add(new SetCardInfo("Utopia Mycon", 140, Rarity.UNCOMMON, mage.cards.u.UtopiaMycon.class));
|
||||
cards.add(new SetCardInfo("Vedalken Aethermage", 61, Rarity.COMMON, mage.cards.v.VedalkenAethermage.class));
|
||||
cards.add(new SetCardInfo("Veilstone Amulet", 166, Rarity.RARE, mage.cards.v.VeilstoneAmulet.class));
|
||||
cards.add(new SetCardInfo("Venser, Shaper Savant", 46, Rarity.RARE, mage.cards.v.VenserShaperSavant.class));
|
||||
cards.add(new SetCardInfo("Virulent Sliver", 155, Rarity.COMMON, mage.cards.v.VirulentSliver.class));
|
||||
cards.add(new SetCardInfo("Whetwheel", 168, Rarity.RARE, mage.cards.w.Whetwheel.class));
|
||||
cards.add(new SetCardInfo("Whip-Spine Drake", 62, Rarity.COMMON, mage.cards.w.WhipSpineDrake.class));
|
||||
cards.add(new SetCardInfo("Witch's Mist", 92, Rarity.UNCOMMON, mage.cards.w.WitchsMist.class));
|
||||
cards.add(new SetCardInfo("Wrap in Vigor", 141, Rarity.COMMON, mage.cards.w.WrapInVigor.class));
|
||||
cards.add(new SetCardInfo("Yixlid Jailer", 93, Rarity.UNCOMMON, mage.cards.y.YixlidJailer.class));
|
||||
cards.add(new SetCardInfo("Zoetic Cavern", 180, Rarity.UNCOMMON, mage.cards.z.ZoeticCavern.class));
|
||||
}
|
||||
}
|
||||
cards.add(new SetCardInfo("Festering March", 65, Rarity.UNCOMMON, mage.cards.f.FesteringMarch.class));
|
||||
cards.add(new SetCardInfo("Fleshwrither", 84, Rarity.UNCOMMON, mage.cards.f.Fleshwrither.class));
|
||||
cards.add(new SetCardInfo("Flowstone Embrace", 113, Rarity.COMMON, mage.cards.f.FlowstoneEmbrace.class));
|
||||
cards.add(new SetCardInfo("Fomori Nomad", 114, Rarity.COMMON, mage.cards.f.FomoriNomad.class));
|
||||
cards.add(new SetCardInfo("Force of Savagery", 126, Rarity.RARE, mage.cards.f.ForceOfSavagery.class));
|
||||
cards.add(new SetCardInfo("Foresee", 36, Rarity.COMMON, mage.cards.f.Foresee.class));
|
||||
cards.add(new SetCardInfo("Frenzy Sliver", 85, Rarity.COMMON, mage.cards.f.FrenzySliver.class));
|
||||
cards.add(new SetCardInfo("Gathan Raiders", 99, Rarity.COMMON, mage.cards.g.GathanRaiders.class));
|
||||
cards.add(new SetCardInfo("Ghostfire", 115, Rarity.COMMON, mage.cards.g.Ghostfire.class));
|
||||
cards.add(new SetCardInfo("Gibbering Descent", 66, Rarity.RARE, mage.cards.g.GibberingDescent.class));
|
||||
cards.add(new SetCardInfo("Glittering Wish", 156, Rarity.RARE, mage.cards.g.GlitteringWish.class));
|
||||
cards.add(new SetCardInfo("Goldmeadow Lookout", 22, Rarity.UNCOMMON, mage.cards.g.GoldmeadowLookout.class));
|
||||
cards.add(new SetCardInfo("Graven Cairns", 175, Rarity.RARE, mage.cards.g.GravenCairns.class));
|
||||
cards.add(new SetCardInfo("Grave Peril", 67, Rarity.COMMON, mage.cards.g.GravePeril.class));
|
||||
cards.add(new SetCardInfo("Grave Scrabbler", 86, Rarity.COMMON, mage.cards.g.GraveScrabbler.class));
|
||||
cards.add(new SetCardInfo("Grinning Ignus", 116, Rarity.COMMON, mage.cards.g.GrinningIgnus.class));
|
||||
cards.add(new SetCardInfo("Grove of the Burnwillows", 176, Rarity.RARE, mage.cards.g.GroveOfTheBurnwillows.class));
|
||||
cards.add(new SetCardInfo("Haze of Rage", 100, Rarity.UNCOMMON, mage.cards.h.HazeOfRage.class));
|
||||
cards.add(new SetCardInfo("Heartwood Storyteller", 127, Rarity.RARE, mage.cards.h.HeartwoodStoryteller.class));
|
||||
cards.add(new SetCardInfo("Henchfiend of Ukor", 117, Rarity.COMMON, mage.cards.h.HenchfiendOfUkor.class));
|
||||
cards.add(new SetCardInfo("Homing Sliver", 118, Rarity.COMMON, mage.cards.h.HomingSliver.class));
|
||||
cards.add(new SetCardInfo("Horizon Canopy", 177, Rarity.RARE, mage.cards.h.HorizonCanopy.class));
|
||||
cards.add(new SetCardInfo("Ichor Slick", 68, Rarity.COMMON, mage.cards.i.IchorSlick.class));
|
||||
cards.add(new SetCardInfo("Imperiosaur", 145, Rarity.UNCOMMON, mage.cards.i.Imperiosaur.class));
|
||||
cards.add(new SetCardInfo("Infiltrator il-Kor", 37, Rarity.COMMON, mage.cards.i.InfiltratorIlKor.class));
|
||||
cards.add(new SetCardInfo("Intervention Pact", 8, Rarity.RARE, mage.cards.i.InterventionPact.class));
|
||||
cards.add(new SetCardInfo("Jhoira of the Ghitu", 157, Rarity.RARE, mage.cards.j.JhoiraOfTheGhitu.class));
|
||||
cards.add(new SetCardInfo("Judge Unworthy", 9, Rarity.COMMON, mage.cards.j.JudgeUnworthy.class));
|
||||
cards.add(new SetCardInfo("Kavu Primarch", 128, Rarity.COMMON, mage.cards.k.KavuPrimarch.class));
|
||||
cards.add(new SetCardInfo("Keldon Megaliths", 170, Rarity.UNCOMMON, mage.cards.k.KeldonMegaliths.class));
|
||||
cards.add(new SetCardInfo("Knight of Sursi", 10, Rarity.COMMON, mage.cards.k.KnightOfSursi.class));
|
||||
cards.add(new SetCardInfo("Korlash, Heir to Blackblade", 87, Rarity.RARE, mage.cards.k.KorlashHeirToBlackblade.class));
|
||||
cards.add(new SetCardInfo("Leaden Fists", 38, Rarity.COMMON, mage.cards.l.LeadenFists.class));
|
||||
cards.add(new SetCardInfo("Linessa, Zephyr Mage", 51, Rarity.RARE, mage.cards.l.LinessaZephyrMage.class));
|
||||
cards.add(new SetCardInfo("Llanowar Augur", 129, Rarity.COMMON, mage.cards.l.LlanowarAugur.class));
|
||||
cards.add(new SetCardInfo("Llanowar Empath", 130, Rarity.COMMON, mage.cards.l.LlanowarEmpath.class));
|
||||
cards.add(new SetCardInfo("Llanowar Mentor", 131, Rarity.UNCOMMON, mage.cards.l.LlanowarMentor.class));
|
||||
cards.add(new SetCardInfo("Llanowar Reborn", 171, Rarity.UNCOMMON, mage.cards.l.LlanowarReborn.class));
|
||||
cards.add(new SetCardInfo("Logic Knot", 52, Rarity.COMMON, mage.cards.l.LogicKnot.class));
|
||||
cards.add(new SetCardInfo("Lost Auramancers", 11, Rarity.UNCOMMON, mage.cards.l.LostAuramancers.class));
|
||||
cards.add(new SetCardInfo("Lucent Liminid", 24, Rarity.COMMON, mage.cards.l.LucentLiminid.class));
|
||||
cards.add(new SetCardInfo("Lumithread Field", 25, Rarity.COMMON, mage.cards.l.LumithreadField.class));
|
||||
cards.add(new SetCardInfo("Lymph Sliver", 26, Rarity.COMMON, mage.cards.l.LymphSliver.class));
|
||||
cards.add(new SetCardInfo("Maelstrom Djinn", 39, Rarity.RARE, mage.cards.m.MaelstromDjinn.class));
|
||||
cards.add(new SetCardInfo("Magus of the Abyss", 70, Rarity.RARE, mage.cards.m.MagusOfTheAbyss.class));
|
||||
cards.add(new SetCardInfo("Magus of the Future", 40, Rarity.RARE, mage.cards.m.MagusOfTheFuture.class));
|
||||
cards.add(new SetCardInfo("Magus of the Moat", 12, Rarity.RARE, mage.cards.m.MagusOfTheMoat.class));
|
||||
cards.add(new SetCardInfo("Magus of the Moon", 101, Rarity.RARE, mage.cards.m.MagusOfTheMoon.class));
|
||||
cards.add(new SetCardInfo("Magus of the Vineyard", 132, Rarity.RARE, mage.cards.m.MagusOfTheVineyard.class));
|
||||
cards.add(new SetCardInfo("Marshaling Cry", 13, Rarity.COMMON, mage.cards.m.MarshalingCry.class));
|
||||
cards.add(new SetCardInfo("Mass of Ghouls", 88, Rarity.COMMON, mage.cards.m.MassOfGhouls.class));
|
||||
cards.add(new SetCardInfo("Mesmeric Sliver", 53, Rarity.COMMON, mage.cards.m.MesmericSliver.class));
|
||||
cards.add(new SetCardInfo("Minions' Murmurs", 71, Rarity.UNCOMMON, mage.cards.m.MinionsMurmurs.class));
|
||||
cards.add(new SetCardInfo("Mistmeadow Skulk", 27, Rarity.UNCOMMON, mage.cards.m.MistmeadowSkulk.class));
|
||||
cards.add(new SetCardInfo("Molten Disaster", 102, Rarity.RARE, mage.cards.m.MoltenDisaster.class));
|
||||
cards.add(new SetCardInfo("Muraganda Petroglyphs", 146, Rarity.RARE, mage.cards.m.MuragandaPetroglyphs.class));
|
||||
cards.add(new SetCardInfo("Mystic Speculation", 41, Rarity.UNCOMMON, mage.cards.m.MysticSpeculation.class));
|
||||
cards.add(new SetCardInfo("Nacatl War-Pride", 147, Rarity.UNCOMMON, mage.cards.n.NacatlWarPride.class));
|
||||
cards.add(new SetCardInfo("Narcomoeba", 54, Rarity.UNCOMMON, mage.cards.n.Narcomoeba.class));
|
||||
cards.add(new SetCardInfo("Nessian Courser", 148, Rarity.COMMON, mage.cards.n.NessianCourser.class));
|
||||
cards.add(new SetCardInfo("New Benalia", 172, Rarity.UNCOMMON, mage.cards.n.NewBenalia.class));
|
||||
cards.add(new SetCardInfo("Nihilith", 72, Rarity.RARE, mage.cards.n.Nihilith.class));
|
||||
cards.add(new SetCardInfo("Nimbus Maze", 178, Rarity.RARE, mage.cards.n.NimbusMaze.class));
|
||||
cards.add(new SetCardInfo("Nix", 55, Rarity.RARE, mage.cards.n.Nix.class));
|
||||
cards.add(new SetCardInfo("Oblivion Crown", 73, Rarity.COMMON, mage.cards.o.OblivionCrown.class));
|
||||
cards.add(new SetCardInfo("Oriss, Samite Guardian", 28, Rarity.RARE, mage.cards.o.OrissSamiteGuardian.class));
|
||||
cards.add(new SetCardInfo("Pact of Negation", 42, Rarity.RARE, mage.cards.p.PactOfNegation.class));
|
||||
cards.add(new SetCardInfo("Pact of the Titan", 103, Rarity.RARE, mage.cards.p.PactOfTheTitan.class));
|
||||
cards.add(new SetCardInfo("Patrician's Scorn", 29, Rarity.COMMON, mage.cards.p.PatriciansScorn.class));
|
||||
cards.add(new SetCardInfo("Petrified Plating", 133, Rarity.COMMON, mage.cards.p.PetrifiedPlating.class));
|
||||
cards.add(new SetCardInfo("Phosphorescent Feast", 149, Rarity.UNCOMMON, mage.cards.p.PhosphorescentFeast.class));
|
||||
cards.add(new SetCardInfo("Pooling Venom", 74, Rarity.UNCOMMON, mage.cards.p.PoolingVenom.class));
|
||||
cards.add(new SetCardInfo("Pyromancer's Swath", 104, Rarity.RARE, mage.cards.p.PyromancersSwath.class));
|
||||
cards.add(new SetCardInfo("Quagnoth", 150, Rarity.RARE, mage.cards.q.Quagnoth.class));
|
||||
cards.add(new SetCardInfo("Quiet Disrepair", 134, Rarity.COMMON, mage.cards.q.QuietDisrepair.class));
|
||||
cards.add(new SetCardInfo("Ramosian Revivalist", 30, Rarity.UNCOMMON, mage.cards.r.RamosianRevivalist.class));
|
||||
cards.add(new SetCardInfo("Ravaging Riftwurm", 135, Rarity.UNCOMMON, mage.cards.r.RavagingRiftwurm.class));
|
||||
cards.add(new SetCardInfo("Reality Strobe", 43, Rarity.UNCOMMON, mage.cards.r.RealityStrobe.class));
|
||||
cards.add(new SetCardInfo("Riddle of Lightning", 105, Rarity.COMMON, mage.cards.r.RiddleOfLightning.class));
|
||||
cards.add(new SetCardInfo("Rift Elemental", 106, Rarity.COMMON, mage.cards.r.RiftElemental.class));
|
||||
cards.add(new SetCardInfo("Riftsweeper", 136, Rarity.UNCOMMON, mage.cards.r.Riftsweeper.class));
|
||||
cards.add(new SetCardInfo("Rites of Flourishing", 137, Rarity.RARE, mage.cards.r.RitesOfFlourishing.class));
|
||||
cards.add(new SetCardInfo("River of Tears", 179, Rarity.RARE, mage.cards.r.RiverOfTears.class));
|
||||
cards.add(new SetCardInfo("Saltskitter", 14, Rarity.COMMON, mage.cards.s.Saltskitter.class));
|
||||
cards.add(new SetCardInfo("Sarcomite Myr", 56, Rarity.COMMON, mage.cards.s.SarcomiteMyr.class));
|
||||
cards.add(new SetCardInfo("Scourge of Kher Ridges", 107, Rarity.RARE, mage.cards.s.ScourgeOfKherRidges.class));
|
||||
cards.add(new SetCardInfo("Scout's Warning", 16, Rarity.RARE, mage.cards.s.ScoutsWarning.class));
|
||||
cards.add(new SetCardInfo("Second Wind", 57, Rarity.UNCOMMON, mage.cards.s.SecondWind.class));
|
||||
cards.add(new SetCardInfo("Seht's Tiger", 31, Rarity.RARE, mage.cards.s.SehtsTiger.class));
|
||||
cards.add(new SetCardInfo("Shapeshifter's Marrow", 58, Rarity.RARE, mage.cards.s.ShapeshiftersMarrow.class));
|
||||
cards.add(new SetCardInfo("Shimian Specter", 76, Rarity.RARE, mage.cards.s.ShimianSpecter.class));
|
||||
cards.add(new SetCardInfo("Skirk Ridge Exhumer", 77, Rarity.UNCOMMON, mage.cards.s.SkirkRidgeExhumer.class));
|
||||
cards.add(new SetCardInfo("Skizzik Surger", 120, Rarity.UNCOMMON, mage.cards.s.SkizzikSurger.class));
|
||||
cards.add(new SetCardInfo("Slaughter Pact", 78, Rarity.RARE, mage.cards.s.SlaughterPact.class));
|
||||
cards.add(new SetCardInfo("Sliver Legion", 158, Rarity.RARE, mage.cards.s.SliverLegion.class));
|
||||
cards.add(new SetCardInfo("Sliversmith", 163, Rarity.UNCOMMON, mage.cards.s.Sliversmith.class));
|
||||
cards.add(new SetCardInfo("Snake Cult Initiation", 89, Rarity.UNCOMMON, mage.cards.s.SnakeCultInitiation.class));
|
||||
cards.add(new SetCardInfo("Soultether Golem", 164, Rarity.UNCOMMON, mage.cards.s.SoultetherGolem.class));
|
||||
cards.add(new SetCardInfo("Sparkspitter", 109, Rarity.UNCOMMON, mage.cards.s.Sparkspitter.class));
|
||||
cards.add(new SetCardInfo("Spin into Myth", 60, Rarity.UNCOMMON, mage.cards.s.SpinIntoMyth.class));
|
||||
cards.add(new SetCardInfo("Spirit en-Dal", 17, Rarity.UNCOMMON, mage.cards.s.SpiritEnDal.class));
|
||||
cards.add(new SetCardInfo("Sporoloth Ancient", 152, Rarity.COMMON, mage.cards.s.SporolothAncient.class));
|
||||
cards.add(new SetCardInfo("Sprout Swarm", 138, Rarity.COMMON, mage.cards.s.SproutSwarm.class));
|
||||
cards.add(new SetCardInfo("Storm Entity", 122, Rarity.UNCOMMON, mage.cards.s.StormEntity.class));
|
||||
cards.add(new SetCardInfo("Street Wraith", 90, Rarity.UNCOMMON, mage.cards.s.StreetWraith.class));
|
||||
cards.add(new SetCardInfo("Stronghold Rats", 79, Rarity.UNCOMMON, mage.cards.s.StrongholdRats.class));
|
||||
cards.add(new SetCardInfo("Summoner's Pact", 139, Rarity.RARE, mage.cards.s.SummonersPact.class));
|
||||
cards.add(new SetCardInfo("Sword of the Meek", 165, Rarity.UNCOMMON, mage.cards.s.SwordOfTheMeek.class));
|
||||
cards.add(new SetCardInfo("Take Possession", 44, Rarity.RARE, mage.cards.t.TakePossession.class));
|
||||
cards.add(new SetCardInfo("Tarmogoyf", 153, Rarity.RARE, mage.cards.t.Tarmogoyf.class));
|
||||
cards.add(new SetCardInfo("Tarox Bladewing", 123, Rarity.RARE, mage.cards.t.TaroxBladewing.class));
|
||||
cards.add(new SetCardInfo("Thornweald Archer", 154, Rarity.COMMON, mage.cards.t.ThornwealdArcher.class));
|
||||
cards.add(new SetCardInfo("Tolaria West", 173, Rarity.UNCOMMON, mage.cards.t.TolariaWest.class));
|
||||
cards.add(new SetCardInfo("Tombstalker", 91, Rarity.RARE, mage.cards.t.Tombstalker.class));
|
||||
cards.add(new SetCardInfo("Unblinking Bleb", 45, Rarity.COMMON, mage.cards.u.UnblinkingBleb.class));
|
||||
cards.add(new SetCardInfo("Utopia Mycon", 140, Rarity.UNCOMMON, mage.cards.u.UtopiaMycon.class));
|
||||
cards.add(new SetCardInfo("Vedalken Aethermage", 61, Rarity.COMMON, mage.cards.v.VedalkenAethermage.class));
|
||||
cards.add(new SetCardInfo("Veilstone Amulet", 166, Rarity.RARE, mage.cards.v.VeilstoneAmulet.class));
|
||||
cards.add(new SetCardInfo("Venser, Shaper Savant", 46, Rarity.RARE, mage.cards.v.VenserShaperSavant.class));
|
||||
cards.add(new SetCardInfo("Virulent Sliver", 155, Rarity.COMMON, mage.cards.v.VirulentSliver.class));
|
||||
cards.add(new SetCardInfo("Whetwheel", 168, Rarity.RARE, mage.cards.w.Whetwheel.class));
|
||||
cards.add(new SetCardInfo("Whip-Spine Drake", 62, Rarity.COMMON, mage.cards.w.WhipSpineDrake.class));
|
||||
cards.add(new SetCardInfo("Witch's Mist", 92, Rarity.UNCOMMON, mage.cards.w.WitchsMist.class));
|
||||
cards.add(new SetCardInfo("Wrap in Vigor", 141, Rarity.COMMON, mage.cards.w.WrapInVigor.class));
|
||||
cards.add(new SetCardInfo("Yixlid Jailer", 93, Rarity.UNCOMMON, mage.cards.y.YixlidJailer.class));
|
||||
cards.add(new SetCardInfo("Zoetic Cavern", 180, Rarity.UNCOMMON, mage.cards.z.ZoeticCavern.class));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,6 +105,9 @@ public class EntersBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl {
|
|||
UUID targetId = event.getTargetId();
|
||||
Permanent permanent = game.getPermanent(targetId);
|
||||
if (permanent != null && filter.match(permanent, getSourceId(), getControllerId(), game)) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
effect.setValue("permanentEnteringBattlefield", permanent);
|
||||
}
|
||||
if (setTargetPointer != SetTargetPointer.NONE) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
switch (setTargetPointer) {
|
||||
|
|
|
@ -58,8 +58,7 @@ public enum CardRepository {
|
|||
// raise this if db structure was changed
|
||||
private static final long CARD_DB_VERSION = 51;
|
||||
// raise this if new cards were added to the server
|
||||
private static final long CARD_CONTENT_VERSION = 87;
|
||||
private final TreeSet<String> landTypes = new TreeSet<>();
|
||||
private static final long CARD_CONTENT_VERSION = 89;
|
||||
private Dao<CardInfo, Object> cardDao;
|
||||
private Set<String> classNames;
|
||||
|
||||
|
|
|
@ -1829,7 +1829,7 @@ public abstract class PlayerImpl implements Player, Serializable {
|
|||
MageObject sourceObject = game.getObject(sourceId);
|
||||
game.informPlayers(damage + " damage "
|
||||
+ (sourceObject == null ? "" : "from " + sourceObject.getLogName())
|
||||
+ "to " + getLogName()
|
||||
+ " to " + getLogName()
|
||||
+ (damage > 1 ? " were" : "was") + " prevented because of protection.");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue