JScratch
Loading...
Searching...
No Matches
DNDClass.java
Go to the documentation of this file.
1package com.burrbox.dndiablo;
2
3import java.util.Arrays;
4import java.util.Collections;
5import java.util.List;
6
7public class DNDClass {
8 public static final DNDClass ARTIFICER = DNDClassFactory.createClass("artificer");
9 public static final DNDClass BARBARIAN = DNDClassFactory.createClass("barbarian");
10 public static final DNDClass BARD = DNDClassFactory.createClass("bard");
11 public static final DNDClass CLERIC = DNDClassFactory.createClass("cleric");
12 public static final DNDClass DRUID = DNDClassFactory.createClass("druid");
13 public static final DNDClass FIGHTER = DNDClassFactory.createClass("fighter");
14 public static final DNDClass MONK = DNDClassFactory.createClass("monk");
15 public static final DNDClass PALADIN = DNDClassFactory.createClass("paladin");
16 public static final DNDClass RANGER = DNDClassFactory.createClass("ranger");
17 public static final DNDClass ROGUE = DNDClassFactory.createClass("rogue");
18 public static final DNDClass SORCERER = DNDClassFactory.createClass("sorcerer");
19 public static final DNDClass WARLOCK = DNDClassFactory.createClass("warlock");
20 public static final DNDClass WIZARD = DNDClassFactory.createClass("wizard");
21
22 public static final List<DNDClass> ALL_CLASSES = Collections.unmodifiableList(
23 Arrays.asList(
24 ARTIFICER,
25 BARBARIAN,
26 BARD,
27 CLERIC,
28 DRUID,
29 FIGHTER,
30 MONK,
31 PALADIN,
32 RANGER,
33 ROGUE,
34 SORCERER,
35 WARLOCK,
36 WIZARD
37 )
38 );
39
40 public String className; // e.g., "Fighter", "Wizard"
41 public int hitDie; // e.g., 10 for Fighter, 6 for Wizard
42
43 // --- Primary Stats ---
44 // Used to recommend where players put their highest scores
45 public List<String> primaryAbilities;
46
47 // --- Proficiencies ---
48 // Which saving throws get the proficiency bonus
49 public List<String> savingThrowProficiencies;
50
51 // Armor (Light, Medium, Heavy, Shields) and Weapons (Simple, Martial)
52 public List<String> armorProficiencies;
53 public List<String> weaponProficiencies;
54
55 // --- Spellcasting (if any) ---
56 public boolean isSpellcaster; //
57 public String spellcastingAbility; // e.g., "Intelligence" for Wizards
58
59 // --- Progression ---
60 // A list of features unlocked at specific levels
61 public List<ClassFeature> features;
62}
static DNDClass createClass(String name)
List< String > primaryAbilities
Definition DNDClass.java:45
static final DNDClass RANGER
Definition DNDClass.java:16
static final DNDClass BARBARIAN
Definition DNDClass.java:9
static final List< DNDClass > ALL_CLASSES
Definition DNDClass.java:22
static final DNDClass ROGUE
Definition DNDClass.java:17
List< String > armorProficiencies
Definition DNDClass.java:52
List< String > savingThrowProficiencies
Definition DNDClass.java:49
static final DNDClass ARTIFICER
Definition DNDClass.java:8
static final DNDClass FIGHTER
Definition DNDClass.java:13
static final DNDClass CLERIC
Definition DNDClass.java:11
static final DNDClass BARD
Definition DNDClass.java:10
static final DNDClass DRUID
Definition DNDClass.java:12
static final DNDClass SORCERER
Definition DNDClass.java:18
static final DNDClass MONK
Definition DNDClass.java:14
static final DNDClass PALADIN
Definition DNDClass.java:15
static final DNDClass WARLOCK
Definition DNDClass.java:19
static final DNDClass WIZARD
Definition DNDClass.java:20
List< ClassFeature > features
Definition DNDClass.java:61
List< String > weaponProficiencies
Definition DNDClass.java:53