Release v0.1.6 2026-07-12
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user