|
|
@@ -65,25 +65,17 @@ public class SpellPanel extends JPanel {
|
|
|
}
|
|
|
|
|
|
private static int calcHighestSpellLevel(final DDCharacterClass cclass) {
|
|
|
- int level = 0;
|
|
|
- final DDSpellList spellList = DDClass.getFromResource(cclass.getName()).getSpells().get();
|
|
|
- final int cLvl = cclass.getLevel();
|
|
|
- if (spellList.getKnown().isEmpty()) {
|
|
|
- List<Integer> list = spellList.getPerDay().get(cLvl-1);
|
|
|
- level = list.size() - 1;
|
|
|
- if (list.get(list.size()-1) == 0) {
|
|
|
- --level;
|
|
|
- }
|
|
|
- } else {
|
|
|
- level = spellList.getKnown().get(cLvl-1).size()-1;
|
|
|
- }
|
|
|
- return level;
|
|
|
+ // TODO: Bonus levels to spellsKnown/spellsPerDay?
|
|
|
+ final List<Integer> list = cclass.getProto().getSpells().get().getPerDay().get(cclass.getLevel()-1);
|
|
|
+ final int level = list.size() - 1;
|
|
|
+ return list.get(level) == 0 ? level : level + 1;
|
|
|
}
|
|
|
|
|
|
private void generateSpellTree(final Function<Integer, JPanel> getPanel, final JScrollPane preparedPane) {
|
|
|
JPanel root = new JPanel();
|
|
|
root.setLayout(new VerticalLayout());
|
|
|
|
|
|
+ // TODO some classes don't get 0-th level spells
|
|
|
for (int i = 0; i < highestSpellLevel; ++i) {
|
|
|
root.add(getPanel.apply(i));
|
|
|
}
|