From 80f56dfb4278a2346a6f7f1f61e2fd8edd69a43c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 31 Aug 2014 09:12:28 +0200 Subject: [PATCH] * TXT deck importer - Changes to recognize sideboard starting and split cards in txt files from MTGO. --- Mage/src/mage/cards/SplitCard.java | 2 +- .../cards/decks/importer/TxtDeckImporter.java | 15 +++++++++++++-- Utils/release/getting_implemented_cards.txt | 2 ++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/cards/SplitCard.java b/Mage/src/mage/cards/SplitCard.java index 5101b1451b9..af02f718383 100644 --- a/Mage/src/mage/cards/SplitCard.java +++ b/Mage/src/mage/cards/SplitCard.java @@ -105,7 +105,7 @@ public abstract class SplitCard extends CardImpl { @Override public Abilities getAbilities(){ - Abilities allAbilites = new AbilitiesImpl(); + Abilities allAbilites = new AbilitiesImpl<>(); for (Ability ability : super.getAbilities()) { if (ability instanceof SpellAbility && !((SpellAbility)ability).getSpellAbilityType().equals(SpellAbilityType.SPLIT)) { allAbilites.add(ability); diff --git a/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java b/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java index e78758efa24..20ea2d5b1d4 100644 --- a/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java +++ b/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java @@ -48,16 +48,26 @@ import mage.cards.repository.ExpansionRepository; public class TxtDeckImporter extends DeckImporter { public static final String[] SET_VALUES = new String[] { "lands", "creatures", "planeswalkers","other spells","sideboard cards" }; - public static final Set IGNORE_NAMES = new HashSet(Arrays.asList(SET_VALUES)); + public static final Set IGNORE_NAMES = new HashSet<>(Arrays.asList(SET_VALUES)); private boolean sideboard = false; + private int emptyLinesInARow = 0; @Override protected void readLine(String line, DeckCardLists deckList) { - if (line.length() == 0 || line.startsWith("//")) { + if (line.startsWith("//")) { return; } + if (line.length() == 0) { + emptyLinesInARow++; + if (emptyLinesInARow > 1) { + sideboard = true; + } + return; + } else { + emptyLinesInARow = 0; + } if (line.toLowerCase().startsWith("sideboard")) { sideboard = true; @@ -70,6 +80,7 @@ public class TxtDeckImporter extends DeckImporter { } String lineNum = line.substring(0, delim).trim(); String lineName = line.substring(delim).replace("’","\'").trim(); + lineName = lineName.replace("&","//"); if (IGNORE_NAMES.contains(lineName)) { return; } diff --git a/Utils/release/getting_implemented_cards.txt b/Utils/release/getting_implemented_cards.txt index 30f763709f0..fde15e7df20 100644 --- a/Utils/release/getting_implemented_cards.txt +++ b/Utils/release/getting_implemented_cards.txt @@ -49,6 +49,8 @@ since 1.3.0-2014-08-11 git log 709dc83ae6fd6778e5b52e5176a978f1c6fda3b7..HEAD --diff-filter=A --name-status | sed -ne "s/^A[^u]Mage.Sets\/src\/mage\/sets\///p" | sort > added_cards.txt since 1.3.0-2014-08-19 git log edd1563c12422f69c10bc76d310e0a84421ab4a2..HEAD --diff-filter=A --name-status | sed -ne "s/^A[^u]Mage.Sets\/src\/mage\/sets\///p" | sort > added_cards.txt +since 1.3.0-2014-08-30 +git log fbc2a7258face1e908f3f08da1c2fec4ec0f86fe..HEAD --diff-filter=A --name-status | sed -ne "s/^A[^u]Mage.Sets\/src\/mage\/sets\///p" | sort > added_cards.txt