Update Healer Man server
This commit is contained in:
1 parent
1fedb9368d
commit
cc3b2fa4d5
27 files changed
+1988
-83
No files matched your search
@@ -0,0 +1,33 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
rogueDeadlyPoisonTickDamage,
|
||||
rogueEnvenomPreservationChance,
|
||||
rogueEnvenomPreservesDeadlyPoison,
|
||||
rogueInstantPoisonDamage,
|
||||
roguePoisonApplicationChances,
|
||||
} from "./roguePoison";
|
||||
|
||||
describe("Rogue weapon poisons", () => {
|
||||
it("uses the learned poison ranks and attack-power scaling", () => {
|
||||
expect(rogueInstantPoisonDamage(20, 0)).toBe(22);
|
||||
expect(rogueInstantPoisonDamage(80, 1_000)).toBe(450);
|
||||
expect(rogueDeadlyPoisonTickDamage(80, 1_000, 1)).toBe(104);
|
||||
expect(rogueDeadlyPoisonTickDamage(80, 1_000, 5)).toBe(520);
|
||||
});
|
||||
|
||||
it("applies Envenom's poison-frequency bonuses without exceeding the stack cap", () => {
|
||||
expect(roguePoisonApplicationChances(false)).toEqual({ instant: 0.2, deadly: 0.3 });
|
||||
expect(roguePoisonApplicationChances(true).instant).toBeCloseTo(0.35);
|
||||
expect(roguePoisonApplicationChances(true).deadly).toBeCloseTo(0.45);
|
||||
expect(rogueDeadlyPoisonTickDamage(80, 1_000, 99)).toBe(520);
|
||||
});
|
||||
|
||||
it("honors Master Poisoner's Envenom dose-preservation ranks", () => {
|
||||
expect(rogueEnvenomPreservationChance({})).toBe(0);
|
||||
expect(rogueEnvenomPreservationChance({ "talent-1715": 1 })).toBe(0.33);
|
||||
expect(rogueEnvenomPreservationChance({ "talent-1715": 2 })).toBe(0.66);
|
||||
expect(rogueEnvenomPreservationChance({ "talent-1715": 3 })).toBe(1);
|
||||
expect(rogueEnvenomPreservesDeadlyPoison({ "talent-1715": 3 }, "any-cast")).toBe(true);
|
||||
expect(rogueEnvenomPreservesDeadlyPoison({}, "any-cast")).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user