From 98611a24b7c72132501f018ad77fadceafeab63f Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 8 Nov 2024 18:10:14 +0300 Subject: [PATCH 1/7] AI for Evolved Sleeper (#6547) --- forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java index 479a5e6cf77..e25b88be724 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java @@ -626,6 +626,11 @@ public class CountersPutAi extends CountersAi { return false; // only if next turn and cost is reusable } } + + // Useless since the card already has the keyword (or for another reason) + if (ComputerUtil.isUselessCounter(CounterType.get(type), cards.get(0))) { + return false; + } } boolean immediately = ComputerUtil.playImmediately(ai, sa); From f47870a698b826c5018c93b025be391ca3676599 Mon Sep 17 00:00:00 2001 From: kevlahnota Date: Sat, 9 Nov 2024 06:34:47 +0800 Subject: [PATCH 2/7] Update CCombat.java - closes #6548 --- .../main/java/forge/screens/match/controllers/CCombat.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java index 37d614e3153..750d7403a42 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java @@ -87,10 +87,7 @@ public class CCombat implements ICDoc { else display.append(Lang.getInstance().getPossesive(controller.getName())).append(" "); } - if (controller == null) - display.append(" is attacked by:\n"); - else - display.append(defender).append(" is attacked by:\n"); + display.append(defender).append(" is attacked by:\n"); // Associate Bands, Attackers Blockers boolean previousBand = false; From ac15b32f32ae71df40037874e7a7691a863e699b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 9 Nov 2024 08:21:19 +0800 Subject: [PATCH 3/7] fix SealedScreen bind directly the back button to open the LoadSealedScreen on Sealed Editor --- forge-gui-mobile/src/forge/deck/FDeckEditor.java | 15 +++++++++------ .../forge/screens/limited/NewSealedScreen.java | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index 12b13f46516..3a2abbc3234 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -285,18 +285,21 @@ public class FDeckEditor extends TabPageScreen { private final FLabel btnMoreOptions = deckHeader.add(new FLabel.Builder().text("...").font(FSkinFont.get(20)).align(Align.center).pressedColor(Header.getBtnPressedColor()).build()); public FDeckEditor(EditorType editorType0, DeckProxy editDeck, boolean showMainDeck) { - this(editorType0, editDeck.getName(), editDeck.getPath(), null, showMainDeck,null); + this(editorType0, editDeck.getName(), editDeck.getPath(), null, showMainDeck, null); } - public FDeckEditor(EditorType editorType0, String editDeckName, boolean showMainDeck,FEventHandler backButton) { - this(editorType0, editDeckName, "", null, showMainDeck,backButton); + public FDeckEditor(EditorType editorType0, DeckProxy editDeck, boolean showMainDeck, FEventHandler backButton) { + this(editorType0, editDeck.getName(), editDeck.getPath(), null, showMainDeck, backButton); + } + public FDeckEditor(EditorType editorType0, String editDeckName, boolean showMainDeck, FEventHandler backButton) { + this(editorType0, editDeckName, "", null, showMainDeck, backButton); } public FDeckEditor(EditorType editorType0, String editDeckName, boolean showMainDeck) { - this(editorType0, editDeckName, "", null, showMainDeck,null); + this(editorType0, editDeckName, "", null, showMainDeck, null); } public FDeckEditor(EditorType editorType0, Deck newDeck, boolean showMainDeck) { - this(editorType0, "", "", newDeck, showMainDeck,null); + this(editorType0, "", "", newDeck, showMainDeck, null); } - private FDeckEditor(EditorType editorType0, String editDeckName, String editDeckPath, Deck newDeck, boolean showMainDeck,FEventHandler backButton) { + private FDeckEditor(EditorType editorType0, String editDeckName, String editDeckPath, Deck newDeck, boolean showMainDeck, FEventHandler backButton) { super(backButton, getPages(editorType0)); editorType = editorType0; diff --git a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java index aea37d92f95..bca812c1bdd 100644 --- a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java @@ -48,8 +48,7 @@ public class NewSealedScreen extends LaunchScreen { FThreads.invokeInEdtLater(() -> { DeckPreferences.setSealedDeck(sealed.getName()); - Forge.openScreen(new FDeckEditor(EditorType.Sealed, sealed.getName(), false)); - Forge.setBackScreen(new LoadSealedScreen(), false); //ensure pressing back goes to load sealed screen + Forge.openScreen(new FDeckEditor(EditorType.Sealed, sealed.getName(), false, e -> Forge.openScreen(new LoadSealedScreen(), false))); }); }); } From b130f45fe1df5022032b052932470d1b9396be26 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 9 Nov 2024 10:17:40 +0800 Subject: [PATCH 4/7] update watermark - show watermark on catalogpage only --- .../adventure/scene/AdventureDeckEditor.java | 1 + forge-gui-mobile/src/forge/assets/FSkin.java | 1 + .../src/forge/itemmanager/ItemManager.java | 9 +++++++++ .../src/forge/itemmanager/views/ImageView.java | 12 ++++++++---- forge-gui/res/skins/default/nfs.png | Bin 0 -> 33157 bytes 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 forge-gui/res/skins/default/nfs.png diff --git a/forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java b/forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java index 7e500950d1d..1c0fa85e556 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java +++ b/forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java @@ -173,6 +173,7 @@ public class AdventureDeckEditor extends TabPageScreen { super(ItemManagerConfig.ADVENTURE_EDITOR_POOL, Forge.getLocalizer().getMessage("lblInventory"), CATALOG_ICON); cardManager.setBtnAdvancedSearchOptions(true); cardManager.setCatalogDisplay(true); + cardManager.setShowNFSWatermark(true); } @Override diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index f36a92818fb..25d3754b952 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -176,6 +176,7 @@ public class FSkin { Forge.getAssets().loadTexture(getSkinFile("hd_logo.png")); Forge.getAssets().loadTexture(getDefaultSkinFile("adv_logo.png"), new TextureLoader.TextureParameter()); Forge.getAssets().loadTexture(getDefaultSkinFile("cover.png")); + Forge.getAssets().loadTexture(getDefaultSkinFile("nfs.png")); Forge.getAssets().loadTexture(getDefaultSkinFile("overlay_alpha.png")); Forge.getAssets().loadTexture(getDefaultSkinFile("spiral.png")); Forge.getAssets().loadTexture(getDefaultSkinFile("splatter.png")); diff --git a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java index 02058e8cfe4..566b33d7713 100644 --- a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java @@ -86,6 +86,7 @@ public abstract class ItemManager extends FContainer im private boolean hideFilters = false; private boolean wantUnique = false; private boolean showRanking = false; + private boolean showNFSWatermark = false; private boolean multiSelectMode = false; private FEventHandler selectionChangedHandler, itemActivateHandler; private ContextMenuBuilder contextMenuBuilder; @@ -913,6 +914,10 @@ public abstract class ItemManager extends FContainer im return showRanking; } + public boolean showNFSWatermark() { + return showNFSWatermark; + } + public void setWantUnique(boolean unique) { wantUnique = unique; } @@ -921,6 +926,10 @@ public abstract class ItemManager extends FContainer im showRanking = showRanking0; } + public void setShowNFSWatermark(boolean val) { + showNFSWatermark = val; + } + public void setSelectionSupport(int minSelections0, int maxSelections0) { for (ItemView view : views) { view.setSelectionSupport(minSelections0, maxSelections0); diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java index ca347f33524..60097618cc1 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java @@ -1127,8 +1127,12 @@ public class ImageView extends ItemView { cardPrice = ((ShopScene) Forge.getCurrentScene()).getCardPrice((PaperCard) item); drawCardLabel(g, "$" + cardPrice, Color.GOLD, x, y ,w ,h); } else { - if (((PaperCard) item).isNoSell()) { - drawCardLabel(g, Forge.getLocalizer().getMessage("lblNoSell"), Color.RED, x, y, w, h); + if (((PaperCard) item).isNoSell() && itemManager.showNFSWatermark()) { + Texture nfs = Forge.getAssets().getTexture(getDefaultSkinFile("nfs.png"), false); + if (nfs != null) + g.drawImage(nfs, x, y, w, h); + else + drawCardLabel(g, Forge.getLocalizer().getMessage("lblNoSell"), Color.RED, x, y, w, h); } } } @@ -1164,7 +1168,7 @@ public class ImageView extends ItemView { //g.drawImage(tr, x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); } //draw plastic effect overlay. - g.drawImage(Forge.getAssets().getTexture(getDefaultSkinFile("cover.png")), x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); + g.drawImage(Forge.getAssets().getTexture(getDefaultSkinFile("cover.png"), false), x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); } //fake labelname shadow g.drawText(item.getName(), GROUP_HEADER_FONT, Color.BLACK, (x + PADDING) - 1f, (y + PADDING * 2) + 1f, w - 2 * PADDING, h - 2 * PADDING, true, Align.center, false); @@ -1192,7 +1196,7 @@ public class ImageView extends ItemView { //temporary fill image g.fillRect(Color.BLACK, x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); //draw plastic effect overlay. - g.drawImage(Forge.getAssets().getTexture(getDefaultSkinFile("cover.png")), x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); + g.drawImage(Forge.getAssets().getTexture(getDefaultSkinFile("cover.png"), false), x + (w - w * scale) / 2, y + (h - h * scale) / 1.5f, w * scale, h * scale); } } diff --git a/forge-gui/res/skins/default/nfs.png b/forge-gui/res/skins/default/nfs.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae0ef9e353818e42744dfe70fe9047952574b73 GIT binary patch literal 33157 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 ?Qz2u7_QLg?y$ak)pIpng59 z7%!>8vlU*FX+1^51o1D)k0%KhNGRhM0{%3jEE#9Ro2FlKvHbmVvxG-kE6f^vghwvK zTJ^R1gj{mUBfm=gQBFs^VfNk%kDm!zzkUN?aiZzWEqH6vWg@fC_d{-11~c z>DVzOH^(f865sV{q)>E`PE1O2>qAPWgvgHgz;aD@x#=BdW7h)MoBG8=w-;U1(X&{BX-8$16& zeLiWq`e!@KWFq%6pNMvngk_4{bFK1bfq#mSBL6^R{y%@chsuEep=N{+{I9?MU%o=T z(EsHt`xp9Ozw&?l_W$~o|Kqp+fBfM7SIY2z88(XCHs0oGd_lpViz-*J#Y&bT{|_-2 BMMMAq literal 0 HcmV?d00001 From 7a4fc4ddd24fd62d765f9653c160a0c3151ad604 Mon Sep 17 00:00:00 2001 From: Paul Hammerton <18243520+paulsnoops@users.noreply.github.com> Date: Sat, 9 Nov 2024 10:19:34 +0000 Subject: [PATCH 5/7] Edition updates: PMEI, SLD --- forge-gui/res/editions/Media Inserts.txt | 1 + forge-gui/res/editions/Secret Lair Drop Series.txt | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/forge-gui/res/editions/Media Inserts.txt b/forge-gui/res/editions/Media Inserts.txt index bcd6ef0050c..7e1ccefdd7a 100644 --- a/forge-gui/res/editions/Media Inserts.txt +++ b/forge-gui/res/editions/Media Inserts.txt @@ -66,5 +66,6 @@ ScryfallCode=PMEI 62 R Raiyuu, Storm's Edge @Heonhwa Choe 63 R Snuff Out @Mike Ploog 66 R Saryth, the Viper's Fang @Igor Kieryluk +67 R Gush @Kev Walker 211 R Park Heights Pegasus @Randy Gallegos 232 R Liesa, Forgotten Archangel @Dmitry Burmak diff --git a/forge-gui/res/editions/Secret Lair Drop Series.txt b/forge-gui/res/editions/Secret Lair Drop Series.txt index b6dc746ddcc..5ab1760bcfd 100644 --- a/forge-gui/res/editions/Secret Lair Drop Series.txt +++ b/forge-gui/res/editions/Secret Lair Drop Series.txt @@ -796,6 +796,12 @@ F798 M Discord, Lord of Disharmony @Narendra Bintara Adi 827 R Norin the Wary @Jarel Threat 827b R Norin the Wary @Jarel Threat 828 R Keen Duelist @Thanh Tuấn +863 R Masterwork of Ingenuity @David Álvarez +864 R Sculpting Steel @Javier Charro +865 R Unnatural Growth @Justine Cruz +866 R Regrowth @Xabi Gaztelua +867 R Nature's Lore @Nicholas Elias +870 R Abundant Growth @Ryan Yee 871 R Soul-Guide Lantern @Tyler Walpole 872 R Yargle and Multani @Warren Mahy 873 R Dark Deal @Tyler Jacobson From bc3c8473324c7fd26a2ee64fb536def5d87a849f Mon Sep 17 00:00:00 2001 From: Chris H Date: Sat, 9 Nov 2024 18:18:23 -0500 Subject: [PATCH 6/7] Remove cron from double snapshots --- .github/workflows/snapshot-both-pc-android.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/snapshot-both-pc-android.yml b/.github/workflows/snapshot-both-pc-android.yml index 774e3be2d8f..46b2cf6ceb3 100644 --- a/.github/workflows/snapshot-both-pc-android.yml +++ b/.github/workflows/snapshot-both-pc-android.yml @@ -8,9 +8,6 @@ on: description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' required: false default: false - schedule: - # * is a special character in YAML so you have to quote this string - - cron: '30 18 * * *' jobs: build: From 9435ca6edc926616df00817a38bb62459635df03 Mon Sep 17 00:00:00 2001 From: Chris H Date: Sat, 9 Nov 2024 22:41:22 -0500 Subject: [PATCH 7/7] Create remove-stale-branches.yml --- .github/workflows/remove-stale-branches.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/remove-stale-branches.yml diff --git a/.github/workflows/remove-stale-branches.yml b/.github/workflows/remove-stale-branches.yml new file mode 100644 index 00000000000..8f06accdb9d --- /dev/null +++ b/.github/workflows/remove-stale-branches.yml @@ -0,0 +1,12 @@ +on: + schedule: + - cron: "0 0 * * *" # Everday at midnight + +jobs: + remove-stale-branches: + name: Remove Stale Branches + runs-on: ubuntu-latest + steps: + - uses: fpicalausa/remove-stale-branches@v1.6.0 + with: + dry-run: true # Check out the console output before setting this to false