Update Healer Man server

This commit is contained in:
phenom committed 2026-09-19 21:01:51 -04:00
1 parent f8314e7de1
commit 1fedb9368d
76 files changed
+20556 -2523

No files matched your search

+20
View File
@@ -57,6 +57,8 @@ import {
commitPartyAbilityUse,
partyAbilityAmount,
} from "./partyAbilityAi";
import { emitRotationDecision } from "./rotationTelemetry";
import { imminentCooldownMechanic } from "./companionCooldownPolicy";
import { normalizeActorResourcePool } from "./combatActors";
import { enemyControlPreventsActions } from "./enemyAttacks";
import { advanceCombatResourcePool } from "./combatResources";
@@ -1568,7 +1570,14 @@ export function advanceDungeonPartyCombat(now = Date.now()): void {
target: targetMob ?? null,
targetIsLoose: member.role === "tank" && targetMob?.targetActorId !== member.id,
hasDangerousThreat: member.role !== "tank" && targetMob?.targetActorId === member.id,
incomingDefensiveMechanic: imminentCooldownMechanic(targetMob ?? null, member.role, now),
hostileCount: Object.values(currentCombat.mobs).filter((mob) => mob.engaged && !mob.dead).length,
friendlyTargets: nextMembers.filter((candidate) => candidate.health > 0).map((candidate) => ({
id: candidate.id,
health: candidate.health,
maxHealth: candidate.maxHealth,
role: candidate.role,
})),
maintainedAbilityIds: new Set([
...currentCombat.effects.filter((effect) => effect.sourceActorId === member.id && effect.remainingTicks > 0)
.map((effect) => effect.sourceAbilityId),
@@ -1632,6 +1641,17 @@ export function advanceDungeonPartyCombat(now = Date.now()): void {
nextMembers[index] = { ...runtimeMember, status: desiredStatus, nextActionAt: now + 250 };
continue;
}
if (selectedDecision) {
emitRotationDecision({
occurredAt: now,
actorId: member.id,
abilityId: selectedAbility.id,
targetId: abilityTargetId,
profileId: selectedDecision.profileId,
ruleId: selectedDecision.ruleId,
reason: selectedDecision.reason,
});
}
if (selectedAbility.castTimeMs > 0) {
nextMembers[index] = {
...committed,