Release Healer Man 0.1.41

This commit is contained in:
phenom committed 2026-09-13 15:09:35 -04:00
1 parent 197a64117c
commit c3f8a69b51
42 files changed
+886 -127

No files matched your search

+13 -2
View File
@@ -46,6 +46,15 @@ const rankEffectsForSpell = (spellId: number): readonly AbilityEffect[] => ranks
.find(({ rank }) => rank.spellId === spellId)?.rank.effects ?? [];
describe("Ascension Conquest ability catalog", () => {
it("keeps Rejuvenating Venom healing in its cast proc", () => {
const venom = byName("venomancer", "Rejuvenating Venom");
expect(venom.effects.some(effect => effect.kind === "heal")).toBe(false);
expect(venom.effects.some(effect => effect.kind === "apply-aura"
&& effect.aura.procs?.some(proc => proc.action.kind === "custom" && proc.action.data?.spellId === 630869))).toBe(true);
const payload = COA_TRIGGERED_ABILITIES_BY_SPELL_ID[630869];
expect(payload.effects.find(effect => effect.kind === "hot")).toMatchObject({ scope: "party", radius: 30, maximumTargets: 1 });
});
it("covers every class, source family, and playable rank", () => {
expect(Object.keys(COA_ABILITIES_BY_CLASS).sort()).toEqual([...COA_CLASS_IDS].sort());
expect(Object.keys(COA_CLASS_RESOURCES).sort()).toEqual([...COA_CLASS_IDS].sort());
@@ -181,14 +190,16 @@ describe("Ascension Conquest ability catalog", () => {
});
it("ships executable hidden payloads for proc-triggered DBC spell IDs", () => {
expect(Object.keys(COA_TRIGGERED_ABILITIES_BY_SPELL_ID)).toHaveLength(585);
// Geode Barrage now uses its ranked parent payload instead of hidden placeholder 803138.
expect(Object.keys(COA_TRIGGERED_ABILITIES_BY_SPELL_ID)).toHaveLength(584);
expect(COA_TRIGGERED_ABILITIES_BY_SPELL_ID[803138]).toBeUndefined();
expect(COA_TRIGGERED_ABILITIES_BY_SPELL_ID[800951]).toMatchObject({
name: "Battle Rhythm",
effects: expect.arrayContaining([{ kind: "resource", amount: 5 }]),
});
expect(Object.values(COA_TRIGGERED_ABILITIES_BY_SPELL_ID).filter((ability) => (
ability.effects.some((effect) => effect.kind !== "utility")
))).toHaveLength(546);
))).toHaveLength(545);
for (const [spellId, ability] of Object.entries(COA_TRIGGERED_ABILITIES_BY_SPELL_ID)) {
expect(ability.dbcSpellId, spellId).toBe(Number(spellId));
expect(ability.effects.length, spellId).toBeGreaterThan(0);