Release Healer Man 0.1.54
This commit is contained in:
1 parent
d6976e6ef6
commit
2dbb0acfc1
26 files changed
+1893
-912
No files matched your search
@@ -106,6 +106,27 @@ describe("WoW 3.3.5 executable effect mapping", () => {
|
||||
|
||||
it("provides mechanics for previously silent class scripts and hidden proc spells", () => {
|
||||
expect(effectsOfKind(byId("wow335-warrior-slam"), "damage")).not.toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-warrior-bloodthirst"), "damage")).toContainEqual(
|
||||
expect.objectContaining({ coefficient: 1.2 }),
|
||||
);
|
||||
expect(effectsOfKind(byId("wow335-warrior-bloodrage"), "resource")).toEqual([
|
||||
{ kind: "resource", resource: "rage", amount: 20 },
|
||||
]);
|
||||
expect(effectsOfKind(byId("wow335-warrior-bloodrage"), "heal")).toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-warrior-execute"), "execute")).toContainEqual(
|
||||
expect.objectContaining({ coefficient: 1.8 }),
|
||||
);
|
||||
expect(effectsOfKind(byId("wow335-warrior-execute"), "heal")).toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-rogue-mutilate"), "damage")).toContainEqual(
|
||||
expect.objectContaining({ coefficient: 2 }),
|
||||
);
|
||||
expect(effectsOfKind(byId("wow335-rogue-mutilate"), "combo")).not.toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-rogue-killing-spree"), "dot")).toContainEqual(
|
||||
expect.objectContaining({ coefficient: 0.5, ticks: 5 }),
|
||||
);
|
||||
expect(effectsOfKind(byId("wow335-warlock-conflagrate"), "damage")).toEqual([
|
||||
expect.objectContaining({ coefficient: 1.4 }),
|
||||
]);
|
||||
expect(effectsOfKind(byId("wow335-death-knight-death-grip"), "pull")).not.toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-shaman-windfury-weapon"), "apply-aura")[0]?.aura.procs).not.toEqual([]);
|
||||
expect(effectsOfKind(byId("wow335-shaman-lightning-shield"), "apply-aura")[0]?.aura.procs).toEqual(expect.arrayContaining([
|
||||
@@ -113,6 +134,15 @@ describe("WoW 3.3.5 executable effect mapping", () => {
|
||||
]));
|
||||
});
|
||||
|
||||
it("models Penance as the Discipline rotation's friendly heal", () => {
|
||||
const penance = byId("wow335-priest-penance");
|
||||
expect(penance.target).toBe("friendly");
|
||||
expect(effectsOfKind(penance, "heal")).toEqual([
|
||||
expect.objectContaining({ coefficient: 1.8 }),
|
||||
]);
|
||||
expect(effectsOfKind(penance, "damage")).toEqual([]);
|
||||
});
|
||||
|
||||
it("keeps triggered shield damage children out of learned Shaman ranks", () => {
|
||||
const lightningShield = abilityAtLevel(byId("wow335-shaman-lightning-shield"), 80);
|
||||
expect(lightningShield.dbcSpellId).toBe(49281);
|
||||
@@ -127,6 +157,27 @@ describe("WoW 3.3.5 executable effect mapping", () => {
|
||||
expect(effectsOfKind(waterShield, "apply-aura").every((effect) => (
|
||||
effect.aura.exclusiveGroup === "shaman:elemental-shield"
|
||||
))).toBe(true);
|
||||
|
||||
const earthShield = byId("wow335-shaman-earth-shield");
|
||||
const earthProc = effectsOfKind(earthShield, "apply-aura")
|
||||
.flatMap((effect) => effect.aura.procs ?? [])
|
||||
.find((proc) => proc.id.endsWith(":earth-shield"));
|
||||
expect(earthProc).toMatchObject({
|
||||
triggers: "damage-taken",
|
||||
charges: 9,
|
||||
internalCooldownMs: 3_000,
|
||||
action: { kind: "heal", target: "aura-target" },
|
||||
});
|
||||
expect(effectsOfKind(earthShield, "apply-aura").every((effect) => (
|
||||
effect.aura.exclusiveGroup === "shaman:earth-shield"
|
||||
))).toBe(true);
|
||||
});
|
||||
|
||||
it("models both offensive Spirit Wolves instead of the inert DBC summon marker", () => {
|
||||
expect(effectsOfKind(byId("wow335-shaman-feral-spirit"), "summon")).toEqual([
|
||||
expect.objectContaining({ creatureId: 29264, coefficient: 0.35, durationMs: 45_000 }),
|
||||
expect.objectContaining({ creatureId: 29264, coefficient: 0.35, durationMs: 45_000 }),
|
||||
]);
|
||||
});
|
||||
|
||||
it("creates source-named stat and avoidance auras", () => {
|
||||
|
||||
Reference in new issue
Block a user