Option to remove unsupported card from collection

This commit is contained in:
Eradev
2025-08-26 06:29:49 -04:00
parent b4f01b7ebb
commit e550c307c2
13 changed files with 48 additions and 9 deletions

View File

@@ -53,6 +53,7 @@ public final class CardRules implements ICardCharacteristics {
private boolean addsWildCardColor;
private int setColorID;
private boolean custom;
private boolean unsupported;
private String path;
public CardRules(ICardFace[] faces, CardSplitType altMode, CardAiHints cah) {
@@ -222,6 +223,8 @@ public final class CardRules implements ICardCharacteristics {
public boolean isCustom() { return custom; }
public void setCustom() { custom = true; }
public boolean isUnsupported() { return unsupported; }
@Override
public CardType getType() {
switch (splitType.getAggregationMethod()) {
@@ -825,6 +828,8 @@ public final class CardRules implements ICardCharacteristics {
faces[0].assignMissingFields();
final CardRules result = new CardRules(faces, CardSplitType.None, cah);
result.unsupported = true;
return result;
}

View File

@@ -351,6 +351,14 @@ public class AdventureDeckEditor extends FDeckEditor {
int autoSellCount = Current.player().autoSellCards.count(card); //Number currently in auto-sell.
int canMoveToAutoSell = safeToSellCount - autoSellCount; //Number that can be moved to auto-sell from here.
if (card.getRules().isUnsupported()) {
menu.clearItems();
FMenuItem removeItem = new FMenuItem(localizer.getMessage("lblRemoveUnsupportedCard"), FSkinImage.HDDELETE, e ->
removeCard(card, safeToSellCount));
menu.addItem(removeItem);
return;
}
if (copiesUsedInDecks > 0) {
String text = localizer.getMessage("lblCopiesInUse", copiesUsedInDecks);
FMenuItem usedHint = new FMenuItem(text, FSkinImage.HDLIBRARY, n -> {});

View File

@@ -220,6 +220,10 @@ public class CardRenderer {
if (pc.getRules() == null)
return getCardArt(pc.getImageKey(backFace), false, false, false, false, false, false, false, false, true, false);
if (pc.getRules().isUnsupported()) {
return CardImageRenderer.forgeArt;
}
CardType type = pc.getRules().getType();
return getCardArt(pc.getImageKey(backFace), pc.getRules().getSplitType() == CardSplitType.Split,
type.isPlane() || type.isPhenomenon(), pc.getRules().getOracleText().contains("Aftermath"),

View File

@@ -69,6 +69,11 @@ public abstract class FDropDownMenu extends FDropDown {
}
}
public void clearItems() {
clear();
items.clear();
}
@Override
public boolean tap(float x, float y, int count) {
super.tap(x, y, count);

View File

@@ -23,6 +23,7 @@ public abstract class FContainer extends FDisplayObject {
public void clear() {
children.clear();
((ArrayList<FDisplayObject>) children).trimToSize();
}
public int indexOf(FDisplayObject child) {

View File

@@ -3543,3 +3543,5 @@ nlPreloadCustomDrafts=Wenn aktiviert, werden die benutzerdefinierten Entwurfsdat
lblRepairCost=Reparaturkosten: {0} ?
lblRepair=Reparieren
lblDataMigrationMsg=Datenmigration abgeschlossen!\nBitte überprüfen Sie Ihr Inventar und Ihre Ausrüstung.\nBitte erstellen Sie an dieser Stelle eine Sicherungskopie Ihrer Spielstände, da der aktuelle Spielstand noch nicht überschrieben wird, wenn Sie im Menü „Szene“ den Punkt „Daten“ -> „Sicherungskopie“ verwenden.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Verwijder niet-ondersteunde kaart

View File

@@ -3297,3 +3297,5 @@ nlPreloadCustomDrafts=If enabled, the custom drafts files are preloaded on start
lblRepairCost=Repair Cost: {0} ?
lblRepair=Repair
lblDataMigrationMsg=Data Migration completed!\nPlease check your Inventory and Equipments.\nPlease make a backup of your saves at this point since the actual save is not yet overwritten by using the Data -> Backup at the Menu Scene.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Remove unsupported card

View File

@@ -3547,3 +3547,5 @@ nlPreloadCustomDrafts=Si está habilitado, los archivos de borradores personaliz
lblRepairCost=Costo de reparación: {0} ?
lblRepair=Reparar
lblDataMigrationMsg=¡Migración de datos completada!\nPor favor revise su inventario y equipos.\nPor favor, haz una copia de seguridad de tus partidas guardadas en este punto, ya que la partida guardada real aún no se sobrescribe al usar Datos -> Copia de seguridad en la Escena del menú.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Quitar tarjeta incompatible

View File

@@ -3548,3 +3548,5 @@ nlPreloadCustomDrafts=Si cette option est activée, les fichiers de brouillons p
lblRepairCost=Coût de réparation : {0} ?
lblRepair=Réparation
lblDataMigrationMsg=Migration des données terminée!\nVeuillez vérifier votre inventaire et vos équipements.\nVeuillez effectuer une sauvegarde de vos sauvegardes à ce stade, car la sauvegarde réelle n'est pas encore écrasée en utilisant Données -> Sauvegarde dans le menu Scène.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Supprimer la carte non prise en charge

View File

@@ -3546,3 +3546,5 @@ nlPreloadCustomDrafts=Se abilitato, i file delle bozze personalizzate vengono pr
lblRepairCost=Costo di riparazione: {0} ?
lblRepair=Riparazione
lblDataMigrationMsg=Migrazione dati completata!\nControlla il tuo inventario e le tue attrezzature.\nA questo punto, esegui un backup dei tuoi salvataggi, poiché il salvataggio effettivo non è ancora stato sovrascritto, utilizzando Dati -> Backup nel menu Scena.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Rimuovi la carta non supportata

View File

@@ -3542,3 +3542,5 @@ nlPreloadCustomDrafts=有効にすると、起動時にカスタム ドラフト
lblRepairCost=修理費用: {0}?
lblRepair=修理
lblDataMigrationMsg=データ移行が完了しました!\nインベントリと装備を確認してください。\n実際の保存はまだメニューシーンの「データ」->「バックアップ」を使用して上書きされていないため、この時点で保存のバックアップを作成してください。
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=サポートされていないカードを削除する

View File

@@ -3631,3 +3631,5 @@ nlPreloadCustomDrafts=Se habilitado, os arquivos de rascunhos personalizados ser
lblRepairCost=Custo do reparo: {0} ?
lblRepair=Reparar
lblDataMigrationMsg=Migração de dados concluída!\nVerifique seu inventário e equipamentos.\nPor favor, faça um backup dos seus arquivos salvos neste momento, já que o arquivo salvo atual ainda não foi sobrescrito usando Dados -> Backup na Cena do Menu.
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=Remover cartão não suportado

View File

@@ -3533,3 +3533,5 @@ nlPreloadCustomDrafts=如果启用,自定义草稿文件将在启动时预加
lblRepairCost=维修费用:{0}
lblRepair=维修
lblDataMigrationMsg=数据迁移完成!\n请检查您的库存和设备。此时请备份您的保存内容因为尚未使用菜单场景中的数据->备份覆盖实际保存内容。
#AdventureDeckEditor.java
lblRemoveUnsupportedCard=移除不受支持的卡