1056 lines
31 KiB
TypeScript
1056 lines
31 KiB
TypeScript
/* Generated by scripts/runewaker-pipeline/build-population.mjs. */
|
|
import type { DungeonBossObjective } from "../dungeonTypes";
|
|
import type { PopulationDefinitionMap, StaticMobSpawnDefinition } from "../mobPopulation";
|
|
|
|
export const YSTRA_LABYRINTH_BOSS1_ENTITIES = {
|
|
"rw-ystra-labyrinth-boss1-102195": {
|
|
"id": "rw-ystra-labyrinth-boss1-102195",
|
|
"name": "Specter Guardian Creator",
|
|
"kind": "boss",
|
|
"title": "Specter Guardian Creator",
|
|
"hasLoot": false,
|
|
"combat": {
|
|
"level": 41,
|
|
"healthMultiplier": 7.5,
|
|
"damageMultiplier": 1.3,
|
|
"moveSpeed": 2.25,
|
|
"leashRange": 32,
|
|
"mechanicIds": [
|
|
"rw-ystra-labyrinth-boss1-102195-spell-490634",
|
|
"rw-ystra-labyrinth-boss1-102195-aura-491008",
|
|
"rw-ystra-labyrinth-boss1-102195-spell-492307",
|
|
"rw-ystra-labyrinth-boss1-102195-spell-492308",
|
|
"rw-ystra-labyrinth-boss1-102195-phase-80",
|
|
"rw-ystra-labyrinth-boss1-102195-phase-60",
|
|
"rw-ystra-labyrinth-boss1-102195-phase-40",
|
|
"rw-ystra-labyrinth-boss1-102195-phase-20"
|
|
],
|
|
"attacks": [
|
|
{
|
|
"id": "basic-attack",
|
|
"name": "Basic Attack",
|
|
"delivery": "melee",
|
|
"target": "primary",
|
|
"school": "physical",
|
|
"animation": "attack",
|
|
"range": 4.5,
|
|
"cooldownMs": 1900,
|
|
"damageMultiplier": 1
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-spell-490634",
|
|
"name": "Meteor Shower",
|
|
"spellId": 490634,
|
|
"delivery": "projectile",
|
|
"target": "primary",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 2000,
|
|
"range": 25,
|
|
"cooldownMs": 20000,
|
|
"initialCooldownMs": [
|
|
20000,
|
|
20000
|
|
],
|
|
"repeatCooldownMs": [
|
|
20000,
|
|
20000
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 490634,
|
|
"componentId": 501091,
|
|
"spellLevel": 150,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -20,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-aura-491008",
|
|
"name": "Transport Magic",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 15000,
|
|
"initialCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"repeatCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "transport-magic",
|
|
"durationMs": 7500
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-spell-492307",
|
|
"name": "Guard Bomb",
|
|
"spellId": 492307,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "fire",
|
|
"animation": "cast",
|
|
"castTimeMs": 2000,
|
|
"range": 5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492307,
|
|
"componentId": 502523,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -10,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-spell-492308",
|
|
"name": "Guard Bomb",
|
|
"spellId": 492308,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "fire",
|
|
"animation": "cast",
|
|
"castTimeMs": 2000,
|
|
"range": 5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492308,
|
|
"componentId": 502524,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -50,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-phase-80",
|
|
"name": "Phase Change",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"interruptible": false,
|
|
"range": 0,
|
|
"cooldownMs": 1000,
|
|
"initialCooldownMs": [
|
|
0,
|
|
0
|
|
],
|
|
"repeatCooldownMs": [
|
|
1000,
|
|
1000
|
|
],
|
|
"maximumCasts": 1,
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "phase-80",
|
|
"durationMs": 5000
|
|
},
|
|
"condition": {
|
|
"kind": "self-health-percent",
|
|
"minimum": 0,
|
|
"maximum": 80
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-phase-60",
|
|
"name": "Phase Change",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"interruptible": false,
|
|
"range": 0,
|
|
"cooldownMs": 1000,
|
|
"initialCooldownMs": [
|
|
0,
|
|
0
|
|
],
|
|
"repeatCooldownMs": [
|
|
1000,
|
|
1000
|
|
],
|
|
"maximumCasts": 1,
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "phase-60",
|
|
"durationMs": 5000
|
|
},
|
|
"condition": {
|
|
"kind": "self-health-percent",
|
|
"minimum": 0,
|
|
"maximum": 60
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-phase-40",
|
|
"name": "Phase Change",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"interruptible": false,
|
|
"range": 0,
|
|
"cooldownMs": 1000,
|
|
"initialCooldownMs": [
|
|
0,
|
|
0
|
|
],
|
|
"repeatCooldownMs": [
|
|
1000,
|
|
1000
|
|
],
|
|
"maximumCasts": 1,
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "phase-40",
|
|
"durationMs": 5000
|
|
},
|
|
"condition": {
|
|
"kind": "self-health-percent",
|
|
"minimum": 0,
|
|
"maximum": 40
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-102195-phase-20",
|
|
"name": "Phase Change",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"interruptible": false,
|
|
"range": 0,
|
|
"cooldownMs": 1000,
|
|
"initialCooldownMs": [
|
|
0,
|
|
0
|
|
],
|
|
"repeatCooldownMs": [
|
|
1000,
|
|
1000
|
|
],
|
|
"maximumCasts": 1,
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "phase-20",
|
|
"durationMs": 5000
|
|
},
|
|
"condition": {
|
|
"kind": "self-health-percent",
|
|
"minimum": 0,
|
|
"maximum": 20
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"visual": {
|
|
"primaryColor": "hsl(45 22% 38%)",
|
|
"accentColor": "hsl(73 38% 64%)",
|
|
"scale": 1,
|
|
"archetype": "humanoid",
|
|
"model": {
|
|
"url": "/assets/creatures/ystra-labyrinth-boss1/skeleton-king.glb",
|
|
"rotationY": 0,
|
|
"groundOffset": -1.36435,
|
|
"labelHeight": 5.60254,
|
|
"markerRadius": 2.29833,
|
|
"animationMode": "native"
|
|
}
|
|
}
|
|
},
|
|
"rw-ystra-labyrinth-boss1-101432": {
|
|
"id": "rw-ystra-labyrinth-boss1-101432",
|
|
"name": "Rune Guardian Leader",
|
|
"kind": "boss",
|
|
"title": "Rune Guardian Leader",
|
|
"hasLoot": false,
|
|
"combat": {
|
|
"level": 40,
|
|
"healthMultiplier": 7.5,
|
|
"damageMultiplier": 1.3,
|
|
"moveSpeed": 2.25,
|
|
"leashRange": 32,
|
|
"mechanicIds": [
|
|
"rw-ystra-labyrinth-boss1-101432-spell-490539",
|
|
"rw-ystra-labyrinth-boss1-101432-aura-491008",
|
|
"rw-ystra-labyrinth-boss1-101432-spell-492310",
|
|
"rw-ystra-labyrinth-boss1-101432-spell-492312",
|
|
"rw-ystra-labyrinth-boss1-101432-aura-492313",
|
|
"rw-ystra-labyrinth-boss1-101432-spell-492314",
|
|
"rw-ystra-labyrinth-boss1-101432-spell-492334"
|
|
],
|
|
"attacks": [
|
|
{
|
|
"id": "basic-attack",
|
|
"name": "Basic Attack",
|
|
"delivery": "melee",
|
|
"target": "primary",
|
|
"school": "physical",
|
|
"animation": "attack",
|
|
"range": 4.5,
|
|
"cooldownMs": 1900,
|
|
"damageMultiplier": 1
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-spell-490539",
|
|
"name": "Giant Whirlwind",
|
|
"spellId": 490539,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "physical",
|
|
"animation": "attack",
|
|
"castTimeMs": 1800,
|
|
"range": 7.5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 7.5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 7.5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 490539,
|
|
"componentId": 500962,
|
|
"spellLevel": 0,
|
|
"calculationPath": "physical",
|
|
"powerKind": "source-ratio",
|
|
"damagePower": -1,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 1,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-aura-491008",
|
|
"name": "Transport Magic",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 15000,
|
|
"initialCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"repeatCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "transport-magic",
|
|
"durationMs": 7500
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-spell-492310",
|
|
"name": "Drop Magic",
|
|
"spellId": 492310,
|
|
"delivery": "projectile",
|
|
"target": "primary",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 0,
|
|
"range": 30,
|
|
"cooldownMs": 5000,
|
|
"initialCooldownMs": [
|
|
5000,
|
|
5000
|
|
],
|
|
"repeatCooldownMs": [
|
|
5000,
|
|
5000
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492310,
|
|
"componentId": 501091,
|
|
"spellLevel": 150,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -20,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-spell-492312",
|
|
"name": "Energy Overload",
|
|
"spellId": 492312,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "shadow",
|
|
"animation": "cast",
|
|
"castTimeMs": 1800,
|
|
"range": 7.5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 7.5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 7.5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492312,
|
|
"componentId": 502439,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -20,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-aura-492313",
|
|
"name": "Magic Focus",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 15000,
|
|
"initialCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"repeatCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "magic-focus",
|
|
"durationMs": 7500
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-spell-492314",
|
|
"name": "Magic Explosion",
|
|
"spellId": 492314,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "shadow",
|
|
"animation": "cast",
|
|
"castTimeMs": 1800,
|
|
"range": 7.5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 7.5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 7.5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492314,
|
|
"componentId": 502439,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -20,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101432-spell-492334",
|
|
"name": "Manastorms Duo Lv5",
|
|
"spellId": 492334,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "shadow",
|
|
"animation": "cast",
|
|
"castTimeMs": 1800,
|
|
"range": 30,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 15,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 15
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492334,
|
|
"componentId": 501097,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-points",
|
|
"damagePower": -5,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.85,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"visual": {
|
|
"primaryColor": "hsl(184 22% 38%)",
|
|
"accentColor": "hsl(212 38% 64%)",
|
|
"scale": 1,
|
|
"archetype": "humanoid",
|
|
"model": {
|
|
"url": "/assets/creatures/ystra-labyrinth-boss1/death-golem.glb",
|
|
"rotationY": 0,
|
|
"groundOffset": 0.08376,
|
|
"labelHeight": 5.72586,
|
|
"markerRadius": 2.01109,
|
|
"animationMode": "native"
|
|
}
|
|
}
|
|
},
|
|
"rw-ystra-labyrinth-boss1-101433": {
|
|
"id": "rw-ystra-labyrinth-boss1-101433",
|
|
"name": "Raichika the Destroyer",
|
|
"kind": "boss",
|
|
"title": "Raichika the Destroyer",
|
|
"hasLoot": false,
|
|
"combat": {
|
|
"level": 42,
|
|
"healthMultiplier": 7.5,
|
|
"damageMultiplier": 1.3,
|
|
"moveSpeed": 2.25,
|
|
"leashRange": 32,
|
|
"mechanicIds": [
|
|
"rw-ystra-labyrinth-boss1-101433-spell-490524",
|
|
"rw-ystra-labyrinth-boss1-101433-aura-491008",
|
|
"rw-ystra-labyrinth-boss1-101433-aura-492256",
|
|
"rw-ystra-labyrinth-boss1-101433-aura-492322",
|
|
"rw-ystra-labyrinth-boss1-101433-spell-492323",
|
|
"rw-ystra-labyrinth-boss1-101433-aura-492324",
|
|
"rw-ystra-labyrinth-boss1-101433-spell-492327"
|
|
],
|
|
"attacks": [
|
|
{
|
|
"id": "basic-attack",
|
|
"name": "Basic Attack",
|
|
"delivery": "melee",
|
|
"target": "primary",
|
|
"school": "physical",
|
|
"animation": "attack",
|
|
"range": 4.5,
|
|
"cooldownMs": 1900,
|
|
"damageMultiplier": 1
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-spell-490524",
|
|
"name": "Clash",
|
|
"spellId": 490524,
|
|
"delivery": "projectile",
|
|
"target": "primary",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 0,
|
|
"range": 6,
|
|
"cooldownMs": 10000,
|
|
"initialCooldownMs": [
|
|
10000,
|
|
10000
|
|
],
|
|
"repeatCooldownMs": [
|
|
10000,
|
|
10000
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 490524,
|
|
"componentId": 500966,
|
|
"spellLevel": 0,
|
|
"calculationPath": "magic",
|
|
"powerKind": "source-ratio",
|
|
"damagePower": -1,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 1,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-aura-491008",
|
|
"name": "Transport Magic",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 15000,
|
|
"initialCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"repeatCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "transport-magic",
|
|
"durationMs": 7500
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-aura-492256",
|
|
"name": "Fog of Petrification",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 8000,
|
|
"initialCooldownMs": [
|
|
8000,
|
|
8000
|
|
],
|
|
"repeatCooldownMs": [
|
|
8000,
|
|
8000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "fog-of-petrification",
|
|
"durationMs": 4000
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-aura-492322",
|
|
"name": "Cursed Poison Fog",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 8000,
|
|
"initialCooldownMs": [
|
|
8000,
|
|
8000
|
|
],
|
|
"repeatCooldownMs": [
|
|
8000,
|
|
8000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "cursed-posion",
|
|
"durationMs": 4000
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-spell-492323",
|
|
"name": "Potent Poison Swipe",
|
|
"spellId": 492323,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "physical",
|
|
"animation": "attack",
|
|
"castTimeMs": 1800,
|
|
"range": 5,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"radius": 5,
|
|
"telegraph": {
|
|
"shape": "circle",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"radius": 5
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492323,
|
|
"componentId": 500962,
|
|
"spellLevel": 0,
|
|
"calculationPath": "physical",
|
|
"powerKind": "source-ratio",
|
|
"damagePower": -1,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 1,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-aura-492324",
|
|
"name": "Demon's Roar",
|
|
"delivery": "area",
|
|
"target": "self",
|
|
"school": "arcane",
|
|
"animation": "cast",
|
|
"castTimeMs": 1200,
|
|
"range": 0,
|
|
"cooldownMs": 15000,
|
|
"initialCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"repeatCooldownMs": [
|
|
15000,
|
|
15000
|
|
],
|
|
"damageMultiplier": 0,
|
|
"effect": {
|
|
"kind": "aura",
|
|
"aura": "demon-s-roar",
|
|
"durationMs": 7500
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-101433-spell-492327",
|
|
"name": "Charge Assault",
|
|
"spellId": 492327,
|
|
"delivery": "area",
|
|
"target": "nearby-party",
|
|
"school": "physical",
|
|
"animation": "cast",
|
|
"castTimeMs": 1800,
|
|
"range": 30,
|
|
"cooldownMs": 6500,
|
|
"initialCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"repeatCooldownMs": [
|
|
6500,
|
|
6500
|
|
],
|
|
"damageMultiplier": 0.85,
|
|
"telegraph": {
|
|
"shape": "line",
|
|
"anchor": "source",
|
|
"warningMs": 1800,
|
|
"length": 30,
|
|
"width": 2
|
|
},
|
|
"runewakerFormula": {
|
|
"schemaVersion": 1,
|
|
"spellId": 492327,
|
|
"componentId": 500972,
|
|
"spellLevel": 0,
|
|
"calculationPath": "physical",
|
|
"powerKind": "source-ratio",
|
|
"damagePower": -0.8,
|
|
"fixedValue": 0,
|
|
"dotBase": 0,
|
|
"runtimeBaselineMultiplier": 0.8,
|
|
"provenance": {
|
|
"sourceFile": "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
|
|
"physicalFunctionLine": 3366,
|
|
"magicFunctionLine": 3651,
|
|
"magicObjectDatabase": "Resource/data/magicobject.db"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"visual": {
|
|
"primaryColor": "hsl(231 22% 38%)",
|
|
"accentColor": "hsl(259 38% 64%)",
|
|
"scale": 1,
|
|
"archetype": "humanoid",
|
|
"model": {
|
|
"url": "/assets/creatures/ystra-labyrinth-boss1/cockatrice.glb",
|
|
"rotationY": 0,
|
|
"groundOffset": 0.05783,
|
|
"labelHeight": 2.23155,
|
|
"markerRadius": 2.0353,
|
|
"animationMode": "native"
|
|
}
|
|
}
|
|
}
|
|
} as const satisfies PopulationDefinitionMap;
|
|
|
|
export const YSTRA_LABYRINTH_BOSS1_STATIC_SPAWNS = [
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951030",
|
|
"entityId": "rw-ystra-labyrinth-boss1-102195",
|
|
"position": [
|
|
0.297951,
|
|
0.315478,
|
|
1.661462
|
|
],
|
|
"yaw": 1.570796327,
|
|
"spawnMask": 1
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951049",
|
|
"entityId": "rw-ystra-labyrinth-boss1-101432",
|
|
"position": [
|
|
-0.601707,
|
|
11.915689,
|
|
-332.35765
|
|
],
|
|
"yaw": 1.564936707,
|
|
"spawnMask": 1
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951054",
|
|
"entityId": "rw-ystra-labyrinth-boss1-101433",
|
|
"position": [
|
|
328.106372,
|
|
2.331787,
|
|
9.690485
|
|
],
|
|
"yaw": 1.24905917,
|
|
"spawnMask": 1
|
|
}
|
|
] as const satisfies readonly StaticMobSpawnDefinition[];
|
|
|
|
export const YSTRA_LABYRINTH_BOSS1_BOSSES = [
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951030",
|
|
"name": "Specter Guardian Creator",
|
|
"position": [
|
|
0.297951,
|
|
0.315478,
|
|
1.661462
|
|
]
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951054",
|
|
"name": "Raichika the Destroyer",
|
|
"position": [
|
|
328.106372,
|
|
2.331787,
|
|
9.690485
|
|
]
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss1-spawn-5951049",
|
|
"name": "Rune Guardian Leader",
|
|
"position": [
|
|
-0.601707,
|
|
11.915689,
|
|
-332.35765
|
|
]
|
|
}
|
|
] as const satisfies readonly DungeonBossObjective[];
|
|
|
|
export const YSTRA_LABYRINTH_BOSS1_OBJECTIVE_ORDER = YSTRA_LABYRINTH_BOSS1_BOSSES;
|
|
|
|
export const YSTRA_LABYRINTH_BOSS1_POPULATION_PROVENANCE = {
|
|
"schemaVersion": 2,
|
|
"dungeonId": "ystra-labyrinth-boss1",
|
|
"zoneId": 109,
|
|
"sourceRowCount": 17,
|
|
"importedSpawnCount": 3,
|
|
"excludedRowCount": 14,
|
|
"bossSpawnCount": 3,
|
|
"objectiveOrder": {
|
|
"authoritative": false,
|
|
"kind": "healerMan-distance-derived",
|
|
"evidence": [
|
|
"scripts/runewaker-pipeline/build-population.mjs"
|
|
]
|
|
},
|
|
"sourceSnapshot": "scripts/runewaker-pipeline/snapshots/ystra-labyrinth-boss1-zone-109.json",
|
|
"sourceContentSha256": "1dc2280d9301e59b50488dac774b4fea28475c6a31b5fc9ab2bce7f3046f9d8f",
|
|
"sourceHashes": {
|
|
"backups": {
|
|
"../rom-pvt-server-backups/OneForAll/SQL/databases/ROM_Global.bak": "aa7bf9971c06078d38b1de3602282a924ba277396d1242629e968ccd570da1a5",
|
|
"../rom-pvt-server-backups/OneForAll/SQL/databases/ObjectEdit.bak": "3bb719c3606f3e36b50f2ce9d89da5aba58faa8ff2ab7909d364fc3d68ca8a74"
|
|
},
|
|
"catalogs": {
|
|
"Resource/data/npcobject.db": "b627b6eb269c30576a6558000a31abe2db472689ef9a60cc1c1e20207abd69f1",
|
|
"Resource/data/imageobject.db": "dd5ffcfd74b253dcecaa2f41a931a634dd45ef5f7c13e849d539ddc47fdee1f9",
|
|
"Resource/data/string_enus.db": "4fce021ba9ed110a213e08d3228b2de57cec66ddbbc8cdcf5753204874d9ab75"
|
|
}
|
|
},
|
|
"coordinateTransform": "threeLocal=(inverse(WDB placement)*server)*(meters,meters,-meters)",
|
|
"navmeshProjection": {
|
|
"maximumAllowedDistance": 4,
|
|
"maximumObservedDistance": 0.474525,
|
|
"maximumCombatDistance": 0.266309,
|
|
"deferredRowsBeyondCombatLimit": 0
|
|
},
|
|
"runeWakerIdsAreNamespaced": true,
|
|
"serverEntryPolicy": "RuneWaker numeric ids are never passed to AzerothCore serverEntry.",
|
|
"sourceSpellCatalog": "scripts/runewaker-pipeline/snapshots/runewaker-npc-spell-catalog.json",
|
|
"sourceSpellCatalogSha256": "36bb578bbdda61af6ab864084907b347ff9a4f4c2fff671a2cb6586d535666ec",
|
|
"sourceSpellPolicy": "Only positively classified direct-HP-damage families execute; source fields are preserved and live damage uses the labeled HealerMan baseline adapter when native stats are unavailable."
|
|
} as const;
|