|
|
@@ -3,6 +3,7 @@ package org.leumasjaffe.charsheet.model.features.impl;
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacterClass;
|
|
|
import org.leumasjaffe.charsheet.model.features.DDFeaturePredicate;
|
|
|
import org.leumasjaffe.charsheet.model.features.DDProperty;
|
|
|
+import org.leumasjaffe.charsheet.model.features.DDPropertyChooser;
|
|
|
import org.leumasjaffe.charsheet.model.features.GroupedBonus;
|
|
|
import org.leumasjaffe.charsheet.model.magic.DDSpell;
|
|
|
import org.leumasjaffe.collections.Tree;
|
|
|
@@ -12,7 +13,7 @@ import lombok.EqualsAndHashCode;
|
|
|
import lombok.Getter;
|
|
|
|
|
|
@AllArgsConstructor @EqualsAndHashCode
|
|
|
-public class PerSpellLevel implements DDProperty {
|
|
|
+public class PerSpellLevel implements DDProperty, DDPropertyChooser {
|
|
|
@Getter String name, description;
|
|
|
DDFeaturePredicate applies;
|
|
|
Group group;
|
|
|
@@ -38,4 +39,9 @@ public class PerSpellLevel implements DDProperty {
|
|
|
props.get("effect").putIfAbsent(new GroupedBonus());
|
|
|
props.get("effect").get().accumulate(group, value * level);
|
|
|
}
|
|
|
+
|
|
|
+ @Override public String getHeader() { return getName(); }
|
|
|
+ @Override public DDProperty get(int selectedIndex) {
|
|
|
+ return new PerSpellLevel(name, description, applies, group, type, value);
|
|
|
+ }
|
|
|
}
|