feat: practicing disciplines set currentAction to block meditation/crafting
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
This commit is contained in:
@@ -21,6 +21,7 @@ import { enchanterSpecialDisciplines } from '../data/disciplines/enchanter-speci
|
||||
import { fabricatorDisciplines } from '../data/disciplines/fabricator';
|
||||
import { invokerDisciplines } from '../data/disciplines/invoker';
|
||||
import { MAX_CONCURRENT_DISCIPLINES } from '../types/disciplines';
|
||||
import { useCombatStore } from './combatStore';
|
||||
|
||||
const ALL_DISCIPLINES = [
|
||||
...baseDisciplines,
|
||||
@@ -92,6 +93,8 @@ export const useDisciplineStore = create<DisciplineStore>()(
|
||||
if (!prereqCheck.canProceed) return s;
|
||||
|
||||
const discState = existing || { id, xp: 0, paused: false };
|
||||
// Set currentAction to 'practicing' (only overrides 'meditate')
|
||||
useCombatStore.getState().startPracticing();
|
||||
return {
|
||||
disciplines: { ...s.disciplines, [id]: { ...discState, paused: false } },
|
||||
activeIds: [...s.activeIds, id],
|
||||
@@ -100,12 +103,19 @@ export const useDisciplineStore = create<DisciplineStore>()(
|
||||
},
|
||||
|
||||
deactivate(id) {
|
||||
set((s) => ({
|
||||
activeIds: s.activeIds.filter((aid) => aid !== id),
|
||||
disciplines: s.disciplines[id]
|
||||
? { ...s.disciplines, [id]: { ...s.disciplines[id], paused: true } }
|
||||
: s.disciplines,
|
||||
}));
|
||||
set((s) => {
|
||||
const newActiveIds = s.activeIds.filter((aid) => aid !== id);
|
||||
// If no more active disciplines, restore currentAction to 'meditate'
|
||||
if (newActiveIds.length === 0) {
|
||||
useCombatStore.getState().stopPracticing();
|
||||
}
|
||||
return {
|
||||
activeIds: newActiveIds,
|
||||
disciplines: s.disciplines[id]
|
||||
? { ...s.disciplines, [id]: { ...s.disciplines[id], paused: true } }
|
||||
: s.disciplines,
|
||||
};
|
||||
});
|
||||
},
|
||||
|
||||
processTick(mana) {
|
||||
|
||||
Reference in New Issue
Block a user