Release Healer Man 0.1.13

This commit is contained in:
phenom committed 2026-09-01 16:31:26 -04:00
1 parent 65e24f644e
commit 67d7a8ebe7
324 files changed
+917 -48

No files matched your search

+19
View File
@@ -117,6 +117,25 @@ describe("combat store", () => {
unsubscribe();
});
it("identifies the player as the target of a self-cast aura presentation", () => {
useCombatStore.getState().initializeCharacter({ classId: "priest", level: 80 });
const events: CombatPresentationEvent[] = [];
const unsubscribe = subscribeCombatPresentation((message) => {
if (message.kind === "event") events.push(message.event);
});
expect(useCombatStore.getState().castAbility(
"wow335-priest-power-word-shield",
undefined,
1_000,
).ok).toBe(true);
expect(events.find((event) => (
event.abilityId === "wow335-priest-power-word-shield" && event.phase === "aura-start"
))?.targetActorId).toBe(PLAYER_AURA_ENTITY_ID);
unsubscribe();
});
it("does not cast or bind Priest Holy Concentration", () => {
const abilityId = "wow335-priest-holy-concentration";
expect(useCombatStore.getState().castAbility(abilityId, undefined, 1_000)).toMatchObject({
+4 -2
View File
@@ -834,18 +834,20 @@ function emitPlayerAbilityPresentation(
targetId: string | null,
targetPosition: CombatPosition | null,
): void {
const delivery = presentationDeliveryForAbility(ability);
const presentationTargetId = targetId ?? (delivery === "aura" ? PLAYER_AURA_ENTITY_ID : null);
emitCombatPresentation({
occurredAt,
phase,
actorGroup: "player",
sourceActorId: PLAYER_AGGRO_ID,
...(targetId ? { targetActorId: targetId } : {}),
...(presentationTargetId ? { targetActorId: presentationTargetId } : {}),
abilityId: ability.id,
sourceSpellId: ability.dbcSpellId,
name: ability.name,
source: presentationSourceForAbility(ability),
school: presentationSchoolForAbility(ability),
delivery: presentationDeliveryForAbility(ability),
delivery,
origin,
targetPosition: targetPosition ?? origin,
...(ability.radius === undefined ? {} : { radius: ability.radius }),