Files
2026-08-14 15:56:39 -04:00

688 lines
23 KiB
JSON

{
"schemaVersion": 2,
"dungeonId": "kalins-shrine",
"sourceDungeonConfigId": "kalins_shrine",
"zoneId": 107,
"expectedActiveRows": 289,
"expectedBossSpawns": 5,
"runtimeIdPrefix": "rw-kalins-shrine",
"coordinateSystem": {
"metersPerSourceUnit": 0.1,
"directionUnitsPerTurn": 360,
"maximumProjectionDistance": 4
},
"files": {
"environmentRecipe": "scripts/runewaker-pipeline/recipes/kalins-shrine.json",
"snapshot": "scripts/runewaker-pipeline/snapshots/kalins-shrine-zone-107.json",
"generatedSource": "src/game/generated/kalinsShrinePopulation.generated.ts",
"report": "src/assets/game/dungeons/kalins-shrine/population-import-report.json",
"mechanicsReport": "src/assets/game/dungeons/kalins-shrine/mechanics-audit.json",
"mechanicsSource": "src/game/generated/kalinsShrineMechanics.generated.ts",
"environmentMetadata": "src/assets/game/dungeons/kalins-shrine/import-metadata.json",
"navigation": "src/assets/game/dungeons/kalins-shrine/kalins-shrine-navigation.glb",
"actorManifest": "public/assets/creatures/kalins-shrine/manifest.json",
"actorOutput": "public/assets/creatures/kalins-shrine"
},
"source": {
"rootEnvironmentVariable": "RUNEWAKER_ROOT",
"relativeDefault": "../rom-pvt-server-backups/Runewaker",
"resourceRoot": "Resource",
"dungeonConfig": "Tools/dungeon_config.json",
"dungeonConfigId": "kalins_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": "bullfrog-green",
"sourceModel": "model/character/creature/bullfrog/act_bullfrog_green.ros",
"runtimeRotationY": 0
},
{
"id": "ghast-female",
"sourceModel": "model/character/creature/ghast_female/act_ghast_female.ros",
"runtimeRotationY": 0
},
{
"id": "ghast-female-bluegreen",
"sourceModel": "model/character/creature/ghast_female/act_ghast_female_bluegreen.ros",
"runtimeRotationY": 0
},
{
"id": "ghast-female-purple",
"sourceModel": "model/character/creature/ghast_female/act_ghast_female_purple.ros",
"runtimeRotationY": 0
},
{
"id": "ghast-female-red",
"sourceModel": "model/character/creature/ghast_female/act_ghast_female_red.ros",
"runtimeRotationY": 0
},
{
"id": "god-of-art-retainer",
"sourceModel": "model/character/creature/god_of_art_retainer/act_god_of_art_retainer.ros",
"runtimeRotationY": 0
},
{
"id": "locathah",
"sourceModel": "model/character/creature/locathah/act_locathah.ros",
"runtimeRotationY": 0
},
{
"id": "runic-metal-big",
"sourceModel": "model/character/creature/runic_metal_big/act_runic_metal_big.ros",
"runtimeRotationY": 0
},
{
"id": "runic-metal-big02",
"sourceModel": "model/character/creature/runic_metal_big/act_runic_metal_big02.ros",
"runtimeRotationY": 0
},
{
"id": "runic-metal-big03",
"sourceModel": "model/character/creature/runic_metal_big/act_runic_metal_big03.ros",
"runtimeRotationY": 0
},
{
"id": "runic-metal-medium-blue",
"sourceModel": "model/character/creature/runic_metal_medium/act_runic_metal_medium_blue.ros",
"runtimeRotationY": 0
},
{
"id": "runic-metal-medium-red",
"sourceModel": "model/character/creature/runic_metal_medium/act_runic_metal_medium_red.ros",
"runtimeRotationY": 0
},
{
"id": "salamander-blue",
"sourceModel": "model/character/creature/salamander/act_salamander_blue.ros",
"runtimeRotationY": 0
},
{
"id": "uzalian",
"sourceModel": "model/character/creature/uzalian/act_uzalian.ros",
"runtimeRotationY": 0
}
],
"templates": [
{
"primaryColor": "hsl(140 22% 38%)",
"accentColor": "hsl(168 38% 64%)",
"id": 101500,
"name": "Goddess of Art's Disciple",
"level": 52,
"classification": "boss",
"archetype": "humanoid",
"actor": "god-of-art-retainer",
"title": "Goddess of Art's Disciple",
"source": {
"imageId": 576333,
"modelPath": "model/character/creature/god_of_art_retainer/act_god_of_art_retainer.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(187 22% 38%)",
"accentColor": "hsl(215 38% 64%)",
"id": 101501,
"name": "Yusalien",
"level": 51,
"classification": "boss",
"archetype": "humanoid",
"actor": "uzalian",
"title": "Yusalien",
"source": {
"imageId": 576335,
"modelPath": "model/character/creature/uzalian/act_uzalian.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(234 22% 38%)",
"accentColor": "hsl(262 38% 64%)",
"id": 101502,
"name": "Locatha",
"level": 51,
"classification": "boss",
"archetype": "humanoid",
"actor": "locathah",
"title": "Locatha",
"source": {
"imageId": 576336,
"modelPath": "model/character/creature/locathah/act_locathah.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(281 22% 38%)",
"accentColor": "hsl(309 38% 64%)",
"id": 101503,
"name": "Ensia",
"level": 52,
"classification": "boss",
"archetype": "humanoid",
"actor": "ghast-female",
"title": "Ensia",
"source": {
"imageId": 576338,
"modelPath": "model/character/creature/ghast_female/act_ghast_female.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(328 22% 38%)",
"accentColor": "hsl(356 38% 64%)",
"id": 101504,
"name": "Glamorous Maid of the Muses",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "ghast-female-bluegreen",
"source": {
"imageId": 576341,
"modelPath": "model/character/creature/ghast_female/act_ghast_female_bluegreen.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(15 22% 38%)",
"accentColor": "hsl(43 38% 64%)",
"id": 101505,
"name": "Mad Maid of the Muses",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "ghast-female-red",
"source": {
"imageId": 576340,
"modelPath": "model/character/creature/ghast_female/act_ghast_female_red.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(62 22% 38%)",
"accentColor": "hsl(90 38% 64%)",
"id": 101506,
"name": "Miserable Maid of the Muses",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "ghast-female-purple",
"source": {
"imageId": 576339,
"modelPath": "model/character/creature/ghast_female/act_ghast_female_purple.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(109 22% 38%)",
"accentColor": "hsl(137 38% 64%)",
"id": 101507,
"name": "Iron Rune Warrior",
"level": 50,
"classification": "boss",
"archetype": "humanoid",
"actor": "runic-metal-big",
"title": "Iron Rune Warrior",
"source": {
"imageId": 576342,
"modelPath": "model/character/creature/runic_metal_big/act_runic_metal_big.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(156 22% 38%)",
"accentColor": "hsl(184 38% 64%)",
"id": 101508,
"name": "Rune Sentinel",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "runic-metal-big02",
"source": {
"imageId": 576344,
"modelPath": "model/character/creature/runic_metal_big/act_runic_metal_big02.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(203 22% 38%)",
"accentColor": "hsl(231 38% 64%)",
"id": 101509,
"name": "Rune Guardian",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "runic-metal-big03",
"source": {
"imageId": 576346,
"modelPath": "model/character/creature/runic_metal_big/act_runic_metal_big03.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(297 22% 38%)",
"accentColor": "hsl(325 38% 64%)",
"id": 101511,
"name": "Rune Destroyer",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "runic-metal-medium-red",
"source": {
"imageId": 576350,
"modelPath": "model/character/creature/runic_metal_medium/act_runic_metal_medium_red.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(344 22% 38%)",
"accentColor": "hsl(12 38% 64%)",
"id": 101512,
"name": "Rune Patroller",
"level": 48,
"classification": "combat",
"archetype": "humanoid",
"actor": "runic-metal-medium-blue",
"source": {
"imageId": 576352,
"modelPath": "model/character/creature/runic_metal_medium/act_runic_metal_medium_blue.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(78 22% 38%)",
"accentColor": "hsl(106 38% 64%)",
"id": 101514,
"name": "Dead Ousul Salamander",
"level": 0,
"classification": "deferred-object",
"archetype": "lizard",
"actor": "salamander-blue",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 574433,
"modelPath": "model/character/creature/salamander/act_salamander_blue.ros",
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(125 22% 38%)",
"accentColor": "hsl(153 38% 64%)",
"id": 101515,
"name": "Ousul Salamander",
"level": 48,
"classification": "combat",
"archetype": "lizard",
"actor": "salamander-blue",
"source": {
"imageId": 574433,
"modelPath": "model/character/creature/salamander/act_salamander_blue.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(172 22% 38%)",
"accentColor": "hsl(200 38% 64%)",
"id": 101516,
"name": "Ousul Poison Frog",
"level": 48,
"classification": "combat",
"archetype": "lizard",
"actor": "bullfrog-green",
"source": {
"imageId": 572904,
"modelPath": "model/character/creature/bullfrog/act_bullfrog_green.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(313 22% 38%)",
"accentColor": "hsl(341 38% 64%)",
"id": 101519,
"name": "Dead Ousul Poison Frog",
"level": 0,
"classification": "deferred-object",
"archetype": "lizard",
"actor": "bullfrog-green",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 572904,
"modelPath": "model/character/creature/bullfrog/act_bullfrog_green.ros",
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(0 22% 38%)",
"accentColor": "hsl(28 38% 64%)",
"id": 101520,
"name": "Destroyed Rune Destroyer",
"level": 0,
"classification": "deferred-object",
"archetype": "humanoid",
"actor": "runic-metal-medium-red",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 576350,
"modelPath": "model/character/creature/runic_metal_medium/act_runic_metal_medium_red.ros",
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(47 22% 38%)",
"accentColor": "hsl(75 38% 64%)",
"id": 101521,
"name": "Destroyed Rune Patroller",
"level": 0,
"classification": "deferred-object",
"archetype": "humanoid",
"actor": "runic-metal-medium-blue",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 576352,
"modelPath": "model/character/creature/runic_metal_medium/act_runic_metal_medium_blue.ros",
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(141 22% 38%)",
"accentColor": "hsl(169 38% 64%)",
"id": 101523,
"name": "Cask",
"level": 50,
"classification": "deferred-object",
"archetype": "humanoid",
"reason": "Positive-level source object has no static character ROS and is retained for mechanics review.",
"source": {
"imageId": 576926,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(262 22% 38%)",
"accentColor": "hsl(290 38% 64%)",
"id": 110426,
"name": "Template 110426",
"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(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(349 22% 38%)",
"accentColor": "hsl(17 38% 64%)",
"id": 110987,
"name": "Template 110987",
"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(271 22% 38%)",
"accentColor": "hsl(299 38% 64%)",
"id": 112073,
"name": "Template 112073",
"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(146 22% 38%)",
"accentColor": "hsl(174 38% 64%)",
"id": 112078,
"name": "Great Door of the Inner Hall",
"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(193 22% 38%)",
"accentColor": "hsl(221 38% 64%)",
"id": 112079,
"name": "Damaged Mysterious Device",
"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(334 22% 38%)",
"accentColor": "hsl(2 38% 64%)",
"id": 112082,
"name": "Laertes",
"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(21 22% 38%)",
"accentColor": "hsl(49 38% 64%)",
"id": 112083,
"name": "Eliot",
"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(68 22% 38%)",
"accentColor": "hsl(96 38% 64%)",
"id": 112084,
"name": "Huge Boulder",
"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(115 22% 38%)",
"accentColor": "hsl(143 38% 64%)",
"id": 112085,
"name": "Sweet Water Plant",
"level": 0,
"classification": "deferred-object",
"archetype": "plant",
"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(162 22% 38%)",
"accentColor": "hsl(190 38% 64%)",
"id": 112086,
"name": "Massalihum",
"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(209 22% 38%)",
"accentColor": "hsl(237 38% 64%)",
"id": 112087,
"name": "Loten",
"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(296 22% 38%)",
"accentColor": "hsl(324 38% 64%)",
"id": 780088,
"name": "Template 780088",
"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(130 22% 38%)",
"accentColor": "hsl(158 38% 64%)",
"id": 780230,
"name": "Template 780230",
"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(99 22% 38%)",
"accentColor": "hsl(127 38% 64%)",
"id": 780237,
"name": "Template 780237",
"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(146 22% 38%)",
"accentColor": "hsl(174 38% 64%)",
"id": 780238,
"name": "Template 780238",
"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(193 22% 38%)",
"accentColor": "hsl(221 38% 64%)",
"id": 780239,
"name": "Template 780239",
"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(242 22% 38%)",
"accentColor": "hsl(270 38% 64%)",
"id": 780286,
"name": "Template 780286",
"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."
]
}