Release Healer Man 0.1.30

This commit is contained in:
phenom committed 2026-09-11 18:49:33 -04:00
1 parent 544c1bee91
commit 7d7fd567f0
845 files changed
+2040 -87

No files matched your search

+14 -3
View File
@@ -613,6 +613,7 @@ function emitPartyAbility(
targetId: string,
phase: "cast-start" | "release" | "impact",
now: number,
instantCast = false,
): void {
const origin = getPartyRuntimePosition(member.id) ?? useCombatStore.getState().playerPosition;
const targetPosition = targetId === PLAYER_AGGRO_ID
@@ -633,6 +634,7 @@ function emitPartyAbility(
origin,
targetPosition,
...(ability.radius === undefined ? {} : { radius: ability.radius }),
...(instantCast ? { instantCast: true } : {}),
});
}
@@ -842,6 +844,7 @@ function executePartyAbility(
now: number,
members: readonly PartyMember[],
depth = 0,
castStartAlreadyEmitted = false,
): PartyAbilityExecutionResult {
const combat = useCombatStore.getState();
const origin = getPartyRuntimePosition(member.id) ?? combat.playerPosition;
@@ -1025,8 +1028,8 @@ function executePartyAbility(
}
}
}
emitPartyAbility(member, ability, targetId, "release", now);
emitPartyAbility(member, ability, targetId, "impact", now);
emitPartyAbility(member, ability, targetId, "release", now, !castStartAlreadyEmitted);
emitPartyAbility(member, ability, targetId, "impact", now, !castStartAlreadyEmitted);
if (effectiveAmount > 0 && ability.effects.some((effect) => ["heal", "hot", "shield", "resurrection"].includes(effect.kind))) {
useCombatStore.getState().addHealingThreat({ actorId: member.id, role: member.role, abilityId: ability.id }, effectiveAmount);
}
@@ -1158,7 +1161,15 @@ export function advanceDungeonPartyCombat(now = Date.now()): void {
member.activeCast.origin,
);
if (valid) {
const execution = executePartyAbility(completedMember, castingAbility, castTargetId, now, nextMembers);
const execution = executePartyAbility(
completedMember,
castingAbility,
castTargetId,
now,
nextMembers,
0,
true,
);
nextMembers[index] = {
...execution.member,
status: desiredStatus,