310 lines
7.2 KiB
JSON
310 lines
7.2 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"dungeonId": "hoto",
|
|
"title": "HOTO",
|
|
"status": "source-packaged",
|
|
"generatedAt": "2026-09-09T19:39:49.407Z",
|
|
"source": {
|
|
"recipe": "scripts/runewaker-pipeline/recipes/hoto.json",
|
|
"wdb": "Resource/wdb/dungeon/dgn_echoes_of_the_sea.wdb",
|
|
"wdbSha256": "7b3ee8adca7199c86f8de13695f29db9b0cf7f61ba2328641cbc9ad8ffa138a0",
|
|
"model": "model/dungeon/echoes_of_the_sea/act_echoes_of_the_sea.ros",
|
|
"modelSha256": "a0bd77c09045f8bfa1507484bbb2c2ff0cc72d397df4f769fc4e6d5aab14f8a2",
|
|
"server": {
|
|
"dungeonConfigId": "hoto",
|
|
"baseZone": 115,
|
|
"variants": {
|
|
"party": [
|
|
{
|
|
"id": 461,
|
|
"lv": 1
|
|
},
|
|
{
|
|
"id": 490,
|
|
"lv": 10
|
|
},
|
|
{
|
|
"id": 519,
|
|
"lv": 20
|
|
},
|
|
{
|
|
"id": 548,
|
|
"lv": 30
|
|
},
|
|
{
|
|
"id": 577,
|
|
"lv": 40
|
|
},
|
|
{
|
|
"id": 608,
|
|
"lv": 50
|
|
}
|
|
]
|
|
},
|
|
"luaFiles": [
|
|
"03242.lua"
|
|
],
|
|
"mobGuids": [
|
|
102021,
|
|
102024,
|
|
102025,
|
|
102026,
|
|
102027,
|
|
102028,
|
|
102029,
|
|
102030,
|
|
102031,
|
|
102032,
|
|
102033,
|
|
102034,
|
|
102035,
|
|
102036,
|
|
102037,
|
|
102040,
|
|
102041,
|
|
102042,
|
|
102043,
|
|
102044,
|
|
102046,
|
|
102063,
|
|
102064,
|
|
102067,
|
|
102109,
|
|
102680,
|
|
103518,
|
|
103519,
|
|
110578,
|
|
110987,
|
|
111378,
|
|
112224,
|
|
113003,
|
|
780088,
|
|
780360,
|
|
780361,
|
|
780362,
|
|
780363,
|
|
780444
|
|
],
|
|
"bossGuids": [
|
|
102021,
|
|
102040,
|
|
102041,
|
|
102046,
|
|
102063
|
|
],
|
|
"bossPositions": {
|
|
"102021": {
|
|
"name": "Jiasha",
|
|
"autoplot": "LuaI_DQ_Loc5",
|
|
"zone_spawn": true,
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"kx": 5531.47,
|
|
"ky": 270.39,
|
|
"kz": 1980.79,
|
|
"px": 0,
|
|
"py": 0,
|
|
"pz": 0,
|
|
"pdir": 0
|
|
},
|
|
"102040": {
|
|
"name": "Medusa",
|
|
"autoplot": "LuaI_DQ_Loc5",
|
|
"zone_spawn": true,
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"kx": 4169.99,
|
|
"ky": 597.26,
|
|
"kz": 2808.51,
|
|
"px": 0,
|
|
"py": 0,
|
|
"pz": 0,
|
|
"pdir": 0
|
|
},
|
|
"102041": {
|
|
"name": "Teeth of the Reef",
|
|
"autoplot": "LuaI_DQ_Loc5",
|
|
"zone_spawn": true,
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"kx": 6136.47,
|
|
"ky": 229.17,
|
|
"kz": 2819.32,
|
|
"px": 0,
|
|
"py": 0,
|
|
"pz": 0,
|
|
"pdir": 0
|
|
},
|
|
"102046": {
|
|
"name": "Bloodthirsty Claw",
|
|
"autoplot": "LuaI_DQ_Loc5",
|
|
"zone_spawn": true,
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"kx": 4763.9,
|
|
"ky": 507.66,
|
|
"kz": 3430.26,
|
|
"px": 0,
|
|
"py": 0,
|
|
"pz": 0,
|
|
"pdir": 0
|
|
},
|
|
"102063": {
|
|
"name": "Geba",
|
|
"autoplot": "LuaI_DQ_Loc5",
|
|
"zone_spawn": true,
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"kx": 3116.21,
|
|
"ky": 450.54,
|
|
"kz": 1277.8,
|
|
"px": 0,
|
|
"py": 0,
|
|
"pz": 0,
|
|
"pdir": 0
|
|
}
|
|
},
|
|
"playerSpawn": {
|
|
"x": 2346,
|
|
"y": 663,
|
|
"z": 3338,
|
|
"dir": 25,
|
|
"directionUnitsPerTurn": 360,
|
|
"source": "environment recipe entryCoordinates",
|
|
"reviewRequired": false
|
|
}
|
|
},
|
|
"wdbReport": {
|
|
"descriptorCount": 1627,
|
|
"file": "wdb-report.json",
|
|
"primaryPlacement": {
|
|
"guid": "AA7EE278-45E89E4D-F50898B0-747270BA",
|
|
"resource": "model\\dungeon\\echoes_of_the_sea\\act_echoes_of_the_sea.ros",
|
|
"scale": [
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"rotation": [
|
|
0,
|
|
0,
|
|
0,
|
|
1
|
|
],
|
|
"translation": [
|
|
4243.39893,
|
|
606.918091,
|
|
2711.47852
|
|
],
|
|
"localBounds": {
|
|
"center": [
|
|
88.4059906,
|
|
-147.698395,
|
|
-918.205444
|
|
],
|
|
"radius": 3704.81616
|
|
},
|
|
"worldBounds": {
|
|
"center": [
|
|
4331.80469,
|
|
459.219696,
|
|
1793.27307
|
|
],
|
|
"radius": 3704.81616
|
|
},
|
|
"zoneFlags": 0,
|
|
"detailClass": 0,
|
|
"zoneType": 0
|
|
}
|
|
}
|
|
},
|
|
"coordinateSystem": {
|
|
"source": "left-handed Y-up",
|
|
"nativeBridge": "three(x,y,z)=(runewaker.x,runewaker.y,-runewaker.z)",
|
|
"metersPerSourceUnit": 0.1,
|
|
"directionUnitsPerTurn": 360,
|
|
"calibration": "model/character/pc/dummy/fake_pc.ros mesh height is 16.4977 source units"
|
|
},
|
|
"entrance": {
|
|
"sourcePosition": [
|
|
2346,
|
|
663,
|
|
3338
|
|
],
|
|
"sourceDirection": 25,
|
|
"localPosition": [
|
|
-189.739893,
|
|
5.608191,
|
|
-62.652148
|
|
],
|
|
"footPosition": [
|
|
-189.727301,
|
|
5.761676,
|
|
-62.645942
|
|
],
|
|
"navmeshDistance": 0.154126,
|
|
"yaw": 0.436332313,
|
|
"forward": [
|
|
0.422618262,
|
|
0,
|
|
0.906307787
|
|
],
|
|
"provenance": "environment recipe entryCoordinates",
|
|
"reviewRequired": false
|
|
},
|
|
"assets": [
|
|
{
|
|
"role": "visual",
|
|
"fileName": "hoto-visual.glb",
|
|
"relativeFile": "hoto-visual.glb",
|
|
"size": 6710184,
|
|
"sha256": "beff3a180c55166d5ebd7e3610e65b59f8104edfd7596aa22ac3a49c578fcdc0"
|
|
},
|
|
{
|
|
"role": "collision",
|
|
"fileName": "hoto-collision-000.glb",
|
|
"relativeFile": "hoto-collision-000.glb",
|
|
"size": 3088036,
|
|
"sha256": "3116529f2d262ff4cab7997e852f9d15caacab6298921360b49dcafd52b8c475"
|
|
},
|
|
{
|
|
"role": "collision",
|
|
"fileName": "hoto-collision-001.glb",
|
|
"relativeFile": "hoto-collision-001.glb",
|
|
"size": 2989324,
|
|
"sha256": "1f5cbd4b04b5a060029fd7c023ee19db5d8646566fcd01b931473b5b13c13b9f"
|
|
},
|
|
{
|
|
"role": "collision",
|
|
"fileName": "hoto-collision-002.glb",
|
|
"relativeFile": "hoto-collision-002.glb",
|
|
"size": 526648,
|
|
"sha256": "0a468a6ef30941c04a20456866f0593f7e1f9f9bf8dc0024176d2128975f1879"
|
|
},
|
|
{
|
|
"role": "navigation",
|
|
"fileName": "hoto-navigation.glb",
|
|
"relativeFile": "hoto-navigation.glb",
|
|
"size": 482260,
|
|
"sha256": "a2bde2e4b8ed0d0bac8c4669a05192ff0a35ae9c64df0c0a29fe3735b65cbf4b"
|
|
}
|
|
],
|
|
"review": {
|
|
"environment": "authoritative-wdb-largest-model-selected",
|
|
"collision": "generated-review-required",
|
|
"entrance": "source-script",
|
|
"bossAnchors": "source-population",
|
|
"wdbPlacements": "unique-primary-model"
|
|
},
|
|
"exceptions": [
|
|
"Secondary WDB doodads/effects remain in the audit; this pass exports the primary ROS hierarchy.",
|
|
"Collision initially includes decorative primary-ROS geometry.",
|
|
"Original GR2 actor animations are recovered where source graphs and validation permit; scripted encounter mechanics remain evidence-driven per-instance work."
|
|
]
|
|
}
|