mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
TokenViewer doesn't crash now.. Just need it to display
This commit is contained in:
@@ -39,6 +39,18 @@ public class TokenDb implements ITokenDatabase {
|
|||||||
return getToken(tokenName, CardEdition.UNKNOWN.getName());
|
return getToken(tokenName, CardEdition.UNKNOWN.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void preloadTokens() {
|
||||||
|
for(CardEdition edition : this.editions) {
|
||||||
|
for (String name : edition.getTokens().keySet()) {
|
||||||
|
try {
|
||||||
|
getToken(name, edition.getCode());
|
||||||
|
} catch(Exception e) {
|
||||||
|
System.out.println(name + "_" + edition.getCode() + " defined in Edition file, but not defined as a token script.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PaperToken getToken(String tokenName, String edition) {
|
public PaperToken getToken(String tokenName, String edition) {
|
||||||
String fullName = String.format("%s_%s", tokenName, edition.toLowerCase());
|
String fullName = String.format("%s_%s", tokenName, edition.toLowerCase());
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.itemmanager;
|
|||||||
|
|
||||||
import forge.item.PaperToken;
|
import forge.item.PaperToken;
|
||||||
import forge.itemmanager.filters.ItemFilter;
|
import forge.itemmanager.filters.ItemFilter;
|
||||||
|
import forge.itemmanager.filters.TokenSearchFilter;
|
||||||
import forge.screens.match.controllers.CDetailPicture;
|
import forge.screens.match.controllers.CDetailPicture;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -18,7 +19,11 @@ public class TokenManager extends ItemManager<PaperToken> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ItemFilter<PaperToken> createSearchFilter() {
|
protected ItemFilter<PaperToken> createSearchFilter() {
|
||||||
return null;
|
return createSearchFilter(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemFilter<PaperToken> createSearchFilter(final ItemManager<? super PaperToken> itemManager) {
|
||||||
|
return new TokenSearchFilter(itemManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -0,0 +1,124 @@
|
|||||||
|
package forge.itemmanager.filters;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
|
import forge.UiCommand;
|
||||||
|
import forge.item.InventoryItem;
|
||||||
|
import forge.item.PaperToken;
|
||||||
|
import forge.itemmanager.ItemManager;
|
||||||
|
import forge.itemmanager.SFilterUtil;
|
||||||
|
import forge.toolbox.FComboBoxWrapper;
|
||||||
|
import forge.toolbox.FLabel;
|
||||||
|
import forge.toolbox.FTextField;
|
||||||
|
import forge.toolbox.LayoutHelper;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.event.ItemEvent;
|
||||||
|
import java.awt.event.ItemListener;
|
||||||
|
|
||||||
|
|
||||||
|
public class TokenSearchFilter extends TextSearchFilter<PaperToken> {
|
||||||
|
private FComboBoxWrapper<String> cbSearchMode;
|
||||||
|
private FLabel btnName, btnType, btnText, btnCost;
|
||||||
|
|
||||||
|
public TokenSearchFilter(ItemManager<? super PaperToken> itemManager0) {
|
||||||
|
super(itemManager0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemFilter<PaperToken> createCopy() {
|
||||||
|
TokenSearchFilter copy = new TokenSearchFilter(itemManager);
|
||||||
|
copy.getWidget(); //initialize widget
|
||||||
|
copy.txtSearch.setText(this.txtSearch.getText());
|
||||||
|
copy.cbSearchMode.setSelectedIndex(this.cbSearchMode.getSelectedIndex());
|
||||||
|
copy.btnName.setSelected(this.btnName.isSelected());
|
||||||
|
copy.btnType.setSelected(this.btnType.isSelected());
|
||||||
|
copy.btnText.setSelected(this.btnText.isSelected());
|
||||||
|
copy.btnCost.setSelected(this.btnCost.isSelected());
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reset() {
|
||||||
|
super.reset();
|
||||||
|
this.cbSearchMode.setSelectedIndex(0);
|
||||||
|
this.btnName.setSelected(true);
|
||||||
|
this.btnType.setSelected(true);
|
||||||
|
this.btnText.setSelected(true);
|
||||||
|
this.btnCost.setSelected(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected final void buildWidget(JPanel widget) {
|
||||||
|
super.buildWidget(widget);
|
||||||
|
|
||||||
|
cbSearchMode = new FComboBoxWrapper<String>();
|
||||||
|
cbSearchMode.addItem("in");
|
||||||
|
cbSearchMode.addItem("not in");
|
||||||
|
cbSearchMode.addTo(widget);
|
||||||
|
cbSearchMode.addItemListener(new ItemListener() {
|
||||||
|
@Override
|
||||||
|
public void itemStateChanged(ItemEvent arg0) {
|
||||||
|
if (!txtSearch.isEmpty()) {
|
||||||
|
applyChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
btnName = addButton(widget, "Name");
|
||||||
|
btnType = addButton(widget, "Type");
|
||||||
|
btnText = addButton(widget, "Text");
|
||||||
|
btnCost = addButton(widget, "Cost");
|
||||||
|
|
||||||
|
btnCost.setSelected(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void doWidgetLayout(LayoutHelper helper) {
|
||||||
|
final int comboBoxWidth = 61;
|
||||||
|
final int buttonWidth = 51;
|
||||||
|
|
||||||
|
helper.fillLine(txtSearch, FTextField.HEIGHT, comboBoxWidth + buttonWidth * 4 + 16); //leave space for combo box and buttons
|
||||||
|
helper.include(cbSearchMode.getComponent(), comboBoxWidth, FTextField.HEIGHT);
|
||||||
|
helper.include(btnName, buttonWidth, FTextField.HEIGHT);
|
||||||
|
helper.include(btnType, buttonWidth, FTextField.HEIGHT);
|
||||||
|
helper.include(btnText, buttonWidth, FTextField.HEIGHT);
|
||||||
|
helper.include(btnCost, buttonWidth, FTextField.HEIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
private FLabel addButton(JPanel widget, String text) {
|
||||||
|
FLabel button = new FLabel.Builder().text(text).hoverable().selectable().selected().build();
|
||||||
|
|
||||||
|
button.setCommand(new UiCommand() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
applyChange();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
widget.add(button);
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Predicate<PaperToken> buildPredicate() {
|
||||||
|
// Don't filter anything out for now.
|
||||||
|
return new Predicate<PaperToken>() {
|
||||||
|
@Override
|
||||||
|
public boolean apply(PaperToken paperToken) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected <U extends InventoryItem> boolean showUnsupportedItem(U item) {
|
||||||
|
//fallback to regular item text filter if item not PaperCard
|
||||||
|
boolean result = btnName.isSelected() && SFilterUtil.buildItemTextFilter(txtSearch.getText()).apply(item);
|
||||||
|
if (cbSearchMode.getSelectedIndex() != 0) { //invert result if needed
|
||||||
|
result = !result;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ public class CEditorTokenViewer extends ACEditorBase<PaperToken, DeckBase> {
|
|||||||
private DragCell deckGenParent = null;
|
private DragCell deckGenParent = null;
|
||||||
private DragCell probsParent = null;
|
private DragCell probsParent = null;
|
||||||
|
|
||||||
private final List<PaperToken> fullCatalogCards = FModel.getMagicDb().getAllTokens().getAllTokens();
|
private List<PaperToken> fullCatalogCards;
|
||||||
|
|
||||||
// remember changed gui elements
|
// remember changed gui elements
|
||||||
private String CCTabLabel = new String();
|
private String CCTabLabel = new String();
|
||||||
@@ -38,6 +38,9 @@ public class CEditorTokenViewer extends ACEditorBase<PaperToken, DeckBase> {
|
|||||||
public CEditorTokenViewer(final CDetailPicture cDetailPicture) {
|
public CEditorTokenViewer(final CDetailPicture cDetailPicture) {
|
||||||
super(FScreen.TOKEN_VIEWER, cDetailPicture);
|
super(FScreen.TOKEN_VIEWER, cDetailPicture);
|
||||||
|
|
||||||
|
FModel.getMagicDb().getAllTokens().preloadTokens();
|
||||||
|
fullCatalogCards = FModel.getMagicDb().getAllTokens().getAllTokens();
|
||||||
|
|
||||||
final TokenManager catalogManager = new TokenManager(getCDetailPicture(), false);
|
final TokenManager catalogManager = new TokenManager(getCDetailPicture(), false);
|
||||||
final TokenManager deckManager = new TokenManager(cDetailPicture, false);
|
final TokenManager deckManager = new TokenManager(cDetailPicture, false);
|
||||||
catalogManager.setCaption("All Tokens");
|
catalogManager.setCaption("All Tokens");
|
||||||
@@ -102,8 +105,8 @@ public class CEditorTokenViewer extends ACEditorBase<PaperToken, DeckBase> {
|
|||||||
VCardCatalog.SINGLETON_INSTANCE.getTabLabel().setText("All tokens");
|
VCardCatalog.SINGLETON_INSTANCE.getTabLabel().setText("All tokens");
|
||||||
|
|
||||||
this.getBtnAdd().setVisible(false);
|
this.getBtnAdd().setVisible(false);
|
||||||
|
this.getBtnAdd4().setVisible(false);
|
||||||
this.getBtnRemove().setVisible(false);
|
this.getBtnRemove().setVisible(false);
|
||||||
|
|
||||||
this.getBtnAddBasicLands().setVisible(false);
|
this.getBtnAddBasicLands().setVisible(false);
|
||||||
|
|
||||||
VProbabilities.SINGLETON_INSTANCE.getTabLabel().setVisible(false);
|
VProbabilities.SINGLETON_INSTANCE.getTabLabel().setVisible(false);
|
||||||
|
|||||||
@@ -322,6 +322,6 @@ FoilAlwaysInCommonSlot=False
|
|||||||
c_1_1_spirit
|
c_1_1_spirit
|
||||||
u_5_5_dragon_spirit_flying
|
u_5_5_dragon_spirit_flying
|
||||||
u_1_1_illusion_flying
|
u_1_1_illusion_flying
|
||||||
b_x_x_rat
|
b_1_1_rat
|
||||||
g_x_x_elemental
|
g_x_x_elemental
|
||||||
g_1_1_snake
|
g_1_1_snake
|
||||||
@@ -388,5 +388,5 @@ g_0_1_plant
|
|||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
gu_2_2_drake_flying
|
gu_2_2_drake_flying
|
||||||
br_3_1_graveborn_haste
|
br_3_1_graveborn_haste
|
||||||
c_2_2_a_assembly-worker
|
c_2_2_a_assembly_worker
|
||||||
c_1_1_a_myr
|
c_1_1_a_myr
|
||||||
@@ -346,7 +346,6 @@ Type=Other
|
|||||||
337 L Forest
|
337 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
herald_of_the_host
|
|
||||||
stoneforged_blade
|
stoneforged_blade
|
||||||
tuktuk_the_returned
|
tuktuk_the_returned
|
||||||
w_4_4_angel_flying
|
w_4_4_angel_flying
|
||||||
|
|||||||
@@ -351,13 +351,8 @@ Type=Other
|
|||||||
340 L Forest
|
340 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
banshee_of_the_dread_choir
|
|
||||||
blade_of_selves
|
|
||||||
broodbirth_viper
|
|
||||||
caller_of_the_pack
|
|
||||||
gold
|
gold
|
||||||
lightning_rager
|
lightning_rager
|
||||||
warchief_giant
|
|
||||||
c_1_1_shapeshifter_changeling
|
c_1_1_shapeshifter_changeling
|
||||||
w_4_4_angel_flying
|
w_4_4_angel_flying
|
||||||
w_2_2_cat
|
w_2_2_cat
|
||||||
|
|||||||
@@ -318,7 +318,6 @@ Type=Other
|
|||||||
309 L Forest
|
309 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
bloodforged_battle-axe
|
|
||||||
gold
|
gold
|
||||||
c_0_1_eldrazi_spawn_sac
|
c_0_1_eldrazi_spawn_sac
|
||||||
w_2_2_cat
|
w_2_2_cat
|
||||||
|
|||||||
@@ -319,10 +319,7 @@ Type=Other
|
|||||||
312 L Forest
|
312 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
herald_of_the_host
|
|
||||||
lightning_rager
|
|
||||||
tuktuk_the_returned
|
tuktuk_the_returned
|
||||||
warchief_giant
|
|
||||||
c_1_1_shapeshifter_changeling
|
c_1_1_shapeshifter_changeling
|
||||||
w_1_1_bird_flying
|
w_1_1_bird_flying
|
||||||
w_0_1_goat
|
w_0_1_goat
|
||||||
|
|||||||
@@ -328,8 +328,6 @@ Type=Other
|
|||||||
320 L Forest
|
320 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
banshee_of_the_dread_choir
|
|
||||||
caller_of_the_pack
|
|
||||||
w_1_1_kithkin_soldier
|
w_1_1_kithkin_soldier
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_1_1_spirit_flying
|
w_1_1_spirit_flying
|
||||||
|
|||||||
@@ -328,7 +328,6 @@ Type=Other
|
|||||||
298 U Zoetic Cavern
|
298 U Zoetic Cavern
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
spawnwrithe
|
|
||||||
c_0_1_eldrazi_spawn_sac
|
c_0_1_eldrazi_spawn_sac
|
||||||
c_0_1_eldrazi_spawn_sac
|
c_0_1_eldrazi_spawn_sac
|
||||||
w_1_1_kithkin_soldier
|
w_1_1_kithkin_soldier
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ Booster=10 Common, 3 Uncommon, 1 RareMythic, 1 BasicLand ALA
|
|||||||
133 C Zombie Outlander
|
133 C Zombie Outlander
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
mirror-sigil_sergeant
|
|
||||||
w_4_4_angel_flying
|
w_4_4_angel_flying
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
b_2_2_zombie
|
b_2_2_zombie
|
||||||
|
|||||||
@@ -232,7 +232,6 @@ Booster=10 Common:!fromSheet("CN2 Draft Matters"), 3 Uncommon:!fromSheet("CN2 Dr
|
|||||||
221 U Shimmering Grotto
|
221 U Shimmering Grotto
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
spitting_slime
|
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
w_1_2_soldier_defender
|
w_1_2_soldier_defender
|
||||||
w_1_1_spirit_flying
|
w_1_1_spirit_flying
|
||||||
|
|||||||
@@ -192,7 +192,6 @@ FoilAlwaysInCommonSlot=False
|
|||||||
180 C Simic Growth Chamber
|
180 C Simic Growth Chamber
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
sprouting_phytohydra
|
|
||||||
r_3_1_elemental
|
r_3_1_elemental
|
||||||
r_2_1_goblin_haste
|
r_2_1_goblin_haste
|
||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
|
|||||||
@@ -293,7 +293,6 @@ BoosterMustContain=Legendary Creature
|
|||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
karox_bladewing
|
karox_bladewing
|
||||||
mishra's_self-replicator
|
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
|
|||||||
@@ -96,6 +96,5 @@ Type=Duel_Decks
|
|||||||
84 L Forest
|
84 L Forest
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
spawnwrithe
|
|
||||||
u_2_2_illusion
|
u_2_2_illusion
|
||||||
b_1_1_assassin_lose_con
|
b_1_1_assassin_lose_con
|
||||||
@@ -192,12 +192,10 @@ Booster=11 Common, 3 Uncommon, 1 Rare
|
|||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
goldmeadow_harrier
|
goldmeadow_harrier
|
||||||
imperial_mask
|
|
||||||
cloud_sprite
|
cloud_sprite
|
||||||
festering_goblin
|
festering_goblin
|
||||||
spark_elemental
|
spark_elemental
|
||||||
llanowar_elves
|
llanowar_elves
|
||||||
nacatl_war-pride
|
|
||||||
metallic_sliver
|
metallic_sliver
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
b_2_2_zombie
|
b_2_2_zombie
|
||||||
|
|||||||
@@ -80,4 +80,4 @@ Type=Other
|
|||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
b_2_2_zombie
|
b_2_2_zombie
|
||||||
r_1_1_goblin
|
r_1_1_goblin
|
||||||
c_1_1_thopter_a_flying
|
c_1_1_a_thopter_flying
|
||||||
@@ -260,7 +260,6 @@ Booster=10 Common, 3 Uncommon, 1 RareMythic, 1 BasicLand RTR
|
|||||||
210 C Zhur-Taa Swine
|
210 C Zhur-Taa Swine
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
giant_adephage
|
|
||||||
w_4_4_angel_flying
|
w_4_4_angel_flying
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
|
|||||||
@@ -145,9 +145,8 @@ g_3_3_centaur
|
|||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
g_5_5_wurm_trample
|
g_5_5_wurm_trample
|
||||||
wg_8_8_elemental_vigilance
|
gw_8_8_elemental_vigilance
|
||||||
wg_2_2_elf_knight_vigilance
|
gw_2_2_elf_knight_vigilance
|
||||||
ub_1_1_horror_flying
|
ub_1_1_horror_flying
|
||||||
bg_1_1_insect
|
bg_1_1_insect
|
||||||
wr_1_1_soldier_haste
|
rw_1_1_soldier_haste
|
||||||
copy
|
|
||||||
@@ -289,5 +289,5 @@ w_4_4_angel_flying_vigilance
|
|||||||
w_1_1_soldier_lifelink
|
w_1_1_soldier_lifelink
|
||||||
u_1_1_bird_illusion_flying
|
u_1_1_bird_illusion_flying
|
||||||
r_1_1_goblin
|
r_1_1_goblin
|
||||||
wg_2_2_elf_knight_vigilance
|
gw_2_2_elf_knight_vigilance
|
||||||
bg_1_1_insect
|
bg_1_1_insect
|
||||||
@@ -305,7 +305,7 @@ u_2_2_illusion_illusory
|
|||||||
u_1_1_merfolk_hexproof
|
u_1_1_merfolk_hexproof
|
||||||
b_2_2_pirate_menace
|
b_2_2_pirate_menace
|
||||||
g_3_3_dinosaur_trample
|
g_3_3_dinosaur_trample
|
||||||
0_2_plant_defender
|
g_0_2_plant_defender
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
|
|||||||
@@ -158,14 +158,6 @@ Type=Other
|
|||||||
149 R Temple of the False God
|
149 R Temple of the False God
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
banshee_of_the_dread_choir
|
|
||||||
blade_of_selves
|
|
||||||
broodbirth_viper
|
|
||||||
caller_of_the_pack
|
|
||||||
herald_of_the_host
|
|
||||||
lightning_rager
|
|
||||||
stoneforged_blade
|
|
||||||
warchief_giant
|
|
||||||
c_0_1_eldrazi_spawn_sac
|
c_0_1_eldrazi_spawn_sac
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_1_1_kor_soldier
|
w_1_1_kor_soldier
|
||||||
|
|||||||
@@ -176,7 +176,6 @@ Booster=11 Common, 3 Uncommon, 1 Rare
|
|||||||
53 C Wistful Thinking
|
53 C Wistful Thinking
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
chronozoa
|
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
b_2_2_knight_flanking_pro_white_haste
|
b_2_2_knight_flanking_pro_white_haste
|
||||||
g_3_3_ape
|
g_3_3_ape
|
||||||
|
|||||||
@@ -285,7 +285,6 @@ Booster=10 Common, 3 Uncommon, 1 RareMythic, 1 BasicLand
|
|||||||
84 U Zanikev Locust
|
84 U Zanikev Locust
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
pack_rat
|
|
||||||
w_1_1_bird_flying
|
w_1_1_bird_flying
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
w_2_2_knight_vigilance
|
w_2_2_knight_vigilance
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ r_1_1_elemental
|
|||||||
r_0_1_elemental_rekindling_phoenix
|
r_0_1_elemental_rekindling_phoenix
|
||||||
g_3_3_dinosaur_trample
|
g_3_3_dinosaur_trample
|
||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
g_4_4_a_golem
|
d_4_4_a_golem
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
c_a_treasure_sac
|
c_a_treasure_sac
|
||||||
|
|||||||
@@ -260,7 +260,6 @@ Booster=10 Common, 3 Uncommon, 1 RareMythic, 1 BasicLand
|
|||||||
223 M Wurmcoil Engine
|
223 M Wurmcoil Engine
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
myr_propagator
|
|
||||||
w_2_2_cat
|
w_2_2_cat
|
||||||
w_1_1_soldier
|
w_1_1_soldier
|
||||||
r_1_1_goblin
|
r_1_1_goblin
|
||||||
|
|||||||
@@ -312,7 +312,6 @@ Booster=11 Common, 3 Uncommon, 1 Rare
|
|||||||
157 C Zealous Guardian
|
157 C Zealous Guardian
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
spawnwrithe
|
|
||||||
w_1_1_kithkin_soldier
|
w_1_1_kithkin_soldier
|
||||||
w_1_1_spirit_flying
|
w_1_1_spirit_flying
|
||||||
b_1_1_rat
|
b_1_1_rat
|
||||||
|
|||||||
@@ -159,5 +159,4 @@ hornet
|
|||||||
c_1_1_sliver
|
c_1_1_sliver
|
||||||
b_1_1_rat
|
b_1_1_rat
|
||||||
r_1_1_goblin
|
r_1_1_goblin
|
||||||
g_1_1_spike
|
g_1_1_spike
|
||||||
volraths_laboratory
|
|
||||||
@@ -317,11 +317,11 @@ kobolds_of_kher_keep
|
|||||||
w_1_1_citizen
|
w_1_1_citizen
|
||||||
w_2_2_griffin_flying
|
w_2_2_griffin_flying
|
||||||
u_1_1_camarid
|
u_1_1_camarid
|
||||||
b_1_2_bat_flying_sengir_nosferatu
|
b_1_2_bat_flying_nosferatu
|
||||||
b_2_4_spider_reach
|
b_2_4_spider_reach
|
||||||
b_1_1_thrull
|
b_1_1_thrull
|
||||||
r_1_1_goblin
|
r_1_1_goblin
|
||||||
g_1_1_saproling
|
g_1_1_saproling
|
||||||
g_x_x_wurm
|
g_x_x_wurm
|
||||||
c_2_2_a_assembly-worker
|
c_2_2_a_assembly_worker
|
||||||
c_1_1_triskelavite_flying_ammo
|
c_1_1_a_triskelavite_flying_ammo
|
||||||
@@ -126,7 +126,6 @@ S Volrath
|
|||||||
S Xantcha
|
S Xantcha
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
arrest
|
|
||||||
c_1_1_sliver
|
c_1_1_sliver
|
||||||
w_1_1_spirit_flying
|
w_1_1_spirit_flying
|
||||||
r_5_5_dragon_flying
|
r_5_5_dragon_flying
|
||||||
|
|||||||
Reference in New Issue
Block a user