protected List<List<String>> loadRecipes() { String filename = parametersFile(); List<List<String>> recipes = (List<List<String>>) Resources.getResource("PARSED_RECIPE: " + filename); if (recipes == null) { StringBuffer str = new CMFile(Resources.buildResourcePath("skills") + filename, null, true).text(); recipes = loadList(str); if (recipes.size() == 0) Log.errOut("LeatherWorking", "Recipes not found!"); else { List<List<String>> pleaseAdd = new Vector(); for (int r = 0; r < recipes.size(); r++) { List<String> V = recipes.get(r); if (V.size() > 0) { String name = (String) V.get(RCP_FINALNAME); int baseLevel = CMath.s_int((String) V.get(RCP_LEVEL)) + 2; List<String> V1 = new XVector<String>(V); V1.set(RCP_FINALNAME, "Cuirbouli " + name); V1.set(RCP_LEVEL, "" + (baseLevel + 37)); pleaseAdd.add(V1); V1 = new XVector<String>(V); V1.set(RCP_FINALNAME, "Reinforced " + name); V1.set(RCP_LEVEL, "" + (baseLevel + 45)); pleaseAdd.add(V1); V1 = new XVector<String>(V); V1.set(RCP_FINALNAME, "Masterwork " + name); V1.set(RCP_LEVEL, "" + (baseLevel + 54)); pleaseAdd.add(V1); V1 = new XVector<String>(V); V1.set(RCP_FINALNAME, "Laminar " + name); V1.set(RCP_LEVEL, "" + (baseLevel + 63)); pleaseAdd.add(V1); V1 = new XVector<String>(V); V1.set(RCP_FINALNAME, "Battlemoulded " + name); V1.set(RCP_LEVEL, "" + (baseLevel + 72)); pleaseAdd.add(V1); V.set(RCP_FINALNAME, "Designer " + name); V.set(RCP_LEVEL, "" + (baseLevel + 30)); } } for (int i = 0; i < pleaseAdd.size(); i++) recipes.add(pleaseAdd.get(i)); } Resources.submitResource("PARSED_RECIPE: " + filename, recipes); } return recipes; }