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,66 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
ROM_COA_KNIGHT_ROGUE_GODS_SWORD_ID,
|
||||
ROM_COA_KNIGHT_ROGUE_GODS_SWORD_OFFHAND_DPS_COEFFICIENT,
|
||||
romCoaKnightRogueGodsSwordBonusLightDamage,
|
||||
type RomCoaKnightRogueGodsSwordInput,
|
||||
} from "./romKnightGodsSwordCoaMechanics";
|
||||
|
||||
const eligibleInput: RomCoaKnightRogueGodsSwordInput = {
|
||||
classId: "rom-knight",
|
||||
secondaryClassId: "rom-rogue",
|
||||
learnedPassiveSpellIds: [ROM_COA_KNIGHT_ROGUE_GODS_SWORD_ID],
|
||||
landedOffensivePhysicalAbilityDamageEvent: true,
|
||||
offhandWeaponDps: 100,
|
||||
};
|
||||
|
||||
describe("current CoA Knight/Rogue God's Sword passive", () => {
|
||||
it("adds 350% of offhand weapon DPS as separate Light damage", () => {
|
||||
expect(ROM_COA_KNIGHT_ROGUE_GODS_SWORD_OFFHAND_DPS_COEFFICIENT).toBe(3.5);
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage(eligibleInput)).toBe(350);
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
offhandWeaponDps: 12.5,
|
||||
})).toBe(43.75);
|
||||
});
|
||||
|
||||
it("requires the Knight/Rogue pairing and learned passive", () => {
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
classId: "rom-warrior",
|
||||
})).toBe(0);
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
secondaryClassId: "rom-warrior",
|
||||
})).toBe(0);
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
learnedPassiveSpellIds: [],
|
||||
})).toBe(0);
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
learnedPassiveSpellIds: [491_620],
|
||||
})).toBe(0);
|
||||
});
|
||||
|
||||
it("requires a landed offensive physical-ability damage event", () => {
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
landedOffensivePhysicalAbilityDamageEvent: false,
|
||||
})).toBe(0);
|
||||
});
|
||||
|
||||
it("requires positive finite offhand DPS and returns only finite damage", () => {
|
||||
for (const offhandWeaponDps of [0, -1, Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY]) {
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
offhandWeaponDps,
|
||||
})).toBe(0);
|
||||
}
|
||||
|
||||
expect(romCoaKnightRogueGodsSwordBonusLightDamage({
|
||||
...eligibleInput,
|
||||
offhandWeaponDps: Number.MAX_VALUE,
|
||||
})).toBe(0);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user