forked from phenom/healer-man
34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import generated from "./romPlayerCatalog.generated.json";
|
|
import {
|
|
ROM_ROGUE_NUMBING_DAGGER_CREATURE_COMPONENT_ID,
|
|
ROM_ROGUE_NUMBING_DAGGER_PLAYER_COMPONENT_ID,
|
|
ROM_ROGUE_NUMBING_DAGGER_SKILL_ID,
|
|
romRogueNumbingDaggerStatusForTarget,
|
|
} from "./romRogueNumbingDaggerRuntime";
|
|
|
|
describe("RoM Rogue Numbing Dagger duration", () => {
|
|
it("keeps RuneWaker's separate creature and player control durations", () => {
|
|
const skill = generated.skills.find((row) => row.sourceSkillId === ROM_ROGUE_NUMBING_DAGGER_SKILL_ID
|
|
&& row.classId === "rom-rogue" && row.secondaryClassId === undefined);
|
|
expect(skill?.source?.components).toEqual(expect.arrayContaining([
|
|
expect.objectContaining({ id: ROM_ROGUE_NUMBING_DAGGER_CREATURE_COMPONENT_ID, effectTime: 10 }),
|
|
expect.objectContaining({ id: ROM_ROGUE_NUMBING_DAGGER_PLAYER_COMPONENT_ID, effectTime: 3 }),
|
|
]));
|
|
expect(romRogueNumbingDaggerStatusForTarget("npc")).toEqual({
|
|
kind: "status",
|
|
status: "sleep",
|
|
durationMs: 10_000,
|
|
maxTargets: 1,
|
|
breakOnDamage: true,
|
|
});
|
|
expect(romRogueNumbingDaggerStatusForTarget("player")).toEqual({
|
|
kind: "status",
|
|
status: "sleep",
|
|
durationMs: 3_000,
|
|
maxTargets: 1,
|
|
breakOnDamage: true,
|
|
});
|
|
});
|
|
});
|