|
|
@@ -220,7 +220,7 @@ class SpellInfoPanel extends JPanel {
|
|
|
gbc_lblTarget.gridy = 4;
|
|
|
panel.add(lblTarget, gbc_lblTarget);
|
|
|
|
|
|
- JTextField target = new JTextField(asString(spell.getTarget()));
|
|
|
+ JTextField target = new JTextField(asString(spell.getTarget().getResolved(classLevel.value())));
|
|
|
target.setEditable(false);
|
|
|
target.setColumns(10);
|
|
|
GridBagConstraints gbc_target = new GridBagConstraints();
|
|
|
@@ -239,9 +239,8 @@ class SpellInfoPanel extends JPanel {
|
|
|
gbc_lblEffect.gridy = 4;
|
|
|
panel.add(lblEffect, gbc_lblEffect);
|
|
|
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
JTextField effect = new JTextField(asString(spell.getEffect(),
|
|
|
- e -> e.getResolved(classLevel.value(), (Map<String, Integer>) props.getOrDefault("effect", Collections.emptyMap()))));
|
|
|
+ e -> e.getResolved(classLevel.value(), getSpellBonus("effect", props))));
|
|
|
effect.setToolTipText(asString(spell.getEffect()));
|
|
|
effect.setEditable(false);
|
|
|
effect.setColumns(10);
|
|
|
@@ -345,6 +344,11 @@ class SpellInfoPanel extends JPanel {
|
|
|
description.setLineWrap(true);
|
|
|
}
|
|
|
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ private Map<String, Integer> getSpellBonus(String key, Map<String, Object> props) {
|
|
|
+ return (Map<String, Integer>) props.getOrDefault(key, Collections.emptyMap());
|
|
|
+ }
|
|
|
+
|
|
|
private <T> String asString(Optional<T> obj, Function<? super T, String> ts) {
|
|
|
return (!obj.isPresent()) ? "" : ts.apply(obj.get());
|
|
|
}
|