Files
healer-man/src/game/romRogueNumbingDaggerRuntime.test.ts
T
2026-09-30 09:57:13 -04:00

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,
});
});
});