Release Healer Man 0.1.22

This commit is contained in:
phenom committed 2026-09-09 11:21:33 -04:00
1 parent f6f2375145
commit 7f6001723a
144 files changed
+54107 -690

No files matched your search

@@ -0,0 +1,858 @@
{
"schemaVersion": 1,
"scope": "ascension-custom-five-player-source-recovery",
"status": "partial-authoritative-recovery",
"sourcePolicy": {
"exact": "Values copied from installed-client DBC rows or already checksummed map packages.",
"spellLinked": "Creature and gameobject IDs recovered from summon effects in installed-client Spell.dbc. The link is exact even when the missing creature_template or gameobject_template name is inferred from the spell context.",
"authored": "Timing, phase ownership, placement, health tuning, and any entity explicitly marked authored are adaptation decisions, not claims about Ascension server behavior."
},
"sources": [
{
"id": "ascension-area52-spell-dbc",
"kind": "installed-client-dbc",
"pathHint": "../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc",
"sha256": "2f77f18b91ffbae32a19568e4bc05ec78ee384b6ba8dd2a6e05f0e97abbb2dce",
"header": {
"signature": "WDBC",
"recordCount": 238891,
"fieldCount": 234,
"recordSize": 936,
"stringBlockSize": 14058299
},
"localeField": "enUS",
"confidence": "exact"
},
{
"id": "manastorm-runtime-catalog",
"kind": "installed-client-encounter-export",
"path": "src/game/generated/manastormRuntimeCatalog.json",
"confidence": "exact"
},
{
"id": "manastorm-asset-packages",
"kind": "installed-client-map-export",
"path": "src/game/generated/manastormAssetPackages.json",
"confidence": "exact-environment-provisional-semantics"
},
{
"id": "campaign-runtime-snapshot",
"kind": "generated-runtime-catalog",
"path": "src/game/generated/dungeonCampaignCatalog.json",
"confidence": "exact-current-state"
},
{
"id": "ascension-db-alva",
"kind": "official-public-database",
"url": "https://db.ascension.gg/?npc=97700",
"confidence": "exact"
},
{
"id": "ascension-db-arktos",
"kind": "official-public-database",
"url": "https://db.ascension.gg/?npc=97701",
"confidence": "exact"
},
{
"id": "ascension-changelog-frozen-reach-blast-arrow",
"kind": "official-changelog",
"url": "https://ascension.gg/en/changelog/1?page=7",
"confidence": "exact-wording-name-differs"
},
{
"id": "ascension-changelog-frozen-reach-rebirth",
"kind": "official-changelog",
"url": "https://ascension.gg/en/changelog/1?page=8",
"confidence": "exact"
},
{
"id": "ascension-changelog-forgotten-mine-crystals",
"kind": "official-changelog",
"url": "https://ascension.gg/en/changelog/1?page=51",
"confidence": "exact"
},
{
"id": "ascension-changelog-forgotten-mine-geospike",
"kind": "official-changelog",
"url": "https://ascension.gg/en/changelog/1?page=29",
"confidence": "exact"
}
],
"localSearchAudit": {
"searchedRoots": [
"../wow-pvt-server-backups-2",
"../WoW-Pvt-Server-Backups",
"../wow-private-server-notes",
"../LadiksMPQEditor",
"../wow335a/Cache",
"../resources/client/Cache"
],
"searchedArtifacts": [
"creature_template and creature spawn SQL",
"gameobject_template and gameobject spawn SQL",
"SmartAI and ScriptName bindings",
"Lua/XML/JSON/CSV encounter data",
"creaturecache.wdb and gameobjectcache.wdb records"
],
"missingAuthoritativeData": [
"creature templates and display mappings for 663012, 97700, and 254272",
"world spawn rows for maps 821, 908, and 1781",
"server-side encounter scripts and cast cadence",
"authoritative trash population and patrol routes",
"authoritative gameobject placements"
],
"publicSnapshotCheck": {
"repository": "https://github.com/Ascension-Addons/Questie-X-AscensionDB.git",
"commit": "cf6710ef94c264d842cf2ea94c4b50e9ece6dd61",
"result": "No target boss IDs, names, spawns, or encounter scripts were present."
}
},
"dungeons": [
{
"mapId": 821,
"id": "tinkertech-showdown",
"title": "Tinkertech Showdown",
"mapDirectory": "TinketechShowdown",
"sourceClassification": "identity-and-environment-only",
"environment": {
"sourceHash": "323c47c081d0a6c39daf9878284863c21e3e38dbced2ba3f58d1d157d080d41d",
"rootWmo": "World/wmo/Dungeon/AZ_Subway/Subway_Dungeon.wmo",
"anchors": {
"player": [
3.648781,
-4.167801,
66.263252
],
"trash": [
10.220209,
-126.067818,
1266.206177
],
"boss": [
-15.779793,
-4.267807,
2439.406006
]
},
"semanticStatus": "provisional-geometry-derived"
},
"encounters": [
{
"encounterId": 9013,
"modeId": 2,
"name": "Mechatron",
"creatureId": 663012,
"identityConfidence": "exact"
}
],
"currentRuntime": {
"bossEntityId": "entry-663012",
"proceduralTrashSpawnCount": 15,
"proceduralMobEntries": [
{
"entityId": "tinkertech-showdown-guardian",
"serverEntry": 2629079128
},
{
"entityId": "tinkertech-showdown-caster",
"serverEntry": 3849447491
},
{
"entityId": "tinkertech-showdown-brute",
"serverEntry": 1787979165
}
]
},
"sourceRecovery": {
"association": "candidate-client-cluster-only",
"associationConfidence": "low",
"reason": "These adjacent client rows form a coherent mechanical-machine kit and include Sound: Goblin Head Machine Loop, but no recovered server row links them to creature 663012.",
"spellRows": {
"257438": "Rocket",
"257459": "Gatling Missile Barrage",
"257460": "Gatling Missile",
"257461": "Gatling Missile",
"257462": "Sound: Goblin Head Machine Loop",
"257470": "Incineration Beam",
"257471": "Energy Ball",
"257472": "Electrified Zone",
"257473": "Electric Shock"
},
"families": {
"rocket": [
257438
],
"gatlingMissileBarrage": [
257459,
257460,
257461
],
"incinerationBeam": [
257470
],
"electrifiedZone": [
257472,
257473
]
}
},
"adaptation": {
"status": "custom-authoring-required",
"populationPlan": {
"disposition": "retain-current-route-as-explicit-adaptation",
"packCount": 5,
"membersPerPack": 3,
"authoredMobs": [
{
"serverEntry": 2629079128,
"name": "Tinkertech Guardbot",
"role": "melee-interceptor"
},
{
"serverEntry": 3849447491,
"name": "Tinkertech Coilcaster",
"role": "electrical-ranged"
},
{
"serverEntry": 1787979165,
"name": "Tinkertech Demolisher",
"role": "rocket-bruiser"
}
]
},
"encounterPlan": [
"Mechatron remains creature 663012 at the provisional boss anchor.",
"Rocket uses a 2.0 second target reticle and splash damage on an authored 8 second cadence.",
"Gatling Missile Barrage uses a 3.0 second warning followed by eight lane impacts over 4 seconds on an authored 14 second cadence.",
"Incineration Beam uses a 2.5 second wind-up and sweeps the subway lane for 5 seconds; immutable web geometry means it visually disables lane sections instead of permanently destroying client platforms.",
"Electrified Zone alternates floor strips after a 1.5 second warning, remains active for 8 seconds, and applies a 1.5 second stun on contact.",
"At 35 percent health, cadence accelerates by 20 percent and two authored Coilcasters enter from the previous pack anchor."
],
"mustBeCustomAuthored": [
"all trash identities, placements, and AI",
"all boss timing and phase thresholds",
"the decision to associate candidate spells 257438 and 257459-257473 with Mechatron",
"platform or lane disable behavior",
"boss and trash visual composites",
"loot and completion scripting"
]
},
"unresolved": [
"No authoritative Mechatron spell-to-creature binding was found.",
"No authoritative trash or gameobject IDs were found.",
"The custom ADT placement transform and all semantic anchors still require playtest approval."
]
},
{
"mapId": 908,
"id": "frozen-reach",
"title": "Frozen Reach",
"mapDirectory": "Alvaencounter",
"sourceClassification": "encounter-spells-and-summons-recovered",
"environment": {
"sourceHash": "5ab771df79c0e062cea3ebda4e416a9245bcf8a4cc6da048077df5e674081f97",
"anchors": {
"player": [
1858.534668,
78.860199,
2229.334473
],
"trash": [
2100.134766,
80.860199,
2132.93457
],
"boss": [
2344.134766,
62.460205,
2134.334717
]
},
"semanticStatus": "provisional-elevated-encounter-component"
},
"encounters": [
{
"encounterId": 2168,
"modeId": 0,
"name": "Alva",
"creatureId": 97700,
"identityConfidence": "exact"
},
{
"encounterId": 2170,
"modeId": 2,
"name": "Alva",
"creatureId": 97700,
"identityConfidence": "exact"
}
],
"entities": [
{
"entryId": 97700,
"name": "Alva",
"role": "boss",
"sourceKind": "encounter-dbc-and-official-db"
},
{
"entryId": 97701,
"name": "Arktos",
"role": "boss-companion",
"sourceKind": "official-db"
},
{
"entryId": 97703,
"name": "Blast Arrow summoned unit",
"role": "area-trigger",
"sourceKind": "spell-linked-name-inferred"
},
{
"entryId": 97731,
"name": "Explosive Trap summoned unit",
"role": "trap",
"sourceKind": "spell-linked-name-inferred"
},
{
"entryId": 97770,
"name": "Alvajar summoned unit",
"role": "add",
"sourceKind": "spell-linked-name-inferred"
}
],
"currentRuntime": {
"bossEntityId": "entry-97700",
"proceduralTrashSpawnCount": 15,
"proceduralMobEntries": [
{
"entityId": "frozen-reach-guardian",
"serverEntry": 1606324391
},
{
"entityId": "frozen-reach-caster",
"serverEntry": 854807736
},
{
"entityId": "frozen-reach-brute",
"serverEntry": 2855026892
}
]
},
"sourceRecovery": {
"association": "explicit-alva-arktos-client-cluster",
"associationConfidence": "high",
"spellRows": {
"255347": "Auto Shot",
"255349": "Rain of Arrows",
"255351": "Rain of Arrows",
"255352": "Unbridled Arrows",
"255353": "Unbridled Arrows",
"255358": "Blast Arrow",
"255359": "Blast Arrow",
"255360": "Pact of the Hunt",
"255362": "Blast Arrow",
"255363": "Blast Arrow",
"255374": "Ice Rock",
"255375": "Ice Rock",
"255377": "Ice Rock",
"255378": "Unholy Frenzy",
"255379": "Carnivorous Bite",
"255380": "Frost Shield",
"255381": "Set Ablaze",
"255382": "Blaze",
"255387": "Frost Strike",
"255389": "Shadow Shroud Surge",
"255390": "Shadow Shroud Rebirth",
"255393": "Sphere of Grief and Wrath",
"255394": "Vengeful Bolt",
"255395": "Vengeful Bolt",
"255397": "Shadow Veil Lance",
"255398": "Shadow Veil Lance",
"255399": "Frost Roar",
"255401": "Cluster Shot",
"255402": "Cluster Shot",
"255403": "Cluster Shot",
"255410": "Alva's Grief",
"255411": "Alva's Grief",
"255412": "Frost orb",
"255413": "Frozen Pulse",
"255417": "Shield Wall",
"255418": "Shield Wall",
"255419": "Alva's Wrath",
"255420": "Throw Explosive Trap",
"255421": "Explosive Trap",
"255423": "Trap Explosion",
"255424": "Charging",
"255426": "Explosive Trap",
"255427": "Frostblade Strike",
"255428": "Frostblade Strike",
"255432": "Army of the Dead",
"255433": "Army of the Dead",
"255434": "Lacerate",
"255435": "Lacerate",
"255436": "Lacerate",
"255437": "Arcing Slice",
"255438": "Rain of Arrows",
"255439": "Rain of Arrows",
"255440": "Cluster Shot",
"255441": "Cluster Shot",
"255442": "Unbridled Arrows",
"255443": "Unbridled Arrows",
"255444": "Blast Arrow",
"255445": "Blast Arrow",
"255446": "Frost Roar",
"255447": "Frost Roar",
"255448": "Vengeful Bolt",
"255449": "Vengeful Bolt",
"255450": "Ice Rock",
"255451": "Ice Rock",
"255452": "Frostblade Strike",
"255453": "Frostblade Strike",
"255454": "Shadow Shroud Surge",
"255455": "Shadow Shroud Surge",
"255456": "Shadow Shroud Rebirth",
"255457": "Shadow Shroud Rebirth",
"255458": "Shadow Veil Lance",
"255459": "Shadow Veil Lance",
"255460": "Alva's Wrath",
"255461": "Alva's Wrath",
"255462": "Sphere of Grief and Wrath",
"255463": "Sphere of Grief and Wrath",
"255464": "Frost Strike",
"255465": "Frost Strike",
"255466": "Predator's Fury",
"255467": "Alva's Grief",
"255468": "Alva's Grief",
"255469": "Trap Explosion",
"255470": "Trap Explosion",
"255471": "Frozen Pulse",
"255472": "Frozen Pulse"
},
"families": {
"alvaRanged": [
255347,
255349,
255351,
255352,
255353,
255358,
255359,
255401,
255402,
255403,
255420,
255421,
255423,
255424
],
"arktos": [
255360,
255374,
255375,
255377,
255378,
255379,
255380,
255381,
255382,
255387,
255399,
255417,
255418,
255434
],
"alvaVengeance": [
255389,
255390,
255393,
255394,
255395,
255397,
255398,
255410,
255411,
255419,
255432,
255433
],
"difficultyOneAndTwoVariants": [
255435,
255436,
255438,
255439,
255440,
255441,
255442,
255443,
255444,
255445,
255446,
255447,
255448,
255449,
255450,
255451,
255452,
255453,
255454,
255455,
255456,
255457,
255458,
255459,
255460,
255461,
255462,
255463,
255464,
255465,
255467,
255468,
255469,
255470,
255471,
255472
]
},
"summonLinks": [
{
"spellId": 255363,
"effectIndex": 0,
"effectType": 28,
"targetKind": "creature",
"entryId": 97703
},
{
"spellId": 255421,
"effectIndex": 0,
"effectType": 28,
"targetKind": "creature",
"entryId": 97731
},
{
"spellId": 255433,
"effectIndex": 0,
"effectType": 28,
"targetKind": "creature",
"entryId": 97770
}
]
},
"adaptation": {
"status": "source-backed-custom-cadence-required",
"populationPlan": {
"disposition": "remove-unverified-generic-trash",
"reason": "Alvaencounter and the recovered spell cluster describe a contained Alva/Arktos encounter; no evidence supports the current 15 generic hallway creatures.",
"encounterEntities": [
97700,
97701,
97703,
97731,
97770
]
},
"encounterPlan": [
"Phase one starts Alva 97700 and Arktos 97701 together, with Pact of the Hunt 255360 active while they remain close.",
"Alva uses Rain of Arrows, Unbridled Arrows, Blast Arrow, Cluster Shot, and summoned Explosive Traps; Arktos uses Carnivorous Bite, Ice Rock, Frost Roar, Lacerate, and defensive Frost Shield or Shield Wall.",
"Blast Arrow can strike Arktos and apply Set Ablaze 255381, causing panic movement, Blaze 255382, and increased damage taken. This matches the official changelog's Blast Shot/Arktos interaction despite the DBC naming it Blast Arrow.",
"Arktos death leaves Alva's Grief 255410 around the corpse and transitions Alva to the vengeance kit.",
"The transition casts Shadow Shroud Rebirth 255390 and summons four Alvajar 97770 around the arena. Rebirth damage must scale by living group size, reaching full value at five or more players per the official changelog.",
"Phase two rotates Vengeful Bolt, Shadow Veil Lance, Sphere of Grief and Wrath, Army of the Dead, and stacking Alva's Wrath as the soft enrage.",
"Wire ASC D0 rows to the current normal experience. Preserve D1 and D2 rows but do not assign public difficulty labels until an authoritative mode mapping is recovered."
],
"authoredCadence": {
"rainOfArrowsMs": 12000,
"unbridledArrowsMs": 20000,
"blastArrowMs": 15000,
"clusterShotMs": 18000,
"explosiveTrapMs": 16000,
"arktosIceRockMs": 12000,
"arktosFrostRoarMs": 18000,
"vengefulBoltMs": 7000,
"shadowVeilLanceMs": 12000,
"sphereOfGriefMs": 20000,
"alvasWrathMs": 25000
},
"mustBeCustomAuthored": [
"all cast cadence and target-selection rules",
"Arktos initial placement and companion pathing",
"phase transition and exact death threshold behavior",
"Alvajar formation and spawn placement",
"trap and area-trigger web-runtime behavior",
"boss and add visual composites",
"loot and completion scripting"
]
},
"unresolved": [
"The server-side spell schedule and encounter script are absent.",
"Creature template stats, display IDs, and exact positions are absent.",
"ASC D0/D1/D2 spell ranks cannot be mapped safely beyond D0 without a surviving difficulty script."
]
},
{
"mapId": 1781,
"id": "forgotten-mine",
"title": "Forgotten Mine",
"mapDirectory": "ForgottenMine",
"sourceClassification": "encounter-spells-creature-summon-and-gameobject-recovered",
"environment": {
"sourceHash": "693b7067aa1109e14beb944bc95aed8299bf64e2ec6ae3dc43f4fab7d18f57b6",
"anchors": {
"player": [
1285.886108,
149.58075,
1724.264526
],
"trash": [
1857.461304,
136.080749,
1871.884277
],
"boss": [
2246.06665,
198.180786,
2147.866699
]
},
"semanticStatus": "provisional-main-navigation-component"
},
"encounters": [
{
"encounterId": 5069,
"modeId": 0,
"name": "Geolord Vek",
"creatureId": 254272,
"identityConfidence": "exact"
},
{
"encounterId": 5071,
"modeId": 2,
"name": "Geolord Vek",
"creatureId": 254272,
"identityConfidence": "exact"
}
],
"entities": [
{
"entryId": 254272,
"name": "Geolord Vek",
"role": "boss",
"sourceKind": "encounter-dbc"
},
{
"entryId": 254278,
"name": "Geospike summoned unit",
"role": "hazard",
"sourceKind": "spell-linked-name-inferred"
}
],
"gameObjects": [
{
"entryId": 254051,
"name": "Resonite Shard",
"role": "clickable-encounter-countermeasure",
"sourceKind": "spell-linked-name-from-create-spell"
}
],
"currentRuntime": {
"bossEntityId": "entry-254272",
"proceduralTrashSpawnCount": 15,
"proceduralMobEntries": [
{
"entityId": "forgotten-mine-guardian",
"serverEntry": 4175632753
},
{
"entityId": "forgotten-mine-caster",
"serverEntry": 647988074
},
{
"entityId": "forgotten-mine-brute",
"serverEntry": 2677742134
}
]
},
"sourceRecovery": {
"association": "explicit-vek-client-cluster",
"associationConfidence": "high",
"reason": "The contiguous cluster contains Vek Death and Vek Reset control rows alongside the complete earth and Resonite kit.",
"spellRows": {
"354000": "Stonebreaker",
"354001": "Quake",
"354002": "Stone Shield",
"354003": "Cosmetic Fear",
"354004": "Geospike",
"354005": "Geospike",
"354006": "Geospike",
"354007": "Vek Death",
"354008": "Vek Reset",
"354009": "Quake",
"354010": "Quake",
"354011": "Stone Shield",
"354012": "Stone Shield",
"354013": "Resonance",
"354014": "Resonance",
"354015": "Geode Barrage",
"354016": "Geode Barrage",
"354017": "Ruptured Earth",
"354018": "Ruptured Earth",
"354019": "Stoneskin",
"354020": "Stoneskin",
"354021": "Stonebreaker",
"354022": "Stonebreaker",
"354023": "Stonebreaker",
"354024": "Stonebreaker",
"354025": "Geospike",
"354026": "Geospike",
"354027": "Geode Barrage",
"354028": "Geode Barrage",
"354029": "Geode Barrage",
"354030": "Geode Barrage",
"354031": "Resonite Cleanse",
"354032": "Create Resonite Shard"
},
"families": {
"control": [
354007,
354008
],
"quake": [
354001,
354009,
354010
],
"stoneShield": [
354002,
354011,
354012
],
"geospike": [
354004,
354005,
354006,
354025,
354026
],
"resonance": [
354013,
354014
],
"geodeBarrage": [
354015,
354016,
354027,
354028,
354029,
354030
],
"rupturedEarth": [
354017,
354018
],
"stoneskin": [
354019,
354020
],
"stonebreaker": [
354000,
354021,
354022,
354023,
354024
],
"resonite": [
354031,
354032
]
},
"summonLinks": [
{
"spellId": 354004,
"effectIndex": 0,
"effectType": 28,
"targetKind": "creature",
"entryId": 254278
},
{
"spellId": 354032,
"effectIndex": 0,
"effectType": 76,
"targetKind": "gameobject",
"entryId": 254051
}
]
},
"adaptation": {
"status": "source-backed-custom-cadence-required",
"populationPlan": {
"disposition": "retain-current-route-as-explicit-adaptation",
"packCount": 5,
"membersPerPack": 3,
"authoredMobs": [
{
"serverEntry": 4175632753,
"name": "Forgotten Mine Stoneguard",
"role": "shielding-melee"
},
{
"serverEntry": 647988074,
"name": "Forgotten Mine Geomancer",
"role": "geode-ranged"
},
{
"serverEntry": 2677742134,
"name": "Forgotten Mine Quarry Brute",
"role": "frontal-bruiser"
}
]
},
"encounterPlan": [
"Geolord Vek 254272 remains at the provisional boss anchor and opens with Stone Shield.",
"Stonebreaker is a telegraphed frontal strike; Quake is a short-range raid pulse; Geode Barrage repeatedly targets one player; Ruptured Earth creates a marked split-damage pillar.",
"Geospike 354004 summons entry 254278 after a clearly visible ground telegraph. The hazard erupts with the matching Geospike damage row and then despawns.",
"Three clickable Resonite Shard gameobjects 254051 appear at authored offsets around the boss. Clicking consumes one and applies Resonite Cleanse 354031, which removes one active earth protection or prevents the next Resonance hit.",
"At 50 percent health, Resonance begins and Vek alternates Quake with Ruptured Earth. Missing crystals respawn once per 30 second cycle.",
"The official changelog requires large, obvious clickable crystal bounds and a high-contrast Geospike telegraph."
],
"authoredGameObjectOffsetsFromBoss": [
[
-12,
0,
0
],
[
6,
0,
10.392
],
[
6,
0,
-10.392
]
],
"authoredCadence": {
"stonebreakerMs": 6500,
"geodeBarrageMs": 11000,
"geospikeMs": 15000,
"quakeMs": 18000,
"rupturedEarthMs": 22000,
"resoniteCycleMs": 30000
},
"mustBeCustomAuthored": [
"all trash identities, placements, and AI",
"all boss cadence, target selection, and phase thresholds",
"the exact Resonite Cleanse interaction because the server script is absent",
"crystal placement, interaction bounds, and respawn rules",
"Geospike hazard placement and lifetime",
"boss, hazard, trash, and crystal visual composites",
"loot and completion scripting"
]
},
"unresolved": [
"Paired low/high-value spell rows do not expose a safe difficulty-label mapping.",
"The authoritative creature and gameobject spawn coordinates are absent.",
"Creature template stats and visual display IDs are absent.",
"The exact Resonite click result is only constrained by client spell text and official changelog behavior."
]
}
]
}
@@ -0,0 +1,97 @@
# Ascension custom dungeon source recovery
This report separates recoverable client facts from the behavior that HealerMan must author for Tinkertech Showdown (821), Frozen Reach (908), and Forgotten Mine (1781). The machine-readable companion is `ASCENSION_CUSTOM_DUNGEON_RECOVERY.json`; its validator checks both the current generated catalogs and the original installed-client `Spell.dbc`.
## Result
| Map | Recovered exactly | Still requires adaptation |
| --- | --- | --- |
| 821 Tinkertech Showdown | Client environment, encounter 9013, boss creature 663012 | Every spawn, trash identity, gameobject, spell binding, boss schedule, phase, visual, loot, and completion rule |
| 908 Frozen Reach | Client environment, encounters 2168/2170, Alva 97700, Arktos 97701, three summoned entries, and 85 encounter spell rows | Positions, stats, cast schedule, target rules, phase scripting, web hazards, visuals, loot, and completion rules |
| 1781 Forgotten Mine | Client environment, encounters 5069/5071, Geolord Vek 254272, Geospike summon 254278, Resonite Shard gameobject 254051, and 33 encounter spell rows | Positions, stats, cast schedule, trash roster, crystal behavior, hazard lifetime, visuals, loot, and completion rules |
The local server/reference repositories, installed WDB caches, addon databases, and the public Questie Ascension snapshot do not contain surviving creature templates, world spawn rows, SmartAI, or encounter scripts for these maps. Client spell rows prove names and summon targets, but they do not prove cast cadence, ownership in every case, or coordinates.
## 821: Tinkertech Showdown
Exact client facts:
- Map directory: `TinketechShowdown` (the client spelling omits the second `r`). Source hash: `323c47c081d0a6c39daf9878284863c21e3e38dbced2ba3f58d1d157d080d41d`.
- The recovered root WMO is `World/wmo/Dungeon/AZ_Subway/Subway_Dungeon.wmo`.
- Manastorm encounter 9013 names Mechatron and binds it to creature 663012 in mode 2.
- The player, trash, and boss anchors in the manifest are geometry-derived and provisional, not recovered server spawn points.
Candidate-only evidence:
- Spell 257438 `Rocket`.
- Spells 257459-257461 `Gatling Missile Barrage` / `Gatling Missile`.
- Spell 257462 `Sound: Goblin Head Machine Loop`.
- Spell 257470 `Incineration Beam`, spell 257471 `Energy Ball`, and spells 257472-257473 `Electrified Zone` / `Electric Shock`.
Those rows form a coherent goblin-machine cluster, but no surviving source binds them to creature 663012. They must stay labeled as an adaptation if used.
Concrete adaptation:
- Retain the current route as five authored three-creature packs. Recast generated entries 2629079128, 3849447491, and 1787979165 as `Tinkertech Guardbot`, `Tinkertech Coilcaster`, and `Tinkertech Demolisher`; these IDs and names remain HealerMan-owned.
- Keep Mechatron 663012 at the provisional boss anchor.
- Use an authored rotation of Rocket reticles, Gatling lane impacts, Incineration Beam lane sweeps, and alternating Electrified Zones. At 35% health, accelerate the rotation and add two Coilcasters.
- Model platform destruction as temporary lane disabling because the imported web geometry is immutable.
Everything in that combat implementation except the boss identity and candidate spell names is custom-authored. It should not be represented as recovered Ascension parity.
## 908: Frozen Reach
Exact client facts:
- Map directory: `Alvaencounter`. Source hash: `5ab771df79c0e062cea3ebda4e416a9245bcf8a4cc6da048077df5e674081f97`.
- Manastorm encounters 2168 and 2170 name Alva and bind her to creature 97700 in modes 0 and 2.
- The official Ascension database identifies Alva as creature 97700 and Arktos as creature 97701.
- Spell 255363 summons creature 97703, spell 255421 summons creature 97731, and spell 255433 summons creature 97770. In context these are the Blast Arrow unit, Explosive Trap, and Alvajar add.
- The client cluster spans 85 exact rows from 255347 through 255472. The principal families are Rain of Arrows, Unbridled Arrows, Blast Arrow, Cluster Shot, Pact of the Hunt, Ice Rock, Carnivorous Bite, Frost Shield, Set Ablaze, Blaze, Frost Strike, Frost Roar, Lacerate, Shield Wall, Shadow Shroud Surge/Rebirth, Vengeful Bolt, Shadow Veil Lance, Sphere of Grief and Wrath, Alva's Grief/Wrath, Explosive Trap, and Army of the Dead.
- The official changelog confirms that the Blast Arrow/“Blast Shot” interaction can hit Arktos and that Shadow Shroud Rebirth reaches full damage scaling at five or more players.
Concrete adaptation:
- Remove the current 15 procedural hallway creatures (entries 1606324391, 854807736, and 2855026892). Available evidence describes a contained Alva/Arktos encounter and provides no support for that generic trash population.
- Start Alva 97700 and Arktos 97701 together with Pact of the Hunt. Give Alva the recovered ranged/trap kit and Arktos the recovered bite, ice, roar, lacerate, and defensive kit.
- Allow Blast Arrow to apply Set Ablaze to Arktos, forcing panic movement and increased damage taken.
- On Arktos's death, leave Alva's Grief at the corpse, cast Shadow Shroud Rebirth, summon four Alvajar 97770, and move Alva into the recovered vengeance spell family.
- Preserve D1/D2 spell variants as source data but use D0 for the current normal experience until a surviving difficulty mapping is found.
The exact cadence in the JSON is an explicit HealerMan proposal. Initial positions, transition rules, summon formation, stats, targeting, and hazard implementation all remain custom-authored.
## 1781: Forgotten Mine
Exact client facts:
- Map directory: `ForgottenMine`. Source hash: `693b7067aa1109e14beb944bc95aed8299bf64e2ec6ae3dc43f4fab7d18f57b6`.
- Manastorm encounters 5069 and 5071 name Geolord Vek and bind him to creature 254272 in modes 0 and 2.
- The contiguous 354000-354032 spell cluster explicitly contains `Vek Death` and `Vek Reset`, tying the cluster to Vek.
- The recovered families are Stonebreaker, Quake, Stone Shield, Geospike, Resonance, Geode Barrage, Ruptured Earth, Stoneskin, Resonite Cleanse, and Create Resonite Shard.
- Spell 354004 summons Geospike creature 254278. Spell 354032 creates gameobject 254051, named by the spell as a Resonite Shard.
- Client text says Resonite counters the power of Earth. Official changelogs additionally require larger clickable crystal bounds and a visible Geospike telegraph.
Concrete adaptation:
- Retain five authored three-creature route packs only as an explicit approximation. Recast generated entries 4175632753, 647988074, and 2677742134 as `Forgotten Mine Stoneguard`, `Forgotten Mine Geomancer`, and `Forgotten Mine Quarry Brute`; these are not recovered Ascension creatures.
- Keep Geolord Vek 254272 at the provisional boss anchor. Rotate Stonebreaker, Quake, Geode Barrage, Geospike, and Ruptured Earth, then begin Resonance at 50% health.
- Spawn three clickable Resonite Shards 254051 at the authored triangular offsets in the JSON. Consuming a shard applies Resonite Cleanse 354031 and removes one active earth protection or prevents the next Resonance hit.
- Give Geospike 254278 a high-contrast ground warning, eruption, and despawn sequence. Make crystal interaction bounds deliberately generous.
The crystal effect is constrained by spell text and changelog behavior but its exact server-side rule did not survive. Trash, timing, targeting, positions, respawn cadence, and visuals are custom-authored.
## Integration boundary
The recovery files intentionally do not change `compile-campaign-catalog.mjs`. Runtime integration should consume the recovered IDs and family lists while preserving three provenance labels:
- `exact`: copied from checksummed client/catalog data.
- `spellLinked`: an entry ID read directly from a DBC summon effect; its descriptive name can still be contextual.
- `authored`: HealerMan timing, placement, visuals, or behavior.
Validate the recovery against the current catalogs and installed client with:
```powershell
node scripts/dungeon-pipeline/validate-ascension-custom-dungeon-recovery.mjs
```
Use `--skip-dbc` only on machines without the checksummed Area-52 client, or pass another byte-identical file with `--dbc <path>`.