Release Healer Man 0.1.45
This commit is contained in:
1 parent
756ee4f64a
commit
f82daf1c13
242 files changed
+1440
-101
No files matched your search
@@ -27,6 +27,10 @@ import { derivePartySpawnSlots } from "../game/partySpawnSlots";
|
||||
import { requireDungeonDefinition } from "../game/dungeonRegistry";
|
||||
import type { DungeonBossObjective, DungeonTraversalRamp } from "../game/dungeonTypes";
|
||||
import { getMobPosition } from "../game/mobRuntimeRegistry";
|
||||
import {
|
||||
enemyControlMovementMultiplier,
|
||||
enemyControlPreventsMovement,
|
||||
} from "../game/enemyAttacks";
|
||||
import {
|
||||
appendPartyBreadcrumb,
|
||||
createPartyBreadcrumbCursor,
|
||||
@@ -1038,11 +1042,14 @@ function PartyActors({
|
||||
let movementExpected = false;
|
||||
let faceX = Math.sin(actor.rotation.y);
|
||||
let faceZ = Math.cos(actor.rotation.y);
|
||||
const activeControlMechanic = member.controlledUntil > combatNow
|
||||
? member.controlMechanic
|
||||
: null;
|
||||
|
||||
if (member.health <= 0) {
|
||||
const signal = movingSignalsRef.current.get(member.id);
|
||||
if (signal) signal.current = false;
|
||||
} else if (member.activeCast || member.controlledUntil > combatNow) {
|
||||
} else if (member.activeCast || enemyControlPreventsMovement(activeControlMechanic)) {
|
||||
// Casting and crowd control are intentional immobility, not stuck navigation.
|
||||
} else if (rejoining) {
|
||||
const intent = partyRejoinMovement(member.id, current, playerNavigation, routeNow,
|
||||
@@ -1304,7 +1311,8 @@ function PartyActors({
|
||||
const currentPlanarDistance = planarDistance(current, playerNavigation);
|
||||
if (member.health > 0 && (party.command !== "stop" || rejoining) && hasDesired) {
|
||||
const speed = (currentPlanarDistance > 8 ? PARTY_CATCH_UP_SPEED : PARTY_MOVE_SPEED)
|
||||
* movementProfile.speedMultiplier;
|
||||
* movementProfile.speedMultiplier
|
||||
* enemyControlMovementMultiplier(activeControlMechanic);
|
||||
const moved = stepPartyPosition(current, desired, speed * safeDelta, nextPosition);
|
||||
// Route progress, not radial player distance, is authoritative. A
|
||||
// valid path may need to move away briefly around a U-bend.
|
||||
@@ -1346,7 +1354,7 @@ function PartyActors({
|
||||
paused: !active || game.paused || game.mapOpen || game.companionOpen,
|
||||
stopped: party.command === "stop" && !rejoining,
|
||||
casting: member.activeCast !== null,
|
||||
controlled: member.controlledUntil > combatNow,
|
||||
controlled: enemyControlPreventsMovement(activeControlMechanic),
|
||||
nowMs: routeNow,
|
||||
});
|
||||
if (recovery !== "none") {
|
||||
|
||||
Reference in new issue
Block a user