mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 02:08:00 +00:00
Merge branch 'master' into questMode_wildOpponents
This commit is contained in:
@@ -20,9 +20,12 @@ package forge.game;
|
|||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.ArrayListMultimap;
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
|
import com.google.common.collect.HashBasedTable;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
import com.google.common.collect.Table;
|
||||||
import com.google.common.eventbus.EventBus;
|
import com.google.common.eventbus.EventBus;
|
||||||
import forge.card.CardRarity;
|
import forge.card.CardRarity;
|
||||||
import forge.card.CardStateName;
|
import forge.card.CardStateName;
|
||||||
@@ -53,6 +56,8 @@ import forge.util.Visitor;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the state of a <i>single game</i>, a new instance is created for each game.
|
* Represents the state of a <i>single game</i>, a new instance is created for each game.
|
||||||
*/
|
*/
|
||||||
@@ -86,6 +91,8 @@ public class Game {
|
|||||||
private Map<Player, PlayerCollection> attackedThisTurn = Maps.newHashMap();
|
private Map<Player, PlayerCollection> attackedThisTurn = Maps.newHashMap();
|
||||||
private Map<Player, PlayerCollection> attackedLastTurn = Maps.newHashMap();
|
private Map<Player, PlayerCollection> attackedLastTurn = Maps.newHashMap();
|
||||||
|
|
||||||
|
private Table<CounterType, Player, List<Pair<Card, Integer>>> countersAddedThisTurn = HashBasedTable.create();
|
||||||
|
|
||||||
private Player monarch = null;
|
private Player monarch = null;
|
||||||
private Player monarchBeginTurn = null;
|
private Player monarchBeginTurn = null;
|
||||||
|
|
||||||
@@ -939,4 +946,46 @@ public class Game {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onCleanupPhase() {
|
||||||
|
clearCounterAddedThisTurn();
|
||||||
|
for (Player player : getPlayers()) {
|
||||||
|
player.onCleanupPhase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addCounterAddedThisTurn(Player putter, CounterType cType, Card card, Integer value) {
|
||||||
|
if (putter == null || card == null || value <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<Pair<Card, Integer>> result = countersAddedThisTurn.get(cType, putter);
|
||||||
|
if (result == null) {
|
||||||
|
result = Lists.newArrayList();
|
||||||
|
}
|
||||||
|
result.add(Pair.of(CardUtil.getLKICopy(card), value));
|
||||||
|
if (!countersAddedThisTurn.contains(cType, putter)) {
|
||||||
|
countersAddedThisTurn.put(cType, putter, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCounterAddedThisTurn(CounterType cType, String validPlayer, String validCard, Card source, Player sourceController, SpellAbility spellAbility) {
|
||||||
|
int result = 0;
|
||||||
|
if (!countersAddedThisTurn.containsRow(cType)) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
for (Map.Entry<Player, List<Pair<Card, Integer>>> e : countersAddedThisTurn.row(cType).entrySet()) {
|
||||||
|
if (e.getKey().isValid(validPlayer.split(","), sourceController, source, spellAbility)) {
|
||||||
|
for (Pair<Card, Integer> p : e.getValue()) {
|
||||||
|
if (p.getKey().isValid(validCard.split(","), sourceController, source, spellAbility)) {
|
||||||
|
result += p.getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearCounterAddedThisTurn() {
|
||||||
|
countersAddedThisTurn.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1593,6 +1593,8 @@ public class AbilityUtils {
|
|||||||
final String[] sq;
|
final String[] sq;
|
||||||
sq = l[0].split("\\.");
|
sq = l[0].split("\\.");
|
||||||
|
|
||||||
|
final Game game = c.getGame();
|
||||||
|
|
||||||
if (ctb != null) {
|
if (ctb != null) {
|
||||||
// Count$Compare <int comparator value>.<True>.<False>
|
// Count$Compare <int comparator value>.<True>.<False>
|
||||||
if (sq[0].startsWith("Compare")) {
|
if (sq[0].startsWith("Compare")) {
|
||||||
@@ -1776,6 +1778,13 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (l[0].startsWith("CountersAddedThisTurn")) {
|
||||||
|
final String[] parts = l[0].split(" ");
|
||||||
|
CounterType cType = CounterType.getType(parts[1]);
|
||||||
|
|
||||||
|
return CardFactoryUtil.doXMath(game.getCounterAddedThisTurn(cType, parts[2], parts[3], c, sa.getActivatingPlayer(), sa), expr, c);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return CardFactoryUtil.xCount(c, s2);
|
return CardFactoryUtil.xCount(c, s2);
|
||||||
|
|||||||
@@ -201,6 +201,26 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
sb.append(" Then shuffle that library.");
|
sb.append(" Then shuffle that library.");
|
||||||
|
} else if (origin.equals("Sideboard")) {
|
||||||
|
sb.append(chooserNames);
|
||||||
|
//currently Reveal is always True in ChangeZone
|
||||||
|
if (sa.hasParam("Reveal")) {
|
||||||
|
sb.append(" may reveal ").append(num).append(" ").append(type).append(" from outside the game and put ");
|
||||||
|
if (num == 1) {
|
||||||
|
sb.append("it ");
|
||||||
|
} else {
|
||||||
|
sb.append("them ");
|
||||||
|
}
|
||||||
|
sb.append("into their ").append(destination.toLowerCase()).append(".");
|
||||||
|
} else {
|
||||||
|
if (sa.hasParam("Mandatory")) {
|
||||||
|
sb.append(" puts ");
|
||||||
|
} else {
|
||||||
|
sb.append(" may put ");
|
||||||
|
}
|
||||||
|
sb.append(num).append(" ").append(type).append(" from outside the game into their ");
|
||||||
|
sb.append(destination.toLowerCase()).append(".");
|
||||||
|
}
|
||||||
} else if (origin.equals("Hand")) {
|
} else if (origin.equals("Hand")) {
|
||||||
sb.append(chooserNames);
|
sb.append(chooserNames);
|
||||||
if (!chooserNames.equals(fetcherNames)) {
|
if (!chooserNames.equals(fetcherNames)) {
|
||||||
|
|||||||
@@ -1239,7 +1239,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
final int loyaltyBefore = getCurrentLoyalty();
|
final int loyaltyBefore = getCurrentLoyalty();
|
||||||
|
|
||||||
setCounters(counterType, newValue);
|
setCounters(counterType, newValue);
|
||||||
getController().addCounterToPermThisTurn(counterType, addAmount);
|
getGame().addCounterAddedThisTurn(source, counterType, this, addAmount);
|
||||||
view.updateCounters(this);
|
view.updateCounters(this);
|
||||||
|
|
||||||
//fire card stats changed event if p/t bonuses or loyalty changed from added counters
|
//fire card stats changed event if p/t bonuses or loyalty changed from added counters
|
||||||
@@ -1267,7 +1267,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setCounters(counterType, newValue);
|
setCounters(counterType, newValue);
|
||||||
getController().addCounterToPermThisTurn(counterType, addAmount);
|
|
||||||
|
getGame().addCounterAddedThisTurn(source, counterType, this, addAmount);
|
||||||
view.updateCounters(this);
|
view.updateCounters(this);
|
||||||
}
|
}
|
||||||
if (newValue <= 0) {
|
if (newValue <= 0) {
|
||||||
|
|||||||
@@ -841,14 +841,6 @@ public class CardFactoryUtil {
|
|||||||
return doXMath(maxNum, m, c);
|
return doXMath(maxNum, m, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Count$CountersAddedToPermYouCtrl <CounterType>
|
|
||||||
if (l[0].startsWith("CountersAddedToPermYouCtrl")) {
|
|
||||||
final String[] components = l[0].split(" ", 2);
|
|
||||||
final CounterType counterType = CounterType.getType(components[1]);
|
|
||||||
int n = cc.getCounterToPermThisTurn(counterType);
|
|
||||||
return doXMath(n, m, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (l[0].startsWith("CommanderCastFromCommandZone")) {
|
if (l[0].startsWith("CommanderCastFromCommandZone")) {
|
||||||
// only used by Opal Palace, and it does add the trigger to the card
|
// only used by Opal Palace, and it does add the trigger to the card
|
||||||
return doXMath(cc.getCommanderCast(c), m, c);
|
return doXMath(cc.getCommanderCast(c), m, c);
|
||||||
|
|||||||
@@ -501,9 +501,7 @@ public class PhaseHandler implements java.io.Serializable {
|
|||||||
bPreventCombatDamageThisTurn = false;
|
bPreventCombatDamageThisTurn = false;
|
||||||
if (!bRepeatCleanup) {
|
if (!bRepeatCleanup) {
|
||||||
// only call onCleanupPhase when Cleanup is not repeated
|
// only call onCleanupPhase when Cleanup is not repeated
|
||||||
for (Player player : game.getPlayers()) {
|
game.onCleanupPhase();
|
||||||
player.onCleanupPhase();
|
|
||||||
}
|
|
||||||
setPlayerTurn(handleNextTurn());
|
setPlayerTurn(handleNextTurn());
|
||||||
// "Trigger" for begin turn to get around a phase skipping
|
// "Trigger" for begin turn to get around a phase skipping
|
||||||
final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
|
final Map<AbilityKey, Object> runParams = AbilityKey.newMap();
|
||||||
|
|||||||
@@ -114,8 +114,6 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
|
|
||||||
private CardCollection sacrificedThisTurn = new CardCollection();
|
private CardCollection sacrificedThisTurn = new CardCollection();
|
||||||
|
|
||||||
private Map<CounterType, Integer> countersAddedtoPermThisTurn = Maps.newHashMap();
|
|
||||||
|
|
||||||
/** A list of tokens not in play, but on their way.
|
/** A list of tokens not in play, but on their way.
|
||||||
* This list is kept in order to not break ETB-replacement
|
* This list is kept in order to not break ETB-replacement
|
||||||
* on tokens. */
|
* on tokens. */
|
||||||
@@ -2289,20 +2287,6 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
sacrificedThisTurn.clear();
|
sacrificedThisTurn.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void addCounterToPermThisTurn(final CounterType type, final int x) {
|
|
||||||
countersAddedtoPermThisTurn.put(type, getCounterToPermThisTurn(type) + x);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final Integer getCounterToPermThisTurn(final CounterType type) {
|
|
||||||
if (countersAddedtoPermThisTurn.containsKey(type))
|
|
||||||
return countersAddedtoPermThisTurn.get(type);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void resetCounterToPermThisTurn() {
|
|
||||||
countersAddedtoPermThisTurn.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
public final int getSpellsCastThisTurn() {
|
public final int getSpellsCastThisTurn() {
|
||||||
return spellsCastThisTurn;
|
return spellsCastThisTurn;
|
||||||
}
|
}
|
||||||
@@ -2521,7 +2505,6 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
resetSurveilThisTurn();
|
resetSurveilThisTurn();
|
||||||
resetCycledThisTurn();
|
resetCycledThisTurn();
|
||||||
resetSacrificedThisTurn();
|
resetSacrificedThisTurn();
|
||||||
resetCounterToPermThisTurn();
|
|
||||||
clearAssignedDamage();
|
clearAssignedDamage();
|
||||||
resetAttackersDeclaredThisTurn();
|
resetAttackersDeclaredThisTurn();
|
||||||
resetAttackedOpponentsThisTurn();
|
resetAttackedOpponentsThisTurn();
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ import forge.util.Localizer;
|
|||||||
import forge.util.Utils;
|
import forge.util.Utils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileFilter;
|
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Deque;
|
import java.util.Deque;
|
||||||
@@ -160,25 +159,17 @@ public class Forge implements ApplicationListener {
|
|||||||
private void preloadExtendedArt() {
|
private void preloadExtendedArt() {
|
||||||
if (!enablePreloadExtendedArt)
|
if (!enablePreloadExtendedArt)
|
||||||
return;
|
return;
|
||||||
List<String> keys = new ArrayList<>();
|
List<String> BorderlessCardlistkeys = FileUtil.readFile(ForgeConstants.BORDERLESS_CARD_LIST_FILE);
|
||||||
File[] directories = new File(ForgeConstants.CACHE_CARD_PICS_DIR).listFiles(new FileFilter() {
|
if(BorderlessCardlistkeys.isEmpty())
|
||||||
@Override
|
return;
|
||||||
public boolean accept(File file) {
|
List<String> filteredkeys = new ArrayList<>();
|
||||||
if (!file.getName().startsWith("MPS_"))
|
for (String cardname : BorderlessCardlistkeys){
|
||||||
return false;
|
File image = new File(ForgeConstants.CACHE_CARD_PICS_DIR+"/"+cardname+".jpg");
|
||||||
return file.isDirectory();
|
if (image.exists())
|
||||||
}
|
filteredkeys.add(cardname);
|
||||||
});
|
|
||||||
for (File folder : directories) {
|
|
||||||
File[] files = new File(folder.toString()).listFiles();
|
|
||||||
for (File file : files) {
|
|
||||||
if (file.isFile()) {
|
|
||||||
keys.add(folder.getName() + "/" +file.getName().replace(".jpg","").replace(".png",""));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!keys.isEmpty())
|
if (!filteredkeys.isEmpty())
|
||||||
ImageCache.preloadCache((Iterable<String>)keys);
|
ImageCache.preloadCache(filteredkeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void afterDbLoaded() {
|
private void afterDbLoaded() {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import com.google.common.cache.LoadingCache;
|
|||||||
import com.google.common.cache.RemovalCause;
|
import com.google.common.cache.RemovalCause;
|
||||||
import com.google.common.cache.RemovalListener;
|
import com.google.common.cache.RemovalListener;
|
||||||
import com.google.common.cache.RemovalNotification;
|
import com.google.common.cache.RemovalNotification;
|
||||||
|
import forge.Forge;
|
||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
import forge.card.CardRenderer;
|
import forge.card.CardRenderer;
|
||||||
@@ -106,6 +107,8 @@ public class ImageCache {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void disposeTexture(){
|
public static void disposeTexture(){
|
||||||
|
if (Forge.enablePreloadExtendedArt)
|
||||||
|
return;
|
||||||
for (Texture t: cache.asMap().values()) {
|
for (Texture t: cache.asMap().values()) {
|
||||||
if (!t.toString().contains("pics/icons")) //fixes quest avatars black texture. todo: filter textures that are safe to dispose...
|
if (!t.toString().contains("pics/icons")) //fixes quest avatars black texture. todo: filter textures that are safe to dispose...
|
||||||
t.dispose();
|
t.dispose();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package forge.assets;
|
package forge.assets;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.List;
|
||||||
|
|
||||||
import com.badlogic.gdx.files.FileHandle;
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
@@ -14,142 +14,14 @@ import forge.FThreads;
|
|||||||
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
|
import forge.properties.ForgeConstants;
|
||||||
|
import forge.util.FileUtil;
|
||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
|
|
||||||
import static forge.assets.ImageCache.croppedBorderImage;
|
import static forge.assets.ImageCache.croppedBorderImage;
|
||||||
|
|
||||||
final class ImageLoader extends CacheLoader<String, Texture> {
|
final class ImageLoader extends CacheLoader<String, Texture> {
|
||||||
private static ArrayList<String> borderlessCardlistKey = new ArrayList<String>() {
|
private static List<String> borderlessCardlistKey = FileUtil.readFile(ForgeConstants.BORDERLESS_CARD_LIST_FILE);
|
||||||
{//TODO: load the values from text list instead of hardcoded
|
|
||||||
add("2XM/Academy Ruins2.fullborder");
|
|
||||||
add("2XM/Atraxa, Praetors' Voice2.fullborder");
|
|
||||||
add("2XM/Avacyn, Angel of Hope2.fullborder");
|
|
||||||
add("2XM/Batterskull2.fullborder");
|
|
||||||
add("2XM/Blightsteel Colossus2.fullborder");
|
|
||||||
add("2XM/Blood Moon2.fullborder");
|
|
||||||
add("2XM/Brainstorm2.fullborder");
|
|
||||||
add("2XM/Chrome Mox2.fullborder");
|
|
||||||
add("2XM/Council's Judgment2.fullborder");
|
|
||||||
add("2XM/Crop Rotation2.fullborder");
|
|
||||||
add("2XM/Cyclonic Rift2.fullborder");
|
|
||||||
add("2XM/Dark Confidant2.fullborder");
|
|
||||||
add("2XM/Doubling Season2.fullborder");
|
|
||||||
add("2XM/Expedition Map2.fullborder");
|
|
||||||
add("2XM/Exploration2.fullborder");
|
|
||||||
add("2XM/Fatal Push2.fullborder");
|
|
||||||
add("2XM/Force of Will2.fullborder");
|
|
||||||
add("2XM/Goblin Guide2.fullborder");
|
|
||||||
add("2XM/Jace, the Mind Sculptor2.fullborder");
|
|
||||||
add("2XM/Kaalia of the Vast2.fullborder");
|
|
||||||
add("2XM/Karn Liberated2.fullborder");
|
|
||||||
add("2XM/Lightning Greaves2.fullborder");
|
|
||||||
add("2XM/Mana Crypt2.fullborder");
|
|
||||||
add("2XM/Meddling Mage2.fullborder");
|
|
||||||
add("2XM/Mox Opal2.fullborder");
|
|
||||||
add("2XM/Noble Hierarch2.fullborder");
|
|
||||||
add("2XM/Phyrexian Metamorph2.fullborder");
|
|
||||||
add("2XM/Sneak Attack2.fullborder");
|
|
||||||
add("2XM/Stoneforge Mystic2.fullborder");
|
|
||||||
add("2XM/Sword of Body and Mind2.fullborder");
|
|
||||||
add("2XM/Sword of Feast and Famine2.fullborder");
|
|
||||||
add("2XM/Sword of Fire and Ice2.fullborder");
|
|
||||||
add("2XM/Sword of Light and Shadow2.fullborder");
|
|
||||||
add("2XM/Sword of War and Peace2.fullborder");
|
|
||||||
add("2XM/Thoughtseize2.fullborder");
|
|
||||||
add("2XM/Toxic Deluge2.fullborder");
|
|
||||||
add("2XM/Urza's Mine2.fullborder");
|
|
||||||
add("2XM/Urza's Power Plant2.fullborder");
|
|
||||||
add("2XM/Urza's Tower2.fullborder");
|
|
||||||
add("2XM/Wurmcoil Engine2.fullborder");
|
|
||||||
add("ELD/Garruk, Cursed Huntsman2.fullborder");
|
|
||||||
add("ELD/Oko, Thief of Crowns2.fullborder");
|
|
||||||
add("ELD/The Royal Scions2.fullborder");
|
|
||||||
add("IKO/Brokkos, Apex of Forever2.fullborder");
|
|
||||||
add("IKO/Brokkos, Apex of Forever3.fullborder");
|
|
||||||
add("IKO/Crystalline Giant3.fullborder");
|
|
||||||
add("IKO/Cubwarden2.fullborder");
|
|
||||||
add("IKO/Dirge Bat2.fullborder");
|
|
||||||
add("IKO/Dirge Bat3.fullborder");
|
|
||||||
add("IKO/Everquill Phoenix2.fullborder");
|
|
||||||
add("IKO/Everquill Phoenix3.fullborder");
|
|
||||||
add("IKO/Gemrazer2.fullborder");
|
|
||||||
add("IKO/Gemrazer3.fullborder");
|
|
||||||
add("IKO/Gyruda, Doom of Depths3.fullborder");
|
|
||||||
add("IKO/Huntmaster Liger2.fullborder");
|
|
||||||
add("IKO/Huntmaster Liger3.fullborder");
|
|
||||||
add("IKO/Illuna, Apex of Wishes2.fullborder");
|
|
||||||
add("IKO/Illuna, Apex of Wishes3.fullborder");
|
|
||||||
add("IKO/Indatha Triome2.fullborder");
|
|
||||||
add("IKO/Ketria Triome2.fullborder");
|
|
||||||
add("IKO/Lukka, Coppercoat Outcast2.fullborder");
|
|
||||||
add("IKO/Luminous Broodmoth3.fullborder");
|
|
||||||
add("IKO/Mysterious Egg2.fullborder");
|
|
||||||
add("IKO/Narset of the Ancient Way2.fullborder");
|
|
||||||
add("IKO/Nethroi, Apex of Death2.fullborder");
|
|
||||||
add("IKO/Nethroi, Apex of Death3.fullborder");
|
|
||||||
add("IKO/Pollywog Symbiote2.fullborder");
|
|
||||||
add("IKO/Raugrin Triome2.fullborder");
|
|
||||||
add("IKO/Savai Triome2.fullborder");
|
|
||||||
add("IKO/Sea-Dasher Octopus2.fullborder");
|
|
||||||
add("IKO/Snapdax, Apex of the Hunt2.fullborder");
|
|
||||||
add("IKO/Snapdax, Apex of the Hunt3.fullborder");
|
|
||||||
add("IKO/Sprite Dragon3.fullborder");
|
|
||||||
add("IKO/Titanoth Rex2.fullborder");
|
|
||||||
add("IKO/Vadrok, Apex of Thunder2.fullborder");
|
|
||||||
add("IKO/Vadrok, Apex of Thunder3.fullborder");
|
|
||||||
add("IKO/Vivien, Monsters' Advocate2.fullborder");
|
|
||||||
add("IKO/Void Beckoner2.fullborder");
|
|
||||||
add("IKO/Yidaro, Wandering Monster3.fullborder");
|
|
||||||
add("IKO/Zagoth Triome2.fullborder");
|
|
||||||
add("IKO/Zilortha, Strength Incarnate.fullborder");
|
|
||||||
add("M21/Basri Ket2.fullborder");
|
|
||||||
add("M21/Chandra, Heart of Fire2.fullborder");
|
|
||||||
add("M21/Containment Priest2.fullborder");
|
|
||||||
add("M21/Cultivate2.fullborder");
|
|
||||||
add("M21/Garruk, Unleashed2.fullborder");
|
|
||||||
add("M21/Grim Tutor2.fullborder");
|
|
||||||
add("M21/Liliana, Waker of the Dead2.fullborder");
|
|
||||||
add("M21/Massacre Wurm2.fullborder");
|
|
||||||
add("M21/Scavenging Ooze2.fullborder");
|
|
||||||
add("M21/Solemn Simulacrum2.fullborder");
|
|
||||||
add("M21/Teferi, Master of Time2.fullborder");
|
|
||||||
add("M21/Ugin, the Spirit Dragon2.fullborder");
|
|
||||||
add("M21/Ugin, the Spirit Dragon3.fullborder");
|
|
||||||
add("PLGS/Hangarback Walker.fullborder");
|
|
||||||
add("SLD/Acidic Slime.fullborder");
|
|
||||||
add("SLD/Captain Sisay.fullborder");
|
|
||||||
add("SLD/Meren of Clan Nel Toth.fullborder");
|
|
||||||
add("SLD/Narset, Enlightened Master.fullborder");
|
|
||||||
add("SLD/Necrotic Ooze.fullborder");
|
|
||||||
add("SLD/Oona, Queen of the Fae.fullborder");
|
|
||||||
add("SLD/Saskia the Unyielding.fullborder");
|
|
||||||
add("SLD/The Mimeoplasm.fullborder");
|
|
||||||
add("SLD/Voidslime.fullborder");
|
|
||||||
add("THB/Ashiok, Nightmare Muse2.fullborder");
|
|
||||||
add("THB/Calix, Destiny's Hand2.fullborder");
|
|
||||||
add("THB/Elspeth, Sun's Nemesis2.fullborder");
|
|
||||||
add("UST/Forest.fullborder");
|
|
||||||
add("UST/Island.fullborder");
|
|
||||||
add("UST/Mountain.fullborder");
|
|
||||||
add("UST/Plains.fullborder");
|
|
||||||
add("UST/Swamp.fullborder");
|
|
||||||
add("ZNR/Boulderloft Pathway2.fullborder");
|
|
||||||
add("ZNR/Branchloft Pathway2.fullborder");
|
|
||||||
add("ZNR/Brightclimb Pathway2.fullborder");
|
|
||||||
add("ZNR/Clearwater Pathway2.fullborder");
|
|
||||||
add("ZNR/Cragcrown Pathway2.fullborder");
|
|
||||||
add("ZNR/Grimclimb Pathway2.fullborder");
|
|
||||||
add("ZNR/Jace, Mirror Mage2.fullborder");
|
|
||||||
add("ZNR/Lavaglide Pathway2.fullborder");
|
|
||||||
add("ZNR/Murkwater Pathway2.fullborder");
|
|
||||||
add("ZNR/Nahiri, Heir of the Ancients2.fullborder");
|
|
||||||
add("ZNR/Needleverge Pathway2.fullborder");
|
|
||||||
add("ZNR/Nissa of Shadowed Boughs2.fullborder");
|
|
||||||
add("ZNR/Pillarverge Pathway2.fullborder");
|
|
||||||
add("ZNR/Riverglide Pathway2.fullborder");
|
|
||||||
add("ZNR/Timbercrown Pathway2.fullborder");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Texture n;
|
Texture n;
|
||||||
@Override
|
@Override
|
||||||
@@ -240,6 +112,8 @@ final class ImageLoader extends CacheLoader<String, Texture> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBorderless(String imagekey) {
|
public boolean isBorderless(String imagekey) {
|
||||||
|
if(borderlessCardlistKey.isEmpty())
|
||||||
|
return false;
|
||||||
if (imagekey.length() > 7) {
|
if (imagekey.length() > 7) {
|
||||||
if ((!imagekey.substring(0, 7).contains("MPS_KLD"))&&(imagekey.substring(0, 4).contains("MPS_"))) //MPS_ sets except MPD_KLD
|
if ((!imagekey.substring(0, 7).contains("MPS_KLD"))&&(imagekey.substring(0, 4).contains("MPS_"))) //MPS_ sets except MPD_KLD
|
||||||
return true;
|
return true;
|
||||||
@@ -248,6 +122,8 @@ final class ImageLoader extends CacheLoader<String, Texture> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isBorderless(Texture t) {
|
public static boolean isBorderless(Texture t) {
|
||||||
|
if(borderlessCardlistKey.isEmpty())
|
||||||
|
return false;
|
||||||
//generated texture/pixmap?
|
//generated texture/pixmap?
|
||||||
if (t.toString().contains("com.badlogic.gdx.graphics.Texture@"))
|
if (t.toString().contains("com.badlogic.gdx.graphics.Texture@"))
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
Name:Burning Wish
|
Name:Burning Wish
|
||||||
ManaCost:1 R
|
ManaCost:1 R
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 1 R | Origin$ Sideboard | Destination$ Hand | ChangeType$ Sorcery.YouOwn | ChangeNum$ 1 | SubAbility$ DBChange | SpellDescription$ You may choose a sorcery card you own from outside the game, reveal that card, and put it into your hand. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ 1 R | Reveal$ True | Origin$ Sideboard | Destination$ Hand | ChangeType$ Sorcery.YouOwn | ChangeTypeDesc$ sorcery card they own | ChangeNum$ 1 | SubAbility$ DBChange | Hidden$ True | SpellDescription$ You may reveal a sorcery card you own from outside the game and put it into your hand. Exile CARDNAME.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/burning_wish.jpg
|
Oracle:You may reveal a sorcery card you own from outside the game and put it into your hand. Exile Burning Wish.
|
||||||
Oracle:You may choose a sorcery card you own from outside the game, reveal that card, and put it into your hand. Exile Burning Wish.
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Name:Coax from the Blind Eternities
|
Name:Coax from the Blind Eternities
|
||||||
ManaCost:2 U
|
ManaCost:2 U
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 2 U | Origin$ Sideboard,Exile | Destination$ Hand | ChangeType$ Card.Eldrazi+YouOwn | ChangeNum$ 1 | SpellDescription$ You may choose an Eldrazi card you own from outside the game or in exile, reveal that card, and put it into your hand.
|
A:SP$ ChangeZone | Cost$ 2 U | Origin$ Sideboard,Exile | Destination$ Hand | ChangeType$ Card.Eldrazi+YouOwn | ChangeNum$ 1 | Hidden$ True | Reveal$ True | StackDescription$ {p:You} may reveal an Eldrazi card they own from outside the game or in exile and put it into their hand. | SpellDescription$ You may reveal an Eldrazi card you own from outside the game or in exile and put it into your hand.
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/coax_from_the_blind_eternities.jpg
|
Oracle:You may reveal an Eldrazi card you own from outside the game or in exile and put it into your hand.
|
||||||
Oracle:You may choose an Eldrazi card you own from outside the game or in exile, reveal that card, and put it into your hand.
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
Name:Cunning Wish
|
Name:Cunning Wish
|
||||||
ManaCost:2 U
|
ManaCost:2 U
|
||||||
Types:Instant
|
Types:Instant
|
||||||
A:SP$ ChangeZone | Cost$ 2 U | Origin$ Sideboard | Destination$ Hand | ChangeType$ Instant.YouOwn | ChangeNum$ 1 | SubAbility$ DBChange | SpellDescription$ You may choose an instant card you own from outside the game, reveal that card, and put it into your hand. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ 2 U | Reveal$ True | Origin$ Sideboard | Destination$ Hand | ChangeType$ Instant.YouOwn | ChangeTypeDesc$ instant card they own | ChangeNum$ 1 | SubAbility$ DBChange | Hidden$ True | SpellDescription$ You may reveal an instant card you own from outside the game and put it into your hand. Exile CARDNAME.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/cunning_wish.jpg
|
Oracle:You may reveal an instant card you own from outside the game and put it into your hand. Exile Cunning Wish.
|
||||||
Oracle:You may choose an instant card you own from outside the game, reveal that card, and put it into your hand. Exile Cunning Wish.
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
Name:Death Wish
|
Name:Death Wish
|
||||||
ManaCost:1 B B
|
ManaCost:1 B B
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 1 B B | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | SubAbility$ DBLoseLife | SpellDescription$ You may choose a card you own from outside the game and put it into your hand. You lose half your life, rounded up. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ 1 B B | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeTypeDesc$ card they own | ChangeNum$ 1 | SubAbility$ DBLoseLife | Hidden$ True | SpellDescription$ You may put a card you own from outside the game into your hand. You lose half your life, rounded up. Exile CARDNAME.
|
||||||
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | References$ X | SubAbility$ DBChange
|
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | References$ X | SubAbility$ DBChange
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
SVar:X:Count$YourLifeTotal/HalfUp
|
SVar:X:Count$YourLifeTotal/HalfUp
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/death_wish.jpg
|
Oracle:You may put a card you own from outside the game into your hand. You lose half your life, rounded up. Exile Death Wish.
|
||||||
Oracle:You may choose a card you own from outside the game and put it into your hand. You lose half your life, rounded up. Exile Death Wish.
|
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ ALTERNATE
|
|||||||
Name:Granted
|
Name:Granted
|
||||||
ManaCost:3 U
|
ManaCost:3 U
|
||||||
Types:Sorcery Adventure
|
Types:Sorcery Adventure
|
||||||
A:SP$ ChangeZone | Cost$ 3 U | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.nonCreature+YouOwn | ChangeNum$ 1 | SpellDescription$ You may choose a noncreature card you own from outside the game, reveal it, and put it into your hand.
|
A:SP$ ChangeZone | Cost$ 3 U | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.nonCreature+YouOwn | ChangeTypeDesc$ noncreature card they own | ChangeNum$ 1 | Reveal$ True | Hidden$ True | SpellDescription$ You may reveal a noncreature card you own from outside the game and put it into your hand.
|
||||||
Oracle:You may choose a noncreature card you own from outside the game, reveal it, and put it into your hand.
|
Oracle:You may reveal a noncreature card you own from outside the game and put it into your hand.
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ PT:2/2
|
|||||||
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | CheckSVar$ X | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on CARDNAME.
|
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | CheckSVar$ X | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on CARDNAME.
|
||||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||||
DeckHints:Ability$Counters
|
DeckHints:Ability$Counters
|
||||||
SVar:X:Count$CountersAddedToPermYouCtrl P1P1
|
DeckHas:Ability$Counters
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/fairgrounds_trumpeter.jpg
|
SVar:X:Count$CountersAddedThisTurn P1P1 Player Permanent.YouCtrl
|
||||||
Oracle:At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on Fairgrounds Trumpeter.
|
Oracle:At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on Fairgrounds Trumpeter.
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
Name:Glittering Wish
|
Name:Glittering Wish
|
||||||
ManaCost:G W
|
ManaCost:G W
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ G W | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.MultiColor+YouOwn | ChangeNum$ 1 | SubAbility$ DBChange | SpellDescription$ You may choose a multicolored card you own from outside the game, reveal that card, and put it into your hand. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ G W | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.MultiColor+YouOwn | ChangeTypeDesc$ multicolored card they own | ChangeNum$ 1 | Hidden$ True | Reveal$ True | SubAbility$ DBChange | SpellDescription$ You may reveal a multicolored card you own from outside the game and put it into your hand. Exile CARDNAME.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/glittering_wish.jpg
|
Oracle:You may reveal a multicolored card you own from outside the game and put it into your hand. Exile Glittering Wish.
|
||||||
Oracle:You may choose a multicolored card you own from outside the game, reveal that card, and put it into your hand. Exile Glittering Wish.
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
Name:Golden Wish
|
Name:Golden Wish
|
||||||
ManaCost:3 W W
|
ManaCost:3 W W
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 3 W W | Origin$ Sideboard | Destination$ Hand | ChangeType$ Artifact.YouOwn,Enchantment.YouOwn | ChangeNum$ 1 | SubAbility$ DBChange | SpellDescription$ You may choose an artifact or enchantment card you own from outside the game, reveal that card, and put it into your hand. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ 3 W W | Origin$ Sideboard | Destination$ Hand | ChangeType$ Artifact.YouOwn,Enchantment.YouOwn | ChangeTypeDesc$ artifact or enchantment they own | ChangeNum$ 1 | SubAbility$ DBChange | Hidden$ True | Reveal$ True | SpellDescription$ You may reveal an artifact or enchantment card you own from outside the game and put it into your hand. Exile CARDNAME.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/golden_wish.jpg
|
Oracle:You may reveal an artifact or enchantment card you own from outside the game and put it into your hand. Exile Golden Wish.
|
||||||
Oracle:You may choose an artifact or enchantment card you own from outside the game, reveal that card, and put it into your hand. Exile Golden Wish.
|
|
||||||
|
|||||||
11
forge-gui/res/cardsfolder/i/iridescent_hornbeetle.txt
Normal file
11
forge-gui/res/cardsfolder/i/iridescent_hornbeetle.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:Iridescent Hornbeetle
|
||||||
|
ManaCost:4 G
|
||||||
|
Types:Creature Insect
|
||||||
|
PT:3/4
|
||||||
|
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your end step, create a 1/1 green Insect creature token for each +1/+1 counter you've put on creatures under your control this turn.
|
||||||
|
SVar:TrigToken:DB$ Token | TokenAmount$ X | References$ X | TokenOwner$ You | TokenScript$ g_1_1_insect
|
||||||
|
SVar:X:Count$CountersAddedThisTurn P1P1 You Creature.YouCtrl
|
||||||
|
DeckNeeds:Ability$Counters
|
||||||
|
DeckHas:Ability$Counters
|
||||||
|
Oracle:At the beginning of your end step, create a 1/1 green Insect creature token for each +1/+1 counter you've put on creatures under your control this turn.
|
||||||
|
|
||||||
@@ -6,6 +6,6 @@ S:Mode$ Continuous | Affected$ Artifact.OppCtrl | AddHiddenKeyword$ CARDNAME's a
|
|||||||
SVar:NonStackingEffect:True
|
SVar:NonStackingEffect:True
|
||||||
A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | TargetMin$ 0 | TargetMax$ 1 | Planeswalker$ True | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Artifact,Creature | References$ X | UntilYourNextTurn$ True | AILogic$ PTByCMC | SpellDescription$ Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.
|
A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | TargetMin$ 0 | TargetMax$ 1 | Planeswalker$ True | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Artifact,Creature | References$ X | UntilYourNextTurn$ True | AILogic$ PTByCMC | SpellDescription$ Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.
|
||||||
SVar:X:Targeted$CardManaCost
|
SVar:X:Targeted$CardManaCost
|
||||||
A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Origin$ Sideboard,Exile | Destination$ Hand | ChangeType$ Artifact.YouOwn | ChangeNum$ 1 | SpellDescription$ You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.
|
A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Origin$ Sideboard,Exile | Destination$ Hand | ChangeType$ Artifact.YouOwn | ChangeTypeDesc$ artifact they own | ChangeNum$ 1 | Hidden$ True | Reveal$ True | StackDescription$ {p:You} may reveal an artifact card they own from outside the game or in exile and put it into their hand. | SpellDescription$ You may reveal an artifact card you own from outside the game or in exile and put it into your hand.
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
Oracle:Activated abilities of artifacts your opponents control can't be activated.\n[+1]: Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.\n[-2]: You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.
|
Oracle:Activated abilities of artifacts your opponents control can't be activated.\n[+1]: Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness equal to its converted mana cost.\n[-2]: You may reveal an artifact card you own from outside the game or in exile and put it into your hand.
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
Name:Living Wish
|
Name:Living Wish
|
||||||
ManaCost:1 G
|
ManaCost:1 G
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 1 G | Origin$ Sideboard | Destination$ Hand | ChangeType$ Creature.YouOwn,Land.YouOwn | ChangeNum$ 1 | SubAbility$ DBChange | SpellDescription$ You may choose a creature or land card you own from outside the game, reveal that card, and put it into your hand. Exile CARDNAME.
|
A:SP$ ChangeZone | Cost$ 1 G | Origin$ Sideboard | Destination$ Hand | ChangeType$ Creature.YouOwn,Land.YouOwn | ChangeTypeDesc$ creature or land card they own | ChangeNum$ 1 | Reveal$ True | Hidden$ True | SubAbility$ DBChange | SpellDescription$ You may reveal a creature or land card you own from outside the game and put it into your hand. Exile CARDNAME.
|
||||||
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/living_wish.jpg
|
Oracle:You may reveal a creature or land card you own from outside the game and put it into your hand. Exile Living Wish.
|
||||||
Oracle:You may choose a creature or land card you own from outside the game, reveal that card, and put it into your hand. Exile Living Wish.
|
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ ManaCost:2 B B
|
|||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ Charm | Cost$ 2 B B | Choices$ DBSearch,DBWish
|
A:SP$ Charm | Cost$ 2 B B | Choices$ DBSearch,DBWish
|
||||||
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | SpellDescription$ Search your library for a card, put it into your hand, then shuffle your library.
|
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | SpellDescription$ Search your library for a card, put it into your hand, then shuffle your library.
|
||||||
SVar:DBWish:DB$ ChangeZone | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Mandatory$ True | SpellDescription$ Choose a card you own from outside the game and put it into your hand.
|
SVar:DBWish:DB$ ChangeZone | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Mandatory$ True | Hidden$ True | SpellDescription$ Put a card you own from outside the game into your hand.
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/masterminds_acquisition.jpg
|
Oracle:Choose one —\n• Search your library for a card, put it into your hand, then shuffle your library.\n• Put a card you own from outside the game into your hand.
|
||||||
Oracle:Choose one —\n• Search your library for a card, put it into your hand, then shuffle your library.\n• Choose a card you own from outside the game and put it into your hand.
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ Name:Muldrotha, the Gravetide
|
|||||||
ManaCost: 3 B G U
|
ManaCost: 3 B G U
|
||||||
Types:Legendary Creature Elemental Avatar
|
Types:Legendary Creature Elemental Avatar
|
||||||
PT:6/6
|
PT:6/6
|
||||||
S:Mode$ Continuous | Affected$ Land.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Land | EffectZone$ Battlefield | AffectedZone$ Graveyard | Description$ During each of your turns, you may play up to one permanent card of each permanent type from your graveyard. (If a card has multiple permanent types, choose one as you play it.)
|
S:Mode$ Continuous | Affected$ Land.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Land | EffectZone$ Battlefield | AffectedZone$ Graveyard | Description$ During each of your turns, you may play a land and cast a permanent spell of each permanent type from your graveyard. (If a card has multiple permanent types, choose one as you play it.)
|
||||||
S:Mode$ Continuous | Affected$ Creature.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Creature | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
S:Mode$ Continuous | Affected$ Creature.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Creature | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
||||||
S:Mode$ Continuous | Affected$ Planeswalker.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Planeswalker | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
S:Mode$ Continuous | Affected$ Planeswalker.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Planeswalker | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
||||||
S:Mode$ Continuous | Affected$ Artifact.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Artifact | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
S:Mode$ Continuous | Affected$ Artifact.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Artifact | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
||||||
S:Mode$ Continuous | Affected$ Enchantment.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Enchantment | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
S:Mode$ Continuous | Affected$ Enchantment.YouCtrl | Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | MayPlayText$ Enchantment | EffectZone$ Battlefield | AffectedZone$ Graveyard
|
||||||
Oracle:During each of your turns, you may play up to one permanent card of each permanent type from your graveyard. (If a card has multiple permanent types, choose one as you play it.)
|
Oracle:During each of your turns, you may play a land and cast a permanent spell of each permanent type from your graveyard. (If a card has multiple permanent types, choose one as you play it.)
|
||||||
|
|||||||
@@ -2,10 +2,9 @@ Name:Research
|
|||||||
ManaCost:G U
|
ManaCost:G U
|
||||||
AlternateMode: Split
|
AlternateMode: Split
|
||||||
Types:Instant
|
Types:Instant
|
||||||
A:SP$ ChangeZone | Cost$ G U | Origin$ Sideboard | Destination$ Library | Shuffle$ True | ChangeType$ Card.YouOwn | ChangeNum$ 4 | SpellDescription$ Choose up to four cards you own from outside the game and shuffle them into your library.
|
A:SP$ ChangeZone | Cost$ G U | Origin$ Sideboard | Destination$ Library | Shuffle$ True | ChangeType$ Card.YouOwn | ChangeNum$ 4 | Hidden$ True | StackDescription$ {p:You} shuffles up to four cards they own from outside the game into their library. | SpellDescription$ Shuffle up to four cards you own from outside the game into your library.
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/researchdevelopment.jpg
|
Oracle:Shuffle up to four cards you own from outside the game into your library.
|
||||||
Oracle:Choose up to four cards you own from outside the game and shuffle them into your library.
|
|
||||||
|
|
||||||
ALTERNATE
|
ALTERNATE
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
Name:Ring of Ma'ruf
|
Name:Ring of Ma'ruf
|
||||||
ManaCost:5
|
ManaCost:5
|
||||||
Types:Artifact
|
Types:Artifact
|
||||||
A:AB$ Effect | Cost$ 5 T Exile<1/CARDNAME> | Name$ Ring of Ma'ruf Effect | ReplacementEffects$ DrawReplace | SVars$ ExileEffect,TutorSideboard | SpellDescription$ The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand.
|
A:AB$ Effect | Cost$ 5 T Exile<1/CARDNAME> | Name$ Ring of Ma'ruf Effect | ReplacementEffects$ DrawReplace | SVars$ ExileEffect,TutorSideboard | SpellDescription$ The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||||
SVar:DrawReplace:Event$ Draw | ValidPlayer$ You | ReplaceWith$ TutorSideboard | Description$ The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand.
|
SVar:DrawReplace:Event$ Draw | ValidPlayer$ You | ReplaceWith$ TutorSideboard | Description$ The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||||
SVar:TutorSideboard:DB$ ChangeZone | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Hidden$ True | SubAbility$ ExileEffect
|
SVar:TutorSideboard:DB$ ChangeZone | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Hidden$ True | Mandatory$ True | SubAbility$ ExileEffect
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||||
AI:RemoveDeck:All
|
AI:RemoveDeck:All
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/ring_of_maruf.jpg
|
Oracle:{5}, {T}, Exile Ring of Ma'ruf: The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||||
Oracle:{5}, {T}, Exile Ring of Ma'ruf: The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand.
|
|
||||||
|
|||||||
@@ -3,10 +3,9 @@ ManaCost:10
|
|||||||
Types:Creature Eldrazi
|
Types:Creature Eldrazi
|
||||||
PT:7/11
|
PT:7/11
|
||||||
K:Annihilator:1
|
K:Annihilator:1
|
||||||
A:AB$ Token | Cost$ 4 | TokenAmount$ 2 | TokenScript$ c_0_1_eldrazi_spawn_sac | TokenOwner$ You | LegacyImage$ c 0 1 eldrazi spawn sac roe | SpellDescription$ Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}."
|
A:AB$ Token | Cost$ 4 | TokenAmount$ 2 | TokenScript$ c_0_1_eldrazi_spawn_sac | TokenOwner$ You | SpellDescription$ Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}."
|
||||||
A:AB$ Play | Cost$ 20 | Valid$ Card.Eldrazi+YouOwn | ValidZone$ Sideboard | WithoutManaCost$ True | Amount$ SpawnsireX | Controller$ You | Optional$ True | References$ SpawnsireX | SpellDescription$ Cast any number of Eldrazi cards you own from outside the game without paying their mana costs.
|
A:AB$ Play | Cost$ 20 | Valid$ Card.Eldrazi+YouOwn | ValidZone$ Sideboard | WithoutManaCost$ True | Amount$ SpawnsireX | Controller$ You | Optional$ True | References$ SpawnsireX | SpellDescription$ Cast any number of Eldrazi spells you own from outside the game without paying their mana costs.
|
||||||
SVar:SpawnsireX:Count$TypeInYourSideboard.Eldrazi
|
SVar:SpawnsireX:Count$TypeInYourSideboard.Eldrazi
|
||||||
DeckHints:Type$Eldrazi
|
DeckHints:Type$Eldrazi
|
||||||
DeckHas:Ability$Mana.Colorless & Ability$Token
|
DeckHas:Ability$Mana.Colorless & Ability$Token
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/spawnsire_of_ulamog.jpg
|
Oracle:Annihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent.)\n{4}: Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}."\n{20}: Cast any number of Eldrazi spells you own from outside the game without paying their mana costs.
|
||||||
Oracle:Annihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent.)\n{4}: Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}."\n{20}: Cast any number of Eldrazi cards you own from outside the game without paying their mana costs.
|
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ SVar:DBPumpAll:DB$ Pump | KW$ Trample | Defined$ Targeted
|
|||||||
A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | AILogic$ Fight | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker.
|
A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | AILogic$ Fight | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker.
|
||||||
SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature,Planeswalker | AILogic$ PowerDmg | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | References$ X | DamageSource$ ParentTarget
|
SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature,Planeswalker | AILogic$ PowerDmg | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | References$ X | DamageSource$ ParentTarget
|
||||||
SVar:X:ParentTargeted$CardPower
|
SVar:X:ParentTargeted$CardPower
|
||||||
A:AB$ ChangeZone | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | Origin$ Sideboard | Destination$ Hand | ChangeType$ Creature.YouOwn | ChangeNum$ 1 | SpellDescription$ You may choose a creature card you own from outside the game, reveal it, and put it into your hand.
|
A:AB$ ChangeZone | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | Origin$ Sideboard | Destination$ Hand | ChangeType$ Creature.YouOwn | ChangeTypeDesc$ creature card they own | ChangeNum$ 1 | Reveal$ True | Hidden$ True | SpellDescription$ You may reveal a creature card you own from outside the game and put it into your hand.
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
Oracle:[+1]: Distribute two +1/+1 counters among up to two target creatures. They gain trample until end of turn.\n[−3]: Target creature you control deals damage equal to its power to target creature or planeswalker.\n[−5]: You may choose a creature card you own from outside the game, reveal it, and put it into your hand.
|
Oracle:[+1]: Distribute two +1/+1 counters among up to two target creatures. They gain trample until end of turn.\n[−3]: Target creature you control deals damage equal to its power to target creature or planeswalker.\n[−5]: You may reveal a creature card you own from outside the game and put it into your hand.
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ ManaCost:4 R
|
|||||||
Types:Creature Dog
|
Types:Creature Dog
|
||||||
PT:4/3
|
PT:4/3
|
||||||
K:Monstrosity:1:5 R R
|
K:Monstrosity:1:5 R R
|
||||||
T:Mode$ BecomeMonstrous | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME becomes monstrous, it deals 2 damage to each opponent and each creature your opponents control.
|
T:Mode$ BecomeMonstrous | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME becomes monstrous, it deals 2 damage to each opponent and each creature they control.
|
||||||
SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.OppCtrl | ValidPlayers$ Player.Opponent | NumDmg$ 2 | ValidDescription$ each opponent and each creature your opponents control.
|
SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.OppCtrl | ValidPlayers$ Player.Opponent | NumDmg$ 2 | ValidDescription$ each opponent and each creature they control.
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/wildfire_cerberus.jpg
|
Oracle:{5}{R}{R}: Monstrosity 1. (If this creature isn't monstrous, put a +1/+1 counter on it and it becomes monstrous.)\nWhen Wildfire Cerberus becomes monstrous, it deals 2 damage to each opponent and each creature they control.
|
||||||
Oracle:{5}{R}{R}: Monstrosity 1. (If this creature isn't monstrous, put a +1/+1 counter on it and it becomes monstrous.)\nWhen Wildfire Cerberus becomes monstrous, it deals 2 damage to each opponent and each creature your opponents control.
|
|
||||||
|
|||||||
@@ -11,3 +11,140 @@ Type=Other
|
|||||||
4 R Enigma Thief
|
4 R Enigma Thief
|
||||||
5 R Whispersteel Dagger
|
5 R Whispersteel Dagger
|
||||||
6 R Geode Rager
|
6 R Geode Rager
|
||||||
|
7 M Anowon, the Ruin Thief
|
||||||
|
8 M Obuun, Mul Daya Ancestor
|
||||||
|
9 U Abzan Falconer
|
||||||
|
10 M Admonition Angel
|
||||||
|
11 U Banishing Light
|
||||||
|
12 U Condemn
|
||||||
|
13 U Crush Contraband
|
||||||
|
14 U Elite Scaleguard
|
||||||
|
15 R Emeria Angel
|
||||||
|
16 R Emeria Shepherd
|
||||||
|
17 R Hour of Revelation
|
||||||
|
18 C Kor Cartographer
|
||||||
|
19 R Planar Outburst
|
||||||
|
20 U Retreat to Emeria
|
||||||
|
21 M Sun Titan
|
||||||
|
22 R Together Forever
|
||||||
|
23 U Aetherize
|
||||||
|
24 C Distant Melody
|
||||||
|
25 U Fact or Fiction
|
||||||
|
26 U Faerie Vandal
|
||||||
|
27 U Invisible Stalker
|
||||||
|
28 C Latchkey Faerie
|
||||||
|
29 U Marang River Prowler
|
||||||
|
30 U Master Thief
|
||||||
|
31 U Military Intelligence
|
||||||
|
32 U Nightveil Sprite
|
||||||
|
33 R Notorious Throng
|
||||||
|
34 U Open into Wonder
|
||||||
|
35 R Scourge of Fleets
|
||||||
|
36 C Slither Blade
|
||||||
|
37 R Stolen Identity
|
||||||
|
38 C Triton Shorestalker
|
||||||
|
39 U Whirler Rogue
|
||||||
|
40 C Changeling Outcast
|
||||||
|
41 U Endless Obedience
|
||||||
|
42 R Fated Return
|
||||||
|
43 C Frogtosser Banneret
|
||||||
|
44 R Gonti, Lord of Luxury
|
||||||
|
45 R In Garruk's Wake
|
||||||
|
46 U Marsh Flitter
|
||||||
|
47 C Murder
|
||||||
|
48 R Necromantic Selection
|
||||||
|
49 R Nighthowler
|
||||||
|
50 R Ogre Slumlord
|
||||||
|
51 U Oona's Blackguard
|
||||||
|
52 U Price of Fame
|
||||||
|
53 U Rise from the Grave
|
||||||
|
54 R Sepulchral Primordial
|
||||||
|
55 U Stinkdrinker Bandit
|
||||||
|
56 U Syr Konrad, the Grim
|
||||||
|
57 U Zulaport Cutthroat
|
||||||
|
58 R Abundance
|
||||||
|
59 U Acidic Slime
|
||||||
|
60 U Armorcraft Judge
|
||||||
|
61 U Beanstalk Giant
|
||||||
|
62 U Circuitous Route
|
||||||
|
63 C Elvish Rejuvenator
|
||||||
|
64 U Embodiment of Insight
|
||||||
|
65 U Evolution Sage
|
||||||
|
66 C Far Wanderings
|
||||||
|
67 C Fertilid
|
||||||
|
68 U Harmonize
|
||||||
|
69 C Harrow
|
||||||
|
70 U Inspiring Call
|
||||||
|
71 U Keeper of Fables
|
||||||
|
72 C Khalni Heart Expedition
|
||||||
|
73 C Kodama's Reach
|
||||||
|
74 R The Mending of Dominaria
|
||||||
|
75 M Multani, Yavimaya's Avatar
|
||||||
|
76 R Nissa's Renewal
|
||||||
|
77 R Rampaging Baloths
|
||||||
|
78 U Retreat to Kazandu
|
||||||
|
79 R Return of the Wildspeaker
|
||||||
|
80 R Rites of Flourishing
|
||||||
|
81 C Satyr Wayfinder
|
||||||
|
82 C Sporemound
|
||||||
|
83 C Springbloom Druid
|
||||||
|
84 R Sylvan Advocate
|
||||||
|
85 U Tuskguard Captain
|
||||||
|
86 R Waker of the Wilds
|
||||||
|
87 C Yavimaya Elder
|
||||||
|
88 U Zendikar's Roil
|
||||||
|
89 R Consuming Aberration
|
||||||
|
90 U Extract from Darkness
|
||||||
|
91 U Ground Assault
|
||||||
|
92 M Lazav, Dimir Mastermind
|
||||||
|
93 R Living Twister
|
||||||
|
94 R Mina and Denn, Wildborn
|
||||||
|
95 U Naya Charm
|
||||||
|
96 R Notion Thief
|
||||||
|
97 M Omnath, Locus of Rage
|
||||||
|
98 R Oona, Queen of the Fae
|
||||||
|
99 R Silumgar's Command
|
||||||
|
100 U Soul Manipulation
|
||||||
|
101 R Spinal Embrace
|
||||||
|
102 U Struggle // Survive
|
||||||
|
103 R Sygg, River Cutthroat
|
||||||
|
104 U Sylvan Reclamation
|
||||||
|
105 U Treacherous Terrain
|
||||||
|
106 C Arcane Signet
|
||||||
|
107 R Blackblade Reforged
|
||||||
|
108 R Bonehoard
|
||||||
|
109 C Commander's Sphere
|
||||||
|
110 U Dimir Keyrune
|
||||||
|
111 C Dimir Locket
|
||||||
|
112 U Dimir Signet
|
||||||
|
113 U Heirloom Blade
|
||||||
|
114 C Mind Stone
|
||||||
|
115 R Obelisk of Urd
|
||||||
|
116 U Sandstone Oracle
|
||||||
|
117 C Scaretiller
|
||||||
|
118 R Scytheclaw
|
||||||
|
119 R Seer's Sundial
|
||||||
|
120 U Sol Ring
|
||||||
|
121 U Blighted Woodland
|
||||||
|
122 C Boros Garrison
|
||||||
|
123 C Boros Guildgate
|
||||||
|
124 C Command Tower
|
||||||
|
125 U Cryptic Caves
|
||||||
|
126 U Dimir Aqueduct
|
||||||
|
127 C Dimir Guildgate
|
||||||
|
128 C Dismal Backwater
|
||||||
|
129 C Evolving Wilds
|
||||||
|
130 C Gruul Guildgate
|
||||||
|
131 U Gruul Turf
|
||||||
|
132 U Jungle Shrine
|
||||||
|
133 U Jwar Isle Refuge
|
||||||
|
134 U Krosan Verge
|
||||||
|
135 U Myriad Landscape
|
||||||
|
136 C Naya Panorama
|
||||||
|
137 R Needle Spires
|
||||||
|
138 U Rogue's Passage
|
||||||
|
139 C Selesnya Guildgate
|
||||||
|
140 C Selesnya Sanctuary
|
||||||
|
141 U Submerged Boneyard
|
||||||
|
142 C Terramorphic Expanse
|
||||||
|
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ Order:101
|
|||||||
Subtype:Standard
|
Subtype:Standard
|
||||||
Type:Sanctioned
|
Type:Sanctioned
|
||||||
Sets:ELD, THB, IKO, M21, ZNR
|
Sets:ELD, THB, IKO, M21, ZNR
|
||||||
Banned:Cauldron Familiar; Fires of Invention; Oko, Thief of Crowns; Once Upon a Time; Veil of Summer
|
Banned:Cauldron Familiar; Fires of Invention; Oko, Thief of Crowns; Once Upon a Time; Uro, Titan of Nature's Wrath; Veil of Summer
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ nlVibrateWhenLosingLife=Aktiviert Vibration bei Lebenspunktverlust.
|
|||||||
lblEnableRoundBorder=Aktiviere Maske mit runden Ränder
|
lblEnableRoundBorder=Aktiviere Maske mit runden Ränder
|
||||||
nlEnableRoundBorder=Wenn aktiviert, werden Kartenecken abgerundet. Vorzugsweise bei Karten mit vollem Rand.
|
nlEnableRoundBorder=Wenn aktiviert, werden Kartenecken abgerundet. Vorzugsweise bei Karten mit vollem Rand.
|
||||||
lblPreloadExtendedArtCards=Erw. Kartenbilder bei Start laden
|
lblPreloadExtendedArtCards=Erw. Kartenbilder bei Start laden
|
||||||
nlPreloadExtendedArtCards=Wenn aktiviert, werden erweiterte Kartenbilder bereits beim Start in den Speicher geladen.
|
nlPreloadExtendedArtCards=Wenn aktiviert, werden erweiterte Kartenbilder bereits beim Start in den Speicher geladen (Hohe RAM-Auslastung).
|
||||||
lblShowFPSDisplay=FPS-Anzeige
|
lblShowFPSDisplay=FPS-Anzeige
|
||||||
nlShowFPSDisplay=Aktiviert die Frames-per-second-Anzeige (Experimentell).
|
nlShowFPSDisplay=Aktiviert die Frames-per-second-Anzeige (Experimentell).
|
||||||
lblEnableUnknownCards=Erlaube unbekannte Karten
|
lblEnableUnknownCards=Erlaube unbekannte Karten
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ nlVibrateWhenLosingLife=Enable vibration when your player loses life or takes da
|
|||||||
lblEnableRoundBorder=Enable Round Border Mask
|
lblEnableRoundBorder=Enable Round Border Mask
|
||||||
nlEnableRoundBorder=When enabled, the card corners are rounded (Preferably Card with Full Borders).
|
nlEnableRoundBorder=When enabled, the card corners are rounded (Preferably Card with Full Borders).
|
||||||
lblPreloadExtendedArtCards=Preload Extended Art Cards
|
lblPreloadExtendedArtCards=Preload Extended Art Cards
|
||||||
nlPreloadExtendedArtCards=When enabled, Preloads Extended Art Cards to Cache on Startup.
|
nlPreloadExtendedArtCards=When enabled, Preloads Extended Art Cards to Cache on Startup (High RAM usage).
|
||||||
lblShowFPSDisplay=Show FPS Display
|
lblShowFPSDisplay=Show FPS Display
|
||||||
nlShowFPSDisplay=When enabled, show the FPS Display (Experimental).
|
nlShowFPSDisplay=When enabled, show the FPS Display (Experimental).
|
||||||
lblEnableUnknownCards=Enable Unknown Cards
|
lblEnableUnknownCards=Enable Unknown Cards
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ nlVibrateWhenLosingLife=Habilita la vibración cuando tu jugador pierde vida o s
|
|||||||
lblEnableRoundBorder=Habilitar máscara de bordes redondeados
|
lblEnableRoundBorder=Habilitar máscara de bordes redondeados
|
||||||
nlEnableRoundBorder=Cuando está habilitado, las esquinas de las cartas se redondean (Preferiblemente Cartas con bordes completos).
|
nlEnableRoundBorder=Cuando está habilitado, las esquinas de las cartas se redondean (Preferiblemente Cartas con bordes completos).
|
||||||
lblPreloadExtendedArtCards=Precargar Cartas de Arte Extendido
|
lblPreloadExtendedArtCards=Precargar Cartas de Arte Extendido
|
||||||
nlPreloadExtendedArtCards=Cuando está habilitado, carga previamente las cartas de arte ampliadas en la caché al iniciar el programa.
|
nlPreloadExtendedArtCards=Cuando está habilitado, carga previamente las cartas de arte ampliadas en la caché al iniciar el programa (Alto uso de RAM).
|
||||||
lblShowFPSDisplay=Mostrar FPS
|
lblShowFPSDisplay=Mostrar FPS
|
||||||
nlShowFPSDisplay=Cuando está habilitado, muestra los FPS (Experimental).
|
nlShowFPSDisplay=Cuando está habilitado, muestra los FPS (Experimental).
|
||||||
lblEnableUnknownCards=Enable Unknown Cards
|
lblEnableUnknownCards=Enable Unknown Cards
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ nlVibrateWhenLosingLife=Attiva le vibrazioni quando il giocatore perde punti vit
|
|||||||
lblEnableRoundBorder=Abilita maschera bordo arrotondato
|
lblEnableRoundBorder=Abilita maschera bordo arrotondato
|
||||||
nlEnableRoundBorder=Se abilitato, gli angoli delle carte sono arrotondati (preferibilmente Carta con bordi pieni).
|
nlEnableRoundBorder=Se abilitato, gli angoli delle carte sono arrotondati (preferibilmente Carta con bordi pieni).
|
||||||
lblPreloadExtendedArtCards=Carte d''arte estese precaricate
|
lblPreloadExtendedArtCards=Carte d''arte estese precaricate
|
||||||
nlPreloadExtendedArtCards=Se abilitato, precarica le carte artistiche estese nella cache all''avvio.
|
nlPreloadExtendedArtCards=Se abilitato, precarica le carte artistiche estese nella cache all''avvio (Utilizzo elevato della RAM).
|
||||||
lblShowFPSDisplay=Mostra display FPS
|
lblShowFPSDisplay=Mostra display FPS
|
||||||
nlShowFPSDisplay=Se abilitato, mostra il display FPS (sperimentale).
|
nlShowFPSDisplay=Se abilitato, mostra il display FPS (sperimentale).
|
||||||
lblEnableUnknownCards=Enable Unknown Cards
|
lblEnableUnknownCards=Enable Unknown Cards
|
||||||
|
|||||||
@@ -981,7 +981,7 @@ nlVibrateWhenLosingLife=启用当玩家在游戏中失去生命或收到伤害
|
|||||||
lblEnableRoundBorder=启用圆角边框掩码
|
lblEnableRoundBorder=启用圆角边框掩码
|
||||||
nlEnableRoundBorder=启用后,卡牌边框会变成圆角(带有完整边框的卡牌图片效果最好)。
|
nlEnableRoundBorder=启用后,卡牌边框会变成圆角(带有完整边框的卡牌图片效果最好)。
|
||||||
lblPreloadExtendedArtCards=预加载拉伸卡图
|
lblPreloadExtendedArtCards=预加载拉伸卡图
|
||||||
nlPreloadExtendedArtCards=启用后,拉伸卡图将在启动时加载到缓存。
|
nlPreloadExtendedArtCards=启用后,拉伸卡图将在启动时加载到缓存(使用高内存)。
|
||||||
lblShowFPSDisplay=显示当前的FPS值
|
lblShowFPSDisplay=显示当前的FPS值
|
||||||
nlShowFPSDisplay=启用后,将在画面左上角显示当前Forge的FPS(实验性特性)。
|
nlShowFPSDisplay=启用后,将在画面左上角显示当前Forge的FPS(实验性特性)。
|
||||||
lblEnableUnknownCards=启用未知卡牌
|
lblEnableUnknownCards=启用未知卡牌
|
||||||
|
|||||||
127
forge-gui/res/lists/borderlessCardList.txt
Normal file
127
forge-gui/res/lists/borderlessCardList.txt
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
2XM/Academy Ruins2.fullborder
|
||||||
|
2XM/Atraxa, Praetors' Voice2.fullborder
|
||||||
|
2XM/Avacyn, Angel of Hope2.fullborder
|
||||||
|
2XM/Batterskull2.fullborder
|
||||||
|
2XM/Blightsteel Colossus2.fullborder
|
||||||
|
2XM/Blood Moon2.fullborder
|
||||||
|
2XM/Brainstorm2.fullborder
|
||||||
|
2XM/Chrome Mox2.fullborder
|
||||||
|
2XM/Council's Judgment2.fullborder
|
||||||
|
2XM/Crop Rotation2.fullborder
|
||||||
|
2XM/Cyclonic Rift2.fullborder
|
||||||
|
2XM/Dark Confidant2.fullborder
|
||||||
|
2XM/Doubling Season2.fullborder
|
||||||
|
2XM/Expedition Map2.fullborder
|
||||||
|
2XM/Exploration2.fullborder
|
||||||
|
2XM/Fatal Push2.fullborder
|
||||||
|
2XM/Force of Will2.fullborder
|
||||||
|
2XM/Goblin Guide2.fullborder
|
||||||
|
2XM/Jace, the Mind Sculptor2.fullborder
|
||||||
|
2XM/Kaalia of the Vast2.fullborder
|
||||||
|
2XM/Karn Liberated2.fullborder
|
||||||
|
2XM/Lightning Greaves2.fullborder
|
||||||
|
2XM/Mana Crypt2.fullborder
|
||||||
|
2XM/Meddling Mage2.fullborder
|
||||||
|
2XM/Mox Opal2.fullborder
|
||||||
|
2XM/Noble Hierarch2.fullborder
|
||||||
|
2XM/Phyrexian Metamorph2.fullborder
|
||||||
|
2XM/Sneak Attack2.fullborder
|
||||||
|
2XM/Stoneforge Mystic2.fullborder
|
||||||
|
2XM/Sword of Body and Mind2.fullborder
|
||||||
|
2XM/Sword of Feast and Famine2.fullborder
|
||||||
|
2XM/Sword of Fire and Ice2.fullborder
|
||||||
|
2XM/Sword of Light and Shadow2.fullborder
|
||||||
|
2XM/Sword of War and Peace2.fullborder
|
||||||
|
2XM/Thoughtseize2.fullborder
|
||||||
|
2XM/Toxic Deluge2.fullborder
|
||||||
|
2XM/Urza's Mine2.fullborder
|
||||||
|
2XM/Urza's Power Plant2.fullborder
|
||||||
|
2XM/Urza's Tower2.fullborder
|
||||||
|
2XM/Wurmcoil Engine2.fullborder
|
||||||
|
ELD/Garruk, Cursed Huntsman2.fullborder
|
||||||
|
ELD/Oko, Thief of Crowns2.fullborder
|
||||||
|
ELD/The Royal Scions2.fullborder
|
||||||
|
IKO/Brokkos, Apex of Forever2.fullborder
|
||||||
|
IKO/Brokkos, Apex of Forever3.fullborder
|
||||||
|
IKO/Crystalline Giant3.fullborder
|
||||||
|
IKO/Cubwarden2.fullborder
|
||||||
|
IKO/Dirge Bat2.fullborder
|
||||||
|
IKO/Dirge Bat3.fullborder
|
||||||
|
IKO/Everquill Phoenix2.fullborder
|
||||||
|
IKO/Everquill Phoenix3.fullborder
|
||||||
|
IKO/Gemrazer2.fullborder
|
||||||
|
IKO/Gemrazer3.fullborder
|
||||||
|
IKO/Gyruda, Doom of Depths3.fullborder
|
||||||
|
IKO/Huntmaster Liger2.fullborder
|
||||||
|
IKO/Huntmaster Liger3.fullborder
|
||||||
|
IKO/Illuna, Apex of Wishes2.fullborder
|
||||||
|
IKO/Illuna, Apex of Wishes3.fullborder
|
||||||
|
IKO/Indatha Triome2.fullborder
|
||||||
|
IKO/Ketria Triome2.fullborder
|
||||||
|
IKO/Lukka, Coppercoat Outcast2.fullborder
|
||||||
|
IKO/Luminous Broodmoth3.fullborder
|
||||||
|
IKO/Mysterious Egg2.fullborder
|
||||||
|
IKO/Narset of the Ancient Way2.fullborder
|
||||||
|
IKO/Nethroi, Apex of Death2.fullborder
|
||||||
|
IKO/Nethroi, Apex of Death3.fullborder
|
||||||
|
IKO/Pollywog Symbiote2.fullborder
|
||||||
|
IKO/Raugrin Triome2.fullborder
|
||||||
|
IKO/Savai Triome2.fullborder
|
||||||
|
IKO/Sea-Dasher Octopus2.fullborder
|
||||||
|
IKO/Snapdax, Apex of the Hunt2.fullborder
|
||||||
|
IKO/Snapdax, Apex of the Hunt3.fullborder
|
||||||
|
IKO/Sprite Dragon3.fullborder
|
||||||
|
IKO/Titanoth Rex2.fullborder
|
||||||
|
IKO/Vadrok, Apex of Thunder2.fullborder
|
||||||
|
IKO/Vadrok, Apex of Thunder3.fullborder
|
||||||
|
IKO/Vivien, Monsters' Advocate2.fullborder
|
||||||
|
IKO/Void Beckoner2.fullborder
|
||||||
|
IKO/Yidaro, Wandering Monster3.fullborder
|
||||||
|
IKO/Zagoth Triome2.fullborder
|
||||||
|
IKO/Zilortha, Strength Incarnate.fullborder
|
||||||
|
M21/Basri Ket2.fullborder
|
||||||
|
M21/Chandra, Heart of Fire2.fullborder
|
||||||
|
M21/Containment Priest2.fullborder
|
||||||
|
M21/Cultivate2.fullborder
|
||||||
|
M21/Garruk, Unleashed2.fullborder
|
||||||
|
M21/Grim Tutor2.fullborder
|
||||||
|
M21/Liliana, Waker of the Dead2.fullborder
|
||||||
|
M21/Massacre Wurm2.fullborder
|
||||||
|
M21/Scavenging Ooze2.fullborder
|
||||||
|
M21/Solemn Simulacrum2.fullborder
|
||||||
|
M21/Teferi, Master of Time2.fullborder
|
||||||
|
M21/Ugin, the Spirit Dragon2.fullborder
|
||||||
|
M21/Ugin, the Spirit Dragon3.fullborder
|
||||||
|
PLGS/Hangarback Walker.fullborder
|
||||||
|
SLD/Acidic Slime.fullborder
|
||||||
|
SLD/Captain Sisay.fullborder
|
||||||
|
SLD/Meren of Clan Nel Toth.fullborder
|
||||||
|
SLD/Narset, Enlightened Master.fullborder
|
||||||
|
SLD/Necrotic Ooze.fullborder
|
||||||
|
SLD/Oona, Queen of the Fae.fullborder
|
||||||
|
SLD/Saskia the Unyielding.fullborder
|
||||||
|
SLD/The Mimeoplasm.fullborder
|
||||||
|
SLD/Voidslime.fullborder
|
||||||
|
THB/Ashiok, Nightmare Muse2.fullborder
|
||||||
|
THB/Calix, Destiny's Hand2.fullborder
|
||||||
|
THB/Elspeth, Sun's Nemesis2.fullborder
|
||||||
|
UST/Forest.fullborder
|
||||||
|
UST/Island.fullborder
|
||||||
|
UST/Mountain.fullborder
|
||||||
|
UST/Plains.fullborder
|
||||||
|
UST/Swamp.fullborder
|
||||||
|
ZNR/Boulderloft Pathway2.fullborder
|
||||||
|
ZNR/Branchloft Pathway2.fullborder
|
||||||
|
ZNR/Brightclimb Pathway2.fullborder
|
||||||
|
ZNR/Clearwater Pathway2.fullborder
|
||||||
|
ZNR/Cragcrown Pathway2.fullborder
|
||||||
|
ZNR/Grimclimb Pathway2.fullborder
|
||||||
|
ZNR/Jace, Mirror Mage2.fullborder
|
||||||
|
ZNR/Lavaglide Pathway2.fullborder
|
||||||
|
ZNR/Murkwater Pathway2.fullborder
|
||||||
|
ZNR/Nahiri, Heir of the Ancients2.fullborder
|
||||||
|
ZNR/Needleverge Pathway2.fullborder
|
||||||
|
ZNR/Nissa of Shadowed Boughs2.fullborder
|
||||||
|
ZNR/Pillarverge Pathway2.fullborder
|
||||||
|
ZNR/Riverglide Pathway2.fullborder
|
||||||
|
ZNR/Timbercrown Pathway2.fullborder
|
||||||
@@ -48,6 +48,7 @@ public final class ForgeConstants {
|
|||||||
public static final String NET_DECKS_LIST_FILE = LISTS_DIR + "net-decks.txt";
|
public static final String NET_DECKS_LIST_FILE = LISTS_DIR + "net-decks.txt";
|
||||||
public static final String NET_DECKS_COMMANDER_LIST_FILE = LISTS_DIR + "net-decks-commander.txt";
|
public static final String NET_DECKS_COMMANDER_LIST_FILE = LISTS_DIR + "net-decks-commander.txt";
|
||||||
public static final String NET_DECKS_BRAWL_LIST_FILE = LISTS_DIR + "net-decks-brawl.txt";
|
public static final String NET_DECKS_BRAWL_LIST_FILE = LISTS_DIR + "net-decks-brawl.txt";
|
||||||
|
public static final String BORDERLESS_CARD_LIST_FILE = LISTS_DIR + "borderlessCardList.txt";
|
||||||
|
|
||||||
|
|
||||||
public static final String CHANGES_FILE = ASSETS_DIR + "README.txt";
|
public static final String CHANGES_FILE = ASSETS_DIR + "README.txt";
|
||||||
|
|||||||
Reference in New Issue
Block a user