Release Healer Man 0.1.5

This commit is contained in:
phenom committed 2026-08-18 16:22:19 -04:00
1 parent f4c9cf356c
commit 55cfd43d66
62 files changed
+3030 -153

No files matched your search

+27
View File
@@ -10,6 +10,7 @@ import {
manastormCheckpointForLevel,
manastormModeForCharacterLevel,
manastormExperienceReward,
manastormAffixes,
manastormScaling,
setManastormCatalog,
shuffleManastormEncounterIds,
@@ -155,6 +156,32 @@ describe("Manastorm rules", () => {
.toBe(fullGroup.encounter.id);
});
it("does not restore fallback content when a published Ready pool is empty", () => {
const emptyPublishedCatalog: ManastormCatalogLike = { stages: [], fallbackPolicy: "none" };
expect(() => drawManastormStage(1, 1, [], null, () => 0, emptyPublishedCatalog))
.toThrow("no unlocked encounter");
});
it("uses the standard pool at milestone levels when forced milestones are disabled", () => {
const catalog: ManastormCatalogLike = {
stages: [
stage("standard", { unlockLevel: 1 }),
stage("milestone", { unlockLevel: 5, stageKind: "milestone", milestoneLevel: 5 }),
],
runtimeOptions: { milestoneEncountersEnabled: false },
};
expect(drawManastormStage(5, 1, [], null, () => 0, catalog).encounter.id).toBe("standard");
});
it("disables both explicit and modifier-derived affixes", () => {
const catalog: ManastormCatalogLike = {
affixes: [{ id: "explicit", name: "Explicit", description: "Fixture", unlockLevel: 1 }],
modifiers: [{ id: "fallback", modeId: 0, level: 1, rawFlag: 7, tuning: [] }],
runtimeOptions: { affixesEnabled: false },
};
expect(manastormAffixes(1, catalog, 0)).toEqual([]);
});
it("keeps leveling and end-game encounter pools separate by character state", () => {
const catalog: ManastormCatalogLike = {
id: "split-mode-fixture",