feat: add fabricator disciplines for recipe unlocks
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
- Add unlocksRecipes field to DisciplinePerk type - Add study-fabricator-recipes discipline (earth/metal/sand/crystal recipes) - Add study-wizard-branch discipline (wizard equipment recipes) - Add study-physical-branch discipline (physical combat equipment recipes) - Collect unlocksRecipes during discipline tick processing - Pass recipe unlocks to crafting store via gameStore - Add unlockRecipes action to craftingStore with persistence - Filter fabricator recipes by unlock status in FabricatorSubTab UI
This commit is contained in:
@@ -136,6 +136,7 @@ export function FabricatorSubTab() {
|
||||
const [branchFilter, setBranchFilter] = useState<BranchFilter>('all');
|
||||
|
||||
const lootInventory = useCraftingStore((s) => s.lootInventory);
|
||||
const unlockedRecipes = useCraftingStore((s) => s.unlockedRecipes);
|
||||
const equipmentCraftingProgress = useCraftingStore((s) => s.equipmentCraftingProgress);
|
||||
const rawMana = useManaStore((s) => s.rawMana);
|
||||
const elements = useManaStore((s) => s.elements);
|
||||
@@ -156,8 +157,8 @@ export function FabricatorSubTab() {
|
||||
} else if (branchFilter === 'physical') {
|
||||
recipes = recipes.filter(r => isPhysicalBranch(r));
|
||||
}
|
||||
return recipes.filter(r => r.manaType === selectedManaType);
|
||||
}, [selectedManaType, branchFilter]);
|
||||
return recipes.filter(r => r.manaType === selectedManaType && unlockedRecipes.includes(r.id));
|
||||
}, [selectedManaType, branchFilter, unlockedRecipes]);
|
||||
|
||||
const isCrafting = equipmentCraftingProgress !== null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user