forked from phenom/healer-man
158 lines
9.7 KiB
Markdown
158 lines
9.7 KiB
Markdown
# Enemy source parity continuation — 2026-10-06
|
||
|
||
## Result
|
||
|
||
Ordinary source NPC defense consumes target-local block chance, ignore-hit-direction,
|
||
and critical-block aura inputs. Successful ordinary and post-hit blocks roll the
|
||
source integer critical-block chance independently, doubling block value on success.
|
||
Player/party auto damage events carry their actual weapon hand, and the QA recorder
|
||
projects those results onto committed Disarm windows.
|
||
|
||
Imported Intimidating Shout 5246 and Frightening Shout 19134 now use separate
|
||
explicit-victim child and caster-centered area targeting. The parent cast retains
|
||
its captured victim through threat changes and rechecks eligibility, range and LOS
|
||
at release. The area uses an inclusive 8m 3D radius without a separate LOS check,
|
||
and 5246 caps its shared area selection at five. The eligible explicit victim can
|
||
also receive the area aura. The child/parent controls remain independently stored;
|
||
their longest active timer governs control, with stun winning equal expiry ties.
|
||
All four source rows have Dispel 0. A different caster preserves an existing copy;
|
||
same-caster recasts refresh it. Timed recipient auras survive caster removal.
|
||
|
||
The Ascension 20511 child also applies its sourced +15% physical damage taken.
|
||
Epoch has no such rider. The compiler checks parent and child DBC signatures,
|
||
trigger links, cap, attributes and Dispel before emitting the new descriptor.
|
||
Catalog regeneration changes six attack effect descriptors across four dungeons
|
||
and adds 11,095 explicit source GUIDs to static spawns and patrol members. All
|
||
other catalog data, geometry, health and populations compare equal to the
|
||
pre-generation snapshot. `artifacts/enemy-source-parity-2026-10-06/catalog-diff.json`
|
||
and `catalog-equipment-audit.json` retain both checks; the compressed catalog
|
||
matches the JSON output.
|
||
The boss guide describes the distinct victim and area effects.
|
||
|
||
The exact pinned equipment table is recovered and hash-checked. Its imported
|
||
13,277 spawn assignments join source selectors to sanitized virtual item IDs
|
||
using the pinned Item.dbc inventory whitelist. An ordinary NPC with a validated
|
||
offhand weapon gains AUTO offhand capability, keeps its independent half-delay
|
||
timer, and restores that capability after evade/death resets. Source GUIDs travel
|
||
from the compiler through population/scene registration and the selected
|
||
Cellblock Rush boss clone. Missing or mismatched GUIDs, empty hands, shields,
|
||
unsupported selectors and native actors do not acquire AUTO offhand attacks.
|
||
Item stats, model attachments and loot are outside this mapping.
|
||
|
||
## Source boundaries
|
||
|
||
- Improved Blocking 3419 is a complete supported source import. Critical Block
|
||
47294–47296 and Deterrence variants supply reviewed block-input contracts but
|
||
remain gated as complete automatic spell imports: their sibling effects are
|
||
unsupported. The runtime tests explicitly use block-input fixtures.
|
||
- Non-direct full-hit blocking has a bounded source proof for WoW Shield Bash 72.
|
||
Its helper proves only the relevant custom-attribute bits for one pinned core
|
||
and database snapshot. Utility/status application consumers and other source
|
||
profiles remain open; a client DBC alone does not establish absent custom bits.
|
||
- Equipment selector zero, exact positive IDs, ordinal-plus-one random selection,
|
||
and alternate entry validation use the recovered matching source. Synthetic
|
||
actors lack an explicit source GUID and remain unbound; no-spawn-data ID-1
|
||
defaults are not inferred. This mapping does not import item damage or stats.
|
||
- Hostile-NPC outgoing threat is source-inapplicable to the current enemy target
|
||
path. Current eligible recipients are playable player/party actors or owned
|
||
summons; a future NPC-vs-NPC path requires a recipient-side threat-list model.
|
||
- Parent shout aura 31's movement-speed rider, additional server hit/immunity
|
||
exceptions, Ascension stance DUMMY behavior, exact Thrash source cast timing,
|
||
native custom gear/rates/prerequisites and wider proc formulas remain open.
|
||
|
||
Source audits:
|
||
[block auras](NPC_BLOCK_AURA_PARITY_2026-10-06.md),
|
||
[triggered shouts](ENEMY_TRIGGERED_SHOUTS_2026-10-06.md),
|
||
[equipment mappings](ENEMY_EQUIPMENT_MAPPING_2026-10-06.md), and
|
||
[threat boundary](HOSTILE_NPC_THREAT_BOUNDARY_2026-10-06.md).
|
||
|
||
## Validation
|
||
|
||
- Initial source/hand checks: 90 tests across 17 focused files passed. After
|
||
equipment integration, 73 affected helper/runtime/population tests across 10
|
||
files passed; these groups overlap and are not additive.
|
||
- Importer, compiler pin, actor Disarm evidence and committed recorder checks:
|
||
20 Node tests passed. The wrapper's `--prepare-only --bite-sized-stockade`
|
||
syntax check passed without starting a server or browser.
|
||
- Ready-five: 7 Vitest and 20 Python tests passed. Avatar checks: 56 passed.
|
||
No full-suite or all-class sweep was run.
|
||
- Independent Luna reviews found no confirmed issue in shared block/shout
|
||
integration or source GUID/equipment registration/reset behavior. The new
|
||
equipment runtime fixture explicitly requires pinned flags before reading
|
||
them, fixing two optional-value errors caught by the first TypeScript build.
|
||
- Standard `npm run build` passed after that fix: TypeScript, Vite, environment
|
||
audits, static compression and release-bundle verification. The asset audit
|
||
has its existing 60 budget exceptions and no regressions. Existing build
|
||
prehooks regenerate the same 9-boss/23-item catalog; no loot is wired here.
|
||
- Catalog metadata audit: 11,095 source GUID additions, 30 leaf changes within
|
||
six reviewed shout descriptors, zero other changes, matching compressed JSON.
|
||
|
||
The reviewed build is frozen at
|
||
`artifacts/enemy-source-parity-2026-10-06/corrected-build-20261006-054606946/`.
|
||
All 5,967 build files are verified, aggregate SHA-256
|
||
`50f723e4737f01fe82973c1a9c8259a4358179c1df74373b587fa76fb69b44a7`.
|
||
The unchanged isolated content copy is reused from the earlier fully verified
|
||
freeze: manifest SHA-256
|
||
`ac0fa2a867ba0a495c172de2b89532d69b32d56d032482b26020ce2d189f074b`,
|
||
27,571 objects, 6,489,632,021 bytes. This freeze rehashes both content manifests
|
||
and the complete new build; it does not recopy those unchanged objects.
|
||
|
||
All subprocesses use GPT-6 Luna with extra-high reasoning. The workspace includes
|
||
concurrent changes; no stage, commit or deployment is part of this task. Level
|
||
cap 80, existing loot scope and readiness policy remain unchanged.
|
||
|
||
## One final live check
|
||
|
||
Run `playtest-artifacts/stockade-weapon-utilities/20261006-054628643/` uses the
|
||
frozen build and normal Cellblock Rush entry. The UI-created Discipline Priest
|
||
profile receives isolated pre-entry level-30 preparation; four companions are
|
||
asserted against the Ready-five set. Gameplay uses ordinary movement, target,
|
||
party-command and healing inputs with read-only committed telemetry. No Boss
|
||
Testing, combat-state writes, enemy/aura seeding or teleports are used.
|
||
|
||
The seeded boss is **Targorr the Dread**, entry 1696, source/live actor
|
||
`creature-84027`, from source dungeon `stormwind-stockade`. Native killed-boss
|
||
progress and the results overlay agree on **1/1** in **03:10.3**. No player or
|
||
party deaths are recorded; effective player healing is 2,845.8. This certifies
|
||
the entered bite-sized slice, not the five-boss full campaign.
|
||
|
||
The recorder retains 794 consecutive post-baseline events with zero ID gaps,
|
||
sampling errors or capacity loss. Actual NPC weapon results comprise 60
|
||
mainhand, eight offhand and four Thrash extra-mainhand outcomes. The latter
|
||
retain source spell 3391. Three queued-extra-attack state observations and 89
|
||
positive offhand timer observations are also retained; snapshots are not
|
||
activation counts. Player/party auto results contribute 162 actual hand events.
|
||
Targorr's committed source-equipment snapshot retains GUID 84027, selector/set
|
||
1, virtual items `[5305, 5305, 0]`, offhand Class 2 and AUTO capability, including
|
||
a pre-engagement state with no armed offhand timer.
|
||
Three committed actor Disarm windows contain four such results; their presence
|
||
does not independently prove contribution formulas or cast gates. Runtime
|
||
regressions provide that bounded coverage.
|
||
|
||
The seed records three Disarm and 39 Wound aura snapshots. Bloodlust, block and
|
||
triggered-shout aura applications are unobserved in this seed; source/helper and
|
||
runtime fixtures cover the newly implemented block/shout behavior. These absent
|
||
live observations do not certify all spells or encounter variants.
|
||
|
||
Root visually inspects the desktop roster, dungeon equipment silhouette,
|
||
mid-route images and `bite-sized-stormwind-stockade-boss-arrival.png` (which
|
||
captures the native results overlay). Player/companion bodies and staff,
|
||
shield, sword and dagger silhouettes are visible. Overlap/occlusion limits a
|
||
complete per-companion gear inspection. Results clearly show Targorr and 1/1.
|
||
No page exceptions occur; the sole outer console item is a favicon 404.
|
||
|
||
Both build and content manifest fingerprints remain unchanged before/after.
|
||
The harness verifies 2,124 actually served hash-addressed, manifest-referenced
|
||
content objects with zero integrity failures. Independent Luna audit rehashes
|
||
all 5,967 frozen build files, the seven recorded loaded build chunks and all
|
||
2,124 served content objects (77,019,550 bytes), with zero failures. Recorded
|
||
URLs and successful response metadata agree with those immutable sources; raw
|
||
network response bodies were not persisted. Recorder IDs 9–802 are independently
|
||
checked as consecutive. Evidence:
|
||
`playtest-artifacts/stockade-weapon-utilities/20261006-054628643/independent-evidence-audit.json`.
|
||
|
||
`npm run release:check` passes 399 changed paths including untracked files.
|
||
Game/vault diffs are reviewed separately, and all six task vault notes pass EOF
|
||
and trailing-whitespace checks. The worklog is closed; the one owned live helper,
|
||
server and browser are cleaned up. No source changes follow the frozen live run.
|