Update Healer Man server

This commit is contained in:
phenom committed 2026-09-20 20:15:40 -04:00
1 parent f864b5aea7
commit fdb6739f8d
10 files changed
+236 -16

No files matched your search

+46
View File
@@ -479,6 +479,52 @@ describe("party combat runtime", () => {
});
});
it("taunts a loose add off an ally while the rest of the party stays on the boss", () => {
const party = usePartyStore.getState();
const tank = party.members.find((member) => member.role === "tank")!;
const damage = party.members.find((member) => member.role === "damage")!;
for (const member of party.members) registerPartyRuntimePosition(member.id, [0, 0, 0]);
useCombatStore.getState().registerMob("boss-with-add", {
name: "Boss with add",
boss: true,
maxHealth: 10_000,
xpReward: 0,
});
useCombatStore.getState().registerMob("boss-loose-add", {
name: "Loose add",
maxHealth: 1_000,
xpReward: 0,
});
setMobPosition("boss-with-add", [2, 0, 0]);
setMobPosition("boss-loose-add", [8, 0, 0]);
useCombatStore.getState().damageMob("boss-with-add", 1, 100, {
actorId: tank.id,
role: "tank",
});
useCombatStore.getState().damageMob("boss-loose-add", 1, 100, {
actorId: damage.id,
role: "damage",
});
useCombatStore.getState().selectMob("boss-with-add");
for (const member of party.members) {
updatePartyRuntimeTargetVisibility(member.id, "boss-with-add", true);
updatePartyRuntimeTargetVisibility(member.id, "boss-loose-add", true);
}
useCombatStore.getState().advanceMobCombat(200);
advanceDungeonPartyCombat(1_000);
const runtime = usePartyStore.getState();
expect(runtime.memberTargetIds[tank.id]).toBe("boss-loose-add");
expect(runtime.memberTargetIds[damage.id]).toBe("boss-with-add");
expect(useCombatStore.getState().mobs["boss-loose-add"].forcedTarget).toMatchObject({
actorId: tank.id,
endsAt: 4_000,
});
expect(runtime.members.find((member) => member.id === tank.id)?.tauntReadyAt).toBe(9_000);
});
it("shares an eight-second tank taunt cooldown across loose mobs", () => {
const party = usePartyStore.getState();
const tank = party.members.find((member) => member.role === "tank")!;