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