Compare commits

...
8 Commits
Author SHA1 Message Date
phenom 67d7a8ebe7 Release Healer Man 0.1.13 2026-09-01 16:31:26 -04:00
phenom 65e24f644e Release Healer Man 0.1.12 2026-09-01 14:35:56 -04:00
phenom 13970d03c8 Release Healer Man 0.1.11 2026-08-31 14:12:51 -04:00
phenom 5f1a14d8de Release Healer Man 0.1.10 2026-08-31 12:05:34 -04:00
phenom d060296ade Release Healer Man 0.1.9 2026-08-30 14:16:56 -04:00
phenom c245a199b6 Release Healer Man 0.1.8 2026-08-27 13:29:58 -04:00
phenom eca6b5db9b Release Healer Man 0.1.7 2026-08-22 15:53:43 -04:00
phenom b12fb84859 Release Healer Man 0.1.6 2026-08-20 14:05:50 -04:00
829 changed files with 33345 additions and 1413 deletions

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.{bat,cmd}]
end_of_line = crlf
+3
View File
@@ -0,0 +1,3 @@
* text=auto eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
+6
View File
@@ -0,0 +1,6 @@
{
"files.eol": "\n",
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true
}
+7 -1
View File
@@ -2,6 +2,13 @@
These rules apply to every change under this project root. These rules apply to every change under this project root.
## Text-file hygiene
- Every text file must end with exactly one newline, with no extra blank line
at EOF and no trailing whitespace.
- Before handing off changes, run `npm run release:check`. This check includes
untracked files; `git diff --check` alone does not.
## Workspace and reference boundaries ## Workspace and reference boundaries
- The active project root is `D:\Projects\HealerMan`. All implementation, - The active project root is `D:\Projects\HealerMan`. All implementation,
@@ -44,4 +51,3 @@ These rules apply to every change under this project root.
- `document.pointerLockElement` remains `null`; - `document.pointerLockElement` remains `null`;
- releasing right mouse stops camera motion; - releasing right mouse stops camera motion;
- no browser mouse-capture prompt appears. - no browser mouse-capture prompt appears.
+52
View File
@@ -0,0 +1,52 @@
# Balance benchmarks
The balance benchmark suite provides repeatable evidence for tuning World of Warcraft, CoA, and Runes of Magic classes. It runs fixed builds through versioned damage, tanking, healing, movement, stacking, and resource-endurance scenarios. The goal is to reveal balance changes and outliers, not to name a universally best class.
## Default cohort
The default comparison cohort is level 60, matching CoA's authored cap while keeping the three content sources in one cohort. It uses the `coefficient-empty` preset: no equipment, so the first cohort isolates base kits, scaling coefficients, talents, and resources. Gear-normalized cohorts should be added separately rather than mixed with this one.
Every comparison must use the same gear preset, scenario version, baseline policy ID, duration scale, and seed set. A changed level, gear preset, scenario, policy, or app version creates a new cohort and should not be compared directly with an older one.
Run the suite with:
```sh
npm run balance:benchmark
```
Use `npm run balance:smoke` for a short end-to-end check. The full command accepts comma-separated `--class`, `--role`, `--scenario`, and `--seeds` filters, plus `--level`, `--duration-scale`, and `--output`. For example:
```sh
npm run balance:benchmark -- --class priest,rom-priest --role healer --seeds 1,2,3
```
The command is the intended stable entry point for the benchmark runner. Its output directory contains:
- `matrix.json`: raw run reports, build and scenario definitions, seed metadata, validation results, ability details, resources, and event counts.
- `matrix.csv`: one row per scenario, build, and metric, with observed/null counts plus median, p10, and p90 values.
- `summary.md`: a concise role-separated comparison for review and pull-request evidence.
Keep the JSON artifact when investigating a result. The CSV and Markdown are derived views and can be regenerated from it.
## Reading results
The reported center is the median across validated seeded runs. The p10–p90 interval shows run-to-run spread; a wide interval calls for more seeds or investigation before tuning. Invalid runs are counted but excluded from distributions. An early death or other scenario stop can be a valid outcome and should not be discarded merely because the full duration was not reached.
Interpret each role as a vector of outcomes, not a single ranking:
- Damage builds emphasize DPS and priority-target damage, with deaths and mechanics failures alongside throughput.
- Tanks emphasize damage taken per second, mitigation, avoidance, threat control, minimum health, survival, and their damage contribution.
- Healers emphasize healing per second, consumed absorbs, overheal, party health, deaths, and time to resource failure.
- Movement and stack scenarios add movement interrupts and stack compliance to the relevant role vector.
No composite score is produced. Compare a build only with other builds in the same scenario version and cohort, and inspect the underlying metrics before making a balance change. A null time to resource failure means the resource was not exhausted during that run; it is not zero. Similarly, a null time to first death means no death occurred.
## Limitations
- The baseline policy is a deterministic, maintainable reference policy, not an optimal player rotation. Skilled play may outperform it, and policy changes can move results without a class-data change.
- The initial `coefficient-empty` cohort does not model production gear breakpoints or itemization. Add explicit equal-budget gear presets for that work.
- Runes of Magic coverage is primary-class-only initially. Secondary-class and dual-class interactions require their own explicitly versioned cohort when supported.
- Results cover mechanics represented by the simulator and scenarios; they do not replace live encounter playtesting, usability review, or PvP testing.
- Small seed sets can miss rare random outcomes. Treat p10 and p90 as descriptive bounds for the sampled runs, not guarantees.
- Total metrics depend on scenario duration. Compare rates or fixed-duration totals only within the same scenario definition.
- Gear-stat budgets must be equivalent, but equivalent budgets do not guarantee identical interactions with every class kit.
+2 -1
View File
@@ -185,6 +185,7 @@ on the development PC. Stop if any test or build fails:
```powershell ```powershell
Set-Location F:\Projects\HealerMan Set-Location F:\Projects\HealerMan
npm run release:check
$VersionName = '0.1.3' $VersionName = '0.1.3'
$VersionCode = 1003 $VersionCode = 1003
@@ -206,8 +207,8 @@ npm run build
npm test -- --run src/avatar npm test -- --run src/avatar
npx vitest run src/game/inputManager.test.ts src/game/inputMath.test.ts npx vitest run src/game/inputManager.test.ts src/game/inputMath.test.ts
npm run release:check
git status --short git status --short
git diff --check
git add -A git add -A
git status --short git status --short
git diff --cached --stat git diff --cached --stat
+151
View File
@@ -1421,3 +1421,154 @@ Vite's existing large-chunk advisory remains informational.
- Verification: 38 focused party/pathing/jump/animation tests passed, all 28 - Verification: 38 focused party/pathing/jump/animation tests passed, all 28
avatar tests passed, and `npm run build` completed successfully with 954 avatar tests passed, and `npm run build` completed successfully with 954
modules transformed. The existing large-chunk advisory remains informational. modules transformed. The existing large-chunk advisory remains informational.
# 2026-08-20 — shared online dungeon session with AI fill
- Ran two signed-in production clients against the local account server on
separate browser origins. **SharedLeader / Bulwarka** invited
**SharedMember / Mendara**; the accepted group roster showed both selected
characters and their Tank and Healer roles as ready.
- The leader launched Wailing Caverns with **Fill open slots with AI** enabled.
Both clients automatically entered the same activity, each rendered the
other player through the normal equipped `CharacterModel` path, and each
showed a live, targetable remote party frame. Three AI companions filled the
remaining slots, producing the expected five-member party on both clients.
- The reciprocal scene captures showed Bulwarka and Mendara at the same shared
dungeon position with matching environment, objective, AI roster, mob state,
and remote role labels. The leader client continued encounter simulation;
the member client received the synchronized mob and AI state without running
a second competing world simulation.
- From the member client, selected Bulwarka's online party frame and completed
a Lesser Heal cast. The member's mana/resource change propagated to the
leader client and both clients retained the same live remote health state.
Enemy combat and AI resource/health changes also continued to propagate while
the two clients remained connected.
- Evidence reviewed during the browser run: invitation/group roster DOM,
coordinated-launch DOM from both clients, reciprocal full-window dungeon
captures, and before/cast-complete remote-healing DOM snapshots. No missing
character-body or equipment fallback appeared in either dungeon capture.
- Verification: server/API tests passed all 11 cases, the complete Vitest suite
passed all 755 cases across 132 files (including the 28 avatar cases), and the
TypeScript production build completed successfully with 983 modules
transformed. The existing large-chunk advisory remains informational.
# 2026-08-28 — configurable render caps and idle-loop efficiency
- Opened the saved Human Priest roster after a fresh client reload. The full
body and starter staff rendered correctly in the single character-preview
canvas, which reported the persisted 30 FPS preview cap and manual frame loop.
- Entered Wailing Caverns as healer and exercised the gameplay setting live.
The performance probe settled at about 30.5 FPS for the 30 FPS option and 60
FPS for the 60 FPS option; combat and fixed-step physics continued normally.
- Pausing switched the dungeon canvas to demand rendering. Its performance
counters remained byte-for-byte unchanged over 1.4 seconds, confirming that
the local paused scene did not keep rendering in the background.
- Returned gameplay rendering to the default 60 FPS and left the character
preview at 30 FPS. Evidence reviewed during the browser run included the
roster-preview and live dungeon screenshots. The final fresh session emitted
no errors; the existing third-party initialization deprecation warning
remained non-blocking.
- Verification: the focused efficiency tests passed all 83 cases, all 28 avatar
tests passed, the complete Vitest suite passed all 809 cases across 148 files,
and the production build completed with 1,043 modules transformed. KTX2 and
environment-performance audits remained green; the existing large-chunk
advisory remains informational.
# 2026-08-30 — authored weapon grips and ready stances
- Reloaded the offline client and switched a Human female preview directly
between Hunter, Warrior, and Priest. The bow, sword/shield, and staff changed
immediately to their native HoldBow, Ready1H, and Ready2HL poses; no stale
class pose or backward procedural axis remained.
- Verified RuneWaker Human Warrior and Scout previews against their explicit
hand/shield locator frames. The one-hand, shield, and bow silhouettes used the
RuneWaker socket-axis adapter and remained proportionate to the character.
Also checked the Ascension Human Ranger fallback with its bow visible in a
supported ready pose.
- The saved Human Priest roster preview showed the complete body and staff with
both hands aligned to the shaft. In Wailing Caverns, the player and party
equipment remained attached through live combat animation without a second
local weapon swing or load-time placement jump.
- Evidence: `playtest-artifacts/2026-08-30-weapon-grip/weapon-grip-roster.png`,
`human-hunter-holdbow.png`, `human-warrior-ready1h.png`,
`human-priest-ready2hl.png`, `runewaker-warrior-sockets.png`,
`runewaker-scout-bow.png`, `ascension-ranger-bow.png`, and
`weapon-grip-dungeon.png`.
- Verification: all 41 avatar tests passed, the 37-test focused weapon/stance
suite passed, and the production build completed with 1,047 modules
transformed. Asset audits remained green with zero KTX2 fallbacks and zero
environment-performance regressions; the existing large-chunk advisory
remains informational.
# 2026-08-30 — bounded combat VFX bursts and silent audio default
- Created a fresh offline Human Priest and confirmed the in-game Options panel
opened with **Master volume** at 0%. Gameplay and preview frame-rate controls,
VFX quality, and per-actor VFX/audio controls remained available.
- Entered Wailing Caverns as healer, sent the party into combat, and captured a
live four-effect spell burst. High quality reported four active effect systems
and zero combat point lights; additive particles, impacts, melee arcs, the HUD,
and combat telegraphs remained visible.
- The captured burst reported 60 FPS, a 16.7 ms average frame, a 16.8 ms slowest
frame, 258 draw calls, and 353,526 triangles at 1.5 pixel ratio. A three-second
combat sample reached five concurrent effects, stayed between 54.1 and 60 FPS,
and returned to a 16.7 ms frame average.
- A cold Vite dynamic import failed once while first opening character creation;
reloading after compilation resolved it. The final dungeon run had no further
errors; the existing third-party initialization deprecation warning remained.
- Verification: the complete Vitest suite passed all 839 cases across 153 files,
the production build completed with 1,047 modules transformed, KTX2 and
environment-performance audits remained green, and the release-candidate
check passed. The existing large-chunk advisory remains informational.
# 2026-08-31 — Shadowfang Keep navigation freeze regression
- Reproduced the reported freeze with the saved Human Priest at the Shadowfang
Keep entrance. The visible scene fell to roughly 4–11 FPS with 91–225 ms
average frames and repeated 500+ ms slow frames, without a runtime exception.
- Traced the stall to synchronous construction of the provisional 545,171-
triangle party-navigation graph after the dungeon became visible. A direct
benchmark blocked the main thread for roughly 8 seconds and consumed about
800 MiB of heap; its subsequent entrance surface/path queries also failed.
- Added a navigation policy that keeps reviewed, budgeted graphs enabled while
unvalidated or over-50,000-triangle graphs use the existing local and
breadcrumb party-follow fallback. Shadowfang therefore avoids the unusable
graph, while Wailing Caverns retains its reviewed navigation.
- Re-entered Shadowfang from a clean reload and kept the live scene open beyond
the former graph-build window. Eight consecutive samples held 59–60 FPS at
about 16.7 ms per frame; the slowest final sampled frame was 25.8 ms. The party,
HUD, minimap, combat state, and full environment remained responsive and
visible in the reviewed screenshot. No new browser errors were emitted.
- Verification: all 20 focused navigation cases passed, the complete Vitest
suite passed all 844 cases across 154 files, the production build completed
with 1,048 modules transformed, KTX2 and environment-performance audits
remained green, and the release-candidate check passed. The existing
large-chunk advisory remains informational.
# 2026-08-31 — dungeon-fleet startup freeze audit
- Audited the complete registered fleet: 84 regular-dungeon navigation assets,
all 75 Manastorm package assets, and all 470 published Manastorm stages. Every
referenced navigation GLB exists and parses. Under the reviewed 50,000-
triangle policy, 31 regular and 41 Manastorm package graphs remain enabled;
the other 53 regular and 34 Manastorm packages use breadcrumb following.
- Added an actual-geometry triangle check before navigation allocations. This
prevents stale catalog metadata from bypassing the synchronous-build ceiling;
Wailing Caverns metadata was corrected from 32,077 to 45,732 triangles.
- Found nine zero-length imported patrol routes that could throw during scene
render: one in Scholomance, two in Botanica, two in Magister's Terrace, and
four in Escape from Durnholde. Catalog generation now preserves those actors
as static spawns, and runtime normalization provides the same defense for
future malformed imports. All remaining 752 regular patrols and every
effective Manastorm stage patrol have usable routes.
- Live entrance checks loaded Scholomance, Escape from Durnholde, and Forgotten
Mine without a scene error or startup freeze. Scholomance settled near 28.5
FPS at 946 draw calls; Durnholde near 29 FPS at 3,663 draw calls; Forgotten
Mine near 50 FPS at 1,502 draw calls after staged loading. These identify
remaining environment/population throughput work, but are separate from the
fixed startup-crash and synchronous-navigation failure modes.
- Verification: the complete Vitest suite passed all 850 cases across 155
files, the production build completed with 1,048 modules transformed, all
106 environment assets passed their performance audit with no regressions,
the KTX2 audit found no fallback textures, and the release-candidate check
passed. The existing large-chunk advisory remains informational.
+20 -2
View File
@@ -18,6 +18,21 @@ approval before it commits, pushes `main`, builds the signed APK, and publishes
the Gitea release. Signing passwords and the Gitea token are passed to the the Gitea release. Signing passwords and the Gitea token are passed to the
child process in memory rather than on its command line. child process in memory rather than on its command line.
Before changing versions or running the longer test/build sequence, the manager
runs an isolated release-candidate check. It validates tracked and untracked
files without changing the real Git index, so extra blank lines at EOF and
other whitespace errors fail immediately. Run the same fast check at any time:
```powershell
npm run release:check
```
Editors should honor the repository's `.editorconfig`. The checked-in VS Code
settings also trim extra final newlines whenever a file is saved.
Git may print a one-time CRLF-to-LF conversion warning when an existing Windows
working copy is first staged under `.gitattributes`; that warning is not a
release failure, and subsequent repository text stays consistently LF.
The local release key is `F:\secure\healer-man-release.jks`. When the companion The local release key is `F:\secure\healer-man-release.jks`. When the companion
`healer-man-release-password.dpapi` file is present, blank signing-password `healer-man-release-password.dpapi` file is present, blank signing-password
fields are filled from that Windows user-encrypted credential in memory. The fields are filled from that Windows user-encrypted credential in memory. The
@@ -254,11 +269,14 @@ npm run dev
First check for whitespace errors and review the final file list: First check for whitespace errors and review the final file list:
```powershell ```powershell
git diff --check npm run release:check
git status --short git status --short
git diff --stat git diff --stat
``` ```
Use `npm run release:check` before the longer release validation. Unlike
`git diff --check`, it includes new, untracked files.
Stage the intended release: Stage the intended release:
```powershell ```powershell
@@ -520,7 +538,7 @@ Set-Location F:\Projects\HealerMan
npm run content:test npm run content:test
npm run build npm run build
git status --short git status --short
git diff --check npm run release:check
git add -A git add -A
git status --short git status --short
git diff --cached --stat git diff --cached --stat
File diff suppressed because it is too large. Load diff
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/TempestKeepArcane", "mapDirectory": "World/Maps/TempestKeepArcane",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/AuchindounDraenei", "mapDirectory": "World/Maps/AuchindounDraenei",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "burning-crusade", "expansion": "burning-crusade",
"extraction": { "extraction": {
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Blackfathom", "mapDirectory": "World/Maps/Blackfathom",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [20, 30]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [20, 30]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/BlackrockDepths", "mapDirectory": "World/Maps/BlackrockDepths",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [50, 60]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [50, 60]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/BlackRockSpire", "mapDirectory": "World/Maps/BlackRockSpire",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/HellfireDemon", "mapDirectory": "World/Maps/HellfireDemon",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/TempestKeepAtrium", "mapDirectory": "World/Maps/TempestKeepAtrium",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+2
View File
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/DireMaul", "mapDirectory": "World/Maps/DireMaul",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [0, 0, 0], "yawDegrees": 180},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [50, 60]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [50, 60]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "burning-crusade", "expansion": "burning-crusade",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/GnomeragonInstance", "mapDirectory": "World/Maps/GnomeragonInstance",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [25, 40]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [25, 40]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/HellfireRampart", "mapDirectory": "World/Maps/HellfireRampart",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [1262.4427, -60.8902, 1622.5397], "yawDegrees": 262.143},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Sunwell5ManFix", "mapDirectory": "World/Maps/Sunwell5ManFix",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [70, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [70, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/AuchindounEthereal", "mapDirectory": "World/Maps/AuchindounEthereal",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Mauradon", "mapDirectory": "World/Maps/Mauradon",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [40, 55]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [40, 55]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/TempestKeepFactory", "mapDirectory": "World/Maps/TempestKeepFactory",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/OrgrimmarInstance", "mapDirectory": "World/Maps/OrgrimmarInstance",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"globalWmoAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [13, 25]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [13, 25]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/RazorfenDowns", "mapDirectory": "World/Maps/RazorfenDowns",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [-2402.2809, 62, 1208.3219], "yawDegrees": 0},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [35, 50]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [35, 50]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+2 -1
View File
@@ -8,7 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/RazorfenKraulInstance", "mapDirectory": "World/Maps/RazorfenKraulInstance",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"globalWmoSourceBasis": "flip-x", "coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [-1952.1803, 87.684, 1587.8923], "yawDegrees": -133},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [25, 40]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [25, 40]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a", "clientBuild": "3.3.5a",
"mapDirectory": "World/Maps/MonasteryInstances", "mapDirectory": "World/Maps/MonasteryInstances",
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"adtSourceBasis": "z-y-negative-x",
"difficultyVariants": [ "difficultyVariants": [
{ "id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [26, 45] } { "id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [26, 45] }
], ],
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/SchoolofNecromancy", "mapDirectory": "World/Maps/SchoolofNecromancy",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [-141.694, 148.0683, 105.6784], "yawDegrees": 1},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/AuchindounDemon", "mapDirectory": "World/Maps/AuchindounDemon",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/AuchindounShadow", "mapDirectory": "World/Maps/AuchindounShadow",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -7,12 +7,14 @@
"expansion": "classic", "expansion": "classic",
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Shadowfang", "mapDirectory": "World/Maps/Shadowfang",
"environmentMode": "global-wmo", "environmentMode": "detect",
"coordinateAlignment": "source",
"adtSourceBasis": "z-y-negative-x",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [18, 30]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [18, 30]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
"extraction": {"rootWmo": "World/wmo/Dungeon/LD_ShadowFang/LD_ShadowFang.wmo", "doodadSets": ["Set_$DefaultGlobal"]}, "extraction": {"adtTiles": "all-present"},
"navigation": {"cellSize": 0.2, "cellHeight": 0.1, "agentHeight": 1.8, "agentRadius": 0.36, "agentMaxClimb": 0.5, "agentMaxSlope": 50}, "navigation": {"cellSize": 0.2, "cellHeight": 0.1, "tileSize": 256, "retainTileIntermediates": false, "agentHeight": 1.8, "agentRadius": 0.36, "agentMaxClimb": 0.5, "agentMaxSlope": 50},
"review": {"entrance": "required", "bossOrder": "required", "optionalEncounters": "required", "presentation": "required", "offMeshLinks": "required"}, "review": {"entrance": "required", "bossOrder": "required", "optionalEncounters": "required", "presentation": "required", "offMeshLinks": "required"},
"exceptions": [] "exceptions": []
} }
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/HellfireMilitary", "mapDirectory": "World/Maps/HellfireMilitary",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/CoilfangDraenei", "mapDirectory": "World/Maps/CoilfangDraenei",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/CoilfangPumping", "mapDirectory": "World/Maps/CoilfangPumping",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+2
View File
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Stratholme", "mapDirectory": "World/Maps/Stratholme",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source-transform",
"coordinateTransform": {"origin": [-3449.6608, 144.3848, -3379.6966], "yawDegrees": 0},
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [55, 60]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/SunkenTemple", "mapDirectory": "World/Maps/SunkenTemple",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [45, 55]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [45, 55]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
+1
View File
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+1
View File
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/Uldaman", "mapDirectory": "World/Maps/Uldaman",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [ "difficultyVariants": [
{ {
"id": "normal", "id": "normal",
+1
View File
@@ -8,6 +8,7 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/CoilfangMarsh", "mapDirectory": "World/Maps/CoilfangMarsh",
"environmentMode": "global-wmo", "environmentMode": "global-wmo",
"coordinateAlignment": "source",
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}], "difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"}, "clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true}, "serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
@@ -27,6 +27,7 @@
} }
], ],
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"exceptions": [], "exceptions": [],
"expansion": "wrath", "expansion": "wrath",
"extraction": { "extraction": {
+2
View File
@@ -8,6 +8,8 @@
"clientBuild": "3.3.5a-Ascension", "clientBuild": "3.3.5a-Ascension",
"mapDirectory": "World/Maps/TanarisInstance", "mapDirectory": "World/Maps/TanarisInstance",
"environmentMode": "detect", "environmentMode": "detect",
"coordinateAlignment": "source",
"adtSourceBasis": "z-y-negative-x",
"difficultyVariants": [ "difficultyVariants": [
{ "id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [40, 54] } { "id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [40, 54] }
], ],
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "healer-man", "name": "healer-man",
"version": "0.1.5", "version": "0.1.13",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "healer-man", "name": "healer-man",
"version": "0.1.5", "version": "0.1.13",
"dependencies": { "dependencies": {
"@capacitor/android": "8.4.1", "@capacitor/android": "8.4.1",
"@capacitor/core": "8.4.1", "@capacitor/core": "8.4.1",
+11 -5
View File
@@ -1,7 +1,7 @@
{ {
"name": "healer-man", "name": "healer-man",
"private": true, "private": true,
"version": "0.1.5", "version": "0.1.13",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite --host 0.0.0.0", "dev": "vite --host 0.0.0.0",
@@ -12,15 +12,17 @@
"content:publish": "node scripts/content/publish-content.mjs", "content:publish": "node scripts/content/publish-content.mjs",
"android:prepare": "node scripts/content/prepare-android-bootstrap.mjs", "android:prepare": "node scripts/content/prepare-android-bootstrap.mjs",
"content:test": "node --test scripts/content/*.test.mjs", "content:test": "node --test scripts/content/*.test.mjs",
"effects:generate": "node scripts/combat-effects/generate-manifest.mjs --package-audio", "effects:generate": "node scripts/combat-effects/generate-manifest.mjs --package-audio && node scripts/combat-effects/package-priest-original.mjs",
"effects:audit": "node scripts/combat-effects/generate-manifest.mjs --package-audio --audit", "effects:audit": "node scripts/combat-effects/generate-manifest.mjs --package-audio --audit && node scripts/combat-effects/package-priest-original.mjs --audit",
"effects:priest": "node scripts/combat-effects/package-priest-original.mjs",
"effects:test": "node --test scripts/combat-effects/*.test.mjs", "effects:test": "node --test scripts/combat-effects/*.test.mjs",
"wow335:abilities": "node scripts/generate-wow335-abilities.mjs", "wow335:abilities": "node scripts/generate-wow335-abilities.mjs",
"coa:sync": "node scripts/sync-ascension-coa.mjs", "coa:sync": "node scripts/sync-ascension-coa.mjs",
"coa:sync:live": "node scripts/sync-ascension-coa.mjs --tooltips", "coa:sync:live": "node scripts/sync-ascension-coa.mjs --tooltips",
"coa:icons": "node scripts/export-spell-icons.mjs", "coa:icons": "node scripts/export-spell-icons.mjs",
"ascension:talents": "node scripts/generate-wow335-talents.mjs ../wow335a/Interface/AddOns/PlayerBotManager/PBM/PBM_TalentData.lua ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc src/game/wow335Talents.generated.ts ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Talent.dbc", "ascension:talents": "node scripts/generate-wow335-talents.mjs ../wow335a/Interface/AddOns/PlayerBotManager/PBM/PBM_TalentData.lua ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc src/game/wow335Talents.generated.ts ../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Talent.dbc",
"ascension:sync": "npm run coa:sync && npm run wow335:abilities && npm run ascension:talents && npm run coa:icons", "catalogs:shard": "vite-node scripts/generate-catalog-shards.ts",
"ascension:sync": "npm run coa:sync && npm run wow335:abilities && npm run ascension:talents && npm run coa:icons && npm run catalogs:shard",
"manastorm:import": "node scripts/manastorm-import/cli.mjs", "manastorm:import": "node scripts/manastorm-import/cli.mjs",
"manastorm:forensics": "node scripts/manastorm-import/forensics-cli.mjs", "manastorm:forensics": "node scripts/manastorm-import/forensics-cli.mjs",
"manastorm:sync": "npm run manastorm:import && npm run manastorm:forensics && npm run coa:icons", "manastorm:sync": "npm run manastorm:import && npm run manastorm:forensics && npm run coa:icons",
@@ -91,13 +93,17 @@
"assets:ktx2:creatures": "node scripts/asset-pipeline/compress-creature-ktx2.mjs", "assets:ktx2:creatures": "node scripts/asset-pipeline/compress-creature-ktx2.mjs",
"assets:ktx2:audit": "node scripts/asset-pipeline/audit-ktx2.mjs --visual-only --require-all", "assets:ktx2:audit": "node scripts/asset-pipeline/audit-ktx2.mjs --visual-only --require-all",
"assets:ktx2:refresh-metadata": "node scripts/asset-pipeline/refresh-ktx2-metadata.mjs", "assets:ktx2:refresh-metadata": "node scripts/asset-pipeline/refresh-ktx2-metadata.mjs",
"prebuild": "npm run loot:generate && npm run assets:ktx2:audit", "assets:performance:audit": "node scripts/asset-pipeline/audit-environment-performance.mjs",
"balance:benchmark": "vite-node scripts/combat-benchmark/run.ts",
"balance:smoke": "vite-node scripts/combat-benchmark/run.ts --class mage --role damage --scenario damage-single-burst --seeds 1 --duration-scale 0.2",
"prebuild": "npm run loot:generate && npm run assets:ktx2:audit && npm run assets:performance:audit",
"build": "node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build", "build": "node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build",
"build:android:web": "npm run prebuild && npm run android:prepare && node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode android", "build:android:web": "npm run prebuild && npm run android:prepare && node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode android",
"android:sync": "npm run build:android:web && cap sync android", "android:sync": "npm run build:android:web && cap sync android",
"android:apk": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleDebug", "android:apk": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleDebug",
"android:apk:release": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleRelease", "android:apk:release": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleRelease",
"android:install": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 installDebug", "android:install": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 installDebug",
"release:check": "python scripts/release_manager.py --check-release",
"release:gui": "python scripts/release_manager.py", "release:gui": "python scripts/release_manager.py",
"preview": "vite preview --host 0.0.0.0", "preview": "vite preview --host 0.0.0.0",
"pretest": "npm run loot:generate", "pretest": "npm run loot:generate",
Loaded 100 of 829 files, more files were not shown because too many files have changed in this diff. Show more