Update Healer Man server

This commit is contained in:
phenom committed 2026-10-02 10:38:12 -04:00
1 parent 4c768fbec6
commit b16821e92e
330 files changed
+35406 -1760

No files matched your search

+88
View File
@@ -0,0 +1,88 @@
import { describe, expect, it } from "vitest";
import { ROM_ALL_ABILITIES } from "./romAbilityCatalog";
import {
ROM_DRUID_MAGE_INSPIRATION_DESCRIPTION,
ROM_DRUID_MAGE_INSPIRATION_PASSIVE_ID,
} from "./romDruidMageInspirationRuntime";
import {
ROM_MAGE_DRUID_GREEN_GUARDIAN_DESCRIPTION,
ROM_MAGE_DRUID_GREEN_GUARDIAN_SKILL_ID,
} from "./romMageDruidGreenGuardianRuntime";
describe("current CoA Druid/Mage Inspiration catalog entry", () => {
const passive = ROM_ALL_ABILITIES.find((ability) => ability.dbcSpellId === ROM_DRUID_MAGE_INSPIRATION_PASSIVE_ID
&& ability.classId === "rom-druid" && ability.secondaryClassId === "rom-mage");
it("updates the existing generated exact-pair passive without adding a skill row", () => {
expect(passive).toBeDefined();
expect(passive).toMatchObject({
classId: "rom-druid",
secondaryClassId: "rom-mage",
dbcSpellId: ROM_DRUID_MAGE_INSPIRATION_PASSIVE_ID,
name: "Inspiration",
unlockLevel: 30,
sourceUnlockLevel: 30,
passive: true,
romSkillGroup: "passive",
target: "self",
castTimeMs: 0,
cooldownMs: 0,
costs: [],
effects: [],
});
expect(passive?.id).toBe("rom-druid-rom-mage-elite-30");
expect(ROM_ALL_ABILITIES.filter((ability) => ability.dbcSpellId === ROM_DRUID_MAGE_INSPIRATION_PASSIVE_ID))
.toHaveLength(1);
});
it("uses current CoA spend-trigger values in both the passive and its rank tooltip", () => {
expect(passive?.description).toBe(ROM_DRUID_MAGE_INSPIRATION_DESCRIPTION);
expect(passive?.description).toContain("whenever you spend Nature's Power");
expect(passive?.description).toContain("Physical Attack Speed and Casting Speed by 2% per stack");
expect(passive?.description).toContain("up to 10 stacks for 10 seconds");
expect(passive?.description).toContain("cannot be proven identical to local Fireball 490204");
expect(passive?.description).not.toMatch(/chance.*Fireball|next spell.*1 second/i);
expect(passive?.ranks).toHaveLength(1);
expect(passive?.ranks?.[0]).toMatchObject({
spellId: ROM_DRUID_MAGE_INSPIRATION_PASSIVE_ID,
costs: [],
effects: [],
description: ROM_DRUID_MAGE_INSPIRATION_DESCRIPTION,
});
});
});
describe("current CoA Mage/Druid Green Guardian catalog entry", () => {
const skill = ROM_ALL_ABILITIES.find((ability) => ability.dbcSpellId === ROM_MAGE_DRUID_GREEN_GUARDIAN_SKILL_ID
&& ability.classId === "rom-mage" && ability.secondaryClassId === "rom-druid");
it("turns only the existing exact-pair row into the current level-25 instant self skill", () => {
expect(skill).toMatchObject({
id: "rom-mage-rom-druid-elite-30",
classId: "rom-mage",
secondaryClassId: "rom-druid",
dbcSpellId: ROM_MAGE_DRUID_GREEN_GUARDIAN_SKILL_ID,
unlockLevel: 25,
passive: false,
romSkillGroup: "elite",
target: "self",
castMode: "instant",
castTimeMs: 0,
cooldownMs: 0,
costs: [],
effects: [{ kind: "apply-aura" }],
});
expect(skill?.description).toBe(ROM_MAGE_DRUID_GREEN_GUARDIAN_DESCRIPTION);
expect(skill?.ranks?.[0]).toMatchObject({
level: 25,
spellId: ROM_MAGE_DRUID_GREEN_GUARDIAN_SKILL_ID,
castTimeMs: 0,
cooldownMs: 0,
costs: [],
description: ROM_MAGE_DRUID_GREEN_GUARDIAN_DESCRIPTION,
effects: [{ kind: "apply-aura" }],
});
expect(ROM_ALL_ABILITIES.filter((ability) => ability.dbcSpellId === ROM_MAGE_DRUID_GREEN_GUARDIAN_SKILL_ID))
.toHaveLength(1);
});
});