Release Healer Man 0.1.40
No files matched your search
@@ -2879,3 +2879,152 @@ Vite's existing large-chunk advisory remains informational.
|
||||
tests plus the real-combat integration test passed. The 432-test focused
|
||||
combat/party/class/health/input regression suite and 18 server tests passed.
|
||||
Production build, final TypeScript check, and release candidate check passed.
|
||||
|
||||
## 2026-09-13 - RoM character nameplate class labels
|
||||
|
||||
- RoM overhead nameplates and AI party frames now show the active class alone,
|
||||
or primary/secondary class names joined with `/`, without race or `Primary`.
|
||||
- An isolated local fixture using the real scene, party frames, and shared
|
||||
character preview verified `Warrior`, `Priest`, and `Priest/Warrior` labels.
|
||||
The two-class dungeon screenshot showed the label above the rendered body
|
||||
and equipped staff silhouettes. The roster preview also retained its body
|
||||
and equipment. The fixture used in-memory identities without saving a roster.
|
||||
- Evidence: `artifacts/rom-nameplates/dungeon-dual-class.png` and
|
||||
`artifacts/rom-nameplates/roster-preview.png`.
|
||||
- Validation: 70 avatar, party-store, and mob-nameplate tests passed. Production
|
||||
build, asset audits, compression/bundle verification, and release check passed.
|
||||
|
||||
## 2026-09-13 - Dungeon boss durability and difficulty leaderboards
|
||||
|
||||
- Campaign bosses now use a level-scaled health floor above their original
|
||||
health when needed. Final bosses receive an additional 1.8 multiplier on
|
||||
that floor. Larger authored health values remain effective.
|
||||
- The dungeon browser offers a 1-10 boss difficulty slider, native keyboard
|
||||
adjustment, and controller decrement/increment buttons. Difficulty 1 is
|
||||
Easy; each step adds 25% health and 15% damage to bosses. The selected source
|
||||
Normal/Heroic variant also applies to entry. Trash retains its existing stats.
|
||||
- Boss difficulty is fixed at entry, preserved through saves and renderer
|
||||
restarts, and passed from the online group leader to followers. Changing
|
||||
difficulty starts a new run; completed checkpoints also start fresh.
|
||||
- Device and world leaderboards isolate each difficulty's final/full-clear
|
||||
records, ranks, and pages. Existing records migrate to a separate legacy
|
||||
bracket. Migration and repeat submissions were verified against SQLite;
|
||||
HTTP tests verify difficulty selection and reject invalid values.
|
||||
- Deterministic Ragefire simulations tested 12 RoM party compositions at levels
|
||||
1, 8, 20, 40, and 80 against the shared runtime scaling function. All ordinary
|
||||
boss samples exceeded 25 seconds and final-boss samples exceeded 45 seconds.
|
||||
Additional damage-role Mage samples passed those bounds; at level 8 the
|
||||
ordinary boss took 29.8 seconds and the final boss took 55 seconds. Timings
|
||||
remain dependent on party composition, player actions, and equipment.
|
||||
- A final-boss fight with enemy attacks and Priest healing verified repeated
|
||||
attacks, incoming damage, healing, and party survival before the boss died.
|
||||
Balance evidence: `artifacts/boss-difficulty/ragefire-balance.json`.
|
||||
- Desktop screenshots at 1280x720 verified the Easy and difficulty-10 layouts,
|
||||
stat preview, and matching leaderboard labels. Pointer and keyboard changes
|
||||
were exercised. At 390x844 the slider remained operable and its DOM width
|
||||
stayed within the viewport, but the in-app browser's viewport-override
|
||||
screenshots scaled incorrectly, as in the earlier compact playtest. Those
|
||||
captures do not establish mobile visual quality. The viewport was restored.
|
||||
- Validation: 169 focused game/client/UI tests and 20 server tests passed.
|
||||
The production build, asset audits, bundle verification, and release check
|
||||
passed. Existing RoM nameplate changes were retained.
|
||||
|
||||
## 2026-09-13 - Original WoW dungeon atlas
|
||||
|
||||
- Added 107 unique original map images across 51 standard WoW dungeons using
|
||||
the supplied patch-enUS-M archive and existing client archives. A duplicated
|
||||
Trial of the Champion floor record is deduplicated before packaging. The
|
||||
source MPQs and Mapster addon were read without modification; no Lua addon
|
||||
code is installed into HealerMan.
|
||||
- Coordinate inverses were checked against 10,342 matching source spawns and
|
||||
the event-driven Trial of the Champion source entrance. Maximum discrepancy
|
||||
is 0.189 yards in authored Wailing Caverns rounding; other imported maps
|
||||
have substantially smaller discrepancies. All 107 image checksums match
|
||||
their local immutable content objects.
|
||||
- The production preview at localhost:5174 loaded Wailing Caverns and showed
|
||||
original artwork with the player/camera direction, entrance, numbered
|
||||
encounters, and a 45.7%, 60.5% entrance-position readout. The map was visually
|
||||
reviewed at 1280x720, with the rendered dungeon visible behind it. Pressing
|
||||
M opened it; toggling patrol routes then pressing M closed it despite the
|
||||
checkbox retaining focus. Reopening restores the clean default overlay.
|
||||
- Evidence: `artifacts/wow-maps/wailing-caverns-atlas.png`. No production-preview
|
||||
errors were captured in the bounded console check. Earlier development HMR
|
||||
errors from concurrent equipment edits were not treated as production errors.
|
||||
Testing used the existing offline Hudtest QA character, not a live account.
|
||||
- Multi-floor rendering, floor controls, rebound shortcuts, repeat/capture
|
||||
guards, PNG dimensions/checksums, axis projection, shifted/rotated scene
|
||||
transforms, and RuneWaker survey fallback are covered by automated tests.
|
||||
Every dungeon was not individually traversed in the browser. Auto floor
|
||||
selection is horizontal best fit, not WMO-group/height detection; overlapping
|
||||
stacked rooms require manual floor selection. Mobile hardware was not tested.
|
||||
- Tinkertech Showdown, Frozen Reach, and Forgotten Mine have no matching
|
||||
artwork records and retain their survey maps. RuneWaker maps are unchanged.
|
||||
Failed artwork loads also retain a correctly reprojected survey fallback.
|
||||
- Validation: 50 focused map/UI/input tests and three BLP/tile-layout tests
|
||||
passed. The production build, texture/performance audits, and compressed
|
||||
release-bundle verification passed. Local downloadable packs were published;
|
||||
no online deployment was performed.
|
||||
|
||||
## 2026-09-13 - Boss card collection and leveling loot
|
||||
|
||||
- Boss deaths roll a guaranteed Normal card plus independent Rare (1/10),
|
||||
Epic (1/50), and Legendary (1/100) bonuses. The collection catalogue covers
|
||||
330 distinct WoW/RoM bosses and 1,320 rarity variants using existing models.
|
||||
Repeated appearances share counts and list every source dungeon.
|
||||
- Copies and the latest claim per boss spawn persist per character through the
|
||||
roster/cloud-save path. Shared-world hydration grants the authority's rolls
|
||||
to followers and ignores duplicate/reconnected and older reward snapshots.
|
||||
- Equipment drops and bonus equipment are suppressed below player level 80;
|
||||
existing inventory and authored non-equipment drops are preserved. Level-80
|
||||
equipment loot remains enabled. Bosses without equipment tables award cards.
|
||||
- The production browser at 1280x720 verified the main-menu entry, all four
|
||||
Lady Anacondra model portraits, dungeon location, odds, search, All/Earned,
|
||||
dungeon/rarity grouping, and in-dungeon pause-menu access. Roster and dungeon
|
||||
screenshots show player/party bodies and starter weapon/shield silhouettes.
|
||||
- At 390x844 the collection switched to two columns, with no horizontal page
|
||||
overflow and dialog bounds within the viewport. The in-app browser again
|
||||
scaled the viewport-override screenshot incorrectly; that capture does not
|
||||
establish mobile visual quality. The viewport was restored.
|
||||
- Deterministic tests cover exact odds boundaries, counts, persistence,
|
||||
no-loot-table bosses, loot restrictions, and online replay. Live browser QA
|
||||
did not perform a boss clear; earned-copy display was checked with seeded
|
||||
render tests. Evidence: `artifacts/boss-cards/collection-desktop.png`,
|
||||
`collection-mobile.png`, `roster.png`, and `dungeon.png`.
|
||||
|
||||
## WoW and CoA default boss difficulty review — September 13, 2026
|
||||
|
||||
- Reviewed all 10 WoW and 21 CoA classes: 61 canonical class-role builds at
|
||||
levels 8, 20, 40, and 80 with three deterministic companion compositions.
|
||||
The 1,464 durability simulations used live boss scaling, starter heirlooms,
|
||||
legal level-appropriate talents, live companion AI, and the existing baseline
|
||||
player rotation. CoA characters currently use WoW companions.
|
||||
- Fixed Death Pact and other instant-kill effects bypassing boss health in the
|
||||
player, triggered-spell, and companion paths. Fixed repeated proc activations
|
||||
across branches, duplicate execution of expanded CoA payloads, invented
|
||||
damage on proc auras and Waterfall, and critical-damage talent bonuses
|
||||
affecting ordinary hits. Regenerated the CoA runtime catalog and shards.
|
||||
- Raised the shared health floor by 40% to cover the remaining CoA burst.
|
||||
Every class uses the same boss stats at the same level and difficulty.
|
||||
Fastest sampled kills were 26.2 seconds for an ordinary boss and 48.6 for
|
||||
the final boss. All duration assertions passed. The refreshed RoM regression
|
||||
also passed; its level-eight damage-role Mage sample took 41.8/74.9 seconds.
|
||||
- Durability samples disabled enemy attacks and stopped at 60 seconds to
|
||||
isolate damage. Most WoW and CoA samples still had a living boss at the cap;
|
||||
these are lower bounds, not proof of typical 25-30/45-second kill times.
|
||||
Default class throughput is still uneven, especially for WoW parties.
|
||||
- An additional 26 final-boss attack samples exercised healer builds at levels
|
||||
8 and 80. Paladin, Priest, Shaman, and Tinker kept their parties alive in both.
|
||||
Druid and several CoA samples lost companions; Bloodmage also lost the player
|
||||
at 80. This basic policy can refresh HoTs too early or choose self-healing
|
||||
hybrids, so these outcomes need a dedicated healer rotation/playtest pass
|
||||
before treating them as class throughput limits. No live boss clear was
|
||||
performed in this numerical review.
|
||||
- Validation: 122 combat/catalog checks, 91 class-damage/avatar checks, eight
|
||||
RoM boss regressions, TypeScript, and the production build passed. All six
|
||||
large-matrix assertions passed, but its progress reporter timed out during
|
||||
CPU-heavy loops. Added worker yields and reran the affected level-40 test;
|
||||
it exited cleanly without the reporter error.
|
||||
- Evidence: `artifacts/boss-difficulty/wow-coa-balance.json` and
|
||||
`artifacts/boss-difficulty/wow-coa-review.md`. Coverage is a canonical build
|
||||
per role with starter gear, rather than every specialization or later gear
|
||||
combination. `npm run release:check` is required for handoff.
|
||||
@@ -0,0 +1,48 @@
|
||||
# WoW dungeon atlas
|
||||
|
||||
Press **M** in a loaded WoW dungeon to open its original game map. The atlas
|
||||
shows a white player marker with camera direction, a green entrance, and gold
|
||||
numbered encounter markers. Patrol routes are optional. The minimap and companion
|
||||
map use the same artwork and coordinate projection.
|
||||
|
||||
Multi-floor dungeons have a floor selector. Auto chooses the smallest containing
|
||||
map rectangle; it is a horizontal best fit, not the WoW client's WMO-group floor
|
||||
detection. Select a floor manually when stacked rooms overlap. Coordinates outside
|
||||
the selected floor are not clamped to a misleading marker at the map edge.
|
||||
|
||||
The current import includes 51 standard WoW dungeons and 107 unique map images. The
|
||||
custom Tinkertech Showdown, Frozen Reach, and Forgotten Mine have no matching map
|
||||
records in the supplied archives and retain their survey maps. RuneWaker maps are
|
||||
unchanged. Missing images also fall back to the survey projection.
|
||||
|
||||
## Reimporting
|
||||
|
||||
Run `npm run dungeon:maps:import` from the HealerMan project root. An optional
|
||||
archive argument replaces the default `../downloads/patch-enUS-M.MPQ`.
|
||||
`WOW_CLIENT_ROOT` supplies the client archives for original Wrath map tiles;
|
||||
`WOW_DUNGEON_WORK_ROOT` supplies runtime drafts for alignment checks. Defaults
|
||||
are `../wow335a` and `../HealerMan-Storage/pipeline-work/dungeons`.
|
||||
|
||||
The importer reads the patch and client archives without modifying them. It
|
||||
decodes BLP2 tiles into cropped 1002x668 PNGs, reads WorldMapArea/DungeonMap bounds,
|
||||
and inverts the reviewed scene coordinate mapper, including shifted ADT packages
|
||||
and rotated global WMOs. It verifies alignment against imported creature spawns
|
||||
or the source entrance for an event-driven arena without static actors.
|
||||
Wailing Caverns retains its authored coordinate convention.
|
||||
|
||||
Images live in `public/assets/game/dungeons/<id>/maps/`, so existing dungeon
|
||||
content-pack rules include them. Runtime metadata is generated in
|
||||
`src/game/generated/wowDungeonMaps.generated.json`; provenance and coverage are in
|
||||
`dungeon-pipeline/WOW_DUNGEON_MAP_REPORT.json`. Changes to environment checksums or
|
||||
coordinate conventions require reimporting. Mapster is a Lua WoW-client addon;
|
||||
HealerMan does not execute or install it.
|
||||
|
||||
After reimporting, run `npm run content:publish` to update the local downloadable
|
||||
content catalog and `npm run build` to refresh the bundled Wailing Caverns atlas.
|
||||
Those commands prepare local artifacts; they do not deploy the online game.
|
||||
|
||||
## Verification
|
||||
|
||||
Run `npm test -- --run src/game/wowDungeonMap.test.ts src/ui/DungeonMapGraphic.test.ts src/ui/MapPanel.test.ts`
|
||||
and `node --test scripts/lib/wow-map-image.test.mjs`. Visual evidence and observed
|
||||
limitations are recorded in `PLAYTEST_NOTES.md`.
|
||||
@@ -0,0 +1,388 @@
|
||||
{
|
||||
"source": "patch-enUS-M.MPQ",
|
||||
"sourceSha256": "b69713077e19498d20efa5eeaefdba98850764db6bdc99e292bfbdf7b1c858d6",
|
||||
"imported": [
|
||||
{
|
||||
"id": "shadowfang-keep",
|
||||
"floors": 7,
|
||||
"checkedSpawns": 109,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "stormwind-stockade",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 93,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004000000000026205
|
||||
},
|
||||
{
|
||||
"id": "deadmines",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 179,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00005830951894693099
|
||||
},
|
||||
{
|
||||
"id": "wailing-caverns",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 251,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.188595526192965
|
||||
},
|
||||
{
|
||||
"id": "razorfen-kraul",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 179,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006573939954203296
|
||||
},
|
||||
{
|
||||
"id": "blackfathom-deeps",
|
||||
"floors": 3,
|
||||
"checkedSpawns": 201,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "uldaman",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 302,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "gnomeregan",
|
||||
"floors": 4,
|
||||
"checkedSpawns": 371,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "sunken-temple",
|
||||
"floors": 3,
|
||||
"checkedSpawns": 244,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "razorfen-downs",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 192,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 5.084354071042896e-13
|
||||
},
|
||||
{
|
||||
"id": "scarlet-monastery",
|
||||
"floors": 4,
|
||||
"checkedSpawns": 310,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "zulfarrak",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 251,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "blackrock-spire",
|
||||
"floors": 7,
|
||||
"checkedSpawns": 565,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "blackrock-depths",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 1040,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "scholomance",
|
||||
"floors": 4,
|
||||
"checkedSpawns": 327,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00009095950916596921
|
||||
},
|
||||
{
|
||||
"id": "stratholme",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 430,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 9.096057172999542e-13
|
||||
},
|
||||
{
|
||||
"id": "maraudon",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 525,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "ragefire-chasm",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 127,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "dire-maul",
|
||||
"floors": 6,
|
||||
"checkedSpawns": 755,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006403124240144967
|
||||
},
|
||||
{
|
||||
"id": "shattered-halls",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 198,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006403124237426248
|
||||
},
|
||||
{
|
||||
"id": "blood-furnace",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 139,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006403124237384636
|
||||
},
|
||||
{
|
||||
"id": "hellfire-ramparts",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 85,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006753673068807912
|
||||
},
|
||||
{
|
||||
"id": "steamvault",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 127,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "underbog",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 161,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.0000617170964964256
|
||||
},
|
||||
{
|
||||
"id": "slave-pens",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 122,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.0000640312423744012
|
||||
},
|
||||
{
|
||||
"id": "arcatraz",
|
||||
"floors": 3,
|
||||
"checkedSpawns": 84,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "botanica",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 171,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006403124237384636
|
||||
},
|
||||
{
|
||||
"id": "mechanar",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 84,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.000046699999999996744
|
||||
},
|
||||
{
|
||||
"id": "shadow-labyrinth",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 189,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00006403124237426248
|
||||
},
|
||||
{
|
||||
"id": "sethekk-halls",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 104,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00005324368507145524
|
||||
},
|
||||
{
|
||||
"id": "mana-tombs",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 119,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.000056568542495137386
|
||||
},
|
||||
{
|
||||
"id": "auchenai-crypts",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 93,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00005415025392387915
|
||||
},
|
||||
{
|
||||
"id": "magisters-terrace",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 147,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00007071067811848996
|
||||
},
|
||||
{
|
||||
"id": "black-morass",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 134,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "escape-from-durnholde",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 380,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "utgarde-keep",
|
||||
"floors": 3,
|
||||
"checkedSpawns": 112,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004700000000001925
|
||||
},
|
||||
{
|
||||
"id": "utgarde-pinnacle",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 83,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "the-nexus",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 234,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "the-oculus",
|
||||
"floors": 5,
|
||||
"checkedSpawns": 112,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "culling-of-stratholme",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 209,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "halls-of-stone",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 76,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "draktharon-keep",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 99,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "azjol-nerub",
|
||||
"floors": 3,
|
||||
"checkedSpawns": 70,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "halls-of-lightning",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 112,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "gundrak",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 85,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "violet-hold",
|
||||
"floors": 2,
|
||||
"checkedSpawns": 8,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "ahnkahet-old-kingdom",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 133,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004999999999988347
|
||||
},
|
||||
{
|
||||
"id": "forge-of-souls",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 41,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "trial-of-the-champion",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 0,
|
||||
"checkedEntrances": 1,
|
||||
"maxAlignmentError": 0
|
||||
},
|
||||
{
|
||||
"id": "pit-of-saron",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 167,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0.00004000000000026205
|
||||
},
|
||||
{
|
||||
"id": "halls-of-reflection",
|
||||
"floors": 1,
|
||||
"checkedSpawns": 13,
|
||||
"checkedEntrances": 0,
|
||||
"maxAlignmentError": 0
|
||||
}
|
||||
],
|
||||
"skipped": [
|
||||
{
|
||||
"id": "tinkertech-showdown",
|
||||
"reason": "No matching WorldMapArea record"
|
||||
},
|
||||
{
|
||||
"id": "frozen-reach",
|
||||
"reason": "No matching WorldMapArea record"
|
||||
},
|
||||
{
|
||||
"id": "forgotten-mine",
|
||||
"reason": "No matching WorldMapArea record"
|
||||
}
|
||||
],
|
||||
"coordinateSources": [
|
||||
"WorldMapArea.dbc",
|
||||
"DungeonMap.dbc"
|
||||
],
|
||||
"layoutSource": "https://github.com/wowgaming/3.3.5-interface-files/blob/main/WorldMapFrame.xml",
|
||||
"archives": [
|
||||
"patch-enUS-M.MPQ",
|
||||
"patch-enUS-3.MPQ",
|
||||
"patch-enUS.MPQ",
|
||||
"patch-enUS-2.MPQ"
|
||||
]
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "healer-man",
|
||||
"version": "0.1.39",
|
||||
"version": "0.1.40",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "healer-man",
|
||||
"version": "0.1.39",
|
||||
"version": "0.1.40",
|
||||
"dependencies": {
|
||||
"@capacitor/android": "8.4.1",
|
||||
"@capacitor/core": "8.4.1",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "healer-man",
|
||||
"private": true,
|
||||
"version": "0.1.39",
|
||||
"version": "0.1.40",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --host 0.0.0.0",
|
||||
@@ -45,6 +45,7 @@
|
||||
"dungeon:epoch:sync": "node scripts/dungeon-pipeline/sync-epoch-dungeons.mjs",
|
||||
"dungeon:source:azerothcore": "node scripts/dungeon-pipeline/import-azerothcore-world.mjs",
|
||||
"dungeon:catalog": "node scripts/dungeon-pipeline/compile-campaign-catalog.mjs",
|
||||
"dungeon:maps:import": "node scripts/dungeon-pipeline/import-wow-maps.mjs",
|
||||
"dungeon:canonicalize-environments": "node scripts/dungeon-pipeline/relink-canonical-environments.mjs",
|
||||
"dungeon:dedupe-creatures": "node scripts/dungeon-pipeline/dedupe-shared-creatures.mjs",
|
||||
"dungeon:test-creature-animation-policy": "node --test scripts/dungeon-pipeline/runtime-creature-animations.test.mjs",
|
||||
|
||||
|
After Width: | Height: | Size: 772 KiB |
|
After Width: | Height: | Size: 768 KiB |
|
After Width: | Height: | Size: 762 KiB |
|
After Width: | Height: | Size: 769 KiB |
|
After Width: | Height: | Size: 766 KiB |
|
After Width: | Height: | Size: 769 KiB |
|
After Width: | Height: | Size: 747 KiB |
|
After Width: | Height: | Size: 764 KiB |
|
After Width: | Height: | Size: 759 KiB |
|
After Width: | Height: | Size: 788 KiB |
|
After Width: | Height: | Size: 764 KiB |
|
After Width: | Height: | Size: 753 KiB |
|
After Width: | Height: | Size: 746 KiB |
|
After Width: | Height: | Size: 750 KiB |
|
After Width: | Height: | Size: 756 KiB |
|
After Width: | Height: | Size: 735 KiB |
|
After Width: | Height: | Size: 729 KiB |
|
After Width: | Height: | Size: 730 KiB |
|
After Width: | Height: | Size: 735 KiB |
|
After Width: | Height: | Size: 735 KiB |
|
After Width: | Height: | Size: 734 KiB |
|
After Width: | Height: | Size: 739 KiB |
|
After Width: | Height: | Size: 766 KiB |
|
After Width: | Height: | Size: 769 KiB |
|
After Width: | Height: | Size: 773 KiB |
|
After Width: | Height: | Size: 782 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 772 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 737 KiB |
|
After Width: | Height: | Size: 741 KiB |
|
After Width: | Height: | Size: 743 KiB |
|
After Width: | Height: | Size: 736 KiB |
|
After Width: | Height: | Size: 745 KiB |
|
After Width: | Height: | Size: 776 KiB |
|
After Width: | Height: | Size: 754 KiB |
|
After Width: | Height: | Size: 798 KiB |
|
After Width: | Height: | Size: 794 KiB |
|
After Width: | Height: | Size: 747 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 747 KiB |
|
After Width: | Height: | Size: 757 KiB |
|
After Width: | Height: | Size: 778 KiB |
|
After Width: | Height: | Size: 781 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 759 KiB |
|
After Width: | Height: | Size: 780 KiB |
|
After Width: | Height: | Size: 764 KiB |
|
After Width: | Height: | Size: 765 KiB |
|
After Width: | Height: | Size: 773 KiB |
|
After Width: | Height: | Size: 783 KiB |
|
After Width: | Height: | Size: 773 KiB |
|
After Width: | Height: | Size: 756 KiB |
|
After Width: | Height: | Size: 756 KiB |
|
After Width: | Height: | Size: 761 KiB |
|
After Width: | Height: | Size: 747 KiB |
|
After Width: | Height: | Size: 781 KiB |
|
After Width: | Height: | Size: 756 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 746 KiB |
|
After Width: | Height: | Size: 748 KiB |
|
After Width: | Height: | Size: 750 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 752 KiB |
|
After Width: | Height: | Size: 724 KiB |
|
After Width: | Height: | Size: 740 KiB |
|
After Width: | Height: | Size: 746 KiB |
|
After Width: | Height: | Size: 745 KiB |
|
After Width: | Height: | Size: 774 KiB |
|
After Width: | Height: | Size: 767 KiB |
|
After Width: | Height: | Size: 765 KiB |
|
After Width: | Height: | Size: 761 KiB |
|
After Width: | Height: | Size: 755 KiB |
|
After Width: | Height: | Size: 750 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 746 KiB |
|
After Width: | Height: | Size: 757 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
After Width: | Height: | Size: 766 KiB |
|
After Width: | Height: | Size: 777 KiB |
|
After Width: | Height: | Size: 771 KiB |
|
After Width: | Height: | Size: 754 KiB |
|
After Width: | Height: | Size: 751 KiB |
|
After Width: | Height: | Size: 764 KiB |
|
After Width: | Height: | Size: 769 KiB |
|
After Width: | Height: | Size: 758 KiB |
|
After Width: | Height: | Size: 797 KiB |
|
After Width: | Height: | Size: 804 KiB |
|
After Width: | Height: | Size: 820 KiB |
|
After Width: | Height: | Size: 835 KiB |
|
After Width: | Height: | Size: 815 KiB |
|
After Width: | Height: | Size: 820 KiB |
|
After Width: | Height: | Size: 814 KiB |
|
After Width: | Height: | Size: 811 KiB |
|
After Width: | Height: | Size: 737 KiB |