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

704 lines
22 KiB
JSON

{
"schemaVersion": 2,
"dungeonId": "hoto",
"sourceDungeonConfigId": "hoto",
"zoneId": 115,
"expectedActiveRows": 401,
"expectedBossSpawns": 5,
"runtimeIdPrefix": "rw-hoto",
"coordinateSystem": {
"metersPerSourceUnit": 0.1,
"directionUnitsPerTurn": 360,
"maximumProjectionDistance": 4
},
"files": {
"environmentRecipe": "scripts/runewaker-pipeline/recipes/hoto.json",
"snapshot": "scripts/runewaker-pipeline/snapshots/hoto-zone-115.json",
"generatedSource": "src/game/generated/hotoPopulation.generated.ts",
"report": "src/assets/game/dungeons/hoto/population-import-report.json",
"mechanicsReport": "src/assets/game/dungeons/hoto/mechanics-audit.json",
"mechanicsSource": "src/game/generated/hotoMechanics.generated.ts",
"environmentMetadata": "src/assets/game/dungeons/hoto/import-metadata.json",
"navigation": "src/assets/game/dungeons/hoto/hoto-navigation.glb",
"actorManifest": "public/assets/creatures/hoto/manifest.json",
"actorOutput": "public/assets/creatures/hoto"
},
"source": {
"rootEnvironmentVariable": "RUNEWAKER_ROOT",
"relativeDefault": "../rom-pvt-server-backups/Runewaker",
"resourceRoot": "Resource",
"dungeonConfig": "Tools/dungeon_config.json",
"dungeonConfigId": "hoto",
"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": "abomination-male",
"sourceModel": "model/character/creature/abomination_male/act_abomination_male.ros",
"runtimeRotationY": 0
},
{
"id": "bigbug-turquoise",
"sourceModel": "model/character/creature/bigbug/act_bigbug_turquoise.ros",
"runtimeRotationY": 0
},
{
"id": "blood-claw",
"sourceModel": "model/character/creature/blood_claw/act_blood_claw.ros",
"runtimeRotationY": 0
},
{
"id": "darkreef-fang",
"sourceModel": "model/character/creature/locathah/act_darkreef_fang.ros",
"runtimeRotationY": 0
},
{
"id": "elder-myconid",
"sourceModel": "model/character/creature/elder_myconid/act_elder_myconid.ros",
"runtimeRotationY": 0
},
{
"id": "fat-medusa",
"sourceModel": "model/character/creature/fat_medusa/act_fat_medusa.ros",
"runtimeRotationY": 0
},
{
"id": "myrma-man",
"sourceModel": "model/character/creature/myrma_man/act_myrma_man.ros",
"runtimeRotationY": 0
},
{
"id": "myrma-man-gabba",
"sourceModel": "model/character/creature/myrma_man_gabba/act_myrma_man_gabba.ros",
"runtimeRotationY": 0
},
{
"id": "myrma-woman",
"sourceModel": "model/character/creature/myrma_woman/act_myrma_woman.ros",
"runtimeRotationY": 0
},
{
"id": "myrma-woman-priest",
"sourceModel": "model/character/creature/myrma_woman_priest/act_myrma_woman_priest.ros",
"runtimeRotationY": 0
},
{
"id": "skate-fish-02",
"sourceModel": "model/character/creature/skate_fish/act_skate_fish_02.ros",
"runtimeRotationY": 0
},
{
"id": "skate-fish-03",
"sourceModel": "model/character/creature/skate_fish/act_skate_fish_03.ros",
"runtimeRotationY": 0
}
],
"templates": [
{
"primaryColor": "hsl(147 22% 38%)",
"accentColor": "hsl(175 38% 64%)",
"id": 102021,
"name": "Jiasha",
"level": 57,
"classification": "boss",
"archetype": "humanoid",
"actor": "myrma-woman-priest",
"title": "Jiasha",
"source": {
"imageId": 578017,
"modelPath": "model/character/creature/myrma_woman_priest/act_myrma_woman_priest.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(288 22% 38%)",
"accentColor": "hsl(316 38% 64%)",
"id": 102024,
"name": "Ayam Guard",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 575480,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(335 22% 38%)",
"accentColor": "hsl(3 38% 64%)",
"id": 102025,
"name": "Ayam Fish Trainer",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 575480,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(22 22% 38%)",
"accentColor": "hsl(50 38% 64%)",
"id": 102026,
"name": "Ayam Sea Incanter",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-woman",
"source": {
"imageId": 577189,
"modelPath": "model/character/creature/myrma_woman/act_myrma_woman.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(69 22% 38%)",
"accentColor": "hsl(97 38% 64%)",
"id": 102027,
"name": "Ayam Sea Mage",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-woman",
"source": {
"imageId": 577189,
"modelPath": "model/character/creature/myrma_woman/act_myrma_woman.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(116 22% 38%)",
"accentColor": "hsl(144 38% 64%)",
"id": 102028,
"name": "Ayam Defender",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 575480,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(163 22% 38%)",
"accentColor": "hsl(191 38% 64%)",
"id": 102029,
"name": "Ayam Warrior",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 575480,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(210 22% 38%)",
"accentColor": "hsl(238 38% 64%)",
"id": 102030,
"name": "Ayam Archpriest",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-woman",
"source": {
"imageId": 577189,
"modelPath": "model/character/creature/myrma_woman/act_myrma_woman.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(257 22% 38%)",
"accentColor": "hsl(285 38% 64%)",
"id": 102031,
"name": "Ayam Sound Shell Guardian",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 578184,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(304 22% 38%)",
"accentColor": "hsl(332 38% 64%)",
"id": 102032,
"name": "Ayam Sound Shell Fighter",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 578185,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(351 22% 38%)",
"accentColor": "hsl(19 38% 64%)",
"id": 102033,
"name": "Deep Sea Vermin",
"level": 50,
"classification": "combat",
"archetype": "lizard",
"actor": "bigbug-turquoise",
"source": {
"imageId": 574513,
"modelPath": "model/character/creature/bigbug/act_bigbug_turquoise.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(38 22% 38%)",
"accentColor": "hsl(66 38% 64%)",
"id": 102034,
"name": "Tame Ray",
"level": 53,
"classification": "combat",
"archetype": "humanoid",
"actor": "skate-fish-02",
"source": {
"imageId": 577197,
"modelPath": "model/character/creature/skate_fish/act_skate_fish_02.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(85 22% 38%)",
"accentColor": "hsl(113 38% 64%)",
"id": 102035,
"name": "Tame Tiger Ray",
"level": 53,
"classification": "combat",
"archetype": "humanoid",
"actor": "skate-fish-03",
"source": {
"imageId": 578141,
"modelPath": "model/character/creature/skate_fish/act_skate_fish_03.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(132 22% 38%)",
"accentColor": "hsl(160 38% 64%)",
"id": 102036,
"name": "Medusa's Servant",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "abomination-male",
"source": {
"imageId": 578186,
"modelPath": "model/character/creature/abomination_male/act_abomination_male.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(179 22% 38%)",
"accentColor": "hsl(207 38% 64%)",
"id": 102037,
"name": "Medusa's Maid",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "abomination-male",
"source": {
"imageId": 578187,
"modelPath": "model/character/creature/abomination_male/act_abomination_male.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(320 22% 38%)",
"accentColor": "hsl(348 38% 64%)",
"id": 102040,
"name": "Medusa",
"level": 58,
"classification": "boss",
"archetype": "humanoid",
"actor": "fat-medusa",
"title": "Medusa",
"source": {
"imageId": 578085,
"modelPath": "model/character/creature/fat_medusa/act_fat_medusa.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(7 22% 38%)",
"accentColor": "hsl(35 38% 64%)",
"id": 102041,
"name": "Teeth of the Reef",
"level": 56,
"classification": "boss",
"archetype": "humanoid",
"actor": "darkreef-fang",
"title": "Teeth of the Reef",
"source": {
"imageId": 578014,
"modelPath": "model/character/creature/locathah/act_darkreef_fang.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(54 22% 38%)",
"accentColor": "hsl(82 38% 64%)",
"id": 102042,
"name": "Template 102042",
"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(101 22% 38%)",
"accentColor": "hsl(129 38% 64%)",
"id": 102043,
"name": "Little Tame Ray",
"level": 52,
"classification": "combat",
"archetype": "humanoid",
"actor": "skate-fish-02",
"source": {
"imageId": 578182,
"modelPath": "model/character/creature/skate_fish/act_skate_fish_02.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(148 22% 38%)",
"accentColor": "hsl(176 38% 64%)",
"id": 102044,
"name": "Ayam Assassin",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 575480,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(242 22% 38%)",
"accentColor": "hsl(270 38% 64%)",
"id": 102046,
"name": "Bloodthirsty Claw",
"level": 56,
"classification": "boss",
"archetype": "humanoid",
"actor": "blood-claw",
"title": "Bloodthirsty Claw",
"source": {
"imageId": 578013,
"modelPath": "model/character/creature/blood_claw/act_blood_claw.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(321 22% 38%)",
"accentColor": "hsl(349 38% 64%)",
"id": 102063,
"name": "Geba",
"level": 57,
"classification": "boss",
"archetype": "humanoid",
"actor": "myrma-man-gabba",
"title": "Geba",
"source": {
"imageId": 578015,
"modelPath": "model/character/creature/myrma_man_gabba/act_myrma_man_gabba.ros",
"classificationRule": "NPCObjectDB.sex=3"
}
},
{
"primaryColor": "hsl(8 22% 38%)",
"accentColor": "hsl(36 38% 64%)",
"id": 102064,
"name": "Tiktaalik War Drum",
"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": 577983,
"modelPath": null,
"classificationRule": "noncombat/dynamic-display source object"
}
},
{
"primaryColor": "hsl(149 22% 38%)",
"accentColor": "hsl(177 38% 64%)",
"id": 102067,
"name": "Ayam Rookie",
"level": 50,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-man",
"source": {
"imageId": 577418,
"modelPath": "model/character/creature/myrma_man/act_myrma_man.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"primaryColor": "hsl(323 22% 38%)",
"accentColor": "hsl(351 38% 64%)",
"id": 102109,
"name": "Ayam War Drum Priest",
"level": 55,
"classification": "combat",
"archetype": "humanoid",
"actor": "myrma-woman",
"source": {
"imageId": 577189,
"modelPath": "model/character/creature/myrma_woman/act_myrma_woman.ros",
"classificationRule": "positive native level plus static model/character ROS"
}
},
{
"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(306 22% 38%)",
"accentColor": "hsl(334 38% 64%)",
"id": 103518,
"name": "Template 103518",
"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(353 22% 38%)",
"accentColor": "hsl(21 38% 64%)",
"id": 103519,
"name": "Template 103519",
"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(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(6 22% 38%)",
"accentColor": "hsl(34 38% 64%)",
"id": 111378,
"name": "Template 111378",
"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(61 22% 38%)",
"accentColor": "hsl(89 38% 64%)",
"id": 113003,
"name": "Sequitee",
"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(120 22% 38%)",
"accentColor": "hsl(148 38% 64%)",
"id": 780360,
"name": "Template 780360",
"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(167 22% 38%)",
"accentColor": "hsl(195 38% 64%)",
"id": 780361,
"name": "Template 780361",
"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(214 22% 38%)",
"accentColor": "hsl(242 38% 64%)",
"id": 780362,
"name": "Template 780362",
"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(261 22% 38%)",
"accentColor": "hsl(289 38% 64%)",
"id": 780363,
"name": "Template 780363",
"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(108 22% 38%)",
"accentColor": "hsl(136 38% 64%)",
"id": 780444,
"name": "Template 780444",
"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."
]
}