Update Healer Man server

This commit is contained in:
phenom committed 2026-09-27 14:31:15 -04:00
1 parent ab1434a3b8
commit e284f4fc76
60 files changed
+2704 -118

No files matched your search

+16 -1
View File
@@ -327,6 +327,10 @@ function collectAbilitySpellIds() {
for (const chains of Object.values(wow.classes ?? {})) {
for (const chain of chains) for (const rank of chain.ranks ?? []) add("wow335", Number(rank.spellId));
}
// Penance's player spell delegates visible healing and damage bolts to
// child spells that are absent from the learnable progression catalog.
add("wow335", 47750);
add("wow335", 47666);
const coa = JSON.parse(fs.readFileSync(path.join(projectRoot, "src", "game", "generated", "coaAbilityRuntimeCatalog.json"), "utf8"));
for (const abilities of Object.values(coa.abilitiesByClass ?? {})) {
@@ -474,10 +478,21 @@ function buildWowEntries(source, requestedIds, tables) {
}
sounds.push(...soundEntry(soundTable, row.missileSound), ...soundEntry(soundTable, row.animationSound));
}
// Creature 19668 uses display 19110: the FleshBeast model with its black skin.
// The summon is a persistent actor, so retain its model beside the cast kit.
if (source === "wow335" && spellId === 34433) {
addAssets("summon", [{ model: "Creature/FleshBeast/FleshBeast.mdx" }]);
}
for (const [phase, assets] of Object.entries(phases)) {
phases[phase] = [...new Map(assets.map((asset) => [`${asset.model}:${asset.attachment ?? ""}`, asset])).values()];
}
const uniqueSounds = [...new Map(sounds.map((sound) => [sound.sourcePath, sound])).values()];
const uniqueSounds = [...new Map(sounds.map((sound) => [sound.sourcePath, sound])).values()]
.map((sound) => {
if (source !== "wow335" || ![47540, 47666, 47750].includes(spellId)) return sound;
if (spellId === 47540) return { ...sound, phase: "cast-start" };
const phase = /ShadowCast|Pennance_MissileLoop/i.test(sound.sourcePath) ? "tick" : "impact";
return { ...sound, phase };
});
if (!visualIds.length && !uniqueSounds.length) continue;
entries.push({
key: `${source}:${spellId}`,