Update Healer Man server
This commit is contained in:
1 parent
35dfdaed61
commit
4fb7a0b9c8
161 files changed
+24618
-529
No files matched your search
@@ -1,4 +1,27 @@
|
||||
import type { AbilityDefinition } from "./abilityCatalog";
|
||||
import type { AbilityDefinition, AbilityEffect } from "./abilityCatalog";
|
||||
|
||||
export const ROM_PRIEST_CHAMPION_REGENERATE_PROC_ID = "rom-priest-protection-rune-seal-reset";
|
||||
export const ROM_PRIEST_CHAMPION_REGENERATE_PROC_ACTION_ID = "rom-priest-protection-rune-seal-reset-heart-rune";
|
||||
export const ROM_PRIEST_CHAMPION_REGENERATE_PROC_AURA_ID = "rom-priest-protection-rune-seal-regenerate";
|
||||
export const ROM_PRIEST_CHAMPION_REGENERATE_PROC_CHANCE = 0.08;
|
||||
|
||||
const ROM_PRIEST_REGENERATE_ABILITY_ID = "rom-priest-general-2";
|
||||
|
||||
const PROTECTION_RUNE_SEAL_REGENERATE_PROC_AURA = {
|
||||
id: ROM_PRIEST_CHAMPION_REGENERATE_PROC_AURA_ID,
|
||||
name: "Protection Rune Seal: Regenerate",
|
||||
disposition: "buff" as const,
|
||||
// Keep the exact 20-second final HoT tick eligible before aura expiry runs.
|
||||
durationMs: 20_001,
|
||||
hideFromAuraStrip: true,
|
||||
procs: [{
|
||||
id: ROM_PRIEST_CHAMPION_REGENERATE_PROC_ID,
|
||||
triggers: "periodic" as const,
|
||||
abilityIds: [ROM_PRIEST_REGENERATE_ABILITY_ID],
|
||||
chance: ROM_PRIEST_CHAMPION_REGENERATE_PROC_CHANCE,
|
||||
action: { kind: "custom" as const, id: ROM_PRIEST_CHAMPION_REGENERATE_PROC_ACTION_ID },
|
||||
}],
|
||||
};
|
||||
|
||||
/** Infused Light Chain removes Chain of Light's base cooldown for Priest/Champion. */
|
||||
export function romPriestChampionCooldownOverride(
|
||||
@@ -11,3 +34,34 @@ export function romPriestChampionCooldownOverride(
|
||||
|| !learnedPassiveSourceIds.includes(498610)) return null;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Righteous Explosion removes every modeled harmful effect from the party. */
|
||||
export function romPriestChampionCastEffects(
|
||||
ability: AbilityDefinition,
|
||||
effects: readonly AbilityEffect[],
|
||||
learnedPassiveSpellIds: readonly number[] = [],
|
||||
): readonly AbilityEffect[] {
|
||||
if (ability.source === "runewaker"
|
||||
&& ability.classId === "rom-priest"
|
||||
&& ability.dbcSpellId === 490269
|
||||
&& learnedPassiveSpellIds.includes(498613)) {
|
||||
return [{
|
||||
kind: "apply-aura",
|
||||
aura: PROTECTION_RUNE_SEAL_REGENERATE_PROC_AURA,
|
||||
recipient: "caster",
|
||||
sourceEffectType: -1,
|
||||
sourceAuraType: -1,
|
||||
miscValue: 0,
|
||||
triggerSpellId: 498613,
|
||||
}, ...effects];
|
||||
}
|
||||
|
||||
if (ability.source !== "runewaker"
|
||||
|| ability.classId !== "rom-champion"
|
||||
|| ability.secondaryClassId !== "rom-priest"
|
||||
|| ability.dbcSpellId !== 499836) return effects;
|
||||
|
||||
return effects.map((effect) => effect.kind === "dispel" && effect.mode === "cleanse"
|
||||
? { ...effect, maxCount: 99, scope: "party" }
|
||||
: effect);
|
||||
}
|
||||
Reference in new issue
Block a user