Release Healer Man 0.1.55

This commit is contained in:
phenom committed 2026-09-19 12:23:33 -04:00
1 parent 2dbb0acfc1
commit 38b3d4d160
14 files changed
+279 -41

No files matched your search

+7 -2
View File
@@ -379,6 +379,7 @@ async function runBoss(
abilities: new Map(),
}));
const byActorId = new Map(memberMetrics.map((metrics) => [metrics.actorId, metrics]));
const actorAlive = new Map<string, boolean>();
const bossAbilities = new Map<string, MutableAbilityMetrics>();
// Instant resource, aura, pet, and summon actions do not produce the damage,
// healing, absorb, or cast events used by the original report collector.
@@ -435,8 +436,6 @@ async function runBoss(
} else if (event.kind === "absorb" && source) {
source.absorbs += event.effectiveAmount;
abilityMetrics(source, event.abilityId).absorbs += event.effectiveAmount;
} else if (event.kind === "death" && target) {
target.deathEvents += 1;
}
});
@@ -470,6 +469,9 @@ async function runBoss(
memberTargetIds: {},
});
combat.synchronizeActors();
for (const metrics of memberMetrics) {
actorAlive.set(metrics.actorId, currentHealth(metrics.actorId)[0] > 0);
}
combat.registerMob(bossActorId, {
name: entity.name,
boss: true,
@@ -500,6 +502,9 @@ async function runBoss(
controller.act(now, activeBuild.role, runScenario, false);
for (const metrics of memberMetrics) {
const [health, maxHealth] = currentHealth(metrics.actorId);
const alive = health > 0;
if ((actorAlive.get(metrics.actorId) ?? alive) && !alive) metrics.deathEvents += 1;
actorAlive.set(metrics.actorId, alive);
metrics.minimumHealthPercent = Math.min(
metrics.minimumHealthPercent,
maxHealth > 0 ? Math.max(0, health / maxHealth) : 0,