389 lines
13 KiB
JSON
389 lines
13 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"dungeonId": "paspers-shrine",
|
|
"sourceDungeonConfigId": "paspers_shrine",
|
|
"zoneId": 106,
|
|
"expectedActiveRows": 255,
|
|
"expectedBossSpawns": 5,
|
|
"runtimeIdPrefix": "rw-paspers-shrine",
|
|
"coordinateSystem": {
|
|
"metersPerSourceUnit": 0.1,
|
|
"directionUnitsPerTurn": 360,
|
|
"maximumProjectionDistance": 4
|
|
},
|
|
"files": {
|
|
"environmentRecipe": "scripts/runewaker-pipeline/recipes/paspers-shrine.json",
|
|
"snapshot": "scripts/runewaker-pipeline/snapshots/paspers-shrine-zone-106.json",
|
|
"generatedSource": "src/game/generated/paspersShrinePopulation.generated.ts",
|
|
"report": "src/assets/game/dungeons/paspers-shrine/population-import-report.json",
|
|
"mechanicsReport": "src/assets/game/dungeons/paspers-shrine/mechanics-audit.json",
|
|
"mechanicsSource": "src/game/generated/paspersShrineMechanics.generated.ts",
|
|
"environmentMetadata": "src/assets/game/dungeons/paspers-shrine/import-metadata.json",
|
|
"navigation": "src/assets/game/dungeons/paspers-shrine/paspers-shrine-navigation.glb",
|
|
"actorManifest": "public/assets/creatures/paspers-shrine/manifest.json",
|
|
"actorOutput": "public/assets/creatures/paspers-shrine"
|
|
},
|
|
"source": {
|
|
"rootEnvironmentVariable": "RUNEWAKER_ROOT",
|
|
"relativeDefault": "../rom-pvt-server-backups/Runewaker",
|
|
"resourceRoot": "Resource",
|
|
"dungeonConfig": "Tools/dungeon_config.json",
|
|
"dungeonConfigId": "paspers_shrine",
|
|
"luaRoot": "Resource/luascript",
|
|
"catalogs": [
|
|
"Resource/data/npcobject.db",
|
|
"Resource/data/imageobject.db",
|
|
"Resource/data/string_enus.db"
|
|
],
|
|
"backups": {
|
|
"global": "../rom-pvt-server-backups/OneForAll/SQL/databases/ROM_Global.bak",
|
|
"objects": "../rom-pvt-server-backups/OneForAll/SQL/databases/ObjectEdit.bak"
|
|
},
|
|
"serverEnvironmentVariable": "RUNEWAKER_SQL_SERVER",
|
|
"serverDefault": ".\\HEALERMAN_RW"
|
|
},
|
|
"actors": [
|
|
{
|
|
"id": "fog-ferocity-03",
|
|
"sourceModel": "model/character/creature/goatman/act_fog_ferocity_03.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "fog-ferocity-04",
|
|
"sourceModel": "model/character/creature/goatman/act_fog_ferocity_04.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "fog-loster-02",
|
|
"sourceModel": "model/character/creature/goatman/act_fog_loster_02.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "fog-loster-03",
|
|
"sourceModel": "model/character/creature/goatman/act_fog_loster_03.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "goatman-arfex-01",
|
|
"sourceModel": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_arfex_01.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "goatman-arfex-02",
|
|
"sourceModel": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_arfex_02.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "goatman-black-wizard",
|
|
"sourceModel": "model/character/creature/goatman/act_goatman_black_wizard.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "goatman-boss-arfex",
|
|
"sourceModel": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_boss_arfex.ros",
|
|
"runtimeRotationY": 0
|
|
},
|
|
{
|
|
"id": "nissan",
|
|
"sourceModel": "model/character/creature/goatman/act_nissan.ros",
|
|
"runtimeRotationY": 0
|
|
}
|
|
],
|
|
"templates": [
|
|
{
|
|
"primaryColor": "hsl(280 22% 38%)",
|
|
"accentColor": "hsl(308 38% 64%)",
|
|
"id": 100400,
|
|
"name": "Template 100400",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 572624,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(78 22% 38%)",
|
|
"accentColor": "hsl(106 38% 64%)",
|
|
"id": 100794,
|
|
"name": "Blackhorn Hafiz",
|
|
"level": 45,
|
|
"classification": "boss",
|
|
"archetype": "humanoid",
|
|
"actor": "goatman-boss-arfex",
|
|
"title": "Blackhorn Hafiz",
|
|
"source": {
|
|
"imageId": 574476,
|
|
"modelPath": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_boss_arfex.ros",
|
|
"classificationRule": "NPCObjectDB.sex=3"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(166 22% 38%)",
|
|
"accentColor": "hsl(194 38% 64%)",
|
|
"id": 101018,
|
|
"name": "Blackhorn Afalen",
|
|
"level": 45,
|
|
"classification": "boss",
|
|
"archetype": "humanoid",
|
|
"actor": "goatman-arfex-01",
|
|
"title": "Blackhorn Afalen",
|
|
"source": {
|
|
"imageId": 574474,
|
|
"modelPath": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_arfex_01.ros",
|
|
"classificationRule": "NPCObjectDB.sex=3"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(213 22% 38%)",
|
|
"accentColor": "hsl(241 38% 64%)",
|
|
"id": 101019,
|
|
"name": "Blackhorn Bareth",
|
|
"level": 45,
|
|
"classification": "boss",
|
|
"archetype": "humanoid",
|
|
"actor": "goatman-arfex-02",
|
|
"title": "Blackhorn Bareth",
|
|
"source": {
|
|
"imageId": 574475,
|
|
"modelPath": "model/character/creature/goatman/goatman_boss_arfex/act_goatman_arfex_02.ros",
|
|
"classificationRule": "NPCObjectDB.sex=3"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(260 22% 38%)",
|
|
"accentColor": "hsl(288 38% 64%)",
|
|
"id": 101020,
|
|
"name": "Blackhorn Nisorn",
|
|
"level": 45,
|
|
"classification": "boss",
|
|
"archetype": "humanoid",
|
|
"actor": "nissan",
|
|
"title": "Blackhorn Nisorn",
|
|
"source": {
|
|
"imageId": 574473,
|
|
"modelPath": "model/character/creature/goatman/act_nissan.ros",
|
|
"classificationRule": "NPCObjectDB.sex=3"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(307 22% 38%)",
|
|
"accentColor": "hsl(335 38% 64%)",
|
|
"id": 101021,
|
|
"name": "Blackhorn Dorglas",
|
|
"level": 45,
|
|
"classification": "boss",
|
|
"archetype": "humanoid",
|
|
"actor": "goatman-black-wizard",
|
|
"title": "Blackhorn Dorglas",
|
|
"source": {
|
|
"imageId": 574506,
|
|
"modelPath": "model/character/creature/goatman/act_goatman_black_wizard.ros",
|
|
"classificationRule": "NPCObjectDB.sex=3"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(73 22% 38%)",
|
|
"accentColor": "hsl(101 38% 64%)",
|
|
"id": 101039,
|
|
"name": "Giant Assassin",
|
|
"level": 43,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-ferocity-03",
|
|
"source": {
|
|
"imageId": 575340,
|
|
"modelPath": "model/character/creature/goatman/act_fog_ferocity_03.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(355 22% 38%)",
|
|
"accentColor": "hsl(23 38% 64%)",
|
|
"id": 101045,
|
|
"name": "Giant Assassin Captain",
|
|
"level": 42,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-ferocity-03",
|
|
"source": {
|
|
"imageId": 575340,
|
|
"modelPath": "model/character/creature/goatman/act_fog_ferocity_03.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(136 22% 38%)",
|
|
"accentColor": "hsl(164 38% 64%)",
|
|
"id": 101048,
|
|
"name": "Blackhorn Shadow Rogue",
|
|
"level": 41,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-loster-02",
|
|
"source": {
|
|
"imageId": 575338,
|
|
"modelPath": "model/character/creature/goatman/act_fog_loster_02.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(183 22% 38%)",
|
|
"accentColor": "hsl(211 38% 64%)",
|
|
"id": 101049,
|
|
"name": "Blackhorn Terror Servant",
|
|
"level": 41,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-loster-03",
|
|
"source": {
|
|
"imageId": 575339,
|
|
"modelPath": "model/character/creature/goatman/act_fog_loster_03.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(324 22% 38%)",
|
|
"accentColor": "hsl(352 38% 64%)",
|
|
"id": 101052,
|
|
"name": "Blackhorn Trotter",
|
|
"level": 42,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-loster-02",
|
|
"source": {
|
|
"imageId": 575338,
|
|
"modelPath": "model/character/creature/goatman/act_fog_loster_02.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(11 22% 38%)",
|
|
"accentColor": "hsl(39 38% 64%)",
|
|
"id": 101053,
|
|
"name": "Blackhorn Silencer",
|
|
"level": 41,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-loster-03",
|
|
"source": {
|
|
"imageId": 575339,
|
|
"modelPath": "model/character/creature/goatman/act_fog_loster_03.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(300 22% 38%)",
|
|
"accentColor": "hsl(328 38% 64%)",
|
|
"id": 101220,
|
|
"name": "Blackhorn Axe Soldier",
|
|
"level": 42,
|
|
"classification": "combat",
|
|
"archetype": "humanoid",
|
|
"actor": "fog-ferocity-04",
|
|
"source": {
|
|
"imageId": 575341,
|
|
"modelPath": "model/character/creature/goatman/act_fog_ferocity_04.ros",
|
|
"classificationRule": "positive native level plus static model/character ROS"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(206 22% 38%)",
|
|
"accentColor": "hsl(234 38% 64%)",
|
|
"id": 110578,
|
|
"name": "Template 110578",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(3 22% 38%)",
|
|
"accentColor": "hsl(31 38% 64%)",
|
|
"id": 780189,
|
|
"name": "Template 780189",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(50 22% 38%)",
|
|
"accentColor": "hsl(78 38% 64%)",
|
|
"id": 780190,
|
|
"name": "Template 780190",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(97 22% 38%)",
|
|
"accentColor": "hsl(125 38% 64%)",
|
|
"id": 780191,
|
|
"name": "Template 780191",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(144 22% 38%)",
|
|
"accentColor": "hsl(172 38% 64%)",
|
|
"id": 780192,
|
|
"name": "Template 780192",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
},
|
|
{
|
|
"primaryColor": "hsl(132 22% 38%)",
|
|
"accentColor": "hsl(160 38% 64%)",
|
|
"id": 780276,
|
|
"name": "Template 780276",
|
|
"level": 0,
|
|
"classification": "deferred-object",
|
|
"archetype": "humanoid",
|
|
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
|
|
"source": {
|
|
"imageId": 0,
|
|
"modelPath": null,
|
|
"classificationRule": "noncombat/dynamic-display source object"
|
|
}
|
|
}
|
|
],
|
|
"deferred": [
|
|
"Doors, summons, patrols, phases, interactables, and loot require reviewed mechanics mappings.",
|
|
"Direct GR2 actors and exact paperdoll appearances use recovered native animation when validated; explicit pose-only/proxy exceptions retain procedural presentation."
|
|
]
|
|
}
|