Update Healer Man server
This commit is contained in:
1 parent
4c768fbec6
commit
b16821e92e
330 files changed
+35406
-1760
No files matched your search
@@ -0,0 +1,70 @@
|
||||
import type { AbilityDefinition, AbilityEffect } from "./abilityCatalog";
|
||||
|
||||
/**
|
||||
* Current CoA Warlock/Warrior Enraged. CoA lists it under Warrior General,
|
||||
* level 60, on the Warlock/Warrior pair page:
|
||||
* https://chroniclesofarcadia.com/en/wiki/skills/list/9-1
|
||||
*/
|
||||
export const ROM_COA_WARLOCK_WARRIOR_ENRAGED = Object.freeze({
|
||||
spellId: 499_871,
|
||||
localWarriorGeneralSpellId: 490_492,
|
||||
unresolvedLocalChildSpellId: 499_869,
|
||||
unlockLevel: 60,
|
||||
cooldownMs: 40_000,
|
||||
rage: 100,
|
||||
focus: 35,
|
||||
psi: 1,
|
||||
} as const);
|
||||
|
||||
export const ROM_COA_WARLOCK_WARRIOR_ENRAGED_DESCRIPTION =
|
||||
"Instant. Immediately recovers 100 Rage, 35 Focus, and 1 Psi. Cooldown: 40 seconds.";
|
||||
|
||||
export const ROM_COA_WARLOCK_WARRIOR_ENRAGED_EFFECTS: readonly AbilityEffect[] = Object.freeze([
|
||||
{ kind: "resource", resource: "rage", amount: ROM_COA_WARLOCK_WARRIOR_ENRAGED.rage },
|
||||
{ kind: "resource", resource: "focus", amount: ROM_COA_WARLOCK_WARRIOR_ENRAGED.focus },
|
||||
{ kind: "resource", resource: "psi", amount: ROM_COA_WARLOCK_WARRIOR_ENRAGED.psi },
|
||||
]);
|
||||
|
||||
/**
|
||||
* Add the current CoA pair spell without rewriting RuneWaker's separate
|
||||
* Warrior General Enraged (490492). Hidden local child 499869 also stays
|
||||
* separate because neither the catalog nor CoA identifies it as this spell.
|
||||
*/
|
||||
export function romWarlockWarriorEnragedCoaAdditionalAbilities(
|
||||
catalog: readonly AbilityDefinition[],
|
||||
): readonly AbilityDefinition[] {
|
||||
if (catalog.some((ability) => ability.dbcSpellId === ROM_COA_WARLOCK_WARRIOR_ENRAGED.spellId
|
||||
&& ability.classId === "rom-warlock" && ability.secondaryClassId === "rom-warrior")) return [];
|
||||
|
||||
const localEnraged = catalog.find((ability) => ability.dbcSpellId
|
||||
=== ROM_COA_WARLOCK_WARRIOR_ENRAGED.localWarriorGeneralSpellId
|
||||
&& ability.classId === "rom-warrior" && ability.secondaryClassId === undefined);
|
||||
if (!localEnraged) {
|
||||
throw new Error("Cannot add CoA Warlock/Warrior Enraged without the separate RuneWaker Warrior General row");
|
||||
}
|
||||
|
||||
return [{
|
||||
id: "rom-warlock-rom-warrior-general-coa-499871",
|
||||
classId: "rom-warlock",
|
||||
secondaryClassId: "rom-warrior",
|
||||
dbcSpellId: ROM_COA_WARLOCK_WARRIOR_ENRAGED.spellId,
|
||||
name: "Enraged",
|
||||
unlockLevel: ROM_COA_WARLOCK_WARRIOR_ENRAGED.unlockLevel,
|
||||
icon: localEnraged.icon,
|
||||
sigil: "EN",
|
||||
description: ROM_COA_WARLOCK_WARRIOR_ENRAGED_DESCRIPTION,
|
||||
target: "self",
|
||||
range: { min: 0, max: 1 },
|
||||
castMode: "instant",
|
||||
castTimeMs: 0,
|
||||
cooldownMs: ROM_COA_WARLOCK_WARRIOR_ENRAGED.cooldownMs,
|
||||
gcdMs: 1_500,
|
||||
cost: { resource: "mana", amount: 0 },
|
||||
costs: [],
|
||||
effects: ROM_COA_WARLOCK_WARRIOR_ENRAGED_EFFECTS,
|
||||
passive: false,
|
||||
source: "runewaker",
|
||||
sourceUnlockLevel: ROM_COA_WARLOCK_WARRIOR_ENRAGED.unlockLevel,
|
||||
romSkillGroup: "general",
|
||||
}];
|
||||
}
|
||||
Reference in new issue
Block a user