Release Healer Man 0.1.40

This commit is contained in:
phenom committed 2026-09-13 13:21:27 -04:00
1 parent ed0d2fea3d
commit 197a64117c
215 files changed
+5131 -181

No files matched your search

+14 -7
View File
@@ -45,7 +45,8 @@ import {
} from "../game/mobRuntimeRegistry";
import { combatHasLineOfSight } from "../game/combatSpatial";
import { registerDungeonRuntimeReset } from "../game/dungeonRuntimeReset";
import { dungeonEnemyHealthBaseline, scaledDungeonEnemyLevel } from "../game/dungeonLevelScaling";
import { scaledDungeonEnemyLevel } from "../game/dungeonLevelScaling";
import { dungeonEnemyScaling } from "../game/dungeonBossScaling";
import { requireDungeonDefinition } from "../game/dungeonRegistry";
import { stepFearedMobAway } from "../game/mobMotion";
import {
@@ -886,6 +887,9 @@ function ProxyMob({
const showAggroRanges = useCombatStore((state) => state.settings.showMobAggroRanges);
const gameMode = useGameStore((state) => state.gameMode);
const dungeonExpansion = useGameStore((state) => requireDungeonDefinition(state.activeDungeonId).expansion);
const dungeon = useGameStore((state) => requireDungeonDefinition(state.activeDungeonId));
const difficultyId = useGameStore((state) => state.activeDifficultyId);
const bossDifficulty = useGameStore((state) => state.activeBossDifficulty);
const characterLevel = useCombatStore((state) => state.level);
const manastormLevel = useManastormStore((state) => state.level);
const manastormPartySize = useManastormStore((state) => state.partySize);
@@ -928,20 +932,20 @@ function ProxyMob({
const level = gameMode === "manastorm"
? definition.combat?.level
: scaledDungeonEnemyLevel(characterLevel, boss);
const healthMultiplier = baseHealthMultiplier * (manastormModifiers?.enemyStatMultiplier ?? 1);
const healthBaseline = gameMode === "dungeon"
? dungeonEnemyHealthBaseline(level ?? characterLevel, dungeonExpansion)
: undefined;
const scaling = gameMode === "dungeon"
? dungeonEnemyScaling(dungeon, definition, instanceId, characterLevel, difficultyId, bossDifficulty)
: null;
const healthMultiplier = scaling?.healthMultiplier ?? baseHealthMultiplier * (manastormModifiers?.enemyStatMultiplier ?? 1);
useCombatStore.getState().registerMob(instanceId, {
name: definition.name,
serverEntry: definition.combat?.serverEntry,
boss,
level,
maxHealth: healthBaseline === undefined ? undefined : healthBaseline * healthMultiplier,
maxHealth: scaling?.maxHealth,
hasLoot: Boolean((boss && bossHasLoot(definition.id)) || definition.hasLoot),
lootSourceId: boss ? definition.id : undefined,
healthMultiplier,
damageMultiplier: baseDamageMultiplier * (manastormModifiers?.enemyStatMultiplier ?? 1),
damageMultiplier: scaling?.damageMultiplier ?? baseDamageMultiplier * (manastormModifiers?.enemyStatMultiplier ?? 1),
bonusLootChance: manastormModifiers?.bonusLootChance,
moveSpeed: definition.combat?.moveSpeed,
aggroRange: definition.combat?.aggroRange,
@@ -968,6 +972,9 @@ function ProxyMob({
instanceId,
gameMode,
dungeonExpansion,
dungeon,
difficultyId,
bossDifficulty,
manastormLevel,
manastormMapRewardMultiplier,
manastormModeId,