This commit is contained in:
paul_snoops
2021-07-06 18:21:22 +01:00
20 changed files with 129 additions and 54 deletions

View File

@@ -63,7 +63,6 @@ public class ChooseCardNameAi extends SpellAbilityAi {
*/ */
@Override @Override
public Card chooseSingleCard(final Player ai, SpellAbility sa, Iterable<Card> options, boolean isOptional, Player targetedPlayer, Map<String, Object> params) { public Card chooseSingleCard(final Player ai, SpellAbility sa, Iterable<Card> options, boolean isOptional, Player targetedPlayer, Map<String, Object> params) {
return ComputerUtilCard.getBestAI(options); return ComputerUtilCard.getBestAI(options);
} }

View File

@@ -120,7 +120,7 @@ public class GameFormat implements Comparable<GameFormat> {
this.name = fName; this.name = fName;
this.effectiveDate = effectiveDate; this.effectiveDate = effectiveDate;
if(sets != null) { if (sets != null) {
StaticData data = StaticData.instance(); StaticData data = StaticData.instance();
Set<String> parsedSets = new HashSet<>(); Set<String> parsedSets = new HashSet<>();
for (String set : sets) { for (String set : sets) {
@@ -129,10 +129,9 @@ public class GameFormat implements Comparable<GameFormat> {
continue; continue;
} }
parsedSets.add(set); parsedSets.add(set);
} }
allowedSetCodes = Lists.newArrayList(parsedSets); allowedSetCodes = Lists.newArrayList(parsedSets);
}else{ } else {
allowedSetCodes = new ArrayList<>(); allowedSetCodes = new ArrayList<>();
} }
@@ -183,7 +182,7 @@ public class GameFormat implements Comparable<GameFormat> {
} }
private static Date parseDate(String date) { private static Date parseDate(String date) {
if( date.length() <= 7 ) if (date.length() <= 7)
date = date + "-01"; date = date + "-01";
try { try {
return formatter.parse(date); return formatter.parse(date);
@@ -299,11 +298,10 @@ public class GameFormat implements Comparable<GameFormat> {
if (other.formatType != formatType){ if (other.formatType != formatType){
return formatType.compareTo(other.formatType); return formatType.compareTo(other.formatType);
}else{ }
if (other.formatSubType != formatSubType){ if (other.formatSubType != formatSubType){
return formatSubType.compareTo(other.formatSubType); return formatSubType.compareTo(other.formatSubType);
} }
}
if (formatType.equals(FormatType.HISTORIC)){ if (formatType.equals(FormatType.HISTORIC)){
int compareDates = this.effectiveDate.compareTo(other.effectiveDate); int compareDates = this.effectiveDate.compareTo(other.effectiveDate);
if (compareDates != 0) if (compareDates != 0)
@@ -342,7 +340,7 @@ public class GameFormat implements Comparable<GameFormat> {
@Override @Override
protected GameFormat read(File file) { protected GameFormat read(File file) {
if(!includeHistoric && !coreFormats.contains(file.getName())){ if (!includeHistoric && !coreFormats.contains(file.getName())) {
return null; return null;
} }
final Map<String, List<String>> contents = FileSection.parseSections(FileUtil.readFile(file)); final Map<String, List<String>> contents = FileSection.parseSections(FileUtil.readFile(file));
@@ -391,17 +389,17 @@ public class GameFormat implements Comparable<GameFormat> {
} }
Boolean strRestrictedLegendary = section.getBoolean("restrictedlegendary"); Boolean strRestrictedLegendary = section.getBoolean("restrictedlegendary");
if ( strRestrictedLegendary != null ) { if (strRestrictedLegendary != null) {
restrictedLegendary = strRestrictedLegendary; restrictedLegendary = strRestrictedLegendary;
} }
strCars = section.get("additional"); strCars = section.get("additional");
if ( strCars != null ) { if (strCars != null) {
additionalCards = Arrays.asList(strCars.split("; ")); additionalCards = Arrays.asList(strCars.split("; "));
} }
strCars = section.get("rarities"); strCars = section.get("rarities");
if ( strCars != null ) { if (strCars != null) {
CardRarity cr; CardRarity cr;
rarities = Lists.newArrayList(); rarities = Lists.newArrayList();
for (String s: strCars.split(", ")) { for (String s: strCars.split(", ")) {
@@ -453,8 +451,8 @@ public class GameFormat implements Comparable<GameFormat> {
public Iterable<GameFormat> getSanctionedList() { public Iterable<GameFormat> getSanctionedList() {
List<GameFormat> coreList = new ArrayList<>(); List<GameFormat> coreList = new ArrayList<>();
for(GameFormat format: naturallyOrdered){ for (GameFormat format: naturallyOrdered) {
if(format.getFormatType().equals(FormatType.SANCTIONED)){ if (format.getFormatType().equals(FormatType.SANCTIONED)){
coreList.add(format); coreList.add(format);
} }
} }
@@ -463,8 +461,8 @@ public class GameFormat implements Comparable<GameFormat> {
public Iterable<GameFormat> getFilterList() { public Iterable<GameFormat> getFilterList() {
List<GameFormat> coreList = new ArrayList<>(); List<GameFormat> coreList = new ArrayList<>();
for(GameFormat format: naturallyOrdered){ for (GameFormat format: naturallyOrdered) {
if(!format.getFormatType().equals(FormatType.HISTORIC) if (!format.getFormatType().equals(FormatType.HISTORIC)
&&!format.getFormatType().equals(FormatType.DIGITAL)){ &&!format.getFormatType().equals(FormatType.DIGITAL)){
coreList.add(format); coreList.add(format);
} }
@@ -474,8 +472,8 @@ public class GameFormat implements Comparable<GameFormat> {
public Iterable<GameFormat> getHistoricList() { public Iterable<GameFormat> getHistoricList() {
List<GameFormat> coreList = new ArrayList<>(); List<GameFormat> coreList = new ArrayList<>();
for(GameFormat format: naturallyOrdered){ for (GameFormat format: naturallyOrdered) {
if(format.getFormatType().equals(FormatType.HISTORIC)){ if (format.getFormatType().equals(FormatType.HISTORIC)){
coreList.add(format); coreList.add(format);
} }
} }
@@ -484,10 +482,10 @@ public class GameFormat implements Comparable<GameFormat> {
public Map<String, List<GameFormat>> getHistoricMap() { public Map<String, List<GameFormat>> getHistoricMap() {
Map<String, List<GameFormat>> coreList = new HashMap<>(); Map<String, List<GameFormat>> coreList = new HashMap<>();
for(GameFormat format: naturallyOrdered){ for (GameFormat format: naturallyOrdered){
if(format.getFormatType().equals(FormatType.HISTORIC)){ if (format.getFormatType().equals(FormatType.HISTORIC)){
String alpha = format.getName().substring(0,1); String alpha = format.getName().substring(0,1);
if(!coreList.containsKey(alpha)){ if (!coreList.containsKey(alpha)) {
coreList.put(alpha,new ArrayList<>()); coreList.put(alpha,new ArrayList<>());
} }
coreList.get(alpha).add(format); coreList.get(alpha).add(format);
@@ -549,7 +547,7 @@ public class GameFormat implements Comparable<GameFormat> {
SortedSet<GameFormat> result = new TreeSet<>(); SortedSet<GameFormat> result = new TreeSet<>();
Set<FormatSubType> coveredTypes = new HashSet<>(); Set<FormatSubType> coveredTypes = new HashSet<>();
CardPool allCards = deck.getAllCardsInASinglePool(); CardPool allCards = deck.getAllCardsInASinglePool();
for(GameFormat gf : reverseDateOrdered) { for (GameFormat gf : reverseDateOrdered) {
if (gf.getFormatType().equals(FormatType.DIGITAL) && !exhaustive){ if (gf.getFormatType().equals(FormatType.DIGITAL) && !exhaustive){
//exclude Digital formats from lists for now //exclude Digital formats from lists for now
continue; continue;
@@ -587,13 +585,12 @@ public class GameFormat implements Comparable<GameFormat> {
} }
if (gf2.formatType != gf1.formatType){ if (gf2.formatType != gf1.formatType){
return gf1.formatType.compareTo(gf2.formatType); return gf1.formatType.compareTo(gf2.formatType);
}else{ }
if (gf2.formatSubType != gf1.formatSubType){ if (gf2.formatSubType != gf1.formatSubType){
return gf1.formatSubType.compareTo(gf2.formatSubType); return gf1.formatSubType.compareTo(gf2.formatSubType);
} }
}
if (gf1.formatType.equals(FormatType.HISTORIC)){ if (gf1.formatType.equals(FormatType.HISTORIC)){
if(gf1.effectiveDate!=gf2.effectiveDate) {//for matching dates or default dates default to name sorting if (gf1.effectiveDate!=gf2.effectiveDate) {//for matching dates or default dates default to name sorting
return gf1.effectiveDate.compareTo(gf2.effectiveDate); return gf1.effectiveDate.compareTo(gf2.effectiveDate);
} }
} }

View File

@@ -436,6 +436,13 @@ public class PlayerView extends GameEntityView {
return getZoneSize(TrackableProperty.Library); return getZoneSize(TrackableProperty.Library);
} }
public FCollectionView<CardView> getSideboard() {
return get(TrackableProperty.Sideboard);
}
public int getSideboardSize() {
return getZoneSize(TrackableProperty.Sideboard);
}
public FCollectionView<CardView> getCards(final ZoneType zone) { public FCollectionView<CardView> getCards(final ZoneType zone) {
TrackableProperty prop = getZoneProp(zone); TrackableProperty prop = getZoneProp(zone);
if (prop != null) { if (prop != null) {

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.game.GameFormat; import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManager;
import forge.model.FModel; import forge.model.FModel;

View File

@@ -481,7 +481,6 @@ public class DialogChooseSets {
private int getMainDialogWidth() { private int getMainDialogWidth() {
int winWidth = Singletons.getView().getFrame().getSize().width; int winWidth = Singletons.getView().getFrame().getSize().width;
System.out.println("Win Width " + winWidth);
int[] sizeBoundaries = new int[] {800, 1024, 1280, 2048}; int[] sizeBoundaries = new int[] {800, 1024, 1280, 2048};
return calculateRelativePanelDimension(winWidth, 90, sizeBoundaries); return calculateRelativePanelDimension(winWidth, 90, sizeBoundaries);
} }
@@ -489,7 +488,6 @@ public class DialogChooseSets {
// So far, not yet used, but left here just in case // So far, not yet used, but left here just in case
private int getMainDialogHeight() { private int getMainDialogHeight() {
int winHeight = Singletons.getView().getFrame().getSize().height; int winHeight = Singletons.getView().getFrame().getSize().height;
System.out.println("Win Height " + winHeight);
int[] sizeBoundaries = new int[] {600, 720, 780, 1024}; int[] sizeBoundaries = new int[] {600, 720, 780, 1024};
return calculateRelativePanelDimension(winHeight, 40, sizeBoundaries); return calculateRelativePanelDimension(winHeight, 40, sizeBoundaries);
} }

View File

@@ -485,6 +485,7 @@ public final class CMatchUI
case Exile: case Exile:
case Flashback: case Flashback:
case Command: case Command:
case Ante:
case Sideboard: case Sideboard:
if (FloatingZone.show(this,player,zone)) { if (FloatingZone.show(this,player,zone)) {
updatedPlayerZones.add(update); updatedPlayerZones.add(update);
@@ -513,6 +514,8 @@ public final class CMatchUI
case Exile: case Exile:
case Flashback: case Flashback:
case Command: case Command:
case Ante:
case Sideboard:
FloatingZone.hide(this,player,zone); FloatingZone.hide(this,player,zone);
break; break;
default: default:

View File

@@ -69,6 +69,8 @@ public class CField implements ICDoc {
final ZoneAction graveAction = new ZoneAction(matchUI, player, ZoneType.Graveyard); final ZoneAction graveAction = new ZoneAction(matchUI, player, ZoneType.Graveyard);
final ZoneAction flashBackAction = new ZoneAction(matchUI, player, ZoneType.Flashback); final ZoneAction flashBackAction = new ZoneAction(matchUI, player, ZoneType.Flashback);
final ZoneAction commandAction = new ZoneAction(matchUI, player, ZoneType.Command); final ZoneAction commandAction = new ZoneAction(matchUI, player, ZoneType.Command);
final ZoneAction anteAction = new ZoneAction(matchUI, player, ZoneType.Ante);
final ZoneAction sideboardAction = new ZoneAction(matchUI, player, ZoneType.Sideboard);
final Function<Byte, Boolean> manaAction = new Function<Byte, Boolean>() { final Function<Byte, Boolean> manaAction = new Function<Byte, Boolean>() {
@Override public final Boolean apply(final Byte colorCode) { @Override public final Boolean apply(final Byte colorCode) {
@@ -85,7 +87,8 @@ public class CField implements ICDoc {
} }
}; };
view.getDetailsPanel().setupMouseActions(handAction, libraryAction, exileAction, graveAction, flashBackAction, commandAction, manaAction); view.getDetailsPanel().setupMouseActions(handAction, libraryAction, exileAction, graveAction, flashBackAction,
commandAction, anteAction, sideboardAction, manaAction);
} }
public final CMatchUI getMatchUI() { public final CMatchUI getMatchUI() {

View File

@@ -39,6 +39,8 @@ public class PlayerDetailsPanel extends JPanel {
private final DetailLabel lblExile = new DetailLabel(FSkinProp.IMG_ZONE_EXILE, Localizer.getInstance().getMessage("lblExileNCards", "%s")); private final DetailLabel lblExile = new DetailLabel(FSkinProp.IMG_ZONE_EXILE, Localizer.getInstance().getMessage("lblExileNCards", "%s"));
private final DetailLabel lblFlashback = new DetailLabel(FSkinProp.IMG_ZONE_FLASHBACK, Localizer.getInstance().getMessage("lblFlashbackNCards", "%s")); private final DetailLabel lblFlashback = new DetailLabel(FSkinProp.IMG_ZONE_FLASHBACK, Localizer.getInstance().getMessage("lblFlashbackNCards", "%s"));
private final DetailLabel lblCommand = new DetailLabel(FSkinProp.IMG_PLANESWALKER, Localizer.getInstance().getMessage("lblCommandZoneNCards", "%s")); private final DetailLabel lblCommand = new DetailLabel(FSkinProp.IMG_PLANESWALKER, Localizer.getInstance().getMessage("lblCommandZoneNCards", "%s"));
private final DetailLabel lblAnte = new DetailLabel(FSkinProp.IMG_ZONE_ANTE, Localizer.getInstance().getMessage("lblAnteZoneNCards", "%s"));
private final DetailLabel lblSideboard = new DetailLabel(FSkinProp.IMG_ZONE_SIDEBOARD, Localizer.getInstance().getMessage("lblSideboardNCards", "%s"));
private final List<Pair<DetailLabel, Byte>> manaLabels = new ArrayList<>(); private final List<Pair<DetailLabel, Byte>> manaLabels = new ArrayList<>();
public PlayerDetailsPanel(final PlayerView player0) { public PlayerDetailsPanel(final PlayerView player0) {
@@ -67,6 +69,7 @@ public class PlayerDetailsPanel extends JPanel {
final SkinnedPanel row4 = new SkinnedPanel(new MigLayout("insets 0, gap 0")); final SkinnedPanel row4 = new SkinnedPanel(new MigLayout("insets 0, gap 0"));
final SkinnedPanel row5 = new SkinnedPanel(new MigLayout("insets 0, gap 0")); final SkinnedPanel row5 = new SkinnedPanel(new MigLayout("insets 0, gap 0"));
final SkinnedPanel row6 = new SkinnedPanel(new MigLayout("insets 0, gap 0")); final SkinnedPanel row6 = new SkinnedPanel(new MigLayout("insets 0, gap 0"));
final SkinnedPanel row7 = new SkinnedPanel(new MigLayout("insets 0, gap 0"));
row1.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); row1.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA));
row2.setOpaque(false); row2.setOpaque(false);
@@ -74,6 +77,7 @@ public class PlayerDetailsPanel extends JPanel {
row4.setOpaque(false); row4.setOpaque(false);
row5.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); row5.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA));
row6.setOpaque(false); row6.setOpaque(false);
row7.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA));
// Hand, library, graveyard, exile, flashback, command // Hand, library, graveyard, exile, flashback, command
final String constraintsCell = "w 50%-4px!, h 100%!, gapleft 2px, gapright 2px"; final String constraintsCell = "w 50%-4px!, h 100%!, gapleft 2px, gapright 2px";
@@ -87,22 +91,26 @@ public class PlayerDetailsPanel extends JPanel {
row3.add(lblFlashback, constraintsCell); row3.add(lblFlashback, constraintsCell);
row3.add(lblCommand, constraintsCell); row3.add(lblCommand, constraintsCell);
row4.add(manaLabels.get(0).getLeft(), constraintsCell); row4.add(lblAnte, constraintsCell);
row4.add(manaLabels.get(1).getLeft(), constraintsCell); row4.add(lblSideboard, constraintsCell);
row5.add(manaLabels.get(2).getLeft(), constraintsCell); row5.add(manaLabels.get(0).getLeft(), constraintsCell);
row5.add(manaLabels.get(3).getLeft(), constraintsCell); row5.add(manaLabels.get(1).getLeft(), constraintsCell);
row6.add(manaLabels.get(4).getLeft(), constraintsCell); row6.add(manaLabels.get(2).getLeft(), constraintsCell);
row6.add(manaLabels.get(5).getLeft(), constraintsCell); row6.add(manaLabels.get(3).getLeft(), constraintsCell);
final String constraintsRow = "w 100%!, h 16%!"; row7.add(manaLabels.get(4).getLeft(), constraintsCell);
row7.add(manaLabels.get(5).getLeft(), constraintsCell);
final String constraintsRow = "w 100%!, h 14%!";
add(row1, constraintsRow + ", gap 0 0 2% 0"); add(row1, constraintsRow + ", gap 0 0 2% 0");
add(row2, constraintsRow); add(row2, constraintsRow);
add(row3, constraintsRow); add(row3, constraintsRow);
add(row4, constraintsRow); add(row4, constraintsRow);
add(row5, constraintsRow); add(row5, constraintsRow);
add(row6, constraintsRow); add(row6, constraintsRow);
add(row7, constraintsRow);
} }
public Component getLblLibrary() { public Component getLblLibrary() {
@@ -119,7 +127,9 @@ public class PlayerDetailsPanel extends JPanel {
librarySize = String.valueOf(player.getLibrarySize()), librarySize = String.valueOf(player.getLibrarySize()),
flashbackSize = String.valueOf(player.getFlashbackSize()), flashbackSize = String.valueOf(player.getFlashbackSize()),
exileSize = String.valueOf(player.getExileSize()), exileSize = String.valueOf(player.getExileSize()),
commandSize = String.valueOf(player.getCommandSize()); commandSize = String.valueOf(player.getCommandSize()),
anteSize = String.valueOf(player.getAnteSize()),
sideboardSize = String.valueOf(player.getSideboardSize());
lblHand.setText(handSize); lblHand.setText(handSize);
lblHand.setToolTip(handSize, player.getMaxHandString()); lblHand.setToolTip(handSize, player.getMaxHandString());
@@ -133,6 +143,10 @@ public class PlayerDetailsPanel extends JPanel {
lblExile.setToolTip(exileSize); lblExile.setToolTip(exileSize);
lblCommand.setText(commandSize); lblCommand.setText(commandSize);
lblCommand.setToolTip(commandSize); lblCommand.setToolTip(commandSize);
lblAnte.setText(anteSize);
lblAnte.setToolTip(anteSize);
lblSideboard.setText(sideboardSize);
lblSideboard.setToolTip(sideboardSize);
} }
/** /**
@@ -147,7 +161,7 @@ public class PlayerDetailsPanel extends JPanel {
} }
public void setupMouseActions(final Runnable handAction, final Runnable libraryAction, final Runnable exileAction, public void setupMouseActions(final Runnable handAction, final Runnable libraryAction, final Runnable exileAction,
final Runnable graveAction, final Runnable flashBackAction, final Runnable commandAction, final Runnable graveAction, final Runnable flashBackAction, final Runnable commandAction, final Runnable anteAction, final Runnable sideboardAction,
final Function<Byte, Boolean> manaAction) { final Function<Byte, Boolean> manaAction) {
// Detail label listeners // Detail label listeners
lblGraveyard.addMouseListener(new FMouseAdapter() { lblGraveyard.addMouseListener(new FMouseAdapter() {
@@ -180,6 +194,16 @@ public class PlayerDetailsPanel extends JPanel {
commandAction.run(); commandAction.run();
} }
}); });
lblAnte.addMouseListener(new FMouseAdapter() {
@Override public void onLeftClick(final MouseEvent e) {
anteAction.run();
}
});
lblSideboard.addMouseListener(new FMouseAdapter() {
@Override public void onLeftClick(final MouseEvent e) {
sideboardAction.run();
}
});
for (final Pair<DetailLabel, Byte> labelPair : manaLabels) { for (final Pair<DetailLabel, Byte> labelPair : manaLabels) {
labelPair.getLeft().addMouseListener(new FMouseAdapter() { labelPair.getLeft().addMouseListener(new FMouseAdapter() {

View File

@@ -188,6 +188,15 @@ public class FloatingZone extends FloatingCardArea {
case Flashback: case Flashback:
window.setIconImage(FSkin.getImage(FSkinProp.IMG_ZONE_FLASHBACK)); window.setIconImage(FSkin.getImage(FSkinProp.IMG_ZONE_FLASHBACK));
break; break;
case Command:
window.setIconImage(FSkin.getImage(FSkinProp.IMG_PLANESWALKER));
break;
case Ante:
window.setIconImage(FSkin.getImage(FSkinProp.IMG_ZONE_ANTE));
break;
case Sideboard:
window.setIconImage(FSkin.getImage(FSkinProp.IMG_ZONE_SIDEBOARD));
break;
default: default:
locPref = null; locPref = null;
break; break;
@@ -247,6 +256,15 @@ public class FloatingZone extends FloatingCardArea {
case Flashback: case Flashback:
locPref = isAi ? FPref.ZONE_LOC_AI_FLASHBACK : FPref.ZONE_LOC_HUMAN_FLASHBACK; locPref = isAi ? FPref.ZONE_LOC_AI_FLASHBACK : FPref.ZONE_LOC_HUMAN_FLASHBACK;
break; break;
case Command:
locPref = isAi ? FPref.ZONE_LOC_AI_COMMAND : FPref.ZONE_LOC_HUMAN_COMMAND;
break;
case Ante:
locPref = isAi ? FPref.ZONE_LOC_AI_ANTE : FPref.ZONE_LOC_HUMAN_ANTE;
break;
case Sideboard:
locPref = isAi ? FPref.ZONE_LOC_AI_SIDEBOARD : FPref.ZONE_LOC_HUMAN_SIDEBOARD;
break;
default: default:
locPref = null; locPref = null;
break; break;

View File

@@ -34,6 +34,8 @@ public enum FSkinImage implements FImage {
GRAVEYARD (FSkinProp.IMG_ZONE_GRAVEYARD, SourceFile.ICONS), GRAVEYARD (FSkinProp.IMG_ZONE_GRAVEYARD, SourceFile.ICONS),
HDGRAVEYARD (FSkinProp.IMG_HDZONE_GRAVEYARD, SourceFile.BUTTONS), HDGRAVEYARD (FSkinProp.IMG_HDZONE_GRAVEYARD, SourceFile.BUTTONS),
SIDEBOARD (FSkinProp.IMG_ZONE_SIDEBOARD, SourceFile.ICONS),
HDMANAPOOL (FSkinProp.IMG_HDZONE_MANAPOOL, SourceFile.BUTTONS), HDMANAPOOL (FSkinProp.IMG_HDZONE_MANAPOOL, SourceFile.BUTTONS),
POISON (FSkinProp.IMG_ZONE_POISON, SourceFile.ICONS), POISON (FSkinProp.IMG_ZONE_POISON, SourceFile.ICONS),

View File

@@ -76,6 +76,7 @@ public class VPlayerPanel extends FContainer {
tabs.add(tabManaPool); tabs.add(tabManaPool);
addZoneDisplay(ZoneType.Exile, Forge.hdbuttons ? FSkinImage.HDEXILE : FSkinImage.EXILE); addZoneDisplay(ZoneType.Exile, Forge.hdbuttons ? FSkinImage.HDEXILE : FSkinImage.EXILE);
addZoneDisplay(ZoneType.Sideboard, Forge.hdbuttons ? FSkinImage.HDSIDEBOARD :FSkinImage.SIDEBOARD);
commandZone = add(new CommandZoneDisplay(player)); commandZone = add(new CommandZoneDisplay(player));

View File

@@ -887,7 +887,7 @@ lblSet=Auflage
#Set word has different meanings in other languages #Set word has different meanings in other languages
lblDefault=Standard lblDefault=Standard
lblType=Typ lblType=Typ
lblPlaneswalkerDeckSort=Planeswalker Deck lblPlaneswalkerDeckSort=Planeswalker-Deck
lblRarity=Seltenheit lblRarity=Seltenheit
lblConvertToFoil=Foil lblConvertToFoil=Foil
lblMulticolor=Mehrfarbig lblMulticolor=Mehrfarbig
@@ -904,6 +904,7 @@ lblCard=Karte
lblFormat=Format lblFormat=Format
lblFormats=Formate lblFormats=Formate
lblQuestWorld=Quest-Welt lblQuestWorld=Quest-Welt
lblBlock=Block
lblSets=Sets lblSets=Sets
lblTypes=Typen lblTypes=Typen
lblConvertedManaCosts=umgewandelte Manakosten lblConvertedManaCosts=umgewandelte Manakosten
@@ -2558,6 +2559,8 @@ lblLibraryNCards=Bibliothek ({0})
lblExileNCards=Exil ({0}) lblExileNCards=Exil ({0})
lblFlashbackNCards=Rückblende-Karten ({0}) lblFlashbackNCards=Rückblende-Karten ({0})
lblCommandZoneNCards=Komandozone ({0}) lblCommandZoneNCards=Komandozone ({0})
lblAnteZoneNCards=Ante zone ({0})
lblSideboardNCards=Sideboard ({0})
lblWhiteManaOfN=Weißes Mana ({0}) lblWhiteManaOfN=Weißes Mana ({0})
lblBlueManaOfN=Blaues Mana ({0}) lblBlueManaOfN=Blaues Mana ({0})
lblBlackManaOfN=Schwarzes Mana ({0}) lblBlackManaOfN=Schwarzes Mana ({0})

View File

@@ -2558,6 +2558,8 @@ lblLibraryNCards=Library ({0})
lblExileNCards=Exile ({0}) lblExileNCards=Exile ({0})
lblFlashbackNCards=Flashback cards ({0}) lblFlashbackNCards=Flashback cards ({0})
lblCommandZoneNCards=Command zone ({0}) lblCommandZoneNCards=Command zone ({0})
lblAnteZoneNCards=Ante zone ({0})
lblSideboardNCards=Sideboard ({0})
lblWhiteManaOfN=White mana ({0}) lblWhiteManaOfN=White mana ({0})
lblBlueManaOfN=Blue mana ({0}) lblBlueManaOfN=Blue mana ({0})
lblBlackManaOfN=Black mana ({0}) lblBlackManaOfN=Black mana ({0})

View File

@@ -2557,6 +2557,8 @@ lblLibraryNCards=Biblioteca ({0})
lblExileNCards=Exilio ({0}) lblExileNCards=Exilio ({0})
lblFlashbackNCards=Cartas con retrospectiva ({0}) lblFlashbackNCards=Cartas con retrospectiva ({0})
lblCommandZoneNCards=Zona de comando ({0}) lblCommandZoneNCards=Zona de comando ({0})
lblAnteZoneNCards=Ante zone ({0})
lblSideboardNCards=Sideboard ({0})
lblWhiteManaOfN=Maná blanco ({0}) lblWhiteManaOfN=Maná blanco ({0})
lblBlueManaOfN=Maná azul ({0}) lblBlueManaOfN=Maná azul ({0})
lblBlackManaOfN=Maná negro ({0}) lblBlackManaOfN=Maná negro ({0})

View File

@@ -2557,6 +2557,8 @@ lblLibraryNCards=Grimorio ({0})
lblExileNCards=Esilio ({0}) lblExileNCards=Esilio ({0})
lblFlashbackNCards=Carte Flashback ({0}) lblFlashbackNCards=Carte Flashback ({0})
lblCommandZoneNCards=Zona di Comando ({0}) lblCommandZoneNCards=Zona di Comando ({0})
lblAnteZoneNCards=Ante zone ({0})
lblSideboardNCards=Sideboard ({0})
lblWhiteManaOfN=Mana Bianco ({0}) lblWhiteManaOfN=Mana Bianco ({0})
lblBlueManaOfN=Mana Blu ({0}) lblBlueManaOfN=Mana Blu ({0})
lblBlackManaOfN=Mana Nero ({0}) lblBlackManaOfN=Mana Nero ({0})

View File

@@ -2558,6 +2558,8 @@ lblLibraryNCards=ライブラリー ({0})
lblExileNCards=追放 ({0}) lblExileNCards=追放 ({0})
lblFlashbackNCards=フラッシュバックカード ({0}) lblFlashbackNCards=フラッシュバックカード ({0})
lblCommandZoneNCards=統率領域 ({0}) lblCommandZoneNCards=統率領域 ({0})
lblAnteZoneNCards=アンティ領域 ({0})
lblSideboardNCards=サイドボード ({0})
lblWhiteManaOfN=白マナ ({0}) lblWhiteManaOfN=白マナ ({0})
lblBlueManaOfN=青マナ ({0}) lblBlueManaOfN=青マナ ({0})
lblBlackManaOfN=黒マナ ({0}) lblBlackManaOfN=黒マナ ({0})

View File

@@ -2558,6 +2558,8 @@ lblLibraryNCards=牌库 ({0})
lblExileNCards=放逐区 ({0}) lblExileNCards=放逐区 ({0})
lblFlashbackNCards=可返照 ({0}) lblFlashbackNCards=可返照 ({0})
lblCommandZoneNCards=指挥官区 ({0}) lblCommandZoneNCards=指挥官区 ({0})
lblAnteZoneNCards=Ante zone ({0})
lblSideboardNCards=Sideboard ({0})
lblWhiteManaOfN=白色法术力 ({0}) lblWhiteManaOfN=白色法术力 ({0})
lblBlueManaOfN=蓝色法术力 ({0}) lblBlueManaOfN=蓝色法术力 ({0})
lblBlackManaOfN=黑色法术力 ({0}) lblBlackManaOfN=黑色法术力 ({0})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 306 KiB

View File

@@ -238,12 +238,18 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
ZONE_LOC_HUMAN_GRAVEYARD(""), ZONE_LOC_HUMAN_GRAVEYARD(""),
ZONE_LOC_HUMAN_EXILE(""), ZONE_LOC_HUMAN_EXILE(""),
ZONE_LOC_HUMAN_FLASHBACK(""), ZONE_LOC_HUMAN_FLASHBACK(""),
ZONE_LOC_HUMAN_COMMAND(""),
ZONE_LOC_HUMAN_ANTE(""),
ZONE_LOC_HUMAN_SIDEBOARD(""),
ZONE_LOC_AI_HAND(""), ZONE_LOC_AI_HAND(""),
ZONE_LOC_AI_LIBRARY(""), ZONE_LOC_AI_LIBRARY(""),
ZONE_LOC_AI_GRAVEYARD(""), ZONE_LOC_AI_GRAVEYARD(""),
ZONE_LOC_AI_EXILE(""), ZONE_LOC_AI_EXILE(""),
ZONE_LOC_AI_FLASHBACK(""), ZONE_LOC_AI_FLASHBACK(""),
ZONE_LOC_AI_COMMAND(""),
ZONE_LOC_AI_ANTE(""),
ZONE_LOC_AI_SIDEBOARD(""),
CHAT_WINDOW_LOC(""), CHAT_WINDOW_LOC(""),

View File

@@ -62,6 +62,11 @@ public enum FSkinProp {
IMG_ZONE_GRAVEYARD (new int[] {320, 0, 40, 40}, PropType.IMAGE), IMG_ZONE_GRAVEYARD (new int[] {320, 0, 40, 40}, PropType.IMAGE),
IMG_HDZONE_GRAVEYARD (new int[] {132, 6, 128, 128}, PropType.BUTTONS), IMG_HDZONE_GRAVEYARD (new int[] {132, 6, 128, 128}, PropType.BUTTONS),
IMG_ZONE_ANTE (new int[] {360, 0, 40, 40}, PropType.IMAGE),
IMG_ZONE_SIDEBOARD (new int[] {360, 40, 40, 40}, PropType.IMAGE),
IMG_HDZONE_SIDEBOARD (new int[] {132, 1792, 128, 128}, PropType.BUTTONS),
IMG_HDZONE_MANAPOOL (new int[] {2, 6, 128, 128}, PropType.BUTTONS), IMG_HDZONE_MANAPOOL (new int[] {2, 6, 128, 128}, PropType.BUTTONS),
IMG_ZONE_POISON (new int[] {320, 80, 40, 40}, PropType.IMAGE), IMG_ZONE_POISON (new int[] {320, 80, 40, 40}, PropType.IMAGE),