diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java index 4a0ded95dc2..9775cd32395 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java @@ -63,7 +63,6 @@ public class ChooseCardNameAi extends SpellAbilityAi { */ @Override public Card chooseSingleCard(final Player ai, SpellAbility sa, Iterable options, boolean isOptional, Player targetedPlayer, Map params) { - return ComputerUtilCard.getBestAI(options); } diff --git a/forge-game/src/main/java/forge/game/GameFormat.java b/forge-game/src/main/java/forge/game/GameFormat.java index ab222201d6f..7b7e15e3141 100644 --- a/forge-game/src/main/java/forge/game/GameFormat.java +++ b/forge-game/src/main/java/forge/game/GameFormat.java @@ -120,7 +120,7 @@ public class GameFormat implements Comparable { this.name = fName; this.effectiveDate = effectiveDate; - if(sets != null) { + if (sets != null) { StaticData data = StaticData.instance(); Set parsedSets = new HashSet<>(); for (String set : sets) { @@ -129,10 +129,9 @@ public class GameFormat implements Comparable { continue; } parsedSets.add(set); - } allowedSetCodes = Lists.newArrayList(parsedSets); - }else{ + } else { allowedSetCodes = new ArrayList<>(); } @@ -183,7 +182,7 @@ public class GameFormat implements Comparable { } private static Date parseDate(String date) { - if( date.length() <= 7 ) + if (date.length() <= 7) date = date + "-01"; try { return formatter.parse(date); @@ -192,7 +191,7 @@ public class GameFormat implements Comparable { } } - public Date getEffectiveDate() { return effectiveDate; } + public Date getEffectiveDate() { return effectiveDate; } public FormatType getFormatType() { return this.formatType; @@ -299,10 +298,9 @@ public class GameFormat implements Comparable { if (other.formatType != formatType){ return formatType.compareTo(other.formatType); - }else{ - if (other.formatSubType != formatSubType){ - return formatSubType.compareTo(other.formatSubType); - } + } + if (other.formatSubType != formatSubType){ + return formatSubType.compareTo(other.formatSubType); } if (formatType.equals(FormatType.HISTORIC)){ int compareDates = this.effectiveDate.compareTo(other.effectiveDate); @@ -342,7 +340,7 @@ public class GameFormat implements Comparable { @Override protected GameFormat read(File file) { - if(!includeHistoric && !coreFormats.contains(file.getName())){ + if (!includeHistoric && !coreFormats.contains(file.getName())) { return null; } final Map> contents = FileSection.parseSections(FileUtil.readFile(file)); @@ -391,17 +389,17 @@ public class GameFormat implements Comparable { } Boolean strRestrictedLegendary = section.getBoolean("restrictedlegendary"); - if ( strRestrictedLegendary != null ) { + if (strRestrictedLegendary != null) { restrictedLegendary = strRestrictedLegendary; } strCars = section.get("additional"); - if ( strCars != null ) { + if (strCars != null) { additionalCards = Arrays.asList(strCars.split("; ")); } strCars = section.get("rarities"); - if ( strCars != null ) { + if (strCars != null) { CardRarity cr; rarities = Lists.newArrayList(); for (String s: strCars.split(", ")) { @@ -453,8 +451,8 @@ public class GameFormat implements Comparable { public Iterable getSanctionedList() { List coreList = new ArrayList<>(); - for(GameFormat format: naturallyOrdered){ - if(format.getFormatType().equals(FormatType.SANCTIONED)){ + for (GameFormat format: naturallyOrdered) { + if (format.getFormatType().equals(FormatType.SANCTIONED)){ coreList.add(format); } } @@ -463,8 +461,8 @@ public class GameFormat implements Comparable { public Iterable getFilterList() { List coreList = new ArrayList<>(); - for(GameFormat format: naturallyOrdered){ - if(!format.getFormatType().equals(FormatType.HISTORIC) + for (GameFormat format: naturallyOrdered) { + if (!format.getFormatType().equals(FormatType.HISTORIC) &&!format.getFormatType().equals(FormatType.DIGITAL)){ coreList.add(format); } @@ -474,8 +472,8 @@ public class GameFormat implements Comparable { public Iterable getHistoricList() { List coreList = new ArrayList<>(); - for(GameFormat format: naturallyOrdered){ - if(format.getFormatType().equals(FormatType.HISTORIC)){ + for (GameFormat format: naturallyOrdered) { + if (format.getFormatType().equals(FormatType.HISTORIC)){ coreList.add(format); } } @@ -484,10 +482,10 @@ public class GameFormat implements Comparable { public Map> getHistoricMap() { Map> coreList = new HashMap<>(); - for(GameFormat format: naturallyOrdered){ - if(format.getFormatType().equals(FormatType.HISTORIC)){ + for (GameFormat format: naturallyOrdered){ + if (format.getFormatType().equals(FormatType.HISTORIC)){ String alpha = format.getName().substring(0,1); - if(!coreList.containsKey(alpha)){ + if (!coreList.containsKey(alpha)) { coreList.put(alpha,new ArrayList<>()); } coreList.get(alpha).add(format); @@ -549,7 +547,7 @@ public class GameFormat implements Comparable { SortedSet result = new TreeSet<>(); Set coveredTypes = new HashSet<>(); CardPool allCards = deck.getAllCardsInASinglePool(); - for(GameFormat gf : reverseDateOrdered) { + for (GameFormat gf : reverseDateOrdered) { if (gf.getFormatType().equals(FormatType.DIGITAL) && !exhaustive){ //exclude Digital formats from lists for now continue; @@ -587,13 +585,12 @@ public class GameFormat implements Comparable { } if (gf2.formatType != gf1.formatType){ return gf1.formatType.compareTo(gf2.formatType); - }else{ - if (gf2.formatSubType != gf1.formatSubType){ - return gf1.formatSubType.compareTo(gf2.formatSubType); - } + } + if (gf2.formatSubType != gf1.formatSubType){ + return gf1.formatSubType.compareTo(gf2.formatSubType); } 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); } } diff --git a/forge-game/src/main/java/forge/game/player/PlayerView.java b/forge-game/src/main/java/forge/game/player/PlayerView.java index 6dcaa8faf70..873e7df5b1e 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerView.java +++ b/forge-game/src/main/java/forge/game/player/PlayerView.java @@ -436,6 +436,13 @@ public class PlayerView extends GameEntityView { return getZoneSize(TrackableProperty.Library); } + public FCollectionView getSideboard() { + return get(TrackableProperty.Sideboard); + } + public int getSideboardSize() { + return getZoneSize(TrackableProperty.Sideboard); + } + public FCollectionView getCards(final ZoneType zone) { TrackableProperty prop = getZoneProp(zone); if (prop != null) { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckBlockFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckBlockFilter.java index 8acf92aed40..e1d17a0d7b2 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckBlockFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckBlockFilter.java @@ -2,7 +2,6 @@ package forge.itemmanager.filters; import forge.deck.DeckProxy; import forge.game.GameFormat; -import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java index 2b6d3c43c94..8427ce77a68 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java @@ -481,7 +481,6 @@ public class DialogChooseSets { private int getMainDialogWidth() { int winWidth = Singletons.getView().getFrame().getSize().width; - System.out.println("Win Width " + winWidth); int[] sizeBoundaries = new int[] {800, 1024, 1280, 2048}; return calculateRelativePanelDimension(winWidth, 90, sizeBoundaries); } @@ -489,7 +488,6 @@ public class DialogChooseSets { // So far, not yet used, but left here just in case private int getMainDialogHeight() { int winHeight = Singletons.getView().getFrame().getSize().height; - System.out.println("Win Height " + winHeight); int[] sizeBoundaries = new int[] {600, 720, 780, 1024}; return calculateRelativePanelDimension(winHeight, 40, sizeBoundaries); } diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index e798031de07..07a91b0f00c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -485,6 +485,7 @@ public final class CMatchUI case Exile: case Flashback: case Command: + case Ante: case Sideboard: if (FloatingZone.show(this,player,zone)) { updatedPlayerZones.add(update); @@ -513,6 +514,8 @@ public final class CMatchUI case Exile: case Flashback: case Command: + case Ante: + case Sideboard: FloatingZone.hide(this,player,zone); break; default: diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java index 6c861591e46..789f112111d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CField.java @@ -69,6 +69,8 @@ public class CField implements ICDoc { final ZoneAction graveAction = new ZoneAction(matchUI, player, ZoneType.Graveyard); final ZoneAction flashBackAction = new ZoneAction(matchUI, player, ZoneType.Flashback); 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 manaAction = new Function() { @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() { diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java index 9a847227d2e..b3b00fb6a02 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java @@ -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 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 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> manaLabels = new ArrayList<>(); 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 row5 = 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)); row2.setOpaque(false); @@ -74,6 +77,7 @@ public class PlayerDetailsPanel extends JPanel { row4.setOpaque(false); row5.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); row6.setOpaque(false); + row7.setBackground(FSkin.getColor(FSkin.Colors.CLR_ZEBRA)); // Hand, library, graveyard, exile, flashback, command 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(lblCommand, constraintsCell); - row4.add(manaLabels.get(0).getLeft(), constraintsCell); - row4.add(manaLabels.get(1).getLeft(), constraintsCell); + row4.add(lblAnte, constraintsCell); + row4.add(lblSideboard, constraintsCell); - row5.add(manaLabels.get(2).getLeft(), constraintsCell); - row5.add(manaLabels.get(3).getLeft(), constraintsCell); + row5.add(manaLabels.get(0).getLeft(), constraintsCell); + row5.add(manaLabels.get(1).getLeft(), constraintsCell); - row6.add(manaLabels.get(4).getLeft(), constraintsCell); - row6.add(manaLabels.get(5).getLeft(), constraintsCell); + row6.add(manaLabels.get(2).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(row2, constraintsRow); add(row3, constraintsRow); add(row4, constraintsRow); add(row5, constraintsRow); add(row6, constraintsRow); + add(row7, constraintsRow); } public Component getLblLibrary() { @@ -119,7 +127,9 @@ public class PlayerDetailsPanel extends JPanel { librarySize = String.valueOf(player.getLibrarySize()), flashbackSize = String.valueOf(player.getFlashbackSize()), 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.setToolTip(handSize, player.getMaxHandString()); @@ -133,6 +143,10 @@ public class PlayerDetailsPanel extends JPanel { lblExile.setToolTip(exileSize); lblCommand.setText(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, - 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 manaAction) { // Detail label listeners lblGraveyard.addMouseListener(new FMouseAdapter() { @@ -180,6 +194,16 @@ public class PlayerDetailsPanel extends JPanel { 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 labelPair : manaLabels) { labelPair.getLeft().addMouseListener(new FMouseAdapter() { diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java index 235c96a12fe..0ed98b9e306 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java @@ -188,6 +188,15 @@ public class FloatingZone extends FloatingCardArea { case Flashback: window.setIconImage(FSkin.getImage(FSkinProp.IMG_ZONE_FLASHBACK)); 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: locPref = null; break; @@ -247,6 +256,15 @@ public class FloatingZone extends FloatingCardArea { case Flashback: locPref = isAi ? FPref.ZONE_LOC_AI_FLASHBACK : FPref.ZONE_LOC_HUMAN_FLASHBACK; 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: locPref = null; break; diff --git a/forge-gui-mobile/src/forge/assets/FSkinImage.java b/forge-gui-mobile/src/forge/assets/FSkinImage.java index 060797d48a5..e5db8abf2ae 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinImage.java +++ b/forge-gui-mobile/src/forge/assets/FSkinImage.java @@ -34,6 +34,8 @@ public enum FSkinImage implements FImage { GRAVEYARD (FSkinProp.IMG_ZONE_GRAVEYARD, SourceFile.ICONS), HDGRAVEYARD (FSkinProp.IMG_HDZONE_GRAVEYARD, SourceFile.BUTTONS), + SIDEBOARD (FSkinProp.IMG_ZONE_SIDEBOARD, SourceFile.ICONS), + HDMANAPOOL (FSkinProp.IMG_HDZONE_MANAPOOL, SourceFile.BUTTONS), POISON (FSkinProp.IMG_ZONE_POISON, SourceFile.ICONS), @@ -482,7 +484,7 @@ public enum FSkinImage implements FImage { // If any return true, image exists. int x0 = 0, y0 = 0; Color c; - + // Center x0 = (x + w / 2); y0 = (y + h / 2); @@ -491,7 +493,7 @@ public enum FSkinImage implements FImage { textureRegion = new TextureRegion(texture, x, y, w, h); return; } - + x0 += 2; y0 += 2; c = new Color(preferredIcons.getPixel(x0, y0)); @@ -499,21 +501,21 @@ public enum FSkinImage implements FImage { textureRegion = new TextureRegion(texture, x, y, w, h); return; } - + x0 -= 4; c = new Color(preferredIcons.getPixel(x0, y0)); if (c.a != 0) { textureRegion = new TextureRegion(texture, x, y, w, h); return; } - + y0 -= 4; c = new Color(preferredIcons.getPixel(x0, y0)); if (c.a != 0) { textureRegion = new TextureRegion(texture, x, y, w, h); return; } - + x0 += 4; c = new Color(preferredIcons.getPixel(x0, y0)); if (c.a != 0) { diff --git a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java index 645f7598c83..a5bb861d39d 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java @@ -76,6 +76,7 @@ public class VPlayerPanel extends FContainer { tabs.add(tabManaPool); addZoneDisplay(ZoneType.Exile, Forge.hdbuttons ? FSkinImage.HDEXILE : FSkinImage.EXILE); + addZoneDisplay(ZoneType.Sideboard, Forge.hdbuttons ? FSkinImage.HDSIDEBOARD :FSkinImage.SIDEBOARD); commandZone = add(new CommandZoneDisplay(player)); @@ -441,7 +442,7 @@ public class VPlayerPanel extends FContainer { if (vibrateDuration > 0 && MatchController.instance.isLocalPlayer(player) && FModel.getPreferences().getPrefBoolean(FPref.UI_VIBRATE_ON_LIFE_LOSS)) { //never vibrate more than two seconds regardless of life lost or poison counters gained - Gdx.input.vibrate(Math.min(vibrateDuration, 2000)); + Gdx.input.vibrate(Math.min(vibrateDuration, 2000)); } } diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 348a601cafd..e0cc94bac98 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -887,7 +887,7 @@ lblSet=Auflage #Set word has different meanings in other languages lblDefault=Standard lblType=Typ -lblPlaneswalkerDeckSort=Planeswalker Deck +lblPlaneswalkerDeckSort=Planeswalker-Deck lblRarity=Seltenheit lblConvertToFoil=Foil lblMulticolor=Mehrfarbig @@ -904,6 +904,7 @@ lblCard=Karte lblFormat=Format lblFormats=Formate lblQuestWorld=Quest-Welt +lblBlock=Block lblSets=Sets lblTypes=Typen lblConvertedManaCosts=umgewandelte Manakosten @@ -2558,6 +2559,8 @@ lblLibraryNCards=Bibliothek ({0}) lblExileNCards=Exil ({0}) lblFlashbackNCards=Rückblende-Karten ({0}) lblCommandZoneNCards=Komandozone ({0}) +lblAnteZoneNCards=Ante zone ({0}) +lblSideboardNCards=Sideboard ({0}) lblWhiteManaOfN=Weißes Mana ({0}) lblBlueManaOfN=Blaues Mana ({0}) lblBlackManaOfN=Schwarzes Mana ({0}) diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index e31368baf82..fe34cef49a7 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -2558,6 +2558,8 @@ lblLibraryNCards=Library ({0}) lblExileNCards=Exile ({0}) lblFlashbackNCards=Flashback cards ({0}) lblCommandZoneNCards=Command zone ({0}) +lblAnteZoneNCards=Ante zone ({0}) +lblSideboardNCards=Sideboard ({0}) lblWhiteManaOfN=White mana ({0}) lblBlueManaOfN=Blue mana ({0}) lblBlackManaOfN=Black mana ({0}) diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index b2aa72317a8..f441ce8f48b 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -2557,6 +2557,8 @@ lblLibraryNCards=Biblioteca ({0}) lblExileNCards=Exilio ({0}) lblFlashbackNCards=Cartas con retrospectiva ({0}) lblCommandZoneNCards=Zona de comando ({0}) +lblAnteZoneNCards=Ante zone ({0}) +lblSideboardNCards=Sideboard ({0}) lblWhiteManaOfN=Maná blanco ({0}) lblBlueManaOfN=Maná azul ({0}) lblBlackManaOfN=Maná negro ({0}) diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index c5ef2190be6..acf7c559226 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -2557,6 +2557,8 @@ lblLibraryNCards=Grimorio ({0}) lblExileNCards=Esilio ({0}) lblFlashbackNCards=Carte Flashback ({0}) lblCommandZoneNCards=Zona di Comando ({0}) +lblAnteZoneNCards=Ante zone ({0}) +lblSideboardNCards=Sideboard ({0}) lblWhiteManaOfN=Mana Bianco ({0}) lblBlueManaOfN=Mana Blu ({0}) lblBlackManaOfN=Mana Nero ({0}) diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 4934b80baf1..b0bd62ba3e9 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -2558,6 +2558,8 @@ lblLibraryNCards=ライブラリー ({0}) lblExileNCards=追放 ({0}) lblFlashbackNCards=フラッシュバックカード ({0}) lblCommandZoneNCards=統率領域 ({0}) +lblAnteZoneNCards=アンティ領域 ({0}) +lblSideboardNCards=サイドボード ({0}) lblWhiteManaOfN=白マナ ({0}) lblBlueManaOfN=青マナ ({0}) lblBlackManaOfN=黒マナ ({0}) diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 65979723f6d..21d74ec0f3e 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -2558,6 +2558,8 @@ lblLibraryNCards=牌库 ({0}) lblExileNCards=放逐区 ({0}) lblFlashbackNCards=可返照 ({0}) lblCommandZoneNCards=指挥官区 ({0}) +lblAnteZoneNCards=Ante zone ({0}) +lblSideboardNCards=Sideboard ({0}) lblWhiteManaOfN=白色法术力 ({0}) lblBlueManaOfN=蓝色法术力 ({0}) lblBlackManaOfN=黑色法术力 ({0}) diff --git a/forge-gui/res/skins/default/sprite_icons.png b/forge-gui/res/skins/default/sprite_icons.png index 7e82aba0b50..0f75f0c1389 100644 Binary files a/forge-gui/res/skins/default/sprite_icons.png and b/forge-gui/res/skins/default/sprite_icons.png differ diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index f8680cf9810..1fcf0e13df7 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -86,7 +86,7 @@ public class ForgePreferences extends PreferencesStore { UI_IMAGE_CACHE_MAXIMUM("400"), UI_OVERLAY_FOIL_EFFECT ("true"), UI_HIDE_REMINDER_TEXT ("false"), - UI_SR_OPTIMIZE ("false"), + UI_SR_OPTIMIZE ("false"), UI_OPEN_PACKS_INDIV ("false"), UI_STACK_CREATURES ("false"), UI_UPLOAD_DRAFT ("false"), @@ -238,12 +238,18 @@ public class ForgePreferences extends PreferencesStore { ZONE_LOC_HUMAN_GRAVEYARD(""), ZONE_LOC_HUMAN_EXILE(""), ZONE_LOC_HUMAN_FLASHBACK(""), + ZONE_LOC_HUMAN_COMMAND(""), + ZONE_LOC_HUMAN_ANTE(""), + ZONE_LOC_HUMAN_SIDEBOARD(""), ZONE_LOC_AI_HAND(""), ZONE_LOC_AI_LIBRARY(""), ZONE_LOC_AI_GRAVEYARD(""), ZONE_LOC_AI_EXILE(""), ZONE_LOC_AI_FLASHBACK(""), + ZONE_LOC_AI_COMMAND(""), + ZONE_LOC_AI_ANTE(""), + ZONE_LOC_AI_SIDEBOARD(""), CHAT_WINDOW_LOC(""), diff --git a/forge-gui/src/main/java/forge/localinstance/skin/FSkinProp.java b/forge-gui/src/main/java/forge/localinstance/skin/FSkinProp.java index 3847813761c..add774d0c80 100644 --- a/forge-gui/src/main/java/forge/localinstance/skin/FSkinProp.java +++ b/forge-gui/src/main/java/forge/localinstance/skin/FSkinProp.java @@ -20,7 +20,7 @@ package forge.localinstance.skin; /** * Assembles settings from selected or default theme as appropriate. Saves in a * hashtable, access using .get(settingName) method. - * + * */ public enum FSkinProp { //backgrounds @@ -62,6 +62,11 @@ public enum FSkinProp { IMG_ZONE_GRAVEYARD (new int[] {320, 0, 40, 40}, PropType.IMAGE), 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_ZONE_POISON (new int[] {320, 80, 40, 40}, PropType.IMAGE), @@ -143,7 +148,7 @@ public enum FSkinProp { IMG_COUNTERS_MULTI (new int[] {80, 400, 80, 80}, PropType.IMAGE), IMG_ENERGY (new int[] {320, 120, 40, 40}, PropType.IMAGE), IMG_EXPERIENCE (new int[] {280, 120, 40, 30}, PropType.IMAGE), - + //foils FOIL_01 (new int[] {0, 0, 400, 570}, PropType.FOIL), FOIL_02 (new int[] {400, 0, 400, 570}, PropType.FOIL), @@ -395,7 +400,7 @@ public enum FSkinProp { IMG_FAV4 (new int[] {300, 0, 100, 100}, PropType.FAVICON), IMG_FAV5 (new int[] {400, 0, 100, 100}, PropType.FAVICON), IMG_FAVNONE (new int[] {500, 0, 100, 100}, PropType.FAVICON), - + IMG_QUEST_DRAFT_DECK (new int[] {0, 0, 680, 475}, PropType.IMAGE), //COMMANDER IMG_ABILITY_COMMANDER (new int[] {330, 576, 80, 80}, PropType.ABILITY), @@ -452,7 +457,7 @@ public enum FSkinProp { IMG_ABILITY_PROTECT_U (new int[] {2, 330, 80, 80}, PropType.ABILITY), IMG_ABILITY_PROTECT_UW (new int[] {84, 330, 80, 80}, PropType.ABILITY), IMG_ABILITY_PROTECT_W (new int[] {166, 330, 80, 80}, PropType.ABILITY); - + private int[] coords; private PropType type;