Release v0.1.6 2026-07-12

This commit is contained in:
Warren H
2026-07-12 23:20:15 -04:00
parent 35553c18dd
commit 122f159b94
55 changed files with 2229 additions and 587 deletions
+14
View File
@@ -3,6 +3,7 @@ import { createEncounterGearModifiers } from "./gearEffects";
import {
GEAR_RECIPES,
canAffordGearUpgrade,
canUpgradeGearSlot,
createDefaultGearProgress,
gearUpgradeCosts,
upgradeGearSlot,
@@ -46,6 +47,19 @@ describe("IWT2-style gear progression", () => {
expect(progress.brann.slots.weapon.level).toBe(0);
});
it("reports only affordable non-max gear slots as upgradeable", () => {
const progress = createDefaultGearProgress();
const recipe = GEAR_RECIPES.priest.weapon;
const drop = groupDrop(recipe.primaryGroupId, "initiate");
const inventory: MaterialStack[] = [{ ...drop, quantity: 2 }];
expect(canUpgradeGearSlot(progress, inventory, "priest", "weapon")).toBe(true);
expect(canUpgradeGearSlot(progress, [], "priest", "weapon")).toBe(false);
progress.priest.slots.weapon.level = 10;
expect(canUpgradeGearSlot(progress, inventory, "priest", "weapon")).toBe(false);
});
it("projects rank bonuses without mutating saved progress", () => {
const progress = createDefaultGearProgress();
progress.priest.slots.weapon.level = 10;