{ "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." ] }