Skip to content

Mobile Deck Editor Reorganization and Feature Update#7519

Merged
tehdiplomat merged 89 commits into
Card-Forge:masterfrom
Jetz72:deckEditorUpdate
Aug 15, 2025
Merged

Mobile Deck Editor Reorganization and Feature Update#7519
tehdiplomat merged 89 commits into
Card-Forge:masterfrom
Jetz72:deckEditorUpdate

Conversation

@Jetz72
Copy link
Copy Markdown
Contributor

@Jetz72 Jetz72 commented May 11, 2025

Ongoing overhaul to the mobile deck editor. Large parts of it have been revised, along with parts of the systems it ties into.

Major goals of this update:

  • Make the AdventureDeckEditor inherit from the main one, sharing code where appropriate.
  • Add support for variant cards in adventure mode (Though there's no inherent way to get them yet.)
  • Adds placeholder Attraction and Contraption if you have less than the minimum number in your Adventure deck.
  • Add Draft-Matters support to mobile and adventure (Draft-matters cards seem to work, but the sets that use them are designed for 4 player drafts, which is out of scope for now.)
  • Give the adventure editor support for favorites, replacing prints, importing+exporting, (Favorites & Replacing prints done, Importing to come later.)
  • Remove the adventure-specific filter dropdown, move auto-sell into its own tab.
  • Allow sorting the adventure catalog by price, showing the price outside the shop, and make prices show in list view. (Done)
  • Remove the EditorType enum used across a bunch of switch statements in the editor, replacing it with DeckEditorConfig, a class that supplies these behavioral differences through overrides of its methods. Vastly reduces hard-coding of game-type specific things into the deck editor itself.
  • Lots of logic that used separate "addCards" and "removeCards" calls when moving cards around have been refactored into a single "moveCards" operation that ensures cards aren't either spawned from nothing or lost into the void.
  • Adds the ability to re-open the deck editor freely in Adventure Events. (Closes Can exit draft deck editor without adding lands #7861.)

Closes #6993; Closes #3652; Closes #8141.

Jetz72 and others added 29 commits February 6, 2025 09:01
# Conflicts:
#	forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java
# Conflicts:
#	forge-gui-mobile/src/forge/itemmanager/views/ImageView.java
# Conflicts:
#	forge-core/src/main/java/forge/util/ItemPool.java
#	forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java
Partial draft support for mobile editor.
Auto-sell now a separate tab.
# Conflicts:
#	forge-core/src/main/java/forge/card/CardDb.java
#	forge-core/src/main/java/forge/card/ICardDatabase.java
#	forge-core/src/main/java/forge/deck/CardPool.java
#	forge-core/src/main/java/forge/item/PaperCard.java
#	forge-core/src/main/java/forge/util/ItemPool.java
#	forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java
#	forge-gui-mobile/src/forge/adventure/scene/AdventureDeckEditor.java
#	forge-gui-mobile/src/forge/adventure/stage/ConsoleCommandInterpreter.java
#	forge-gui-mobile/src/forge/deck/FDeckEditor.java
#	forge-gui-mobile/src/forge/itemmanager/views/ImageView.java
#	forge-gui/res/languages/en-US.properties
@Jetz72 Jetz72 changed the title Mobile Deck Editor Reorganization Mobile Deck Editor Reorganization and Feature Update May 11, 2025
Jetz72 added 2 commits July 22, 2025 17:38
# Conflicts:
#	forge-gui/res/languages/de-DE.properties
#	forge-gui/res/languages/en-US.properties
#	forge-gui/res/languages/es-ES.properties
#	forge-gui/res/languages/fr-FR.properties
#	forge-gui/res/languages/it-IT.properties
#	forge-gui/res/languages/ja-JP.properties
#	forge-gui/res/languages/pt-BR.properties
#	forge-gui/res/languages/zh-CN.properties
@Jetz72
Copy link
Copy Markdown
Contributor Author

Jetz72 commented Jul 22, 2025

Think this is just about ready for review. I'm sure I didn't catch everything but I've at least tested each component a few times for outstanding issues.

Stuff to do in future PRs or projects:

  • Importing decks in adventure mode. Logic's mostly written but was getting a bit out of scope. I aim to add this soon.
  • Full conspiracy and commander draft support. Conspiracy cards seem to work but 4 player draft formats are a separate animal. And 4 player anything in Adventure mode is one more animal removed from that.
  • Reorganize the move labels so they're assembled as ("Add to" + "zone") rather than ("Add" + "to zone"). Might be complications in other languages for that but it's currently doubling the number of localized strings needed here.
  • Move the commander filter logic over to be with the regular filters.
  • Partners in Oathbreaker (Probably with Rework deckbuilding rules into a set of objects #8066).
  • Redo getColOverrides in the adventure editor to not need so much near-duplicate code. Probably needs a bunch of overhauls to the underlying logic though.
  • Change Adventure save logic to just serialize the whole deck instead of splitting each deck into sections and storing them individually. (May just do this the next time we have to add a section to save; Split Adventure save compatibility handling into separate methods #7799 would help a bit with the migration logic here.)

@Jetz72 Jetz72 marked this pull request as ready for review July 22, 2025 21:55
@kevlahnota
Copy link
Copy Markdown
Contributor

kevlahnota commented Jul 25, 2025

Hmmm changing art for the card has a advanced search button if there's a lot of variants (like basic land), and if isn't disabled or hidden (Adventure Mode), then the UI will be stucked after trying to exit from the advanced search screen unless this is also covered though, there's a pr that allows you to advance search like scryfall, I think that's more preferable option I guess in the future.

@Jetz72
Copy link
Copy Markdown
Contributor Author

Jetz72 commented Jul 28, 2025

Hmmm changing art for the card has a advanced search button if there's a lot of variants (like basic land), and if isn't disabled or hidden (Adventure Mode), then the UI will be stucked after trying to exit from the advanced search screen unless this is also covered though, there's a pr that allows you to advance search like scryfall, I think that's more preferable option I guess in the future.

I was unaware of this search feature, but I was unable to reproduce any hang with it. I selected it, filtered for set UNF, hit the back arrow, and got a list of UNF cards that I was able to select and use. Do I need to use it in a particular way? Or in a particular context?
image

@kevlahnota
Copy link
Copy Markdown
Contributor

kevlahnota commented Jul 28, 2025

Hmmm changing art for the card has a advanced search button if there's a lot of variants (like basic land), and if isn't disabled or hidden (Adventure Mode), then the UI will be stucked after trying to exit from the advanced search screen unless this is also covered though, there's a pr that allows you to advance search like scryfall, I think that's more preferable option I guess in the future.

I was unaware of this search feature, but I was unable to reproduce any hang with it. I selected it, filtered for set UNF, hit the back arrow, and got a list of UNF cards that I was able to select and use. Do I need to use it in a particular way? Or in a particular context? image

try running adventure mode then change the art in the adventure deck editor, your screenshot is classic mode not adventure mode.

@Jetz72
Copy link
Copy Markdown
Contributor Author

Jetz72 commented Aug 1, 2025

Alright, I think I've patched up the back button functionality enough for it to not break in adventure mode. Still has problems, but it should be more resistant against soft-locking or navigating anywhere weird now.

Also took out the home menu bar from the advanced filter screen, and restored the ability to use it to filter the card manager while in adventure mode.

Finally, ported over the foil toggle. The new foil effect looks really good by the way, @kevlahnota.

Comment thread forge-core/src/main/java/forge/deck/DeckFormat.java
Comment thread forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java
Comment thread forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java
@tehdiplomat tehdiplomat merged commit de89d55 into Card-Forge:master Aug 15, 2025
1 check passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Adventure Mode Subproject Aug 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Adventure For the Adventure Module Enhancement New feature or request Mobile

Projects

Status: Done

7 participants