Update Healer Man server

This commit is contained in:
phenom committed 2026-09-25 18:46:09 -04:00
1 parent a868401ebc
commit 48a678dcc5
295 files changed
+7644 -467

No files matched your search

+32 -15
View File
@@ -52,11 +52,15 @@ retain the verified media-pack download requirement.
`npm run effects:rom` refreshes only RuneWaker manifest entries and packages
their sound cues without rebuilding WoW effects. It reads spell-to-image links
from `romPlayerCatalog.generated.json` and `magiccollectobject.db`, effect model
paths from `imageobject.db`, and exact same-name cues under the client's
parallel `sound/fx` tree. Verified ROS audio events supply cues when their
embedded path differs from the mirrored model path. Each cue is tagged with
its source cast phase so a target impact does not replay a caster sound.
from `romPlayerCatalog.generated.json` and `magiccollectobject.db`. It follows
each direct MagicCollect component through `magicobject.db` to ImageObject
`ExtendACT` target models, alongside the spell's own ImageObject paths. Exact
same-name cues under the client's parallel `sound/fx` tree and zero-offset
direct ROS audio events supply phase-tagged cues. Delayed and fade-out events
stay in the batch report until their timeline has a matching runtime event.
The combat audio player layers distinct RuneWaker cues on the same phase,
including separate ROS appear and idle sounds; WoW sources retain weighted
single-cue selection.
`npm run effects:rom:particles` packages a decoded ROS particle archive for the
five primary classes and their accepted elite pairs. Build the native exporter
@@ -74,26 +78,39 @@ tile sizes are pixels, not atlas row and column counts.
`npm run effects:rom:audit` writes the first-five class and accepted-pair map
to `docs/ROM_SPELL_MEDIA_MAPPING.md`. It distinguishes source ROS references,
packaged audio, and browser-playable original visual graphs. The WebGL sprite
renderer plays Priest Urgent Heal, Heal, and Group Heal casts; Urgent Heal's
target impact; Rising Tide cast, release, and impact; Knight Charge cast and
Whirlwind Shield impact; and Mage Electric Bolt projectile. The exact
spell, phase, and model allowlist lives in `rom-particle-readiness.mjs`. Other
ROS phases remain in the archive until their controller families and motion
sequence are checked in the browser. Open `scripts/combat-effects/rom-preview.html`
packaged audio, and browser-playable original visual graphs. The packager
enables any graph whose sprite, emitter, texture, subtree alpha, and nonvisual
event callback data meet the browser renderer's validated schema. Event IDs that spawn an
effect or control projectile flight remain blocked. Urgent Heal's target rune
and decal are an explicit partial-original exception; `rom-particle-readiness.mjs`
holds hand-reviewed scale and fidelity overrides. Other ROS phases retain
generated visual fallbacks until their controller families are implemented.
Open `scripts/combat-effects/rom-preview.html`
with the Vite dev server to inspect the decoded sprite models. The emitter
integrates source rate keys over each rendered frame so short bursts survive
slower frames. Whirlwind Shield uses a 2.5 presentation scale after live
dungeon review.
`npm run effects:rom:plan` creates `docs/ROM_MEDIA_BATCH_PLAN.md` and its
machine-readable JSON companion from the current primary-five manifest and ROS
archive. It groups models by unsupported controller family, lists fully decoded
graphs awaiting visual review, and flags embedded one-shot audio paths absent
from the manifest as candidates for timeline support. Run it after the audio
and particle package steps. The generator attaches source direct audio events
at the matching phase boundary when their motion and zero-offset timing are
known; remaining candidates require a different timeline or phase mapping.
`npm run effects:rom:batch` runs the manifest/audio pass, particle package,
manifest attachment pass, media audit, and batch plan in that order. Build the
native exporter before running it when its C++ source changes.
The Priest's holy `act_casting_c_hand.ros` has three renderable sprite layers
and one `CRuController_EventTrigger` in its `appear` motion. The RuneWaker
source identifies event 43 as looping direct 3D audio for
`sound/fx/skill/holy/act_casting_c_hand.wav`, not another visual layer. The
packager marks this exact model renderer-ready after validating that event's
packager marks the model renderer-ready after validating the event's
parameters. Its packaged WAV loops only during the matching Priest cast and
stops on release or cancellation. Other unsupported event triggers still
block a graph from the ready allowlist.
stops on release or cancellation. The same source event rule applies to the
five class cohort when IDs 1, 41, 43, 44, 50, or 61 carry valid data.
Urgent Heal's target effect is linked through MagicCollect spell `491147` to
MagicObject component `501543`, whose ImageObject `573048` supplies