ClassFormDefinition

public final class ClassFormDefinition extends Record

Immutable class form. parentId defines progression prerequisites; a non-null rootKit starts a new combat kit rather than inheriting the parent's mechanics.

Constructors

Link copied to clipboard
public void ClassFormDefinition(String id, String displayName, ClassBand band, String parentId, FoundationSkillPair foundationSkills, RootClassKit rootKit, AbilityDefinition signature, AbilityDefinition utility, PassiveDefinition passive, List<SkillType> weaponAffinities)

Functions

Link copied to clipboard
public ClassFormDefinition afterStarter(String starterId)
A resource-owning root can branch from a starter without inheriting its combat kit.
Link copied to clipboard
public int effectiveProgressionCap(ToIntFunction<SkillType> levelProvider)
The effective level this form can store, including its branching-band ceiling.
Link copied to clipboard
public int effectiveSkillCap(ToIntFunction<SkillType> levelProvider)
The uncapped effective-level ceiling imposed by this form's own two foundation skills.
Link copied to clipboard
public int localProgressionCap(ToIntFunction<SkillType> levelProvider)
Returns zero while locked, otherwise the number of local levels this form may earn.
Link copied to clipboard
public boolean meetsFoundationRequirement(ToIntFunction<SkillType> levelProvider)
Link copied to clipboard
public Optional<String> optionalParentId()
Link copied to clipboard
public Optional<RootClassKit> optionalRootKit()
Link copied to clipboard
Link copied to clipboard
public static ClassFormDefinition root(String id, String displayName, FoundationSkillPair foundationSkills, RootClassKit rootKit, AbilityDefinition signature, AbilityDefinition utility, PassiveDefinition passive)
Link copied to clipboard
public static ClassFormDefinition specialization(String id, String displayName, ClassBand band, String parentId, FoundationSkillPair foundationSkills, AbilityDefinition signature, AbilityDefinition utility, PassiveDefinition passive)
Link copied to clipboard
Explicit weapon bonuses may differ from the skills used to level this form.

Inherited functions

Link copied to clipboard
public abstract boolean equals(Object p)
Link copied to clipboard
public abstract int hashCode()
Link copied to clipboard
public abstract String toString()