new help section explaining classes and their mechanics

This commit is contained in:
Warren H
2026-07-18 12:05:34 -04:00
parent 638aef22b2
commit 40aa23be46
32 changed files with 1423 additions and 134 deletions
+24
View File
@@ -126,6 +126,8 @@ export interface FrontendState {
selectedInfusionId: string;
selectedPassiveAbilityId: AbilitySlotId;
selectedPassiveInfusionId: RunBuffId;
guideClassId: HealerClassId;
guideAbilityId: AbilitySlotId;
profileCollectionView: ProfileCollectionView;
selectedProfileGroupId: BossGroupId;
selectedProfileStatId: ProfileStatId;
@@ -158,6 +160,9 @@ export interface FrontendState {
selectInfusion: (infusionId: string) => void;
selectPassiveAbility: (abilityId: AbilitySlotId) => void;
selectPassiveInfusion: (passiveId: RunBuffId) => void;
openClassHelp: () => void;
selectGuideClass: (classId: HealerClassId) => void;
selectGuideAbility: (abilityId: AbilitySlotId) => void;
selectProfileCollectionView: (view: ProfileCollectionView) => void;
selectProfileGroup: (groupId: BossGroupId) => void;
selectProfileStat: (statId: ProfileStatId) => void;
@@ -207,6 +212,8 @@ export const useFrontendStore = create<FrontendState>((set, get) => ({
selectedInfusionId: infusionsForOwner("priest")[0].id,
selectedPassiveAbilityId: "ability1",
selectedPassiveInfusionId: "mend-echo",
guideClassId: "priest",
guideAbilityId: "ability1",
profileCollectionView: "stats",
selectedProfileGroupId: "charge",
selectedProfileStatId: "roguelike",
@@ -373,6 +380,17 @@ export const useFrontendStore = create<FrontendState>((set, get) => ({
selectedPassiveInfusionId,
notice: "",
}),
openClassHelp: () => {
const hunter = activeSave(get().slots, get().activeSlotId);
set({
screen: "class-help",
guideClassId: hunter?.activeClassId ?? get().guideClassId,
guideAbilityId: "ability1",
notice: "",
});
},
selectGuideClass: (guideClassId) => set({ guideClassId, guideAbilityId: "ability1" }),
selectGuideAbility: (guideAbilityId) => set({ guideAbilityId }),
selectProfileCollectionView: (profileCollectionView) => set({ profileCollectionView }),
selectProfileGroup: (selectedProfileGroupId) => set({ selectedProfileGroupId }),
selectProfileStat: (selectedProfileStatId) => set({ selectedProfileStatId }),
@@ -729,6 +747,9 @@ export type FrontendSnapshot = Omit<FrontendState,
| "selectInfusion"
| "selectPassiveAbility"
| "selectPassiveInfusion"
| "openClassHelp"
| "selectGuideClass"
| "selectGuideAbility"
| "selectProfileCollectionView"
| "selectProfileGroup"
| "selectProfileStat"
@@ -783,6 +804,9 @@ export function getFrontendSnapshot(): FrontendSnapshot {
selectInfusion: _selectInfusion,
selectPassiveAbility: _selectPassiveAbility,
selectPassiveInfusion: _selectPassiveInfusion,
openClassHelp: _openClassHelp,
selectGuideClass: _selectGuideClass,
selectGuideAbility: _selectGuideAbility,
selectProfileCollectionView: _selectProfileCollectionView,
selectProfileGroup: _selectProfileGroup,
selectProfileStat: _selectProfileStat,