Choose Your Class

@if (isLoading) {
@for (i of [1, 2, 3, 4]; track i) { }
} @else { @for (characterClass of classes; track characterClass.index) { {{ characterClass.name }}

Select for details

} }
@if (selectedClass && !loadingDetail) {

{{ selectedClass.name }}

Hit Die

d{{ selectedClassDetail?.hit_die }}

Saving Throws

{{ getSavingThrowsText() }}

Proficiencies

{{ getProficienciesText() }}

@if (hasSpellcasting()) {

Spellcasting

Ability: {{ getSpellcastingAbility() }}

}
@if (hasStartingEquipment) {

Starting Equipment

You start with:
    @for (item of startingEquipment; track item.equipment.index) {
  • {{ item.quantity > 1 ? item.quantity + " × " : "" }}{{ item.equipment.name }}
  • }
} @if (proficiencyChoices.length > 0) {

Proficiency Choices

@for (choice of proficiencyChoices; track choice.id) { @if (!choice.isSubchoice) { } }
} @if (hasStartingEquipment) {

Starting Equipment

    @for (item of startingEquipment; track item) {
  • {{ item.quantity > 1 ? item.quantity + " × " : "" }}{{ item.equipment.name }}
  • }
} @if (hasChoicesForType(ChoiceType.Equipment)) {

Equipment Choices

@for (choice of getChoicesForType(ChoiceType.Equipment); track choice.id) { @if (!choice.isSubchoice) { } }
} {{ activeSubchoice?.desc }} @if (activeSubchoice?.isLoading) {

Loading options...

} @else {
Selected: {{ activeSubchoice!.selectedValues.length }}/{{ activeSubchoice?.choose }}
}
} @else if (loadingDetail) {
}
@if (allRequirementsMet) { All selections complete! } @else { Please select a class to continue }