Release Healer Man 0.1.14

This commit is contained in:
phenom committed 2026-09-05 11:40:50 -04:00
1 parent 67d7a8ebe7
commit 7b41b102fa
147 files changed
+169892 -1342

No files matched your search

@@ -1,4 +1,4 @@
/* Generated by scripts/runewaker-pipeline/build-population.mjs. */
/* This file is generated by scripts/runewaker-pipeline/build-forsaken-population.mjs. */
import type { DungeonBossObjective } from "../dungeonTypes";
import type { PopulationDefinitionMap, StaticMobSpawnDefinition } from "../mobPopulation";
@@ -16,7 +16,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Corrosive Slam",
"delivery": "melee",
"target": "primary",
@@ -56,7 +56,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -96,7 +96,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -136,7 +136,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -175,9 +175,12 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"damageMultiplier": 1.3,
"moveSpeed": 2.25,
"leashRange": 32,
"mechanicIds": [
"rw-fa-100070-source-gap-burst"
],
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -186,6 +189,33 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"range": 4.5,
"cooldownMs": 1900,
"damageMultiplier": 1
},
{
"id": "rw-fa-100070-source-gap-burst",
"name": "Arcane Burst",
"delivery": "area",
"target": "nearby-party",
"school": "arcane",
"animation": "cast",
"castTimeMs": 2000,
"range": 12,
"cooldownMs": 12000,
"initialCooldownMs": [
8000,
8000
],
"repeatCooldownMs": [
12000,
12000
],
"damageMultiplier": 0.82,
"radius": 8,
"telegraph": {
"shape": "circle",
"anchor": "source",
"warningMs": 2000,
"radius": 8
}
}
]
},
@@ -217,7 +247,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -257,7 +287,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -297,7 +327,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Corrosive Slam",
"delivery": "melee",
"target": "primary",
@@ -336,9 +366,12 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"damageMultiplier": 1.3,
"moveSpeed": 2.25,
"leashRange": 32,
"mechanicIds": [
"rw-fa-100561-source-gap-sweep"
],
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Corrosive Slam",
"delivery": "melee",
"target": "primary",
@@ -347,6 +380,33 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"range": 4.5,
"cooldownMs": 1900,
"damageMultiplier": 1
},
{
"id": "rw-fa-100561-source-gap-sweep",
"name": "Corrosive Sweep",
"delivery": "area",
"target": "nearby-party",
"school": "nature",
"animation": "attack",
"castTimeMs": 1800,
"range": 7,
"cooldownMs": 10000,
"initialCooldownMs": [
7000,
7000
],
"repeatCooldownMs": [
10000,
10000
],
"damageMultiplier": 1.1,
"telegraph": {
"shape": "cone",
"anchor": "source",
"warningMs": 1800,
"length": 7,
"angleDegrees": 100
}
}
]
},
@@ -378,7 +438,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -417,9 +477,12 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"damageMultiplier": 1.3,
"moveSpeed": 2.25,
"leashRange": 32,
"mechanicIds": [
"rw-fa-100562-source-gap-sweep"
],
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -428,6 +491,33 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"range": 4.5,
"cooldownMs": 1900,
"damageMultiplier": 1
},
{
"id": "rw-fa-100562-source-gap-sweep",
"name": "Heavy Sweep",
"delivery": "area",
"target": "nearby-party",
"school": "physical",
"animation": "attack",
"castTimeMs": 1800,
"range": 7,
"cooldownMs": 10000,
"initialCooldownMs": [
7000,
7000
],
"repeatCooldownMs": [
10000,
10000
],
"damageMultiplier": 1.1,
"telegraph": {
"shape": "cone",
"anchor": "source",
"warningMs": 1800,
"length": 7,
"angleDegrees": 100
}
}
]
},
@@ -459,7 +549,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -498,9 +588,12 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"damageMultiplier": 1.3,
"moveSpeed": 2.25,
"leashRange": 32,
"mechanicIds": [
"rw-fa-100563-source-gap-sweep"
],
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -509,6 +602,33 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"range": 4.5,
"cooldownMs": 1900,
"damageMultiplier": 1
},
{
"id": "rw-fa-100563-source-gap-sweep",
"name": "Heavy Sweep",
"delivery": "area",
"target": "nearby-party",
"school": "physical",
"animation": "attack",
"castTimeMs": 1800,
"range": 7,
"cooldownMs": 10000,
"initialCooldownMs": [
7000,
7000
],
"repeatCooldownMs": [
10000,
10000
],
"damageMultiplier": 1.1,
"telegraph": {
"shape": "cone",
"anchor": "source",
"warningMs": 1800,
"length": 7,
"angleDegrees": 100
}
}
]
},
@@ -539,9 +659,18 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"damageMultiplier": 1.3,
"moveSpeed": 2.25,
"leashRange": 32,
"mechanicIds": [
"rw-fa-100074-spell-490471",
"rw-fa-100074-spell-490489",
"rw-fa-100074-control-490636",
"rw-fa-100074-summon-100070-at-50",
"rw-fa-100074-summon-100070-at-25",
"rw-fa-100074-phase-50",
"rw-fa-100074-phase-25"
],
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -550,6 +679,215 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"range": 4.5,
"cooldownMs": 1900,
"damageMultiplier": 1
},
{
"id": "rw-fa-100074-spell-490471",
"name": "Fireball",
"spellId": 490471,
"delivery": "projectile",
"target": "primary",
"school": "fire",
"animation": "cast",
"castTimeMs": 2000,
"range": 22.5,
"cooldownMs": 3000,
"initialCooldownMs": [
3000,
3000
],
"repeatCooldownMs": [
3000,
3000
],
"damageMultiplier": 0.85
},
{
"id": "rw-fa-100074-spell-490489",
"name": "Dark Power Release",
"spellId": 490489,
"delivery": "area",
"target": "nearby-party",
"school": "fire",
"animation": "cast",
"castTimeMs": 5000,
"range": 15,
"cooldownMs": 20000,
"initialCooldownMs": [
20000,
20000
],
"repeatCooldownMs": [
20000,
20000
],
"damageMultiplier": 0.85,
"radius": 15,
"telegraph": {
"shape": "circle",
"anchor": "source",
"warningMs": 1800,
"radius": 15
}
},
{
"id": "rw-fa-100074-control-490636",
"name": "Group Catch",
"delivery": "area",
"target": "nearby-party",
"school": "shadow",
"animation": "cast",
"castTimeMs": 1800,
"range": 10,
"cooldownMs": 15000,
"initialCooldownMs": [
15000,
15000
],
"repeatCooldownMs": [
15000,
15000
],
"damageMultiplier": 0,
"radius": 5,
"telegraph": {
"shape": "circle",
"anchor": "source",
"warningMs": 1800,
"radius": 5
},
"effect": {
"kind": "control",
"mechanic": "root",
"durationMs": 3000
}
},
{
"id": "rw-fa-100074-summon-100070-at-50",
"name": "Reinforcements at 50%",
"delivery": "area",
"target": "self",
"school": "physical",
"animation": "cast",
"castTimeMs": 1800,
"interruptible": false,
"range": 0,
"cooldownMs": 1000,
"initialCooldownMs": [
0,
0
],
"repeatCooldownMs": [
1000,
1000
],
"maximumCasts": 1,
"damageMultiplier": 0,
"effect": {
"kind": "summon",
"creatureEntry": 100070,
"count": 2
},
"condition": {
"kind": "self-health-percent",
"minimum": 0,
"maximum": 50
}
},
{
"id": "rw-fa-100074-summon-100070-at-25",
"name": "Reinforcements at 25%",
"delivery": "area",
"target": "self",
"school": "physical",
"animation": "cast",
"castTimeMs": 1800,
"interruptible": false,
"range": 0,
"cooldownMs": 1000,
"initialCooldownMs": [
0,
0
],
"repeatCooldownMs": [
1000,
1000
],
"maximumCasts": 1,
"damageMultiplier": 0,
"effect": {
"kind": "summon",
"creatureEntry": 100070,
"count": 2
},
"condition": {
"kind": "self-health-percent",
"minimum": 0,
"maximum": 25
}
},
{
"id": "rw-fa-100074-phase-50",
"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-50",
"durationMs": 5000
},
"condition": {
"kind": "self-health-percent",
"minimum": 0,
"maximum": 50
}
},
{
"id": "rw-fa-100074-phase-25",
"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-25",
"durationMs": 5000
},
"condition": {
"kind": "self-health-percent",
"minimum": 0,
"maximum": 25
}
}
]
},
@@ -581,7 +919,7 @@ export const FORSAKEN_ABBEY_ENTITIES = {
"leashRange": 24,
"attacks": [
{
"id": "rw-fa-basic-attack",
"id": "basic-attack",
"name": "Basic Attack",
"delivery": "melee",
"target": "primary",
@@ -2341,20 +2679,13 @@ export const FORSAKEN_ABBEY_BOSSES = [
export const FORSAKEN_ABBEY_OBJECTIVE_ORDER = FORSAKEN_ABBEY_BOSSES;
export const FORSAKEN_ABBEY_POPULATION_PROVENANCE = {
"schemaVersion": 2,
"schemaVersion": 1,
"dungeonId": "forsaken-abbey",
"zoneId": 102,
"sourceRowCount": 251,
"importedSpawnCount": 150,
"excludedRowCount": 101,
"bossSpawnCount": 8,
"objectiveOrder": {
"authoritative": false,
"kind": "healerMan-distance-derived",
"evidence": [
"scripts/runewaker-pipeline/build-population.mjs"
]
},
"sourceSnapshot": "scripts/runewaker-pipeline/snapshots/forsaken-abbey-zone-102.json",
"sourceContentSha256": "13ef6edd3df6e71389aa92d01201889148c0794cf9ecaafdbaf90d3145d2bf7b",
"sourceHashes": {
@@ -2368,7 +2699,7 @@ export const FORSAKEN_ABBEY_POPULATION_PROVENANCE = {
"Resource/data/string_enus.db": "4fce021ba9ed110a213e08d3228b2de57cec66ddbbc8cdcf5753204874d9ab75"
}
},
"coordinateTransform": "threeLocal=(inverse(WDB placement)*server)*(meters,meters,-meters)",
"coordinateTransform": "threeLocal=(inverse(WDB placement)*server)*(0.1,0.1,-0.1)",
"navmeshProjection": {
"maximumAllowedDistance": 2,
"maximumObservedDistance": 2.5965,
@@ -2376,8 +2707,5 @@ export const FORSAKEN_ABBEY_POPULATION_PROVENANCE = {
"deferredRowsBeyondCombatLimit": 1
},
"runeWakerIdsAreNamespaced": true,
"serverEntryPolicy": "RuneWaker numeric ids are never passed to AzerothCore serverEntry.",
"sourceSpellCatalog": "scripts/runewaker-pipeline/snapshots/runewaker-npc-spell-catalog.json",
"sourceSpellCatalogSha256": "ad29efc1d4906fdd4f2ac7a69316cac32d8fcbaea674678f050265c86e0c506c",
"sourceSpellPolicy": "Only positively classified direct-HP-damage families execute; coefficients remain conservative HealerMan values."
"serverEntryPolicy": "RuneWaker numeric ids are never passed to AzerothCore serverEntry."
} as const;