Update Healer Man server

This commit is contained in:
phenom committed 2026-10-04 13:13:35 -04:00
1 parent 39458d5de6
commit 6cc1b9217f
203 files changed
+133929 -31271

No files matched your search

+17
View File
@@ -1,3 +1,5 @@
import type { RomNativeDerivedStats } from "./romNativeStatsTypes";
import type { RomNativeDamageTargetContext } from "./romNativeCombatAmount";
import {
abilitiesForCharacter,
learnedAbilityForBuild,
@@ -455,6 +457,7 @@ export function choosePartyRotationDecision(
specializationId: member.specializationId,
specialization: member.specialization,
role: member.role,
statRuleset: member.statRuleset,
level: member.level,
health: member.health,
maxHealth: member.maxHealth,
@@ -467,6 +470,10 @@ export function choosePartyRotationDecision(
runes: member.runes,
deathKnightReapingRank: reapingRank,
abilities: rotationAbilities,
learnedAbilities: learned,
manaCostForAbility: (ability) => partyAbilityCosts(member, ability, context.now)
.filter((cost) => cost.resource === "mana")
.reduce((total, cost) => total + cost.amount, 0),
knownDamagingAbilityNames: new Set(learned.filter((ability) => {
const categories = aiHintsForAbility(ability).categories;
return categories.includes("damage") || categories.includes("execute");
@@ -482,6 +489,12 @@ export function choosePartyRotationDecision(
moving: context.moving,
requiredControl: context.requiredControl,
maintainedAbilityIds: context.maintainedAbilityIds,
maintainedPeriodicEffects: useCombatStore.getState().effects.map((effect) => ({
abilityId: effect.sourceAbilityId,
sourceActorId: effect.sourceActorId,
targetId: effect.targetId ?? "__player__",
remainingMs: Math.max(0, effect.nextTickAt + (effect.remainingTicks - 1) * effect.intervalMs - context.now),
})),
activeAuraExclusiveGroups: context.activeAuraExclusiveGroups,
activeSummonAbilityIds: context.activeSummonAbilityIds,
hasActivePet: context.hasActivePet,
@@ -566,6 +579,8 @@ export function partyAbilityAmount(
effect: AbilityEffect,
poisonDoses = 0,
intellectOverride?: number,
effectiveNativeStats?: RomNativeDerivedStats,
nativeTargetContext?: RomNativeDamageTargetContext,
): number {
const sourceIntellect = intellectOverride ?? deriveCharacterStats(
member.classId,
@@ -618,6 +633,8 @@ export function partyAbilityAmount(
member.gender,
member.statRuleset ?? "wow",
member.secondaryClassId,
effectiveNativeStats,
nativeTargetContext,
) + (effect.kind === "damage" ? effect.bonusFlat ?? 0 : 0);
if (member.classId === "druid" && (effect.kind === "damage" || effect.kind === "dot")) {
return applyTalentModifierValue(