| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package org.leumasjaffe.charsheet.model;
- import java.util.Optional;
- import org.leumasjaffe.charsheet.model.magic.DDSpellbook;
- import lombok.AccessLevel;
- import lombok.Data;
- import lombok.Getter;
- import lombok.experimental.Delegate;
- import lombok.experimental.FieldDefaults;
- import lombok.experimental.NonFinal;
- @Data
- @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
- public class DDCharacterClass {
- private static final class Reference {
- DDClass base;
-
- public boolean equals(Object o) {
- return this == o || base.equals(o);
- }
- public String getName() {
- return base.getName();
- }
- public int hashCode() {
- return base.hashCode();
- }
- public String toString() {
- return base.toString();
- }
- @SuppressWarnings("unused")
- public Reference(final String name) {
- this.base = DDClass.getFromResource(name);
- }
- }
- @NonFinal int level;
- // @NonNull List<Integer> healthRolls;
- @Delegate @Getter(AccessLevel.NONE) Reference name;
-
- Optional<DDSpellbook> spellBook;
-
- public String toString() {
- return getName() + " " + getLevel();
- }
-
- public int getSkillPoints() {
- return name.base.getSkillPoints();
- }
- public int getBab() {
- return name.base.getBab().getBonus(level);
- }
-
- public int getFort() {
- return name.base.getFort().getBonus(level);
- }
-
- public int getRef() {
- return name.base.getRef().getBonus(level);
- }
-
- public int getWill() {
- return name.base.getWill().getBonus(level);
- }
-
- public boolean isClassSkill(final String skill) {
- return name.base.isClassSkill(skill);
- }
- }
|