Release Healer Man 0.1.30
This commit is contained in:
1 parent
544c1bee91
commit
7d7fd567f0
845 files changed
+2040
-87
No files matched your search
+14
-1
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user