Update class mechanics, stat rulesets, and CoA reference catalogs
This commit is contained in:
1 parent
b16821e92e
commit
39458d5de6
221 files changed
+2584962
-568
No files matched your search
@@ -1,6 +1,7 @@
|
||||
import type { AbilityDefinition, AbilityEffect } from "./abilityCatalog";
|
||||
import type { AuraDefinition } from "./combatAuras";
|
||||
import type { RomGeneratedAbilityLike } from "./romAbilitySemantics";
|
||||
import { ROM_CHAMPION_FORGE_RANK_TWO_AURA } from "./romChampionForgeRuntime";
|
||||
|
||||
export const ROM_CHAMPION_FORGE_STACK_AURA: AuraDefinition = {
|
||||
id: "rom-champion-forge-stack",
|
||||
@@ -50,6 +51,7 @@ const ROM_CHAMPION_FORGE_ACTIVE_AURA: AuraDefinition = {
|
||||
description: "For 5 minutes, normal attack hits build Forge stacks and restore Rage.",
|
||||
disposition: "buff",
|
||||
durationMs: 300_000,
|
||||
exclusiveGroup: "rom-champion-forge-active",
|
||||
utilityTags: ["rom-champion-forge-active"],
|
||||
procs: [{
|
||||
id: "rom-champion-forge-normal-hit",
|
||||
@@ -275,6 +277,16 @@ export function romChampionCastEffects(
|
||||
miscValue: 0,
|
||||
triggerSpellId: 498524,
|
||||
}];
|
||||
case 498604: // Rank 2 Forge source component 621251 enables Chain Drive's attack proc.
|
||||
return [{
|
||||
kind: "apply-aura",
|
||||
aura: ROM_CHAMPION_FORGE_RANK_TWO_AURA,
|
||||
recipient: "caster",
|
||||
sourceEffectType: 0,
|
||||
sourceAuraType: 0,
|
||||
miscValue: 0,
|
||||
triggerSpellId: 498604,
|
||||
}];
|
||||
case 498572: // Rune Overload ends when its Rage drain reaches zero.
|
||||
return effects.map((effect) => effect.kind === "apply-aura"
|
||||
? {
|
||||
@@ -296,9 +308,18 @@ export function romChampionCastEffects(
|
||||
});
|
||||
case 498535: // Chain Drive's proc chance and damage bonus are absent from the source payload.
|
||||
return effects.filter((effect) => effect.kind !== "cooldown-reset");
|
||||
case 498599: // Dark Energy Strike's cooldown proc chance is absent from the source payload.
|
||||
case 498599: { // Source orders physical 621305, Darkness 621306, then a 15% reset group.
|
||||
if (ability.secondaryClassId !== "rom-warlock") return effects;
|
||||
return effects.filter((effect) => effect.kind !== "cooldown-reset");
|
||||
const damageIndexes: number[] = [];
|
||||
effects.forEach((effect, index) => {
|
||||
if (effect.kind === "damage") damageIndexes.push(index);
|
||||
});
|
||||
if (damageIndexes.length !== 2) return effects.filter((effect) => effect.kind !== "cooldown-reset");
|
||||
return effects.flatMap((effect, index): AbilityEffect[] => {
|
||||
if (effect.kind !== "damage") return effect.kind === "cooldown-reset" ? [] : [effect];
|
||||
return [{ ...effect, school: damageIndexes[0] === index ? "physical" : "shadow" }];
|
||||
});
|
||||
}
|
||||
case 498651: // Heart Collection Rune explicitly resets Rune Siphon.
|
||||
if (ability.secondaryClassId !== "rom-warlock") return effects;
|
||||
return effects.map((effect) => effect.kind === "cooldown-reset"
|
||||
|
||||
Reference in new issue
Block a user