mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Merge branch 'master' into newmaster
This commit is contained in:
@@ -275,56 +275,51 @@ public class GameAction {
|
|||||||
lastKnownInfo = CardUtil.getLKICopy(c);
|
lastKnownInfo = CardUtil.getLKICopy(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!c.isRealToken()) {
|
copied = CardFactory.copyCard(c, false);
|
||||||
copied = CardFactory.copyCard(c, false);
|
|
||||||
|
|
||||||
if (zoneTo.is(ZoneType.Stack)) {
|
if (zoneTo.is(ZoneType.Stack)) {
|
||||||
// when moving to stack, copy changed card information
|
// when moving to stack, copy changed card information
|
||||||
copied.setChangedCardColors(c.getChangedCardColorsTable());
|
copied.setChangedCardColors(c.getChangedCardColorsTable());
|
||||||
copied.setChangedCardColorsCharacterDefining(c.getChangedCardColorsCharacterDefiningTable());
|
copied.setChangedCardColorsCharacterDefining(c.getChangedCardColorsCharacterDefiningTable());
|
||||||
copied.setChangedCardKeywords(c.getChangedCardKeywords());
|
copied.setChangedCardKeywords(c.getChangedCardKeywords());
|
||||||
copied.setChangedCardTypes(c.getChangedCardTypesTable());
|
copied.setChangedCardTypes(c.getChangedCardTypesTable());
|
||||||
copied.setChangedCardTypesCharacterDefining(c.getChangedCardTypesCharacterDefiningTable());
|
copied.setChangedCardTypesCharacterDefining(c.getChangedCardTypesCharacterDefiningTable());
|
||||||
copied.setChangedCardNames(c.getChangedCardNames());
|
copied.setChangedCardNames(c.getChangedCardNames());
|
||||||
copied.setChangedCardTraits(c.getChangedCardTraits());
|
copied.setChangedCardTraits(c.getChangedCardTraits());
|
||||||
copied.setDrawnThisTurn(c.getDrawnThisTurn());
|
copied.setDrawnThisTurn(c.getDrawnThisTurn());
|
||||||
|
|
||||||
copied.copyChangedTextFrom(c);
|
copied.copyChangedTextFrom(c);
|
||||||
copied.setTimestamp(c.getTimestamp());
|
copied.setTimestamp(c.getTimestamp());
|
||||||
|
|
||||||
// clean up changes that come from its own static abilities
|
// clean up changes that come from its own static abilities
|
||||||
copied.cleanupCopiedChangesFrom(c);
|
copied.cleanupCopiedChangesFrom(c);
|
||||||
|
|
||||||
// copy exiled properties when adding to stack
|
// copy exiled properties when adding to stack
|
||||||
// will be cleanup later in MagicStack
|
// will be cleanup later in MagicStack
|
||||||
copied.setExiledWith(c.getExiledWith());
|
copied.setExiledWith(c.getExiledWith());
|
||||||
copied.setExiledBy(c.getExiledBy());
|
copied.setExiledBy(c.getExiledBy());
|
||||||
|
|
||||||
// copy bestow timestamp
|
// copy bestow timestamp
|
||||||
copied.setBestowTimestamp(c.getBestowTimestamp());
|
copied.setBestowTimestamp(c.getBestowTimestamp());
|
||||||
} else {
|
} else {
|
||||||
// when a card leaves the battlefield, ensure it's in its original state
|
// when a card leaves the battlefield, ensure it's in its original state
|
||||||
// (we need to do this on the object before copying it, or it won't work correctly e.g.
|
// (we need to do this on the object before copying it, or it won't work correctly e.g.
|
||||||
// on Transformed objects)
|
// on Transformed objects)
|
||||||
copied.setState(CardStateName.Original, false);
|
copied.setState(CardStateName.Original, false);
|
||||||
copied.setBackSide(false);
|
copied.setBackSide(false);
|
||||||
|
|
||||||
// reset timestamp in changezone effects so they have same timestamp if ETB simultaneously
|
// reset timestamp in changezone effects so they have same timestamp if ETB simultaneously
|
||||||
copied.setTimestamp(game.getNextTimestamp());
|
|
||||||
}
|
|
||||||
|
|
||||||
copied.setUnearthed(c.isUnearthed());
|
|
||||||
copied.setTapped(false);
|
|
||||||
|
|
||||||
// need to copy counters when card enters another zone than hand or library
|
|
||||||
if (lastKnownInfo.hasKeyword("Counters remain on CARDNAME as it moves to any zone other than a player's hand or library.") &&
|
|
||||||
!(zoneTo.is(ZoneType.Hand) || zoneTo.is(ZoneType.Library))) {
|
|
||||||
copied.setCounters(Maps.newHashMap(lastKnownInfo.getCounters()));
|
|
||||||
}
|
|
||||||
} else { //Token
|
|
||||||
copied = c;
|
|
||||||
copied.setTimestamp(game.getNextTimestamp());
|
copied.setTimestamp(game.getNextTimestamp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copied.setUnearthed(c.isUnearthed());
|
||||||
|
copied.setTapped(false);
|
||||||
|
|
||||||
|
// need to copy counters when card enters another zone than hand or library
|
||||||
|
if (lastKnownInfo.hasKeyword("Counters remain on CARDNAME as it moves to any zone other than a player's hand or library.") &&
|
||||||
|
!(zoneTo.is(ZoneType.Hand) || zoneTo.is(ZoneType.Library))) {
|
||||||
|
copied.setCounters(Maps.newHashMap(lastKnownInfo.getCounters()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ensure that any leftover keyword/type changes are cleared in the state view
|
// ensure that any leftover keyword/type changes are cleared in the state view
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ public enum ApiType {
|
|||||||
Cleanup (CleanUpEffect.class),
|
Cleanup (CleanUpEffect.class),
|
||||||
Clone (CloneEffect.class),
|
Clone (CloneEffect.class),
|
||||||
CompanionChoose (ChooseCompanionEffect.class),
|
CompanionChoose (ChooseCompanionEffect.class),
|
||||||
|
Connive (ConniveEffect.class),
|
||||||
CopyPermanent (CopyPermanentEffect.class),
|
CopyPermanent (CopyPermanentEffect.class),
|
||||||
CopySpellAbility (CopySpellAbilityEffect.class),
|
CopySpellAbility (CopySpellAbilityEffect.class),
|
||||||
ControlSpell (ControlSpellEffect.class),
|
ControlSpell (ControlSpellEffect.class),
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
package forge.game.ability.effects;
|
||||||
|
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import forge.game.Game;
|
||||||
|
import forge.game.GameActionUtil;
|
||||||
|
import forge.game.GameEntityCounterTable;
|
||||||
|
import forge.game.ability.AbilityFactory;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
|
import forge.game.ability.AbilityUtils;
|
||||||
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
|
import forge.game.card.*;
|
||||||
|
import forge.game.player.Player;
|
||||||
|
import forge.game.spellability.SpellAbility;
|
||||||
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.util.Lang;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ConniveEffect extends SpellAbilityEffect {
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.game.ability.SpellAbilityEffect#getStackDescription(forge.game.spellability.SpellAbility)
|
||||||
|
* returns the automatically generated stack description string
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected String getStackDescription(SpellAbility sa) {
|
||||||
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
List<Card> tgt = getTargetCards(sa);
|
||||||
|
|
||||||
|
sb.append(Lang.joinHomogenous(tgt)).append(tgt.size() > 1 ? " connive." : " connives.");
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.game.ability.SpellAbilityEffect#resolve(forge.game.spellability.SpellAbility)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void resolve(SpellAbility sa) {
|
||||||
|
final Card host = sa.getHostCard();
|
||||||
|
final Player hostCon = host.getController();
|
||||||
|
final Game game = host.getGame();
|
||||||
|
final int num = AbilityUtils.calculateAmount(host, sa.getParamOrDefault("ConniveNum", "1"), sa);
|
||||||
|
|
||||||
|
GameEntityCounterTable table = new GameEntityCounterTable();
|
||||||
|
final CardZoneTable triggerList = new CardZoneTable();
|
||||||
|
Map<Player, CardCollectionView> discardedMap = Maps.newHashMap();
|
||||||
|
Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
|
||||||
|
moveParams.put(AbilityKey.LastStateBattlefield, sa.getLastStateBattlefield());
|
||||||
|
moveParams.put(AbilityKey.LastStateGraveyard, sa.getLastStateGraveyard());
|
||||||
|
|
||||||
|
for (final Card c : getTargetCards(sa)) {
|
||||||
|
final Player p = c.getController();
|
||||||
|
|
||||||
|
p.drawCards(num, sa, moveParams);
|
||||||
|
|
||||||
|
CardCollectionView dPHand = p.getCardsIn(ZoneType.Hand);
|
||||||
|
dPHand = CardLists.filter(dPHand, CardPredicates.Presets.NON_TOKEN);
|
||||||
|
if (dPHand.isEmpty()) { // seems unlikely, but just to be safe
|
||||||
|
continue; // for loop over players
|
||||||
|
}
|
||||||
|
|
||||||
|
CardCollection validCards = CardLists.getValidCards(dPHand, "Card", hostCon, host, sa);
|
||||||
|
|
||||||
|
if (!p.canDiscardBy(sa, true)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int amt = Math.min(validCards.size(), num);
|
||||||
|
CardCollectionView toBeDiscarded = amt == 0 ? CardCollection.EMPTY :
|
||||||
|
p.getController().chooseCardsToDiscardFrom(p, sa, validCards, amt, amt);
|
||||||
|
|
||||||
|
if (toBeDiscarded.size() > 1) {
|
||||||
|
toBeDiscarded = GameActionUtil.orderCardsByTheirOwners(game, toBeDiscarded, ZoneType.Graveyard, sa);
|
||||||
|
}
|
||||||
|
|
||||||
|
discardedMap.put(p, toBeDiscarded);
|
||||||
|
|
||||||
|
int numCntrs = CardLists.getValidCardCount(toBeDiscarded, "Card.nonLand", hostCon, host, sa);
|
||||||
|
|
||||||
|
// need to get newest game state to check if it is still on the battlefield and the timestamp didn't change
|
||||||
|
Card gamec = game.getCardState(c);
|
||||||
|
// if the card is not in the game anymore, this might still return true, but it's no problem
|
||||||
|
if (game.getZoneOf(gamec).is(ZoneType.Battlefield) && gamec.equalsWithTimestamp(c)) {
|
||||||
|
c.addCounter(CounterEnumType.P1P1, numCntrs, p, table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
discard(sa, triggerList, true, discardedMap, moveParams);
|
||||||
|
table.replaceCounterEffect(game, sa, true);
|
||||||
|
triggerList.triggerChangesZoneAll(game, sa);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -45,8 +45,16 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
final StringBuilder stringBuilder = new StringBuilder();
|
final StringBuilder stringBuilder = new StringBuilder();
|
||||||
final Card card = spellAbility.getHostCard();
|
final Card card = spellAbility.getHostCard();
|
||||||
|
|
||||||
final int amount = AbilityUtils.calculateAmount(card, spellAbility.getParamOrDefault("CounterNum", "1"),
|
final int amount = AbilityUtils.calculateAmount(card,
|
||||||
spellAbility);
|
spellAbility.getParamOrDefault("CounterNum", "1"), spellAbility);
|
||||||
|
if (spellAbility.hasParam("CounterTypes")) {
|
||||||
|
stringBuilder.append(spellAbility.getActivatingPlayer()).append(" ");
|
||||||
|
String desc = spellAbility.getDescription();
|
||||||
|
desc = desc.substring(desc.indexOf("Put"), desc.indexOf(" on ") + 4)
|
||||||
|
.replaceFirst("Put", "puts");
|
||||||
|
stringBuilder.append(desc).append(Lang.joinHomogenous(getTargets(spellAbility))).append(".");
|
||||||
|
return stringBuilder.toString();
|
||||||
|
}
|
||||||
// skip the StringBuilder if no targets are chosen ("up to" scenario)
|
// skip the StringBuilder if no targets are chosen ("up to" scenario)
|
||||||
if (spellAbility.usesTargeting()) {
|
if (spellAbility.usesTargeting()) {
|
||||||
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
final List<Card> targetCards = SpellAbilityEffect.getTargetCards(spellAbility);
|
||||||
@@ -250,6 +258,51 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sa.hasParam("ChooseDifferent")) {
|
||||||
|
final int num = Integer.parseInt(sa.getParam("ChooseDifferent"));
|
||||||
|
final List<CounterType> typesToAdd = Lists.newArrayList();
|
||||||
|
String options = sa.getParam("CounterType");
|
||||||
|
for (int i = 0; i < num; i++) {
|
||||||
|
CounterType ct = chooseTypeFromList(sa, options, obj, pc);
|
||||||
|
typesToAdd.add(ct);
|
||||||
|
options = options.replace(ct.getName(),"");
|
||||||
|
}
|
||||||
|
for (CounterType ct : typesToAdd) {
|
||||||
|
if (obj instanceof Player) {
|
||||||
|
((Player) obj).addCounter(ct, counterAmount, placer, table);
|
||||||
|
}
|
||||||
|
if (obj instanceof Card) {
|
||||||
|
if (etbcounter) {
|
||||||
|
gameCard.addEtbCounter(ct, counterAmount, placer);
|
||||||
|
} else {
|
||||||
|
gameCard.addCounter(ct, counterAmount, placer, table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sa.hasParam("CounterTypes")) {
|
||||||
|
final List<CounterType> typesToAdd = Lists.newArrayList();
|
||||||
|
String types = sa.getParam("CounterTypes");
|
||||||
|
if (types.contains("ChosenFromList")) {
|
||||||
|
typesToAdd.add(chooseTypeFromList(sa, sa.getParam("TypeList"), obj, pc));
|
||||||
|
types = types.replace("ChosenFromList", "");
|
||||||
|
}
|
||||||
|
for (String type : types.split(",")) {
|
||||||
|
typesToAdd.add(CounterType.getType(type));
|
||||||
|
}
|
||||||
|
for (CounterType ct : typesToAdd) {
|
||||||
|
if (obj instanceof Player) {
|
||||||
|
((Player) obj).addCounter(ct, counterAmount, placer, table);
|
||||||
|
}
|
||||||
|
if (obj instanceof Card) {
|
||||||
|
gameCard.addCounter(ct, counterAmount, placer, table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (existingCounter) {
|
if (existingCounter) {
|
||||||
final List<CounterType> choices = Lists.newArrayList();
|
final List<CounterType> choices = Lists.newArrayList();
|
||||||
// get types of counters
|
// get types of counters
|
||||||
@@ -295,17 +348,8 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (sa.hasParam("CounterTypePerDefined")) {
|
if (sa.hasParam("CounterTypePerDefined") || sa.hasParam("UniqueType")) {
|
||||||
List<CounterType> choices = Lists.newArrayList();
|
counterType = chooseTypeFromList(sa, sa.getParam("CounterType"), obj, pc);
|
||||||
for (String s : sa.getParam("CounterType").split(",")) {
|
|
||||||
choices.add(CounterType.getType(s));
|
|
||||||
}
|
|
||||||
Map<String, Object> params = Maps.newHashMap();
|
|
||||||
params.put("Target", obj);
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo") + " ");
|
|
||||||
sb.append(obj);
|
|
||||||
counterType = pc.chooseCounterType(choices, sa, sb.toString(), params);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj instanceof Card) {
|
if (obj instanceof Card) {
|
||||||
@@ -471,16 +515,11 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
} else {
|
} else {
|
||||||
CounterType counterType = null;
|
CounterType counterType = null;
|
||||||
if (!sa.hasParam("EachExistingCounter") && !sa.hasParam("EachFromSource")
|
if (!sa.hasParam("EachExistingCounter") && !sa.hasParam("EachFromSource")
|
||||||
&& !sa.hasParam("CounterTypePerDefined")) {
|
&& !sa.hasParam("UniqueType") && !sa.hasParam("CounterTypePerDefined")
|
||||||
|
&& !sa.hasParam("CounterTypes") && !sa.hasParam("ChooseDifferent")) {
|
||||||
try {
|
try {
|
||||||
List<CounterType> choices = Lists.newArrayList();
|
counterType = chooseTypeFromList(sa, sa.getParam("CounterType"), null,
|
||||||
for (String s : sa.getParam("CounterType").split(",")) {
|
placer.getController());
|
||||||
choices.add(CounterType.getType(s));
|
|
||||||
}
|
|
||||||
Map<String, Object> params = Maps.newHashMap();
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo"));
|
|
||||||
counterType = placer.getController().chooseCounterType(choices, sa, sb.toString(), params);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("Counter type doesn't match, nor does an SVar exist with the type name.");
|
System.out.println("Counter type doesn't match, nor does an SVar exist with the type name.");
|
||||||
return;
|
return;
|
||||||
@@ -541,6 +580,27 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected CounterType chooseTypeFromList(SpellAbility sa, String list, GameEntity obj, PlayerController pc) {
|
||||||
|
List<CounterType> choices = Lists.newArrayList();
|
||||||
|
for (String s : list.split(",")) {
|
||||||
|
if (!s.equals("") && (!sa.hasParam("UniqueType") || obj.getCounters(CounterType.getType(s)) == 0)) {
|
||||||
|
choices.add(CounterType.getType(s));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sa.hasParam("RandomType")) {
|
||||||
|
return Aggregates.random(choices);
|
||||||
|
}
|
||||||
|
Map<String, Object> params = Maps.newHashMap();
|
||||||
|
params.put("Target", obj);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
if (obj != null) {
|
||||||
|
sb.append(Localizer.getInstance().getMessage("lblSelectCounterTypeAddTo")).append(" ").append(obj);
|
||||||
|
} else {
|
||||||
|
sb.append(Localizer.getInstance().getMessage("lblSelectCounterType"));
|
||||||
|
}
|
||||||
|
return pc.chooseCounterType(choices, sa, sb.toString(), params);
|
||||||
|
}
|
||||||
|
|
||||||
protected String logOutput(Map<Object, Integer> randomMap, Card card) {
|
protected String logOutput(Map<Object, Integer> randomMap, Card card) {
|
||||||
StringBuilder randomLog = new StringBuilder();
|
StringBuilder randomLog = new StringBuilder();
|
||||||
randomLog.append(card.getName()).append(" randomly distributed ");
|
randomLog.append(card.getName()).append(" randomly distributed ");
|
||||||
|
|||||||
@@ -67,14 +67,34 @@ public class DigEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String verb2 = "put ";
|
String verb2 = "put ";
|
||||||
String where = "in their hand ";
|
String where = " in their hand ";
|
||||||
if (destZone1.equals("exile")) {
|
if (destZone1.equals("exile")) {
|
||||||
verb2 = "exile ";
|
verb2 = "exile ";
|
||||||
where = "";
|
where = " ";
|
||||||
|
} else if (destZone1.equals("battlefield")) {
|
||||||
|
verb2 = "put ";
|
||||||
|
where = " onto the battlefield ";
|
||||||
}
|
}
|
||||||
sb.append(" They ").append(verb2).append(Lang.getNumeral(numToChange)).append(" of them ").append(where);
|
|
||||||
sb.append(sa.hasParam("ExileFaceDown") ? "face down " : "").append("and put the rest ");
|
sb.append(" They ").append(sa.hasParam("Optional") ? "may " : "").append(verb2);
|
||||||
sb.append(destZone2);
|
if (sa.hasParam("ChangeValid")) {
|
||||||
|
String what = sa.hasParam("ChangeValidDesc") ? sa.getParam("ChangeValidDesc") :
|
||||||
|
sa.getParam("ChangeValid");
|
||||||
|
sb.append(Lang.nounWithNumeralExceptOne(numToChange, what)).append(" from among them").append(where);
|
||||||
|
} else {
|
||||||
|
sb.append(Lang.getNumeral(numToChange)).append(" of them").append(where);
|
||||||
|
}
|
||||||
|
sb.append(sa.hasParam("ExileFaceDown") ? "face down " : "");
|
||||||
|
if (sa.hasParam("WithCounter") || sa.hasParam("ExileWithCounter")) {
|
||||||
|
String ctr = sa.hasParam("WithCounter") ? sa.getParam("WithCounter") :
|
||||||
|
sa.getParam("ExileWithCounter");
|
||||||
|
sb.append("with a ");
|
||||||
|
sb.append(CounterType.getType(ctr).getName().toLowerCase());
|
||||||
|
sb.append(" counter on it. They ");
|
||||||
|
} else {
|
||||||
|
sb.append("and ");
|
||||||
|
}
|
||||||
|
sb.append("put the rest ").append(destZone2);
|
||||||
}
|
}
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
@@ -388,6 +408,9 @@ public class DigEffect extends SpellAbilityEffect {
|
|||||||
if (sa.hasParam("Tapped")) {
|
if (sa.hasParam("Tapped")) {
|
||||||
c.setTapped(true);
|
c.setTapped(true);
|
||||||
}
|
}
|
||||||
|
if (destZone1.equals(ZoneType.Battlefield) && sa.hasParam("WithCounter")) {
|
||||||
|
c.addEtbCounter(CounterType.getType(sa.getParam("WithCounter")), 1, player);
|
||||||
|
}
|
||||||
c = game.getAction().moveTo(zone, c, sa, moveParams);
|
c = game.getAction().moveTo(zone, c, sa, moveParams);
|
||||||
if (destZone1.equals(ZoneType.Battlefield)) {
|
if (destZone1.equals(ZoneType.Battlefield)) {
|
||||||
if (addToCombat(c, c.getController(), sa, "Attacking", "Blocking")) {
|
if (addToCombat(c, c.getController(), sa, "Attacking", "Blocking")) {
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ ManaCost:1 B
|
|||||||
Types:Creature Beast
|
Types:Creature Beast
|
||||||
PT:2/1
|
PT:2/1
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Deathtouch,Lifelink | SpellDescription$ CARDNAME enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Deathtouch,Lifelink | SpellDescription$ CARDNAME enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
|
||||||
SVar:Deathtouch:DB$ PutCounter | CounterType$ Deathtouch | CounterNum$ 1 | ETB$ True | SpellDescription$ Deathtouch
|
DeckHints:Ability$Counters|LifeGain
|
||||||
SVar:Lifelink:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | ETB$ True | SpellDescription$ Lifelink
|
|
||||||
DeckHints:Ability$Counters
|
|
||||||
Oracle:Boot Nipper enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
|
Oracle:Boot Nipper enters the battlefield with your choice of a deathtouch counter or a lifelink counter on it.
|
||||||
|
|||||||
@@ -2,18 +2,8 @@ Name:Crystalline Giant
|
|||||||
ManaCost:3
|
ManaCost:3
|
||||||
Types:Artifact Creature Giant
|
Types:Artifact Creature Giant
|
||||||
PT:3/3
|
PT:3/3
|
||||||
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigGenericChoice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose a kind of counter at random that CARDNAME doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on CARDNAME.
|
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose a kind of counter at random that CARDNAME doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on CARDNAME.
|
||||||
SVar:TrigGenericChoice:DB$ GenericChoice | AtRandom$ True | Choices$ Flying,FirstStrike,Deathtouch,Hexproof,Lifelink,Menace,Reach,Trample,Vigilance,P1P1
|
SVar:TrigPutCounter:DB$ PutCounter | UniqueType$ True | RandomType$ True | CounterType$ Flying,First Strike,Deathtouch,Hexproof,Lifelink,Menace,Reach,Trample,Vigilance,P1P1
|
||||||
SVar:Flying:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Flying | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ FLY
|
|
||||||
SVar:FirstStrike:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_First Strike | CounterType$ First Strike | CounterNum$ 1 | SpellDescription$ FIR
|
|
||||||
SVar:Deathtouch:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Deathtouch | CounterType$ Deathtouch | CounterNum$ 1 | SpellDescription$ DEA
|
|
||||||
SVar:Hexproof:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Hexproof | CounterType$ Hexproof | CounterNum$ 1 | SpellDescription$ HEX
|
|
||||||
SVar:Lifelink:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Lifelink | CounterType$ Lifelink | CounterNum$ 1 | SpellDescription$ LIF
|
|
||||||
SVar:Menace:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Menace | CounterType$ Menace | CounterNum$ 1 | SpellDescription$ MEN
|
|
||||||
SVar:Reach:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Reach | CounterType$ Reach | CounterNum$ 1 | SpellDescription$ REA
|
|
||||||
SVar:Trample:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Trample | CounterType$ Trample | CounterNum$ 1 | SpellDescription$ TRA
|
|
||||||
SVar:Vigilance:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_Vigilance | CounterType$ Vigilance | CounterNum$ 1 | SpellDescription$ VIG
|
|
||||||
SVar:P1P1:DB$ PutCounter | IsPresent$ Card.Self+counters_EQ0_P1P1 | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ P1P1
|
|
||||||
SVar:PlayMain1:TRUE
|
SVar:PlayMain1:TRUE
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters|LifeGain
|
||||||
Oracle:At the beginning of combat on your turn, choose a kind of counter at random that Crystalline Giant doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on Crystalline Giant.
|
Oracle:At the beginning of combat on your turn, choose a kind of counter at random that Crystalline Giant doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, and +1/+1. Put a counter of that kind on Crystalline Giant.
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ ManaCost:3 R
|
|||||||
Types:Creature Cat Ape
|
Types:Creature Cat Ape
|
||||||
PT:4/3
|
PT:4/3
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Trample,Menace | SpellDescription$ CARDNAME enters the battlefield with your choice of a trample counter or a menace counter on it.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Trample,Menace | SpellDescription$ CARDNAME enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.)
|
||||||
SVar:Trample:DB$ PutCounter | ETB$ True | CounterType$ Trample | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a trample counter
|
|
||||||
SVar:Menace:DB$ PutCounter | ETB$ True | CounterType$ Menace | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a menace counter
|
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
Oracle:Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.)
|
Oracle:Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.)
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ ManaCost:4 G
|
|||||||
Types:Creature Antelope Lizard
|
Types:Creature Antelope Lizard
|
||||||
PT:3/5
|
PT:3/5
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Vigilance,Reach | SpellDescription$ CARDNAME enters the battlefield with your choice of a vigilance counter or a reach counter on it.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Vigilance,Reach | SpellDescription$ CARDNAME enters the battlefield with your choice of a vigilance counter or a reach counter on it.
|
||||||
SVar:Vigilance:DB$ PutCounter | ETB$ True | CounterType$ Vigilance | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a vigilance counter on it
|
|
||||||
SVar:Reach:DB$ PutCounter | ETB$ True | CounterType$ Reach | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a reach counter on it
|
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
Oracle:Flycatcher Giraffid enters the battlefield with your choice of a vigilance counter or a reach counter on it.
|
Oracle:Flycatcher Giraffid enters the battlefield with your choice of a vigilance counter or a reach counter on it.
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ ManaCost:1 B B
|
|||||||
Types:Creature Nightmare
|
Types:Creature Nightmare
|
||||||
PT:3/3
|
PT:3/3
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Menace,Deathtouch,Lifelink | ChoiceAmount$ 2 | SpellDescription$ CARDNAME enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Menace,Deathtouch,Lifelink | ChooseDifferent$ 2 | SpellDescription$ CARDNAME enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
|
||||||
SVar:Menace:DB$ PutCounter | CounterType$ Menace | CounterNum$ 1 | ETB$ True | SpellDescription$ Menace
|
DeckHas:Ability$Counters|LifeGain
|
||||||
SVar:Deathtouch:DB$ PutCounter | CounterType$ Deathtouch | CounterNum$ 1 | ETB$ True | SpellDescription$ Deathtouch
|
|
||||||
SVar:Lifelink:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | ETB$ True | SpellDescription$ Lifelink
|
|
||||||
DeckHas:Ability$Counters
|
|
||||||
Oracle:Grimdancer enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
|
Oracle:Grimdancer enters the battlefield with your choice of two different counters on it from among menace, deathtouch, and lifelink.
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ ManaCost:2 W
|
|||||||
Types:Creature Nightmare Squirrel
|
Types:Creature Nightmare Squirrel
|
||||||
PT:2/2
|
PT:2/2
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Flying,FirstStrike | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a first strike counter on it.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Flying,First Strike | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a first strike counter on it.
|
||||||
SVar:Flying:DB$ PutCounter | ETB$ True | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a flying counter on it
|
|
||||||
SVar:FirstStrike:DB$ PutCounter | ETB$ True | CounterType$ First Strike | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a first strike counter on it
|
|
||||||
DeckHints:Ability$Counters
|
DeckHints:Ability$Counters
|
||||||
Oracle:Helica Glider enters the battlefield with your choice of a flying counter or a first strike counter on it.
|
Oracle:Helica Glider enters the battlefield with your choice of a flying counter or a first strike counter on it.
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ ManaCost:6
|
|||||||
Types:Legendary Artifact Equipment
|
Types:Legendary Artifact Equipment
|
||||||
K:Equip:3
|
K:Equip:3
|
||||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 5 | AddToughness$ 5 | Description$ Equipped creature gets +5/+5.
|
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 5 | AddToughness$ 5 | Description$ Equipped creature gets +5/+5.
|
||||||
A:AB$ Token | Cost$ 6 Exile<1/CARDNAME> | TokenAmount$ 1 | TokenScript$ u_5_5_dragon_spirit_flying | TokenOwner$ You | RememberTokens$ True | SpellDescription$ Create a 5/5 blue Dragon Spirit creature token with flying. Return CARDNAME to the battlefield under its owner's control when that token dies.
|
A:AB$ Token | Cost$ 6 Exile<1/CARDNAME> | TokenAmount$ 1 | TokenScript$ u_5_5_dragon_spirit_flying | TokenOwner$ You | RememberTokens$ True | SubAbility$ DelTrig | SpellDescription$ Create a 5/5 blue Dragon Spirit creature token with flying. Return CARDNAME to the battlefield under its owner's control when that token dies.
|
||||||
T:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Exile | Execute$ TrigReturn | Secondary$ True | TriggerDescription$ Return CARDNAME to the battlefield under its owner's control when that token dies.
|
SVar:DelTrig:DB$ DelayedTrigger | Mode$ ChangesZone | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigReturn | RememberObjects$ Remembered | TriggerDescription$ Return CARDNAME to the battlefield under its owner's control when that token dies.
|
||||||
SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ Self | SubAbility$ DBCleanUp
|
SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ Self
|
||||||
SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
Oracle:Equipped creature gets +5/+5.\n{6}, Exile Tatsumasa, the Dragon's Fang: Create a 5/5 blue Dragon Spirit creature token with flying. Return Tatsumasa to the battlefield under its owner's control when that token dies.\nEquip {3}
|
Oracle:Equipped creature gets +5/+5.\n{6}, Exile Tatsumasa, the Dragon's Fang: Create a 5/5 blue Dragon Spirit creature token with flying. Return Tatsumasa to the battlefield under its owner's control when that token dies.\nEquip {3}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Name:Unexpected Fangs
|
Name:Unexpected Fangs
|
||||||
ManaCost:1 B
|
ManaCost:1 B
|
||||||
Types:Instant
|
Types:Instant
|
||||||
A:SP$ PutCounter | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPutCounter | SpellDescription$ Put a +1/+1 counter and a lifelink counter on target creature.
|
A:SP$ PutCounter | ValidTgts$ Creature | CounterTypes$ P1P1,Lifelink | SpellDescription$ Put a +1/+1 counter and a lifelink counter on target creature.
|
||||||
SVar:DBPutCounter:DB$ PutCounter | CounterType$ Lifelink | CounterNum$ 1 | Defined$ Targeted
|
DeckHas:Ability$Counters|LifeGain
|
||||||
DeckHas:Ability$Counters
|
|
||||||
Oracle:Put a +1/+1 counter and a lifelink counter on target creature.
|
Oracle:Put a +1/+1 counter and a lifelink counter on target creature.
|
||||||
|
|||||||
12
forge-gui/res/cardsfolder/upcoming/body_launderer.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/body_launderer.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Name:Body Launderer
|
||||||
|
ManaCost:2 B B
|
||||||
|
Types:Creature Ogre Rogue
|
||||||
|
PT:3/3
|
||||||
|
K:Deathtouch
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+nonToken+Other | TriggerZones$ Battlefield | Execute$ TrigConnive | TriggerDescription$ Whenever another nontoken creature you control dies, CARDNAME connives.
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME dies, return another target non-Rogue creature card with equal or lesser power from your graveyard to the battlefield.
|
||||||
|
SVar:TrigReturn:DB$ ChangeZone | ValidTgts$ Creature.powerLEX+YouOwn+nonRogue+Other | TgtPrompt$ Select target non-Rogue creature card with equal or lesser power | Origin$ Graveyard | Destination$ Battlefield
|
||||||
|
SVar:X:TriggeredCard$CardPower
|
||||||
|
DeckHas:Ability$Discard|Counters|Graveyard
|
||||||
|
Oracle:Deathtouch\nWhenever another nontoken creature you control dies, Body Launderer connives.\nWhen Body Launderer dies, return another target non-Rogue creature card with equal or lesser power from your graveyard to the battlefield.
|
||||||
9
forge-gui/res/cardsfolder/upcoming/echo_inspector.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/echo_inspector.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Name:Echo Inspector
|
||||||
|
ManaCost:3 U
|
||||||
|
Types:Creature Bird Rogue
|
||||||
|
PT:2/3
|
||||||
|
K:Flying
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:Flying\nWhen Echo Inspector enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
Name:Elspeth Resplendent
|
||||||
|
ManaCost:3 W W
|
||||||
|
Types:Legendary Planeswalker Elspeth
|
||||||
|
Loyalty:5
|
||||||
|
A:AB$ PutCounter | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | CounterTypes$ P1P1,ChosenFromList | TypeList$ Flying,First Strike,Lifelink,Vigilance | SpellDescription$ Choose up to one target creature. Put a +1/+1 counter and a counter from among flying, first strike, lifelink, or vigilance on it.
|
||||||
|
A:AB$ Dig | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | DigNum$ 7 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Permanent.cmcLE3 | ChangeValidDesc$ permanent card with mana value 3 or less | DestinationZone$ Battlefield | WithCounter$ Shield | PrimaryPrompt$ You may choose a permanent card with mana value 3 or less to put on the battlefield | RestRandomOrder$ True | SpellDescription$ Look at the top seven cards of your library. You may put a permanent card with mana value 3 or less from among them onto the battlefield with a shield counter on it. Put the rest on the bottom of your library in a random order.
|
||||||
|
A:AB$ Token | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ 5 | TokenScript$ w_3_3_angel_flying | SpellDescription$ Create five 3/3 white Angel creature tokens with flying.
|
||||||
|
DeckHas:Ability$Counters|LifeGain|Token & Type$Angel
|
||||||
|
Oracle:[+1]: Choose up to one target creature. Put a +1/+1 counter and a counter from among flying, first strike, lifelink, or vigilance on it.\n[−3]: Look at the top seven cards of your library. You may put a permanent card with mana value 3 or less from among them onto the battlefield with a shield counter on it. Put the rest on the bottom of your library in a random order.\n[−7]: Create five 3/3 white Angel creature tokens with flying.
|
||||||
7
forge-gui/res/cardsfolder/upcoming/hypnotic_grifter.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/hypnotic_grifter.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Name:Hypnotic Grifter
|
||||||
|
ManaCost:U
|
||||||
|
Types:Creature Human Rogue
|
||||||
|
PT:1/2
|
||||||
|
A:AB$ Connive | Cost$ 3 | SpellDescription$ CARDNAME connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:{3}: Hypnotic Grifter connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
Name:Illuminator Virtuoso
|
||||||
|
ManaCost:1 W
|
||||||
|
Types:Creature Human Rogue
|
||||||
|
PT:1/1
|
||||||
|
K:Double Strike
|
||||||
|
T:Mode$ BecomesTarget | ValidTarget$ Card.Self | ValidSource$ Card.YouCtrl | SourceType$ Spell | Execute$ TrigConnive | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME becomes the target of a spell you control, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:Double strike\nWhenever Illuminator Virtuoso becomes the target of a spell you control, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
13
forge-gui/res/cardsfolder/upcoming/kamiz_obscura_oculus.txt
Normal file
13
forge-gui/res/cardsfolder/upcoming/kamiz_obscura_oculus.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Name:Kamiz, Obscura Oculus
|
||||||
|
ManaCost:1 W U B
|
||||||
|
Types:Legendary Creature Cephalid Rogue
|
||||||
|
PT:2/4
|
||||||
|
T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, target attacking creature can't be blocked this turn. It connives. Then choose another attacking creature with lesser power. That creature gains double strike until end of turn. (To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature.)
|
||||||
|
SVar:TrigPump:DB$ Pump | KW$ HIDDEN Unblockable | RememberObjects$ Targeted | TgtPrompt$ Select target attacking creature | ValidTgts$ Creature.attacking | SubAbility$ DBConnive
|
||||||
|
SVar:DBConnive:DB$ Connive | Defined$ Targeted | SubAbility$ DBChooseCard
|
||||||
|
SVar:DBChooseCard:DB$ ChooseCard | Defined$ You | Choices$ Creature.attacking+IsNotRemembered+powerLTX | ChoiceTitle$ Choose another attacking creature with lesser power | SubAbility$ DBPump
|
||||||
|
SVar:DBPump:DB$ Pump | KW$ Double Strike | Defined$ ChosenCard | SubAbility$ DBCleanup
|
||||||
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
|
||||||
|
SVar:X:Remembered$CardPower
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:Whenever you attack, target attacking creature can't be blocked this turn. It connives. Then choose another attacking creature with lesser power. That creature gains double strike until end of turn. (To have a creature connive, draw a card, then discard a card. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
|
||||||
@@ -4,9 +4,6 @@ Types:Creature Bird Advisor
|
|||||||
PT:1/3
|
PT:1/3
|
||||||
K:Flying
|
K:Flying
|
||||||
T:Mode$ SpellCast | ValidActivatingPlayer$ Player | ActivatorThisTurnCast$ EQ2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | Execute$ TrigConnive | TriggerDescription$ Whenever a player casts their second spell each turn, CARDNAME connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
T:Mode$ SpellCast | ValidActivatingPlayer$ Player | ActivatorThisTurnCast$ EQ2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | Execute$ TrigConnive | TriggerDescription$ Whenever a player casts their second spell each turn, CARDNAME connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
SVar:TrigConnive:DB$ Draw | NumCards$ 1 | SubAbility$ DBDiscard
|
SVar:TrigConnive:DB$ Connive
|
||||||
SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ 1 | RememberDiscarded$ True | SubAbility$ DBPutCounter
|
|
||||||
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | ConditionCompare$ EQ1 | SubAbility$ DBCleanup
|
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
DeckHas:Ability$Discard|Counters
|
DeckHas:Ability$Discard|Counters
|
||||||
Oracle:Flying\nWhenever a player casts their second spell each turn, Ledger Shredder connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
Oracle:Flying\nWhenever a player casts their second spell each turn, Ledger Shredder connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
|||||||
12
forge-gui/res/cardsfolder/upcoming/obscura_interceptor.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/obscura_interceptor.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Name:Obscura Interceptor
|
||||||
|
ManaCost:1 W U B
|
||||||
|
Types:Creature Cephalid Wizard
|
||||||
|
PT:3/1
|
||||||
|
K:Flash
|
||||||
|
K:Lifelink
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. When it connives this way, return up to one target spell to its owner's hand. (To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive | SubAbility$ DBImmediateTrigger
|
||||||
|
SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigReturn | TriggerDescription$ When it connives this way, return up to one target spell to its owner's hand.
|
||||||
|
SVar:TrigReturn:DB$ ChangeZone | ValidTgts$ Card | TgtPrompt$ Select target spell | TargetMax$ 1 | TargetMin$ 0 | TgtZone$ Stack | Origin$ Stack | Fizzle$ True | Destination$ Hand
|
||||||
|
DeckHas:Ability$LifeGain|Discard|Counters
|
||||||
|
Oracle:Flash\nLifelink\nWhen Obscura Interceptor enters the battlefield, it connives. When it connives this way, return up to one target spell to its owner's hand. (To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature.)
|
||||||
8
forge-gui/res/cardsfolder/upcoming/psionic_snoop.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/psionic_snoop.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Psionic Snoop
|
||||||
|
ManaCost:2 U
|
||||||
|
Types:Creature Human Rogue
|
||||||
|
PT:0/3
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:When Psionic Snoop enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
10
forge-gui/res/cardsfolder/upcoming/psychic_pickpocket.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/psychic_pickpocket.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Name:Psychic Pickpocket
|
||||||
|
ManaCost:4 U
|
||||||
|
Types:Creature Cephalid Rogue
|
||||||
|
PT:3/2
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. When it connives this way, return up to one target spell to its owner's hand. (To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive | SubAbility$ DBImmediateTrigger
|
||||||
|
SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigReturn | TriggerDescription$ When it connives this way, return up to one target nonland permanent to its owner's hand.
|
||||||
|
SVar:TrigReturn:DB$ ChangeZone | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | TargetMax$ 1 | TargetMin$ 0 | Origin$ Battlefield | Destination$ Hand
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:When Psychic Pickpocket enters the battlefield, it connives. When it connives this way, return up to one target nonland permanent to its owner's hand. (To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature.)
|
||||||
@@ -4,12 +4,8 @@ Types:Legendary Creature Sphinx Demon
|
|||||||
PT:1/4
|
PT:1/4
|
||||||
K:Flying
|
K:Flying
|
||||||
K:Ward:1
|
K:Ward:1
|
||||||
T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigConnive | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, target creature connives X, where X is the number of attacking creatures. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
|
T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigConnive | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, target attacking creature connives X, where X is the number of attacking creatures. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
|
||||||
SVar:TrigConnive:DB$ Draw | NumCards$ X | SubAbility$ DBDiscard
|
SVar:TrigConnive:DB$ Connive | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | ConniveNum$ X
|
||||||
SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ X | RememberDiscarded$ True | SubAbility$ DBPutCounter
|
|
||||||
SVar:DBPutCounter:DB$ PutCounter | ValidTgts$ Creature | CounterType$ P1P1 | CounterNum$ Y | SubAbility$ DBCleanup
|
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
SVar:X:Count$Valid Creature.attacking
|
SVar:X:Count$Valid Creature.attacking
|
||||||
SVar:Y:Remembered$Valid Card.nonLand
|
|
||||||
DeckHas:Ability$Discard|Counters
|
DeckHas:Ability$Discard|Counters
|
||||||
Oracle:Flying, ward {1}\nWhenever you attack, target creature connives X, where X is the number of attacking creatures. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
|
Oracle:Flying, ward {1}\nWhenever you attack, target attacking creature connives X, where X is the number of attacking creatures. (Draw X cards, then discard X cards. Put a +1/+1 counter on that creature for each nonland card discarded this way.)
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Raffine's Informant
|
||||||
|
ManaCost:1 W
|
||||||
|
Types:Creature Human Wizard
|
||||||
|
PT:2/1
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:When Raffine's Informant enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
11
forge-gui/res/cardsfolder/upcoming/raffines_silencer.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/raffines_silencer.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:Raffine's Silencer
|
||||||
|
ManaCost:2 B
|
||||||
|
Types:Creature Human Assassin
|
||||||
|
PT:1/1
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME dies, target creature an opponent controls gets -X/-X until end of turn, where X is Raffine's Silencer's power.
|
||||||
|
SVar:TrigReturn:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumAtt$ -X | NumDef$ -X | IsCurse$ True
|
||||||
|
SVar:X:TriggeredCard$CardPower
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:When Raffine's Silencer enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)\nWhen Raffine's Silencer dies, target creature an opponent controls gets -X/-X until end of turn, where X is Raffine's Silencer's power.
|
||||||
9
forge-gui/res/cardsfolder/upcoming/revel_ruiner.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/revel_ruiner.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Name:Revel Ruiner
|
||||||
|
ManaCost:3 B
|
||||||
|
Types:Creature Cephalid Rogue
|
||||||
|
PT:3/1
|
||||||
|
K:Menace
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:Menace\nWhen Revel Ruiner enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
11
forge-gui/res/cardsfolder/upcoming/security_bypass.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/security_bypass.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:Security Bypass
|
||||||
|
ManaCost:1 U
|
||||||
|
Types:Enchantment Aura
|
||||||
|
K:Enchant creature
|
||||||
|
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump
|
||||||
|
S:Mode$ Continuous | Affected$ Creature.EnchantedBy+attacking | AddHiddenKeyword$ Unblockable | IsPresent$ Creature.attacking+!EnchantedBy | PresentCompare$ EQ0 | Description$ As long as enchanted creature is attacking alone, it can't be blocked.
|
||||||
|
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddTrigger$ DamageDone | AddSVar$ TrigConnive | Description$ Enchanted creature has "Whenever this creature deals combat damage to a player, it connives." (Its controller draws a card, then discards a card. If they discarded a nonland card, they put a +1/+1 counter on this creature.)
|
||||||
|
SVar:DamageDone:Mode$ DamageDone | CombatDamage$ True | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigConnive | TriggerDescription$ Whenever this creature deals combat damage to a player, it connives.
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
Oracle:Enchant creature\nAs long as enchanted creature is attacking alone, it can't be blocked.\nEnchanted creature has "Whenever this creature deals combat damage to a player, it connives." (Its controller draws a card, then discards a card. If they discarded a nonland card, they put a +1/+1 counter on this creature.)
|
||||||
13
forge-gui/res/cardsfolder/upcoming/sizzling_soloist.txt
Normal file
13
forge-gui/res/cardsfolder/upcoming/sizzling_soloist.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Name:Sizzling Soloist
|
||||||
|
ManaCost:3 R
|
||||||
|
Types:Creature Human Citizen
|
||||||
|
PT:3/2
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCantBlock | TriggerDescription$ Alliance — Whenever another creature enters the battlefield under your control, target creature an opponent controls can't block this turn. If this is the second time this ability has resolved this turn, that creature attacks during its controller's next combat phase if able.
|
||||||
|
SVar:TrigCantBlock:DB$ Pump | ValidTgts$ Creature.OppCtrl | KW$ HIDDEN CARDNAME can't block. | TgtPrompt$ Select target creature an opponent controls | IsCurse$ True | SubAbility$ DBEffect
|
||||||
|
SVar:DBEffect:DB$ Effect | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | RememberObjects$ Targeted | Triggers$ MustAttackTrig | Duration$ Permanent | ExileOnMoved$ Battlefield
|
||||||
|
SVar:MustAttackTrig:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ Player.controlsCreature.IsRemembered_GE1 | Execute$ TrigAttacks | Static$ True | TriggerDescription$ This creature attacks during its controller's next combat phase if able.
|
||||||
|
SVar:TrigAttacks:DB$ Pump | Defined$ Remembered | KW$ HIDDEN CARDNAME attacks each combat if able. | Duration$ UntilEndOfCombat | SubAbility$ ExileSelf
|
||||||
|
SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self
|
||||||
|
SVar:X:Count$ResolvedThisTurn
|
||||||
|
SVar:BuffedBy:Creature
|
||||||
|
Oracle:Alliance — Whenever another creature enters the battlefield under your control, target creature an opponent controls can't block this turn. If this is the second time this ability has resolved this turn, that creature attacks during its controller's next combat phase if able.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
Name:Toluz, Clever Conductor
|
||||||
|
ManaCost:WU U UB
|
||||||
|
Types:Legendary Creature Human Rogue
|
||||||
|
PT:3/1
|
||||||
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigConnive | TriggerDescription$ When CARDNAME enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
|
||||||
|
SVar:TrigConnive:DB$ Connive
|
||||||
|
T:Mode$ DiscardedAll | ValidPlayer$ You | ValidCard$ Card | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ Whenever you discard one or more cards, exile them from your graveyard.
|
||||||
|
SVar:TrigExile:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card.TriggeredCards
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When NICKNAME dies, put the cards exiled with it into their owner's hand.
|
||||||
|
SVar:TrigReturn:DB$ ChangeZoneAll | ChangeType$ Card.ExiledWithSource | Origin$ Exile | Destination$ Hand
|
||||||
|
DeckHas:Ability$Discard|Counters
|
||||||
|
DeckHints:Ability$Discard
|
||||||
|
Oracle:When Toluz, Clever Conductor enters the battlefield, it connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)\nWhenever you discard one or more cards, exile them from your graveyard.\nWhen Toluz dies, put the cards exiled with it into their owner's hand.
|
||||||
@@ -3,8 +3,6 @@ ManaCost:5 U
|
|||||||
Types:Creature Dinosaur
|
Types:Creature Dinosaur
|
||||||
PT:3/6
|
PT:3/6
|
||||||
K:ETBReplacement:Other:CounterChoice
|
K:ETBReplacement:Other:CounterChoice
|
||||||
SVar:CounterChoice:DB$ GenericChoice | Defined$ You | Choices$ Flying,Hexproof | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a hexproof counter on it.
|
SVar:CounterChoice:DB$ PutCounter | ETB$ True | CounterType$ Flying,Hexproof | SpellDescription$ CARDNAME enters the battlefield with your choice of a flying counter or a hexproof counter on it.
|
||||||
SVar:Flying:DB$ PutCounter | ETB$ True | CounterType$ Flying | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a flying counter on it
|
|
||||||
SVar:Hexproof:DB$ PutCounter | ETB$ True | CounterType$ Hexproof | CounterNum$ 1 | SpellDescription$ CARDNAME enters the battlefield with a hexproof counter on it
|
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
Oracle:Wingfold Pteron enters the battlefield with your choice of a flying counter or a hexproof counter on it. (A creature with hexproof can't be the target of spells or abilities your opponents control.)
|
Oracle:Wingfold Pteron enters the battlefield with your choice of a flying counter or a hexproof counter on it. (A creature with hexproof can't be the target of spells or abilities your opponents control.)
|
||||||
|
|||||||
@@ -6,4 +6,6 @@ Type=Promo
|
|||||||
ScryfallCode=GDY
|
ScryfallCode=GDY
|
||||||
|
|
||||||
[cards]
|
[cards]
|
||||||
|
1 R Power Word Kill @Andreas Zafiratos
|
||||||
|
2 R Skyclave Apparition @Mila Pesic
|
||||||
3 M All-Seeing Arbiter @Nicholas Gregory
|
3 M All-Seeing Arbiter @Nicholas Gregory
|
||||||
|
|||||||
@@ -6,261 +6,264 @@ Code2=ALA
|
|||||||
MciCode=ala
|
MciCode=ala
|
||||||
Type=Expansion
|
Type=Expansion
|
||||||
BoosterCovers=5
|
BoosterCovers=5
|
||||||
Booster=10 Common, 3 Uncommon, 1 RareMythic, 1 BasicLand
|
Booster=10 Common:fromsheet("ALA cards"), 3 Uncommon:fromSheet("ALA cards"), 1 RareMythic:fromSheet("ALA cards"), 1 BasicLand:fromSheet("ALA cards")
|
||||||
FatPack=8
|
FatPack=8
|
||||||
FatPackExtraSlots=40 BasicLands
|
FatPackExtraSlots=40 BasicLands
|
||||||
ScryfallCode=ALA
|
ScryfallCode=ALA
|
||||||
|
|
||||||
[cards]
|
[cards]
|
||||||
63 R Ad Nauseam @Jeremy Jarvis
|
|
||||||
153 C Agony Warp @Dave Allsop
|
|
||||||
154 M Ajani Vengeant @Wayne Reynolds
|
|
||||||
1 C Akrasan Squire @Todd Lockwood
|
1 C Akrasan Squire @Todd Lockwood
|
||||||
123 U Algae Gharial @Michael Ryan
|
|
||||||
2 U Angel's Herald @Greg Staples
|
2 U Angel's Herald @Greg Staples
|
||||||
3 U Angelic Benediction @Michael Komarck
|
3 U Angelic Benediction @Michael Komarck
|
||||||
4 C Angelsong @Sal Villagran
|
4 C Angelsong @Sal Villagran
|
||||||
220 U Arcane Sanctum @Anthony Francisco
|
5 U Bant Battlemage @Donato Giancola
|
||||||
|
6 R Battlegrace Angel @Matt Stewart
|
||||||
|
7 R Cradle of Vitality @Trevor Hairsine
|
||||||
|
8 C Dispeller's Capsule @Franz Vohwinkel
|
||||||
|
9 M Elspeth, Knight-Errant @Volkan Baǵa
|
||||||
|
10 R Ethersworn Canonist @Izzy
|
||||||
|
11 C Excommunicate @Matt Stewart
|
||||||
|
12 C Guardians of Akrasa @Alan Pollack
|
||||||
|
13 C Gustrider Exuberant @Wayne Reynolds
|
||||||
|
14 R Invincible Hymn @Matt Stewart
|
||||||
|
15 C Knight of the Skyward Eye @Matt Stewart
|
||||||
|
16 R Knight of the White Orchid @Mark Zug
|
||||||
|
17 R Knight-Captain of Eos @Chris Rahn
|
||||||
|
18 C Marble Chalice @Howard Lyon
|
||||||
|
19 U Metallurgeon @Warren Mahy
|
||||||
|
20 C Oblivion Ring @Franz Vohwinkel
|
||||||
|
21 R Ranger of Eos @Volkan Baǵa
|
||||||
|
22 C Resounding Silence @Mark Zug
|
||||||
|
23 U Rockcaster Platoon @David Palumbo
|
||||||
|
24 C Sanctum Gargoyle @Shelly Wan
|
||||||
|
25 R Scourglass @Matt Cavotta
|
||||||
|
26 C Sighted-Caste Sorcerer @Chris Rahn
|
||||||
|
27 U Sigiled Paladin @Greg Staples
|
||||||
|
28 C Soul's Grace @Christopher Moeller
|
||||||
|
29 U Sunseed Nurturer @Steve Argyle
|
||||||
|
30 C Welkin Guide @David Palumbo
|
||||||
|
31 C Yoked Plowbeast @Steve Argyle
|
||||||
|
32 C Call to Heel @Randy Gallegos
|
||||||
|
33 C Cancel @David Palumbo
|
||||||
|
34 C Cathartic Adept @Carl Critchlow
|
||||||
|
35 C Cloudheath Drake @Izzy
|
||||||
|
36 C Coma Veil @Dan Scott
|
||||||
|
37 C Courier's Capsule @Andrew Murray
|
||||||
|
38 R Covenant of Minds @Dan Seagrave
|
||||||
|
39 U Dawnray Archer @Dan Dos Santos
|
||||||
|
40 U Esper Battlemage @Matt Cavotta
|
||||||
|
41 U Etherium Astrolabe @Michael Bruinsma
|
||||||
|
42 C Etherium Sculptor @Steven Belledin
|
||||||
|
43 U Fatestitcher @E. M. Gist
|
||||||
|
44 U Filigree Sages @Dan Scott
|
||||||
|
45 R Gather Specimens @Michael Bruinsma
|
||||||
|
46 C Jhessian Lookout @Donato Giancola
|
||||||
|
47 C Kathari Screecher @Pete Venters
|
||||||
|
48 R Kederekt Leviathan @Mark Hyzer
|
||||||
|
49 R Master of Etherium @Matt Cavotta
|
||||||
|
50 R Memory Erosion @Howard Lyon
|
||||||
|
51 R Mindlock Orb @rk post
|
||||||
|
52 C Outrider of Jhess @Alan Pollack
|
||||||
|
53 U Protomatter Powder @Francis Tsai
|
||||||
|
54 C Resounding Wave @Izzy
|
||||||
|
55 R Sharding Sphinx @Michael Bruinsma
|
||||||
|
56 R Skill Borrower @Shelly Wan
|
||||||
|
57 C Spell Snip @Michael Sutfin
|
||||||
|
58 U Sphinx's Herald @Dan Scott
|
||||||
|
59 C Steelclad Serpent @Carl Critchlow
|
||||||
|
60 M Tezzeret the Seeker @Anthony Francisco
|
||||||
|
61 C Tortoise Formation @Mark Zug
|
||||||
|
62 C Vectis Silencers @Steven Belledin
|
||||||
|
63 R Ad Nauseam @Jeremy Jarvis
|
||||||
64 R Archdemon of Unx @Dave Allsop
|
64 R Archdemon of Unx @Dave Allsop
|
||||||
65 C Banewasp Affliction @Dave Allsop
|
65 C Banewasp Affliction @Dave Allsop
|
||||||
5 U Bant Battlemage @Donato Giancola
|
|
||||||
155 U Bant Charm @Randy Gallegos
|
|
||||||
221 C Bant Panorama @Donato Giancola
|
|
||||||
6 R Battlegrace Angel @Matt Stewart
|
|
||||||
124 U Behemoth's Herald @Paolo Parente
|
|
||||||
156 C Blightning @Thomas M. Baxa
|
|
||||||
66 C Blister Beetle @Anthony S. Waters
|
66 C Blister Beetle @Anthony S. Waters
|
||||||
157 U Blood Cultist @Karl Kopinski
|
67 C Bone Splinters @Cole Eastburn
|
||||||
|
68 U Corpse Connoisseur @Mark Hyzer
|
||||||
|
69 R Cunning Lethemancer @Paul Bonner
|
||||||
|
70 R Death Baron @Nils Hamm
|
||||||
|
71 C Deathgreeter @Dominick Domingo
|
||||||
|
72 U Demon's Herald @Karl Kopinski
|
||||||
|
73 C Dreg Reaver @Thomas M. Baxa
|
||||||
|
74 C Dregscape Zombie @Lars Grant-West
|
||||||
|
75 C Executioner's Capsule @Warren Mahy
|
||||||
|
76 U Fleshbag Marauder @Pete Venters
|
||||||
|
77 C Glaze Fiend @Joshua Hagler
|
||||||
|
78 U Grixis Battlemage @Nils Hamm
|
||||||
|
79 R Immortal Coil @Dan Scott
|
||||||
|
80 U Infest @Karl Kopinski
|
||||||
|
81 C Onyx Goblet @rk post
|
||||||
|
82 U Puppet Conjurer @Steven Belledin
|
||||||
|
83 C Resounding Scream @Thomas M. Baxa
|
||||||
|
84 R Salvage Titan @Anthony Francisco
|
||||||
|
85 U Scavenger Drake @Trevor Claxton
|
||||||
|
86 C Shadowfeed @Dave Kendall
|
||||||
|
87 C Shore Snapper @Dave Kendall
|
||||||
|
88 C Skeletal Kathari @Carl Critchlow
|
||||||
|
89 R Tar Fiend @Anthony S. Waters
|
||||||
|
90 C Undead Leotau @Carl Critchlow
|
||||||
|
91 R Vein Drinker @Lars Grant-West
|
||||||
|
92 C Viscera Dragger @Ralph Horsley
|
||||||
93 C Bloodpyre Elemental @Trevor Claxton
|
93 C Bloodpyre Elemental @Trevor Claxton
|
||||||
94 C Bloodthorn Taunter @Jesper Ejsing
|
94 C Bloodthorn Taunter @Jesper Ejsing
|
||||||
67 C Bone Splinters @Cole Eastburn
|
95 R Caldera Hellion @Raymond Swanland
|
||||||
|
96 R Crucible of Fire @Dominick Domingo
|
||||||
|
97 C Dragon Fodder @Jaime Jones
|
||||||
|
98 U Dragon's Herald @Daarken
|
||||||
|
99 U Exuberant Firestoker @Zoltan Boros & Gabor Szikszai
|
||||||
|
100 R Flameblast Dragon @Jaime Jones
|
||||||
|
101 R Goblin Assault @Jaime Jones
|
||||||
|
102 C Goblin Mountaineer @Michael Ryan
|
||||||
|
103 R Hell's Thunder @Karl Kopinski
|
||||||
|
104 C Hissing Iguanar @Brandon Kitkouski
|
||||||
|
105 C Incurable Ogre @Carl Critchlow
|
||||||
|
106 U Jund Battlemage @Vance Kovacs
|
||||||
|
107 C Lightning Talons @Pete Venters
|
||||||
|
108 C Magma Spray @Jarreau Wimberly
|
||||||
|
109 R Predator Dragon @Raymond Swanland
|
||||||
|
110 C Resounding Thunder @Jon Foster
|
||||||
|
111 C Ridge Rannet @Jim Murray
|
||||||
|
112 U Rockslide Elemental @Joshua Hagler
|
||||||
|
113 U Scourge Devil @Dave Kendall
|
||||||
|
114 U Skeletonize @Karl Kopinski
|
||||||
|
115 C Soul's Fire @Wayne Reynolds
|
||||||
|
116 C Thorn-Thrash Viashino @Jon Foster
|
||||||
|
117 U Thunder-Thrash Elder @Brandon Kitkouski
|
||||||
|
118 C Viashino Skeleton @Cole Eastburn
|
||||||
|
119 R Vicious Shadows @Joshua Hagler
|
||||||
|
120 C Vithian Stinger @Dave Kendall
|
||||||
|
121 C Volcanic Submersion @Trevor Claxton
|
||||||
|
122 R Where Ancients Tread @Zoltan Boros & Gabor Szikszai
|
||||||
|
123 U Algae Gharial @Michael Ryan
|
||||||
|
124 U Behemoth's Herald @Paolo Parente
|
||||||
|
125 C Cavern Thoctar @Jean-Sébastien Rossbach
|
||||||
|
126 C Court Archers @Randy Gallegos
|
||||||
|
127 C Cylian Elf @Steve Prescott
|
||||||
|
128 C Druid of the Anima @Jim Murray
|
||||||
|
129 U Drumhunter @Jim Murray
|
||||||
|
130 C Elvish Visionary @D. Alexander Gregory
|
||||||
|
131 R Feral Hydra @Steve Prescott
|
||||||
|
132 C Gift of the Gargantuan @Jean-Sébastien Rossbach
|
||||||
|
133 C Godtoucher @Jesper Ejsing
|
||||||
|
134 C Jungle Weaver @Trevor Hairsine
|
||||||
|
135 R Keeper of Progenitus @Kev Walker
|
||||||
|
136 C Lush Growth @Jesper Ejsing
|
||||||
|
137 U Mighty Emergence @Steve Prescott
|
||||||
|
138 R Manaplasm @Daarken
|
||||||
|
139 C Mosstodon @Paolo Parente
|
||||||
|
140 R Mycoloth @Raymond Swanland
|
||||||
|
141 C Naturalize @Trevor Hairsine
|
||||||
|
142 U Naya Battlemage @Steve Argyle
|
||||||
|
143 R Ooze Garden @Anthony S. Waters
|
||||||
|
144 C Resounding Roar @Steve Prescott
|
||||||
|
145 U Rhox Charger @Chris Rahn
|
||||||
|
146 R Sacellum Godspeaker @Wayne Reynolds
|
||||||
|
147 C Savage Hunger @Trevor Claxton
|
||||||
|
148 R Skullmulcher @Michael Ryan
|
||||||
|
149 C Soul's Might @Kev Walker
|
||||||
|
150 R Spearbreaker Behemoth @Christopher Moeller
|
||||||
|
151 U Topan Ascetic @Sal Villagran
|
||||||
|
152 C Wild Nacatl @Wayne Reynolds
|
||||||
|
153 C Agony Warp @Dave Allsop
|
||||||
|
154 M Ajani Vengeant @Wayne Reynolds
|
||||||
|
155 U Bant Charm @Randy Gallegos
|
||||||
|
156 C Blightning @Thomas M. Baxa
|
||||||
|
157 U Blood Cultist @Karl Kopinski
|
||||||
158 C Branching Bolt @Vance Kovacs
|
158 C Branching Bolt @Vance Kovacs
|
||||||
159 R Brilliant Ultimatum @Anthony Francisco
|
159 R Brilliant Ultimatum @Anthony Francisco
|
||||||
160 R Broodmate Dragon @Vance Kovacs
|
160 R Broodmate Dragon @Vance Kovacs
|
||||||
161 U Bull Cerodon @Jesper Ejsing
|
161 U Bull Cerodon @Jesper Ejsing
|
||||||
95 R Caldera Hellion @Raymond Swanland
|
|
||||||
32 C Call to Heel @Randy Gallegos
|
|
||||||
33 C Cancel @David Palumbo
|
|
||||||
162 C Carrion Thrash @Jaime Jones
|
162 C Carrion Thrash @Jaime Jones
|
||||||
34 C Cathartic Adept @Carl Critchlow
|
|
||||||
125 C Cavern Thoctar @Jean-Sébastien Rossbach
|
|
||||||
163 R Clarion Ultimatum @Michael Komarck
|
163 R Clarion Ultimatum @Michael Komarck
|
||||||
35 C Cloudheath Drake @Izzy
|
|
||||||
36 C Coma Veil @Dan Scott
|
|
||||||
68 U Corpse Connoisseur @Mark Hyzer
|
|
||||||
37 C Courier's Capsule @Andrew Murray
|
|
||||||
126 C Court Archers @Randy Gallegos
|
|
||||||
38 R Covenant of Minds @Dan Seagrave
|
|
||||||
7 R Cradle of Vitality @Trevor Hairsine
|
|
||||||
96 R Crucible of Fire @Dominick Domingo
|
|
||||||
164 R Cruel Ultimatum @Ralph Horsley
|
164 R Cruel Ultimatum @Ralph Horsley
|
||||||
222 U Crumbling Necropolis @Dave Kendall
|
|
||||||
69 R Cunning Lethemancer @Paul Bonner
|
|
||||||
127 C Cylian Elf @Steve Prescott
|
|
||||||
39 U Dawnray Archer @Dan Dos Santos
|
|
||||||
70 R Death Baron @Nils Hamm
|
|
||||||
71 C Deathgreeter @Dominick Domingo
|
|
||||||
165 C Deft Duelist @David Palumbo
|
165 C Deft Duelist @David Palumbo
|
||||||
72 U Demon's Herald @Karl Kopinski
|
|
||||||
8 C Dispeller's Capsule @Franz Vohwinkel
|
|
||||||
97 C Dragon Fodder @Jaime Jones
|
|
||||||
98 U Dragon's Herald @Daarken
|
|
||||||
73 C Dreg Reaver @Thomas M. Baxa
|
|
||||||
74 C Dregscape Zombie @Lars Grant-West
|
|
||||||
128 C Druid of the Anima @Jim Murray
|
|
||||||
129 U Drumhunter @Jim Murray
|
|
||||||
9 M Elspeth, Knight-Errant @Volkan Baǵa
|
|
||||||
130 C Elvish Visionary @D. Alexander Gregory
|
|
||||||
166 M Empyrial Archangel @Greg Staples
|
166 M Empyrial Archangel @Greg Staples
|
||||||
40 U Esper Battlemage @Matt Cavotta
|
|
||||||
167 U Esper Charm @Michael Bruinsma
|
167 U Esper Charm @Michael Bruinsma
|
||||||
223 C Esper Panorama @Franz Vohwinkel
|
|
||||||
41 U Etherium Astrolabe @Michael Bruinsma
|
|
||||||
42 C Etherium Sculptor @Steven Belledin
|
|
||||||
10 R Ethersworn Canonist @Izzy
|
|
||||||
11 C Excommunicate @Matt Stewart
|
|
||||||
75 C Executioner's Capsule @Warren Mahy
|
|
||||||
99 U Exuberant Firestoker @Zoltan Boros & Gabor Szikszai
|
|
||||||
43 U Fatestitcher @E. M. Gist
|
|
||||||
131 R Feral Hydra @Steve Prescott
|
|
||||||
44 U Filigree Sages @Dan Scott
|
|
||||||
168 U Fire-Field Ogre @Mitch Cotie
|
168 U Fire-Field Ogre @Mitch Cotie
|
||||||
100 R Flameblast Dragon @Jaime Jones
|
|
||||||
76 U Fleshbag Marauder @Pete Venters
|
|
||||||
246 L Forest @Aleksi Briclot
|
|
||||||
247 L Forest @Zoltan Boros & Gabor Szikszai
|
|
||||||
248 L Forest @Zoltan Boros & Gabor Szikszai
|
|
||||||
249 L Forest @Michael Komarck
|
|
||||||
45 R Gather Specimens @Michael Bruinsma
|
|
||||||
132 C Gift of the Gargantuan @Jean-Sébastien Rossbach
|
|
||||||
77 C Glaze Fiend @Joshua Hagler
|
|
||||||
101 R Goblin Assault @Jaime Jones
|
|
||||||
169 C Goblin Deathraiders @Raymond Swanland
|
169 C Goblin Deathraiders @Raymond Swanland
|
||||||
102 C Goblin Mountaineer @Michael Ryan
|
|
||||||
170 M Godsire @Jim Murray
|
170 M Godsire @Jim Murray
|
||||||
133 C Godtoucher @Jesper Ejsing
|
|
||||||
78 U Grixis Battlemage @Nils Hamm
|
|
||||||
171 U Grixis Charm @Lars Grant-West
|
171 U Grixis Charm @Lars Grant-West
|
||||||
224 C Grixis Panorama @Nils Hamm
|
|
||||||
12 C Guardians of Akrasa @Alan Pollack
|
|
||||||
13 C Gustrider Exuberant @Wayne Reynolds
|
|
||||||
103 R Hell's Thunder @Karl Kopinski
|
|
||||||
172 M Hellkite Overlord @Justin Sweet
|
172 M Hellkite Overlord @Justin Sweet
|
||||||
173 C Hindering Light @Chris Rahn
|
173 C Hindering Light @Chris Rahn
|
||||||
104 C Hissing Iguanar @Brandon Kitkouski
|
|
||||||
79 R Immortal Coil @Dan Scott
|
|
||||||
105 C Incurable Ogre @Carl Critchlow
|
|
||||||
80 U Infest @Karl Kopinski
|
|
||||||
14 R Invincible Hymn @Matt Stewart
|
|
||||||
234 L Island @Michael Komarck
|
|
||||||
235 L Island @Chippy
|
|
||||||
236 L Island @Chippy
|
|
||||||
237 L Island @Mark Tedin
|
|
||||||
174 U Jhessian Infiltrator @Donato Giancola
|
174 U Jhessian Infiltrator @Donato Giancola
|
||||||
46 C Jhessian Lookout @Donato Giancola
|
|
||||||
106 U Jund Battlemage @Vance Kovacs
|
|
||||||
175 U Jund Charm @Brandon Kitkouski
|
175 U Jund Charm @Brandon Kitkouski
|
||||||
225 C Jund Panorama @Jaime Jones
|
|
||||||
226 U Jungle Shrine @Wayne Reynolds
|
|
||||||
134 C Jungle Weaver @Trevor Hairsine
|
|
||||||
47 C Kathari Screecher @Pete Venters
|
|
||||||
176 C Kederekt Creeper @Mark Hyzer
|
176 C Kederekt Creeper @Mark Hyzer
|
||||||
48 R Kederekt Leviathan @Mark Hyzer
|
|
||||||
135 R Keeper of Progenitus @Kev Walker
|
|
||||||
177 U Kiss of the Amesha @Todd Lockwood
|
177 U Kiss of the Amesha @Todd Lockwood
|
||||||
15 C Knight of the Skyward Eye @Matt Stewart
|
|
||||||
16 R Knight of the White Orchid @Mark Zug
|
|
||||||
17 R Knight-Captain of Eos @Chris Rahn
|
|
||||||
178 M Kresh the Bloodbraided @Raymond Swanland
|
178 M Kresh the Bloodbraided @Raymond Swanland
|
||||||
210 M Lich's Mirror @Ash Wood
|
|
||||||
107 C Lightning Talons @Pete Venters
|
|
||||||
136 C Lush Growth @Jesper Ejsing
|
|
||||||
108 C Magma Spray @Jarreau Wimberly
|
|
||||||
138 R Manaplasm @Daarken
|
|
||||||
18 C Marble Chalice @Howard Lyon
|
|
||||||
49 R Master of Etherium @Matt Cavotta
|
|
||||||
179 M Mayael the Anima @Jason Chan
|
179 M Mayael the Anima @Jason Chan
|
||||||
50 R Memory Erosion @Howard Lyon
|
|
||||||
19 U Metallurgeon @Warren Mahy
|
|
||||||
137 U Mighty Emergence @Steve Prescott
|
|
||||||
51 R Mindlock Orb @rk post
|
|
||||||
211 R Minion Reflector @Mark Tedin
|
|
||||||
139 C Mosstodon @Paolo Parente
|
|
||||||
242 L Mountain @Mark Tedin
|
|
||||||
243 L Mountain @Aleksi Briclot
|
|
||||||
244 L Mountain @Aleksi Briclot
|
|
||||||
245 L Mountain @Zoltan Boros & Gabor Szikszai
|
|
||||||
140 R Mycoloth @Raymond Swanland
|
|
||||||
141 C Naturalize @Trevor Hairsine
|
|
||||||
142 U Naya Battlemage @Steve Argyle
|
|
||||||
180 U Naya Charm @Jesper Ejsing
|
180 U Naya Charm @Jesper Ejsing
|
||||||
227 C Naya Panorama @Hideaki Takamura
|
|
||||||
181 U Necrogenesis @Trevor Claxton
|
181 U Necrogenesis @Trevor Claxton
|
||||||
|
182 M Prince of Thralls @Paul Bonner
|
||||||
|
183 R Punish Ignorance @Shelly Wan
|
||||||
|
184 U Qasali Ambusher @Kev Walker
|
||||||
|
185 M Rafiq of the Many @Michael Komarck
|
||||||
|
186 C Rakeclaw Gargantuan @Jesper Ejsing
|
||||||
|
187 R Realm Razer @Hideaki Takamura
|
||||||
|
188 U Rhox War Monk @Dan Dos Santos
|
||||||
|
189 C Rip-Clan Crasher @Justin Sweet
|
||||||
|
190 U Sangrite Surge @Jarreau Wimberly
|
||||||
|
191 M Sarkhan Vol @Daarken
|
||||||
|
192 R Sedraxis Specter @Cole Eastburn
|
||||||
|
193 M Sedris, the Traitor King @Paul Bonner
|
||||||
|
194 M Sharuum the Hegemon @Izzy
|
||||||
|
195 C Sigil Blessing @Matt Stewart
|
||||||
|
196 M Sphinx Sovereign @Chippy
|
||||||
|
197 U Sprouting Thrinax @Jarreau Wimberly
|
||||||
|
198 C Steward of Valeron @Greg Staples
|
||||||
|
199 R Stoic Angel @Volkan Baǵa
|
||||||
|
200 U Swerve @Karl Kopinski
|
||||||
|
201 U Thoughtcutter Agent @Cyril Van Der Haegen
|
||||||
|
202 U Tidehollow Sculler @rk post
|
||||||
|
203 C Tidehollow Strix @Cyril Van Der Haegen
|
||||||
|
204 R Titanic Ultimatum @Steve Prescott
|
||||||
|
205 U Tower Gargoyle @Matt Cavotta
|
||||||
|
206 R Violent Ultimatum @Raymond Swanland
|
||||||
|
207 C Waveskimmer Aven @Mark Zug
|
||||||
|
208 C Windwright Mage @Chippy
|
||||||
|
209 U Woolly Thoctar @Wayne Reynolds
|
||||||
|
210 M Lich's Mirror @Ash Wood
|
||||||
|
211 R Minion Reflector @Mark Tedin
|
||||||
212 C Obelisk of Bant @David Palumbo
|
212 C Obelisk of Bant @David Palumbo
|
||||||
213 C Obelisk of Esper @Francis Tsai
|
213 C Obelisk of Esper @Francis Tsai
|
||||||
214 C Obelisk of Grixis @Nils Hamm
|
214 C Obelisk of Grixis @Nils Hamm
|
||||||
215 C Obelisk of Jund @Brandon Kitkouski
|
215 C Obelisk of Jund @Brandon Kitkouski
|
||||||
216 C Obelisk of Naya @Steve Prescott
|
216 C Obelisk of Naya @Steve Prescott
|
||||||
20 C Oblivion Ring @Franz Vohwinkel
|
217 R Quietus Spike @Mark Brill
|
||||||
81 C Onyx Goblet @rk post
|
218 C Relic of Progenitus @Jean-Sébastien Rossbach
|
||||||
143 R Ooze Garden @Anthony S. Waters
|
219 R Sigil of Distinction @Alan Pollack
|
||||||
52 C Outrider of Jhess @Alan Pollack
|
220 U Arcane Sanctum @Anthony Francisco
|
||||||
|
221 C Bant Panorama @Donato Giancola
|
||||||
|
222 U Crumbling Necropolis @Dave Kendall
|
||||||
|
223 C Esper Panorama @Franz Vohwinkel
|
||||||
|
224 C Grixis Panorama @Nils Hamm
|
||||||
|
225 C Jund Panorama @Jaime Jones
|
||||||
|
226 U Jungle Shrine @Wayne Reynolds
|
||||||
|
227 C Naya Panorama @Hideaki Takamura
|
||||||
|
228 U Savage Lands @Vance Kovacs
|
||||||
|
229 U Seaside Citadel @Volkan Baǵa
|
||||||
230 L Plains @Zoltan Boros & Gabor Szikszai
|
230 L Plains @Zoltan Boros & Gabor Szikszai
|
||||||
231 L Plains @Michael Komarck
|
231 L Plains @Michael Komarck
|
||||||
232 L Plains @Michael Komarck
|
232 L Plains @Michael Komarck
|
||||||
233 L Plains @Chippy
|
233 L Plains @Chippy
|
||||||
109 R Predator Dragon @Raymond Swanland
|
234 L Island @Michael Komarck
|
||||||
182 M Prince of Thralls @Paul Bonner
|
235 L Island @Chippy
|
||||||
53 U Protomatter Powder @Francis Tsai
|
236 L Island @Chippy
|
||||||
183 R Punish Ignorance @Shelly Wan
|
237 L Island @Mark Tedin
|
||||||
82 U Puppet Conjurer @Steven Belledin
|
|
||||||
184 U Qasali Ambusher @Kev Walker
|
|
||||||
217 R Quietus Spike @Mark Brill
|
|
||||||
185 M Rafiq of the Many @Michael Komarck
|
|
||||||
186 C Rakeclaw Gargantuan @Jesper Ejsing
|
|
||||||
21 R Ranger of Eos @Volkan Baǵa
|
|
||||||
187 R Realm Razer @Hideaki Takamura
|
|
||||||
218 C Relic of Progenitus @Jean-Sébastien Rossbach
|
|
||||||
144 C Resounding Roar @Steve Prescott
|
|
||||||
83 C Resounding Scream @Thomas M. Baxa
|
|
||||||
22 C Resounding Silence @Mark Zug
|
|
||||||
110 C Resounding Thunder @Jon Foster
|
|
||||||
54 C Resounding Wave @Izzy
|
|
||||||
145 U Rhox Charger @Chris Rahn
|
|
||||||
188 U Rhox War Monk @Dan Dos Santos
|
|
||||||
111 C Ridge Rannet @Jim Murray
|
|
||||||
189 C Rip-Clan Crasher @Justin Sweet
|
|
||||||
23 U Rockcaster Platoon @David Palumbo
|
|
||||||
112 U Rockslide Elemental @Joshua Hagler
|
|
||||||
146 R Sacellum Godspeaker @Wayne Reynolds
|
|
||||||
84 R Salvage Titan @Anthony Francisco
|
|
||||||
24 C Sanctum Gargoyle @Shelly Wan
|
|
||||||
190 U Sangrite Surge @Jarreau Wimberly
|
|
||||||
191 M Sarkhan Vol @Daarken
|
|
||||||
147 C Savage Hunger @Trevor Claxton
|
|
||||||
228 U Savage Lands @Vance Kovacs
|
|
||||||
85 U Scavenger Drake @Trevor Claxton
|
|
||||||
113 U Scourge Devil @Dave Kendall
|
|
||||||
25 R Scourglass @Matt Cavotta
|
|
||||||
229 U Seaside Citadel @Volkan Baǵa
|
|
||||||
192 R Sedraxis Specter @Cole Eastburn
|
|
||||||
193 M Sedris, the Traitor King @Paul Bonner
|
|
||||||
86 C Shadowfeed @Dave Kendall
|
|
||||||
55 R Sharding Sphinx @Michael Bruinsma
|
|
||||||
194 M Sharuum the Hegemon @Izzy
|
|
||||||
87 C Shore Snapper @Dave Kendall
|
|
||||||
26 C Sighted-Caste Sorcerer @Chris Rahn
|
|
||||||
195 C Sigil Blessing @Matt Stewart
|
|
||||||
219 R Sigil of Distinction @Alan Pollack
|
|
||||||
27 U Sigiled Paladin @Greg Staples
|
|
||||||
88 C Skeletal Kathari @Carl Critchlow
|
|
||||||
114 U Skeletonize @Karl Kopinski
|
|
||||||
56 R Skill Borrower @Shelly Wan
|
|
||||||
148 R Skullmulcher @Michael Ryan
|
|
||||||
115 C Soul's Fire @Wayne Reynolds
|
|
||||||
28 C Soul's Grace @Christopher Moeller
|
|
||||||
149 C Soul's Might @Kev Walker
|
|
||||||
150 R Spearbreaker Behemoth @Christopher Moeller
|
|
||||||
57 C Spell Snip @Michael Sutfin
|
|
||||||
196 M Sphinx Sovereign @Chippy
|
|
||||||
58 U Sphinx's Herald @Dan Scott
|
|
||||||
197 U Sprouting Thrinax @Jarreau Wimberly
|
|
||||||
59 C Steelclad Serpent @Carl Critchlow
|
|
||||||
198 C Steward of Valeron @Greg Staples
|
|
||||||
199 R Stoic Angel @Volkan Baǵa
|
|
||||||
29 U Sunseed Nurturer @Steve Argyle
|
|
||||||
238 L Swamp @Chippy
|
238 L Swamp @Chippy
|
||||||
239 L Swamp @Mark Tedin
|
239 L Swamp @Mark Tedin
|
||||||
240 L Swamp @Mark Tedin
|
240 L Swamp @Mark Tedin
|
||||||
241 L Swamp @Aleksi Briclot
|
241 L Swamp @Aleksi Briclot
|
||||||
200 U Swerve @Karl Kopinski
|
242 L Mountain @Mark Tedin
|
||||||
89 R Tar Fiend @Anthony S. Waters
|
243 L Mountain @Aleksi Briclot
|
||||||
60 M Tezzeret the Seeker @Anthony Francisco
|
244 L Mountain @Aleksi Briclot
|
||||||
116 C Thorn-Thrash Viashino @Jon Foster
|
245 L Mountain @Zoltan Boros & Gabor Szikszai
|
||||||
201 U Thoughtcutter Agent @Cyril Van Der Haegen
|
246 L Forest @Aleksi Briclot
|
||||||
117 U Thunder-Thrash Elder @Brandon Kitkouski
|
247 L Forest @Zoltan Boros & Gabor Szikszai
|
||||||
202 U Tidehollow Sculler @rk post
|
248 L Forest @Zoltan Boros & Gabor Szikszai
|
||||||
203 C Tidehollow Strix @Cyril Van Der Haegen
|
249 L Forest @Michael Komarck
|
||||||
204 R Titanic Ultimatum @Steve Prescott
|
|
||||||
151 U Topan Ascetic @Sal Villagran
|
[showcase]
|
||||||
61 C Tortoise Formation @Mark Zug
|
250 M Rafiq of the Many @Meel Tamphanon
|
||||||
205 U Tower Gargoyle @Matt Cavotta
|
|
||||||
90 C Undead Leotau @Carl Critchlow
|
|
||||||
62 C Vectis Silencers @Steven Belledin
|
|
||||||
91 R Vein Drinker @Lars Grant-West
|
|
||||||
118 C Viashino Skeleton @Cole Eastburn
|
|
||||||
119 R Vicious Shadows @Joshua Hagler
|
|
||||||
206 R Violent Ultimatum @Raymond Swanland
|
|
||||||
92 C Viscera Dragger @Ralph Horsley
|
|
||||||
120 C Vithian Stinger @Dave Kendall
|
|
||||||
121 C Volcanic Submersion @Trevor Claxton
|
|
||||||
207 C Waveskimmer Aven @Mark Zug
|
|
||||||
30 C Welkin Guide @David Palumbo
|
|
||||||
122 R Where Ancients Tread @Zoltan Boros & Gabor Szikszai
|
|
||||||
152 C Wild Nacatl @Wayne Reynolds
|
|
||||||
208 C Windwright Mage @Chippy
|
|
||||||
209 U Woolly Thoctar @Wayne Reynolds
|
|
||||||
31 C Yoked Plowbeast @Steve Argyle
|
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
|
|||||||
@@ -1904,6 +1904,7 @@ lblChooseProliferateTarget=Wähle eine beliebige Anzahl bleibender Karten und/od
|
|||||||
lblDoYouWantPutCounter=Möchtest du die Marke legen?
|
lblDoYouWantPutCounter=Möchtest du die Marke legen?
|
||||||
lblChooseACreatureWithLeastToughness=Wähle eine Kreatur mit der geringsten Widerstandskraft
|
lblChooseACreatureWithLeastToughness=Wähle eine Kreatur mit der geringsten Widerstandskraft
|
||||||
lblSelectCounterTypeAddTo=Wähle Markentyp zum Hinzufügen
|
lblSelectCounterTypeAddTo=Wähle Markentyp zum Hinzufügen
|
||||||
|
lblSelectCounterType=Wähle Markentyp
|
||||||
lblHowManyCountersThis=Wie viele Marken möchtest du auf {0} legen?
|
lblHowManyCountersThis=Wie viele Marken möchtest du auf {0} legen?
|
||||||
lblChooseAnOpponent=Wähle Gegner
|
lblChooseAnOpponent=Wähle Gegner
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=Möchtest du {0} +1/+1-Marken auf {1} legen?
|
lblDoYouWantPutTargetP1P1CountersOnCard=Möchtest du {0} +1/+1-Marken auf {1} legen?
|
||||||
|
|||||||
@@ -1905,6 +1905,7 @@ lblChooseProliferateTarget=Choose any number of permanents and/or players for pr
|
|||||||
lblDoYouWantPutCounter=Do you want to put the counter?
|
lblDoYouWantPutCounter=Do you want to put the counter?
|
||||||
lblChooseACreatureWithLeastToughness=Choose a creature with the least toughness
|
lblChooseACreatureWithLeastToughness=Choose a creature with the least toughness
|
||||||
lblSelectCounterTypeAddTo=Select counter type to add to
|
lblSelectCounterTypeAddTo=Select counter type to add to
|
||||||
|
lblSelectCounterType=Select counter type
|
||||||
lblHowManyCountersThis=How many counters do you want to put on {0}?
|
lblHowManyCountersThis=How many counters do you want to put on {0}?
|
||||||
lblChooseAnOpponent=Choose an opponent
|
lblChooseAnOpponent=Choose an opponent
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=Do you want to put {0} +1/+1 counters on {1}?
|
lblDoYouWantPutTargetP1P1CountersOnCard=Do you want to put {0} +1/+1 counters on {1}?
|
||||||
|
|||||||
@@ -1903,6 +1903,7 @@ lblChooseProliferateTarget=Elige cualquier número de permanentes y/o jugadores
|
|||||||
lblDoYouWantPutCounter=¿Quieres poner el contador?
|
lblDoYouWantPutCounter=¿Quieres poner el contador?
|
||||||
lblChooseACreatureWithLeastToughness=Elige una criatura con la menor resistencia
|
lblChooseACreatureWithLeastToughness=Elige una criatura con la menor resistencia
|
||||||
lblSelectCounterTypeAddTo=Selecciona el tipo de contador para añadirlo a
|
lblSelectCounterTypeAddTo=Selecciona el tipo de contador para añadirlo a
|
||||||
|
lblSelectCounterType=Selecciona el tipo de contador
|
||||||
lblHowManyCountersThis=¿Cuántos contadores quieres poner en {0}?
|
lblHowManyCountersThis=¿Cuántos contadores quieres poner en {0}?
|
||||||
lblChooseAnOpponent=Elige un adversario
|
lblChooseAnOpponent=Elige un adversario
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=¿Quieres poner {0} contadores +1/+1 en {1}?
|
lblDoYouWantPutTargetP1P1CountersOnCard=¿Quieres poner {0} contadores +1/+1 en {1}?
|
||||||
|
|||||||
@@ -1902,6 +1902,7 @@ lblChooseProliferateTarget=Scegli un numero qualsiasi di permanenti e/o giocator
|
|||||||
lblDoYouWantPutCounter=Vuoi aggiungere il segnalino?
|
lblDoYouWantPutCounter=Vuoi aggiungere il segnalino?
|
||||||
lblChooseACreatureWithLeastToughness=Scegli una creatura con la minor costituzione
|
lblChooseACreatureWithLeastToughness=Scegli una creatura con la minor costituzione
|
||||||
lblSelectCounterTypeAddTo=Scegli il tipo di segnalino da aggiungere
|
lblSelectCounterTypeAddTo=Scegli il tipo di segnalino da aggiungere
|
||||||
|
lblSelectCounterType=Scegli il tipo di segnalino
|
||||||
lblHowManyCountersThis=Quanti segnalini vuoi aggiungere a {0}?
|
lblHowManyCountersThis=Quanti segnalini vuoi aggiungere a {0}?
|
||||||
lblChooseAnOpponent=Scegli un avversario
|
lblChooseAnOpponent=Scegli un avversario
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=Vuoi aggiungere {0} segnalino/i +1/+1 a {1}?
|
lblDoYouWantPutTargetP1P1CountersOnCard=Vuoi aggiungere {0} segnalino/i +1/+1 a {1}?
|
||||||
|
|||||||
@@ -1902,6 +1902,7 @@ lblChooseProliferateTarget=増殖を行う望む数のパーマネントやプ
|
|||||||
lblDoYouWantPutCounter=カウンターを置きますか?
|
lblDoYouWantPutCounter=カウンターを置きますか?
|
||||||
lblChooseACreatureWithLeastToughness=タフネスが一番低いクリーチャーを選ぶ
|
lblChooseACreatureWithLeastToughness=タフネスが一番低いクリーチャーを選ぶ
|
||||||
lblSelectCounterTypeAddTo=置けるカウンターの種類を選ぶ
|
lblSelectCounterTypeAddTo=置けるカウンターの種類を選ぶ
|
||||||
|
lblSelectCounterType=Select counter type
|
||||||
lblHowManyCounters={0}に何個のカウンターを置きますか?
|
lblHowManyCounters={0}に何個のカウンターを置きますか?
|
||||||
lblChooseAnOpponent=対戦相手一人を選ぶ
|
lblChooseAnOpponent=対戦相手一人を選ぶ
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard={1}の上に {0}個の +1/+1 カウンターを置きますか?
|
lblDoYouWantPutTargetP1P1CountersOnCard={1}の上に {0}個の +1/+1 カウンターを置きますか?
|
||||||
|
|||||||
@@ -1964,6 +1964,7 @@ lblChooseProliferateTarget=Escolha qualquer número de permanentes e/ou jogadore
|
|||||||
lblDoYouWantPutCounter=Você quer colocar o marcador?
|
lblDoYouWantPutCounter=Você quer colocar o marcador?
|
||||||
lblChooseACreatureWithLeastToughness=Escolha uma criatura com a menor resistência
|
lblChooseACreatureWithLeastToughness=Escolha uma criatura com a menor resistência
|
||||||
lblSelectCounterTypeAddTo=Selecione o tipo de marcador para adicionar a
|
lblSelectCounterTypeAddTo=Selecione o tipo de marcador para adicionar a
|
||||||
|
lblSelectCounterType=Selecione o tipo de marcador
|
||||||
lblHowManyCountersThis=Quantos marcadores você quer colocar em {0}?
|
lblHowManyCountersThis=Quantos marcadores você quer colocar em {0}?
|
||||||
lblChooseAnOpponent=Escolha um adversário
|
lblChooseAnOpponent=Escolha um adversário
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=Você quer colocar {0} +1/+1 marcadores em {1}?
|
lblDoYouWantPutTargetP1P1CountersOnCard=Você quer colocar {0} +1/+1 marcadores em {1}?
|
||||||
|
|||||||
@@ -1906,6 +1906,7 @@ lblChooseProliferateTarget=选择任意数量的永久物和或牌手进行增
|
|||||||
lblDoYouWantPutCounter=你想要放置指示物吗?
|
lblDoYouWantPutCounter=你想要放置指示物吗?
|
||||||
lblChooseACreatureWithLeastToughness=选择防御力最小的生物
|
lblChooseACreatureWithLeastToughness=选择防御力最小的生物
|
||||||
lblSelectCounterTypeAddTo=选择指示物类型以添加到
|
lblSelectCounterTypeAddTo=选择指示物类型以添加到
|
||||||
|
lblSelectCounterType=Select counter type
|
||||||
lblHowManyCountersThis=你想要在{0}上放置多少个指示物?
|
lblHowManyCountersThis=你想要在{0}上放置多少个指示物?
|
||||||
lblChooseAnOpponent=选择一个对手
|
lblChooseAnOpponent=选择一个对手
|
||||||
lblDoYouWantPutTargetP1P1CountersOnCard=你想要放置{0}个+1+1指示物到{1}吗?
|
lblDoYouWantPutTargetP1P1CountersOnCard=你想要放置{0}个+1+1指示物到{1}吗?
|
||||||
|
|||||||
Reference in New Issue
Block a user