Update Healer Man server

This commit is contained in:
phenom committed 2026-09-30 09:57:13 -04:00
1 parent 35dfdaed61
commit 4fb7a0b9c8
161 files changed
+24618 -529

No files matched your search

@@ -0,0 +1,34 @@
import { describe, expect, it } from "vitest";
import { applyTalentModifierValue, talentModifiersForRanks } from "./talentModifiers";
const CONVECTION_SPELLS = [
"Earth Shock",
"Flame Shock",
"Frost Shock",
"Lightning Bolt",
"Chain Lightning",
"Lava Burst",
"Earthquake",
"Wind Shear",
] as const;
describe("WoW Shaman Convection source scopes", () => {
it.each([1, 2, 3, 4, 5])("applies the generated rank %i reduction to every listed ability", (rank) => {
const modifiers = talentModifiersForRanks({ "talent-564": rank }, "shaman");
const convection = modifiers.filter((modifier) => modifier.sourceTalentId === "talent-564");
expect(convection).toHaveLength(CONVECTION_SPELLS.length);
for (const abilityName of CONVECTION_SPELLS) {
const tags = abilityName === "Frost Shock" ? ["frost"] : [];
expect(applyTalentModifierValue(100, convection, "resource-cost-percent", { abilityName, tags }), abilityName)
.toBe(100 - rank * 3);
}
expect(applyTalentModifierValue(100, convection, "resource-cost-percent", { abilityName: "Healing Wave" }))
.toBe(100);
});
it("does not create a Convection cost modifier without a trained rank", () => {
expect(talentModifiersForRanks({ "talent-564": 0 }, "shaman")
.filter((modifier) => modifier.sourceTalentId === "talent-564")).toEqual([]);
});
});