forked from phenom/healer-man
310 lines
9.1 KiB
TypeScript
310 lines
9.1 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_BOSS2_ENTITIES = {
|
|
"rw-ystra-labyrinth-boss2-102196": {
|
|
"id": "rw-ystra-labyrinth-boss2-102196",
|
|
"name": "Rune Guardian Leader",
|
|
"kind": "boss",
|
|
"title": "Rune Guardian Leader",
|
|
"hasLoot": false,
|
|
"combat": {
|
|
"level": 46,
|
|
"healthMultiplier": 7.5,
|
|
"damageMultiplier": 1.3,
|
|
"moveSpeed": 2.25,
|
|
"leashRange": 32,
|
|
"mechanicIds": [
|
|
"rw-ystra-labyrinth-boss2-102196-spell-490539",
|
|
"rw-ystra-labyrinth-boss2-102196-aura-491008",
|
|
"rw-ystra-labyrinth-boss2-102196-spell-492310",
|
|
"rw-ystra-labyrinth-boss2-102196-spell-492312",
|
|
"rw-ystra-labyrinth-boss2-102196-aura-492313",
|
|
"rw-ystra-labyrinth-boss2-102196-spell-492314",
|
|
"rw-ystra-labyrinth-boss2-102196-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-boss2-102196-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
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-102196-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-boss2-102196-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
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-102196-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
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-102196-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-boss2-102196-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
|
|
}
|
|
},
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-102196-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
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"visual": {
|
|
"primaryColor": "hsl(92 22% 38%)",
|
|
"accentColor": "hsl(120 38% 64%)",
|
|
"scale": 1,
|
|
"archetype": "humanoid",
|
|
"model": {
|
|
"url": "/assets/creatures/ystra-labyrinth-boss2/death-golem.glb",
|
|
"rotationY": 0,
|
|
"groundOffset": 0.08376,
|
|
"labelHeight": 5.72586,
|
|
"markerRadius": 2.01109,
|
|
"animationMode": "native"
|
|
}
|
|
}
|
|
}
|
|
} as const satisfies PopulationDefinitionMap;
|
|
|
|
export const YSTRA_LABYRINTH_BOSS2_STATIC_SPAWNS = [
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-spawn-5952381",
|
|
"entityId": "rw-ystra-labyrinth-boss2-102196",
|
|
"position": [
|
|
0.093951,
|
|
0.315944,
|
|
2.134999
|
|
],
|
|
"yaw": 1.553343034,
|
|
"spawnMask": 1
|
|
}
|
|
] as const satisfies readonly StaticMobSpawnDefinition[];
|
|
|
|
export const YSTRA_LABYRINTH_BOSS2_BOSSES = [
|
|
{
|
|
"id": "rw-ystra-labyrinth-boss2-spawn-5952381",
|
|
"name": "Rune Guardian Leader",
|
|
"position": [
|
|
0.093951,
|
|
0.315944,
|
|
2.134999
|
|
]
|
|
}
|
|
] as const satisfies readonly DungeonBossObjective[];
|
|
|
|
export const YSTRA_LABYRINTH_BOSS2_OBJECTIVE_ORDER = YSTRA_LABYRINTH_BOSS2_BOSSES;
|
|
|
|
export const YSTRA_LABYRINTH_BOSS2_POPULATION_PROVENANCE = {
|
|
"schemaVersion": 2,
|
|
"dungeonId": "ystra-labyrinth-boss2",
|
|
"zoneId": 111,
|
|
"sourceRowCount": 3,
|
|
"importedSpawnCount": 1,
|
|
"excludedRowCount": 2,
|
|
"bossSpawnCount": 1,
|
|
"objectiveOrder": {
|
|
"authoritative": false,
|
|
"kind": "healerMan-distance-derived",
|
|
"evidence": [
|
|
"scripts/runewaker-pipeline/build-population.mjs"
|
|
]
|
|
},
|
|
"sourceSnapshot": "scripts/runewaker-pipeline/snapshots/ystra-labyrinth-boss2-zone-111.json",
|
|
"sourceContentSha256": "25a5dc9d36fbd9a27d7f12c27565e5c7286569056ffe19eb83edda7b79647362",
|
|
"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.190276,
|
|
"maximumCombatDistance": 0.158889,
|
|
"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": "c47e67013e68ecf9c7ae30ef4b2058a850505385739dfe8c32ce8874e6ed077c",
|
|
"sourceSpellPolicy": "Only positively classified direct-HP-damage families execute; coefficients remain conservative HealerMan values."
|
|
} as const;
|