Update Healer Man server
This commit is contained in:
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 { abilitiesForCharacter, type AbilityDefinition } from "./abilityCatalog";
|
||||
|
||||
function ability(
|
||||
primary: "rom-priest",
|
||||
secondary: "rom-scout" | "rom-rogue" | null,
|
||||
sourceId: number,
|
||||
): AbilityDefinition {
|
||||
const match = abilitiesForCharacter(primary, secondary).find((candidate) => candidate.dbcSpellId === sourceId);
|
||||
if (!match) throw new Error(`Missing Priest ability ${sourceId}`);
|
||||
return match;
|
||||
}
|
||||
|
||||
describe("RoM Priest party buff scopes", () => {
|
||||
it.each([
|
||||
[null, 490298, "Blessed Spring Water"],
|
||||
["rom-scout", 491323, "Embrace of the Water Spirit"],
|
||||
["rom-rogue", 492932, "Shadow Fury"],
|
||||
] as const)("applies %s to its source-described party", (secondary, sourceId, name) => {
|
||||
const buff = ability("rom-priest", secondary, sourceId);
|
||||
expect(buff.name).toBe(name);
|
||||
|
||||
const auras = buff.effects.filter((effect) => effect.kind === "apply-aura");
|
||||
const buffs = auras.filter((effect) => effect.kind === "apply-aura" && (effect.aura.modifiers?.length ?? 0) > 0);
|
||||
expect(buffs.length).toBeGreaterThan(0);
|
||||
expect(buffs.every((effect) => effect.kind === "apply-aura" && effect.scope === "party")).toBe(true);
|
||||
expect(buffs.every((effect) => effect.kind === "apply-aura" && effect.recipient === "caster")).toBe(true);
|
||||
expect(buffs.every((effect) => effect.kind === "apply-aura" && effect.aura.durationMs === 900_000)).toBe(true);
|
||||
// The Scout pairing also has an independent periodic trigger state; it remains caster-only.
|
||||
expect(auras.filter((effect) => effect.kind === "apply-aura" && effect.aura.procs?.length).every(
|
||||
(effect) => effect.kind === "apply-aura" && effect.scope !== "party",
|
||||
)).toBe(true);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user