Files
healer-man/src/game/wow335HunterPetDefenseData.ts
T
2026-10-02 10:38:12 -04:00

44 lines
1.9 KiB
TypeScript

// TrinityCore TDB 335.26091, pinned release commit
// fbd20a3cd829617a64c27cdf65ed6cfb5f304a8a.
// TDB_full_world_335.26091_2026_09_09.7z SHA-256:
// ed0c50177da912b50c9f386ba8a26254cecfb997ca7fd2e992c25b344e11274f
// pet_levelstats entry 1 is selected for every HUNTER_PET by the pinned
// TrinityCore Pet.cpp initializer. Arrays are indexed by level minus one.
export const WOW335_HUNTER_PET_ARMOR_BY_LEVEL: readonly number[] = [
20, 21, 46, 82, 126, 180, 245, 322, 412, 518, 545, 580, 615, 650, 685, 721,
756, 791, 826, 861, 897, 932, 967, 1002, 1037, 1072, 1108, 1142, 1177, 1212,
1247, 1283, 1317, 1353, 1387, 1494, 1607, 1724, 1849, 1980, 2117, 2262, 2414,
2574, 2742, 2798, 2853, 2907, 2963, 3018, 3072, 3128, 3183, 3237, 3292, 3348,
3402, 3457, 3512, 3814, 4113, 4410, 4708, 5006, 5303, 5601, 5900, 6197, 6495,
6794, 7093, 7392, 7691, 7990, 8289, 8588, 8887, 9186, 9485, 9784,
];
export const WOW335_HUNTER_PET_AGILITY_BY_LEVEL: readonly number[] = [
20, 21, 21, 22, 23, 24, 24, 25, 26, 26, 27, 28, 30, 31, 32, 33,
34, 36, 37, 39, 39, 40, 42, 43, 45, 46, 47, 49, 50, 52, 53, 54,
56, 57, 59, 60, 61, 63, 64, 66, 68, 69, 71, 72, 74, 75, 77, 79,
80, 82, 84, 85, 87, 89, 91, 92, 94, 96, 98, 100, 102, 105, 107, 110,
113, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158,
];
export interface Wow335HunterPetBaseDefense {
readonly level: number;
readonly armor: number;
readonly agility: number;
}
/** Return the pinned generic Hunter-pet entry-1 armor and Agility baseline. */
export function wow335HunterPetBaseDefenseForLevel(level: number): Wow335HunterPetBaseDefense {
const normalizedLevel = Number.isFinite(level)
? Math.max(1, Math.min(80, Math.trunc(level)))
: 1;
const index = normalizedLevel - 1;
return {
level: normalizedLevel,
armor: WOW335_HUNTER_PET_ARMOR_BY_LEVEL[index]!,
agility: WOW335_HUNTER_PET_AGILITY_BY_LEVEL[index]!,
};
}