diff --git a/src/main/java/forge/card/CardColor.java b/src/main/java/forge/card/CardColor.java index 9e8df81a62a..70d6d99cd82 100644 --- a/src/main/java/forge/card/CardColor.java +++ b/src/main/java/forge/card/CardColor.java @@ -1,5 +1,7 @@ package forge.card; +import forge.Constant; + /** *

CardColor class.

* @@ -28,7 +30,7 @@ public final class CardColor implements Comparable { public int countColors() { byte v = myColor; int c = 0; for (; v != 0; c++) { v &= v - 1; } return c; } // bit count // order has to be: W U B R G multi colorless - same as cards numbering through a set - public int getOrderWeight() { return myColor == 0 ? 0x400 : (countColors() == 1 ? myColor : 0x200); } + public int getOrderWeight() { return myColor == 0 ? 0x400 : (countColors() == 1 ? myColor : 0x200); } public boolean isColorless() { return myColor == 0; } public boolean isMulticolor() { return countColors() > 1; } @@ -36,9 +38,7 @@ public final class CardColor implements Comparable { public boolean isEqual(final byte color) { return color == myColor; } @Override - public int compareTo(final CardColor other) { - return orderWeight - other.orderWeight; - } + public int compareTo(final CardColor other) { return orderWeight - other.orderWeight; } // Presets public boolean hasWhite() { return hasAnyColor(WHITE); } @@ -56,12 +56,12 @@ public final class CardColor implements Comparable { @Override public String toString() { switch (myColor) { - case 0: return "colorless"; - case WHITE: return "white"; // Constant.Color.White; - case BLUE: return "blue"; // Constant.Color.Blue; - case BLACK: return "black"; // Constant.Color.Black; - case RED: return "red"; // Constant.Color.Red; - case GREEN: return "green"; // Constant.Color.Green; + case 0: return Constant.Color.Colorless; + case WHITE: return Constant.Color.White; + case BLUE: return Constant.Color.Blue; + case BLACK: return Constant.Color.Black; + case RED: return Constant.Color.Red; + case GREEN: return Constant.Color.Green; default: return "multi"; } } diff --git a/src/main/java/forge/quest/data/QuestDataIO.java b/src/main/java/forge/quest/data/QuestDataIO.java index cc41b4e1666..717b790f8d6 100644 --- a/src/main/java/forge/quest/data/QuestDataIO.java +++ b/src/main/java/forge/quest/data/QuestDataIO.java @@ -125,9 +125,9 @@ public class QuestDataIO { break; case 1: - // card names are stored as plain text - need to read them from there - break; + default: + break; } //mark the QD as the latest version @@ -223,10 +223,16 @@ public class QuestDataIO { CardPool result = new CardPool(); while (reader.hasMoreChildren()) { reader.moveDown(); - CardPrinted cp = readCardPrinted(reader); - String sCnt = reader.getAttribute("n"); - int cnt = StringUtils.isNumeric(sCnt) ? Integer.parseInt(sCnt) : 1; - result.add(cp, cnt); + String nodename = reader.getNodeName(); + if("string".equals(nodename)) { + CardPrinted cp = CardDb.instance().getCard(reader.getValue()); + result.add(cp); + } else { // new format + CardPrinted cp = readCardPrinted(reader); + String sCnt = reader.getAttribute("n"); + int cnt = StringUtils.isNumeric(sCnt) ? Integer.parseInt(sCnt) : 1; + result.add(cp, cnt); + } reader.moveUp(); } return result; diff --git a/src/main/java/forge/quest/data/pet/QuestPetAbstract.java b/src/main/java/forge/quest/data/pet/QuestPetAbstract.java index e9205c449ec..4df04ac2604 100644 --- a/src/main/java/forge/quest/data/pet/QuestPetAbstract.java +++ b/src/main/java/forge/quest/data/pet/QuestPetAbstract.java @@ -14,7 +14,8 @@ import forge.quest.data.bazaar.QuestStallPurchasable; public abstract class QuestPetAbstract implements QuestStallPurchasable { int level; private int maxLevel; - private String name; + // transient here ? + private String name; private String description; /**