Update Healer Man server

This commit is contained in:
phenom committed 2026-10-02 10:38:12 -04:00
1 parent 4c768fbec6
commit b16821e92e
330 files changed
+35406 -1760

No files matched your search

@@ -3,6 +3,14 @@ import { WOW335_ABILITIES_BY_CLASS } from "./wow335AbilityCatalog";
const IMPROVED_WATER_SHIELD_CRITICAL_CHANCE_BY_RANK = [0, 0.1, 0.2, 0.3] as const;
const IMPROVED_WATER_SHIELD_NORMAL_CHANCE_BY_RANK = [0, 0.05, 0.1, 0.15] as const;
const IMPROVED_SHIELDS_WATER_SHIELD_MANA_BONUS_BY_RANK = [0, 5, 10, 15] as const;
export function wow335ShamanImprovedShieldsWaterShieldManaBonusPercent(rank: number): number {
const normalizedRank = Number.isFinite(rank)
? Math.max(0, Math.min(3, Math.trunc(rank)))
: 0;
return IMPROVED_SHIELDS_WATER_SHIELD_MANA_BONUS_BY_RANK[normalizedRank] ?? 0;
}
export function wow335ShamanImprovedWaterShieldProcChance(
rank: number,
@@ -32,7 +40,7 @@ export function wow335ShamanImprovedWaterShieldShouldProc(
return chance > 0 && Number.isFinite(roll) && roll >= 0 && roll < chance;
}
export function wow335ShamanWaterShieldOrbManaAtLevel(level: number): number {
export function wow335ShamanWaterShieldOrbManaAtLevel(level: number, improvedShieldsRank = 0): number {
const waterShield = WOW335_ABILITIES_BY_CLASS.shaman.find((ability) => ability.name === "Water Shield");
if (!waterShield) return 0;
const rankedWaterShield = abilityAtLevel(waterShield, level);
@@ -44,7 +52,9 @@ export function wow335ShamanWaterShieldOrbManaAtLevel(level: number): number {
.find((proc) => proc.id.endsWith(":water-shield")
&& proc.action.kind === "resource"
&& proc.action.resource === "mana");
return orbProc?.action.kind === "resource" ? Math.max(0, orbProc.action.amount) : 0;
if (orbProc?.action.kind !== "resource") return 0;
const baseMana = Math.max(0, orbProc.action.amount);
return Math.round(baseMana * (1 + wow335ShamanImprovedShieldsWaterShieldManaBonusPercent(improvedShieldsRank) / 100));
}
export function wow335ShamanImprovedWaterShieldCappedRestore(