Update Healer Man server
This commit is contained in:
1 parent
35dfdaed61
commit
4fb7a0b9c8
161 files changed
+24618
-529
No files matched your search
@@ -0,0 +1,43 @@
|
||||
export const WOW335_SHAMAN_TIDAL_WAVES_AURA_TAG = "wow335-shaman-tidal-waves";
|
||||
// The generated rank rows reference child 53390 but do not include its aura duration.
|
||||
// WotLKDB's 3.3.5a child row supplies the missing 15-second lifetime.
|
||||
export const WOW335_SHAMAN_TIDAL_WAVES_DURATION_MS = 15_000;
|
||||
export const WOW335_SHAMAN_TIDAL_WAVES_MAX_CHARGES = 3;
|
||||
|
||||
const TIDAL_WAVES_PROC_CHANCE_BY_RANK = [0, 0.33, 0.66, 1] as const;
|
||||
const TIDAL_WAVES_BONUS_HEALING_PERCENT_BY_RANK = [0, 0.04, 0.08, 0.12] as const;
|
||||
|
||||
function normalizedTidalWavesRank(rank: number): number {
|
||||
return Number.isFinite(rank) ? Math.max(0, Math.min(3, Math.trunc(rank))) : 0;
|
||||
}
|
||||
|
||||
function normalizedTidalWavesCharges(charges: number): number {
|
||||
return Number.isFinite(charges)
|
||||
? Math.max(0, Math.min(WOW335_SHAMAN_TIDAL_WAVES_MAX_CHARGES, Math.trunc(charges)))
|
||||
: 0;
|
||||
}
|
||||
|
||||
export function wow335ShamanTidalWavesProcChance(rank: number): number {
|
||||
return TIDAL_WAVES_PROC_CHANCE_BY_RANK[normalizedTidalWavesRank(rank)] ?? 0;
|
||||
}
|
||||
|
||||
export function wow335ShamanTidalWavesChargesForTrigger(abilityName: string): number {
|
||||
if (abilityName === "Chain Heal") return 3;
|
||||
if (abilityName === "Riptide") return 2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
export function wow335ShamanTidalWavesCastTimeMultiplier(charges: number): number {
|
||||
return 1 - normalizedTidalWavesCharges(charges) * 0.1;
|
||||
}
|
||||
|
||||
export function wow335ShamanTidalWavesCriticalChanceBonusPercent(
|
||||
abilityName: string,
|
||||
charges: number,
|
||||
): number {
|
||||
return abilityName === "Lesser Healing Wave" ? normalizedTidalWavesCharges(charges) * 10 : 0;
|
||||
}
|
||||
|
||||
export function wow335ShamanTidalWavesBonusHealingPercent(rank: number): number {
|
||||
return TIDAL_WAVES_BONUS_HEALING_PERCENT_BY_RANK[normalizedTidalWavesRank(rank)] ?? 0;
|
||||
}
|
||||
Reference in new issue
Block a user