Update Healer Man server

This commit is contained in:
phenom committed 2026-10-02 10:38:12 -04:00
1 parent 4c768fbec6
commit b16821e92e
330 files changed
+35406 -1760

No files matched your search

+17 -3
View File
@@ -28,6 +28,7 @@ import {
} from "./partyRuntimeRegistry";
import { usePartyStore } from "./partyStore";
import { useGameStore } from "./store";
import { ingestRelayDamageText, withSuppressedReplayDamageText } from "./floatingCombatText";
import { useManastormStore } from "./manastormStore";
import { advanceManastormSession } from "./manastormSession";
import { useWailingEncounterStore } from "./wailingCavernsEncounter";
@@ -112,7 +113,7 @@ export function applySharedWorld(world: OnlineSharedWorld): void {
}
}
function eventForRelay(
export function eventForRelay(
event: ReturnType<typeof useCombatStore.getState>["combatEvents"][number],
localAccountId: string,
authority: boolean,
@@ -124,7 +125,17 @@ function eventForRelay(
));
const sourceIsLocal = event.sourceActorId === PLAYER_AGGRO_ID || playerOwnedSummon;
const targetsRemotePlayer = isOnlinePlayerActorId(event.targetActorId);
if (!sourceIsLocal && !(authority && targetsRemotePlayer)) return null;
const partyMembers = usePartyStore.getState().members;
const sourceIsCompanion = partyMembers.some((member) => member.id === event.sourceActorId)
|| combat.summons.some((summon) => partyMembers.some((member) => member.id === summon.ownerActorId)
&& summon.id === event.sourceActorId);
const companionDamageToMob = authority && event.kind === "damage"
&& Boolean(combat.mobs[event.targetActorId]) && sourceIsCompanion;
const authorityDamageToFriendly = authority && event.kind === "damage" && !sourceIsLocal
&& (event.targetActorId === PLAYER_AGGRO_ID
|| partyMembers.some((member) => member.id === event.targetActorId));
if (!sourceIsLocal && !(authority && targetsRemotePlayer)
&& !companionDamageToMob && !authorityDamageToFriendly) return null;
const localActorId = onlinePlayerActorId(localAccountId);
const targetActorId = event.targetActorId === PLAYER_AGGRO_ID
? localActorId
@@ -342,7 +353,10 @@ export function OnlineSessionBridge() {
updatePartyRuntimePosition(actorId, player.position[0], player.position[1], player.position[2]);
}
if (!snapshot.authority && snapshot.world) applySharedWorld(snapshot.world);
for (const event of snapshot.events) applyRelayEvent(event, snapshot, applyingRef);
for (const event of snapshot.events) {
withSuppressedReplayDamageText(() => applyRelayEvent(event, snapshot, applyingRef));
ingestRelayDamageText(event, snapshot);
}
useCombatStore.getState().synchronizeActors();
accept(snapshot);
} catch (error) {