Release Healer Man 0.1.49
This commit is contained in:
1 parent
39425f2494
commit
612170afd0
91 files changed
+2278
-263
No files matched your search
@@ -497,6 +497,30 @@ function effects(row: GeneratedSemanticRow): readonly AbilityEffect[] {
|
||||
const specialized = specializedEffects(row);
|
||||
if (specialized) return specialized;
|
||||
const translated = translateRomAbilitySemantics(row).map((semantic, index) => semanticEffect(row, semantic, index));
|
||||
const outputStrength = (effect: AbilityEffect): number => (
|
||||
"coefficient" in effect ? effect.coefficient : 0
|
||||
) + ("coefficientPerLevel" in effect ? effect.coefficientPerLevel ?? 0 : 0)
|
||||
+ ("basePoints" in effect ? effect.basePoints ?? 0 : 0)
|
||||
+ ("pointsPerLevel" in effect ? effect.pointsPerLevel ?? 0 : 0);
|
||||
const oneOutput = (kind: "damage" | "dot", strongest: boolean): readonly AbilityEffect[] => translated
|
||||
.filter((effect) => effect.kind === kind)
|
||||
.sort((left, right) => (strongest ? -1 : 1) * (outputStrength(left) - outputStrength(right)))
|
||||
.slice(0, 1);
|
||||
// RuneWaker's Knight uses Holy Seal as a target-scoped build/spend resource.
|
||||
// Model it through the combat engine's combo authority so both players and
|
||||
// companions build seals before Punishment instead of casting the payoff on
|
||||
// an unsealed target. Source components contain one alternative payload per
|
||||
// seal count; executing every branch at once greatly overstates the skills.
|
||||
if (row.sourceSkillId === 490148) return [
|
||||
...oneOutput("damage", true), ...oneOutput("dot", false), { kind: "combo", amount: 1 },
|
||||
];
|
||||
if (row.sourceSkillId === 490149) return [
|
||||
...oneOutput("damage", true), ...oneOutput("dot", true), { kind: "combo", amount: 4 },
|
||||
];
|
||||
if (row.sourceSkillId === 490150) return [...translated, { kind: "combo", amount: 2 }];
|
||||
if (row.sourceSkillId === 490151) return [
|
||||
...oneOutput("damage", true), ...oneOutput("dot", true), { kind: "combo", amount: -5 },
|
||||
];
|
||||
if (row.sourceSkillId === 491169) {
|
||||
return [...translated, stateAuraEffect(row, "charged", "Charged", 6_000)];
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user