Update Healer Man server
This commit is contained in:
1 parent
4c768fbec6
commit
b16821e92e
330 files changed
+35406
-1760
No files matched your search
@@ -0,0 +1,61 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
ROM_WARLOCK_MAGE_SOUL_BRAND,
|
||||
romWarlockMageSoulBrandEffects,
|
||||
type RomWarlockMageSoulBrandBuild,
|
||||
} from "./romWarlockMageSoulBrand";
|
||||
|
||||
const build: RomWarlockMageSoulBrandBuild = {
|
||||
classId: "rom-warlock",
|
||||
secondaryClassId: "rom-mage",
|
||||
learnedPassiveSpellIds: [498705],
|
||||
};
|
||||
|
||||
describe("Warlock/Mage Soul Brand CoA helper", () => {
|
||||
it("adds a four-stack +2% elemental damage-taken debuff and 1 Psi on Fire damage", () => {
|
||||
expect(romWarlockMageSoulBrandEffects(build, { school: "fire", damageLanded: true })).toEqual([
|
||||
expect.objectContaining({
|
||||
kind: "apply-aura",
|
||||
recipient: "ability-target",
|
||||
aura: expect.objectContaining({
|
||||
id: "rom-warlock-mage-soul-brand-498705",
|
||||
disposition: "debuff",
|
||||
durationMs: 20_000,
|
||||
maxStacks: 4,
|
||||
stackBehavior: "add",
|
||||
modifiers: expect.arrayContaining([
|
||||
...ROM_WARLOCK_MAGE_SOUL_BRAND.elementalDamageSchools.map((school) => expect.objectContaining({
|
||||
kind: "damage",
|
||||
direction: "taken",
|
||||
school,
|
||||
operation: "percent",
|
||||
value: 0.02,
|
||||
perStack: true,
|
||||
})),
|
||||
]),
|
||||
}),
|
||||
}),
|
||||
{ kind: "resource", resource: "psi", amount: 1 },
|
||||
]);
|
||||
});
|
||||
|
||||
it("accepts landed Fire DoT pulses and rejects misses or other schools", () => {
|
||||
expect(romWarlockMageSoulBrandEffects(build, {
|
||||
school: "fire", damageLanded: true, periodic: true,
|
||||
})).not.toBeNull();
|
||||
expect(romWarlockMageSoulBrandEffects(build, { school: "fire", damageLanded: false })).toBeNull();
|
||||
expect(romWarlockMageSoulBrandEffects(build, { school: "shadow", damageLanded: true })).toBeNull();
|
||||
});
|
||||
|
||||
it("requires the exact Warlock/Mage pair and learned passive", () => {
|
||||
expect(romWarlockMageSoulBrandEffects({ ...build, secondaryClassId: "rom-priest" }, {
|
||||
school: "fire", damageLanded: true,
|
||||
})).toBeNull();
|
||||
expect(romWarlockMageSoulBrandEffects({ ...build, classId: "rom-mage" }, {
|
||||
school: "fire", damageLanded: true,
|
||||
})).toBeNull();
|
||||
expect(romWarlockMageSoulBrandEffects({ ...build, learnedPassiveSpellIds: [] }, {
|
||||
school: "fire", damageLanded: true,
|
||||
})).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user