From fa646ea274feac41118dafb4f5eb6b3dffe17cec Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Thu, 21 Feb 2013 15:38:35 +0000 Subject: [PATCH] CardDb is more forgiving to incomplete card scripts --- src/main/java/forge/card/CardFace.java | 5 +++-- src/main/java/forge/card/CardRulesReader.java | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/forge/card/CardFace.java b/src/main/java/forge/card/CardFace.java index 28d33bc6bcd..353d342142b 100644 --- a/src/main/java/forge/card/CardFace.java +++ b/src/main/java/forge/card/CardFace.java @@ -75,8 +75,9 @@ final class CardFace implements ICardCharacteristics { this.iToughness = StringUtils.isNumeric(this.toughness) ? Integer.parseInt(this.toughness) : 0; } - public void calculateColor() { // Most scripts do not specify color explicitly - if ( null == oracleText ) { System.err.println(name + " has no Oracle text"); oracleText = ""; } + public void checkFieldsAndAssignMissingOnes() { // Most scripts do not specify color explicitly + if ( null == oracleText ) { System.err.println(name + " has no Oracle text. Assigned empty line."); oracleText = ""; } + if ( setsPrinted.isEmpty() ) { System.err.println(name + " was not assigned any set. Assigned CardEdition.UNKNOWN."); setsPrinted.put(CardEdition.UNKNOWN.getCode(), new CardInSet(CardRarity.Common, 1, null) ) ; } if ( manaCost == null && color == null ) System.err.println(name + " has neither ManaCost nor Color"); if ( color == null ) color = ColorSet.fromManaCost(manaCost); } diff --git a/src/main/java/forge/card/CardRulesReader.java b/src/main/java/forge/card/CardRulesReader.java index f3017823453..9c988e23f77 100644 --- a/src/main/java/forge/card/CardRulesReader.java +++ b/src/main/java/forge/card/CardRulesReader.java @@ -87,8 +87,8 @@ public class CardRulesReader { */ public final CardRules getCard() { CardAiHints cah = new CardAiHints(removedFromAIDecks, removedFromRandomDecks, hints, needs ); - faces[0].calculateColor(); - if ( null != faces[1] ) faces[1].calculateColor(); + faces[0].checkFieldsAndAssignMissingOnes(); + if ( null != faces[1] ) faces[1].checkFieldsAndAssignMissingOnes(); final CardRules result = new CardRules(faces, altMode, cah, originalScript); result.setDlUrls(pictureUrl); if ( StringUtils.isNotBlank(handLife))