Files
healer-man/scripts/runewaker-pipeline/recipes/lair-demon-dragon-population.json
2026-08-14 15:56:39 -04:00

509 lines
17 KiB
JSON

{
"schemaVersion": 2,
"dungeonId": "lair-demon-dragon",
"sourceDungeonConfigId": "lair_demon_dragon",
"zoneId": 119,
"expectedActiveRows": 532,
"expectedBossSpawns": 0,
"runtimeIdPrefix": "rw-lair-demon-dragon",
"coordinateSystem": {
"metersPerSourceUnit": 0.1,
"directionUnitsPerTurn": 360,
"maximumProjectionDistance": 4
},
"files": {
"environmentRecipe": "scripts/runewaker-pipeline/recipes/lair-demon-dragon.json",
"snapshot": "scripts/runewaker-pipeline/snapshots/lair-demon-dragon-zone-119.json",
"generatedSource": "src/game/generated/lairDemonDragonPopulation.generated.ts",
"report": "src/assets/game/dungeons/lair-demon-dragon/population-import-report.json",
"mechanicsReport": "src/assets/game/dungeons/lair-demon-dragon/mechanics-audit.json",
"mechanicsSource": "src/game/generated/lairDemonDragonMechanics.generated.ts",
"environmentMetadata": "src/assets/game/dungeons/lair-demon-dragon/import-metadata.json",
"navigation": "src/assets/game/dungeons/lair-demon-dragon/lair-demon-dragon-navigation.glb",
"actorManifest": "public/assets/creatures/lair-demon-dragon/manifest.json",
"actorOutput": "public/assets/creatures/lair-demon-dragon"
},
"source": {
"rootEnvironmentVariable": "RUNEWAKER_ROOT",
"relativeDefault": "../rom-pvt-server-backups/Runewaker",
"resourceRoot": "Resource",
"dungeonConfig": "Tools/dungeon_config.json",
"dungeonConfigId": "lair_demon_dragon",
"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": "albino-tiger",
"sourceModel": "model/character/creature/tiger/act_albino_tiger.ros",
"runtimeRotationY": 0
},
{
"id": "crystal-lizard-red",
"sourceModel": "model/character/creature/lizard/act_crystal_lizard_red.ros",
"runtimeRotationY": 0
},
{
"id": "elder-myconid",
"sourceModel": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"runtimeRotationY": 0
},
{
"id": "ghastly-bat-red",
"sourceModel": "model/character/creature/ghastly_bat/act_ghastly_bat_red.ros",
"runtimeRotationY": 0
},
{
"id": "pureblood-naga-female",
"sourceModel": "model/character/creature/pureblood-naga_female/act_pureblood-naga_female.ros",
"runtimeRotationY": 0
},
{
"id": "pureblood-naga-paperdoll",
"sourceModel": "model/character/creature/pureblood-naga_male/act_pureblood-naga_paperdoll.ros",
"runtimeRotationY": 0
},
{
"id": "salamander-red",
"sourceModel": "model/character/creature/salamander/act_salamander_red.ros",
"runtimeRotationY": 0
}
],
"templates": [
{
"primaryColor": "hsl(283 22% 38%)",
"accentColor": "hsl(311 38% 64%)",
"id": 100469,
"name": "Template 100469",
"level": 50,
"classification": "combat",
"archetype": "humanoid",
"actor": "albino-tiger",
"source": {
"imageId": 570002,
"modelPath": "model/character/creature/tiger/act_albino_tiger.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(19 22% 38%)",
"accentColor": "hsl(47 38% 64%)",
"id": 102677,
"name": "Template 102677",
"level": 0,
"classification": "deferred-object",
"archetype": "humanoid",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 579499,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(113 22% 38%)",
"accentColor": "hsl(141 38% 64%)",
"id": 102679,
"name": "Template 102679",
"level": 0,
"classification": "deferred-object",
"archetype": "humanoid",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 579501,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(160 22% 38%)",
"accentColor": "hsl(188 38% 64%)",
"id": 102680,
"name": "Template 102680",
"level": 0,
"classification": "deferred-object",
"archetype": "humanoid",
"reason": "Level-zero quest, trigger, prop, or noncombat NPC retained for a later interaction pass.",
"source": {
"imageId": 579502,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(287 22% 38%)",
"accentColor": "hsl(315 38% 64%)",
"id": 102721,
"name": "Scarlet Snake Flame Breaker",
"level": 57,
"classification": "combat",
"archetype": "serpent",
"actor": "pureblood-naga-paperdoll",
"source": {
"imageId": 579783,
"modelPath": "model/character/creature/pureblood-naga_male/act_pureblood-naga_paperdoll.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(334 22% 38%)",
"accentColor": "hsl(2 38% 64%)",
"id": 102722,
"name": "Scarlet Snake Night Singer",
"level": 57,
"classification": "combat",
"archetype": "serpent",
"actor": "pureblood-naga-female",
"source": {
"imageId": 579784,
"modelPath": "model/character/creature/pureblood-naga_female/act_pureblood-naga_female.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(21 22% 38%)",
"accentColor": "hsl(49 38% 64%)",
"id": 102723,
"name": "Wingsnake Guard",
"level": 57,
"classification": "combat",
"archetype": "serpent",
"actor": "pureblood-naga-paperdoll",
"source": {
"imageId": 579785,
"modelPath": "model/character/creature/pureblood-naga_male/act_pureblood-naga_paperdoll.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(68 22% 38%)",
"accentColor": "hsl(96 38% 64%)",
"id": 102724,
"name": "Wingsnake Imprisoner",
"level": 57,
"classification": "combat",
"archetype": "serpent",
"actor": "pureblood-naga-female",
"source": {
"imageId": 579786,
"modelPath": "model/character/creature/pureblood-naga_female/act_pureblood-naga_female.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(115 22% 38%)",
"accentColor": "hsl(143 38% 64%)",
"id": 102725,
"name": "Volcano Newt",
"level": 56,
"classification": "combat",
"archetype": "lizard",
"actor": "salamander-red",
"source": {
"imageId": 570197,
"modelPath": "model/character/creature/salamander/act_salamander_red.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(162 22% 38%)",
"accentColor": "hsl(190 38% 64%)",
"id": 102726,
"name": "Lava Bat",
"level": 56,
"classification": "combat",
"archetype": "winged",
"actor": "ghastly-bat-red",
"source": {
"imageId": 574472,
"modelPath": "model/character/creature/ghastly_bat/act_ghastly_bat_red.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(306 22% 38%)",
"accentColor": "hsl(334 38% 64%)",
"id": 102798,
"name": "Scarlet Snake Flame Master",
"level": 56,
"classification": "combat",
"archetype": "serpent",
"actor": "pureblood-naga-female",
"source": {
"imageId": 579784,
"modelPath": "model/character/creature/pureblood-naga_female/act_pureblood-naga_female.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(40 22% 38%)",
"accentColor": "hsl(68 38% 64%)",
"id": 102800,
"name": "Fire Lizard",
"level": 56,
"classification": "combat",
"archetype": "lizard",
"actor": "crystal-lizard-red",
"source": {
"imageId": 572910,
"modelPath": "model/character/creature/lizard/act_crystal_lizard_red.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(276 22% 38%)",
"accentColor": "hsl(304 38% 64%)",
"id": 102828,
"name": "Template 102828",
"level": 1,
"classification": "deferred-object",
"archetype": "humanoid",
"reason": "Positive-level source object has no static character ROS and is retained for mechanics review.",
"source": {
"imageId": 576261,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(323 22% 38%)",
"accentColor": "hsl(351 38% 64%)",
"id": 102829,
"name": "Template 102829",
"level": 1,
"classification": "combat",
"archetype": "plant",
"actor": "elder-myconid",
"source": {
"imageId": 576437,
"modelPath": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(10 22% 38%)",
"accentColor": "hsl(38 38% 64%)",
"id": 102830,
"name": "Template 102830",
"level": 1,
"classification": "combat",
"archetype": "plant",
"actor": "elder-myconid",
"source": {
"imageId": 576437,
"modelPath": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(57 22% 38%)",
"accentColor": "hsl(85 38% 64%)",
"id": 102831,
"name": "Template 102831",
"level": 1,
"classification": "combat",
"archetype": "plant",
"actor": "elder-myconid",
"source": {
"imageId": 576437,
"modelPath": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(104 22% 38%)",
"accentColor": "hsl(132 38% 64%)",
"id": 102832,
"name": "Template 102832",
"level": 53,
"classification": "combat",
"archetype": "plant",
"actor": "elder-myconid",
"source": {
"imageId": 576437,
"modelPath": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(198 22% 38%)",
"accentColor": "hsl(226 38% 64%)",
"id": 102834,
"name": "Template 102834",
"level": 53,
"classification": "combat",
"archetype": "plant",
"actor": "elder-myconid",
"source": {
"imageId": 576437,
"modelPath": "model/character/creature/elder_myconid/act_elder_myconid.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(168 22% 38%)",
"accentColor": "hsl(196 38% 64%)",
"id": 112224,
"name": "Template 112224",
"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(89 22% 38%)",
"accentColor": "hsl(117 38% 64%)",
"id": 780007,
"name": "Template 780007",
"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(295 22% 38%)",
"accentColor": "hsl(323 38% 64%)",
"id": 780425,
"name": "Template 780425",
"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(342 22% 38%)",
"accentColor": "hsl(10 38% 64%)",
"id": 780426,
"name": "Template 780426",
"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(280 22% 38%)",
"accentColor": "hsl(308 38% 64%)",
"id": 780440,
"name": "Template 780440",
"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(250 22% 38%)",
"accentColor": "hsl(278 38% 64%)",
"id": 780470,
"name": "Template 780470",
"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(78 22% 38%)",
"accentColor": "hsl(106 38% 64%)",
"id": 780474,
"name": "Template 780474",
"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(266 22% 38%)",
"accentColor": "hsl(294 38% 64%)",
"id": 780478,
"name": "Template 780478",
"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(141 22% 38%)",
"accentColor": "hsl(169 38% 64%)",
"id": 780483,
"name": "Template 780483",
"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."
]
}