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 -1
View File
@@ -869,6 +869,7 @@ function emitPlayerAbilityPresentation(
origin: CombatPosition,
targetId: string | null,
targetPosition: CombatPosition | null,
instantCast = false,
): void {
const delivery = presentationDeliveryForAbility(ability);
const presentationTargetId = targetId ?? (delivery === "aura" ? PLAYER_AURA_ENTITY_ID : null);
@@ -888,6 +889,7 @@ function emitPlayerAbilityPresentation(
targetPosition: targetPosition ?? origin,
...(ability.radius === undefined ? {} : { radius: ability.radius }),
...(ability.castTimeMs > 0 ? { durationMs: ability.castTimeMs } : {}),
...(instantCast ? { instantCast: true } : {}),
});
}
@@ -903,8 +905,9 @@ function emitPlayerAbilityResolutionPresentation(
origin: CombatPosition,
targetId: string | null,
targetPosition: CombatPosition | null,
instantCast: boolean,
): void {
emitPlayerAbilityPresentation(ability, "release", occurredAt, origin, targetId, targetPosition);
emitPlayerAbilityPresentation(ability, "release", occurredAt, origin, targetId, targetPosition, instantCast);
emitPlayerAbilityPresentation(
ability,
presentationDeliveryForAbility(ability) === "aura" ? "aura-start" : "impact",
@@ -912,6 +915,7 @@ function emitPlayerAbilityResolutionPresentation(
origin,
targetId,
targetPosition,
instantCast,
);
}
@@ -923,6 +927,7 @@ function emitEnemyAttackPresentation(
origin: CombatPosition,
targetActorId: AggroActorId | null,
targetPosition: CombatPosition | null,
instantCast = false,
): void {
emitCombatPresentation({
occurredAt,
@@ -940,6 +945,7 @@ function emitEnemyAttackPresentation(
targetPosition: targetPosition ?? origin,
...(attack.radius === undefined ? {} : { radius: attack.radius }),
...((attack.castTimeMs ?? 0) > 0 ? { durationMs: attack.castTimeMs } : {}),
...(instantCast ? { instantCast: true } : {}),
});
}
@@ -5492,6 +5498,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
playerOrigin,
targetId,
targetPosition,
!completingCast,
);
return {
@@ -6458,6 +6465,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
readonly mob: MobCombatState;
readonly attack: EnemyAttackDefinition;
readonly attackRevision: number;
readonly instantCast: boolean;
}> = [];
const enemyHealing: Array<{ readonly targetId: string; readonly amount: number }> = [];
let playerControl: { readonly mechanic: EnemyControlMechanic; readonly endsAt: number } | null = null;
@@ -6657,6 +6665,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
|| isPositionInFacingArc(enemySpatial, candidate, Math.PI);
});
const presentationTargetId = targets[0] ?? resolution.targetActorId;
const instantSourceCast = !resolvedEnemyCast && attack.spellId !== undefined;
emitEnemyAttackPresentation(
mob,
attack,
@@ -6665,6 +6674,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
position,
presentationTargetId,
actorPosition(runtimeState, presentationTargetId),
instantSourceCast,
);
if (effect.kind === "damage") {
const baselineDamage = Math.max(0, Math.round(mob.attackDamage * effect.multiplier));
@@ -6681,6 +6691,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
mob,
attack,
attackRevision,
instantCast: instantSourceCast,
});
}
} else if (effect.kind === "heal") {
@@ -6772,6 +6783,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
mob,
attack,
attackRevision,
instantCast: instantSourceCast,
});
}
}
@@ -6949,6 +6961,7 @@ export const useCombatStore = create<CombatState>((set, get) => ({
impactOrigin,
hit.actorId,
impactTarget,
hit.instantCast,
);
}
const defendingAuras = aurasForEntity(get().auras, hit.actorId);