forked from phenom/healer-man
Validate RoM primary five hybrid stats and pair mechanics
This commit is contained in:
1 parent
8e95480d4f
commit
c8b3a3d95a
18 files changed
+2061
-48
No files matched your search
@@ -127,6 +127,7 @@ export type RomAbilitySemantic =
|
||||
})
|
||||
| (RomSemanticBase & {
|
||||
readonly kind: "dot" | "hot";
|
||||
readonly school: string;
|
||||
readonly resource: string;
|
||||
readonly intervalSeconds: number;
|
||||
readonly durationSeconds: number;
|
||||
@@ -530,6 +531,7 @@ function componentSemantics(component: RomSourceComponent, target: RomAbilityTar
|
||||
const healing = target !== "hostile" && dot.base > 0;
|
||||
addIfMissing(rows, {
|
||||
kind: healing ? "hot" : "dot",
|
||||
school: schoolFor(component),
|
||||
resource,
|
||||
intervalSeconds: dot.timeSeconds,
|
||||
durationSeconds: positiveDuration(component),
|
||||
@@ -758,6 +760,7 @@ function tooltipSemantics(ability: RomGeneratedAbilityLike, rows: RomAbilitySema
|
||||
if (/\bbleed|damage over time|damage every|damage each (?:second|time)/.test(lower) && !hasKind(rows, "dot")) {
|
||||
rows.push({
|
||||
kind: "dot",
|
||||
school: "tooltip-defined",
|
||||
resource: "health",
|
||||
intervalSeconds: firstNumber(lower, /every\s+(\d+(?:\.\d+)?)\s+seconds?/) ?? 0,
|
||||
durationSeconds,
|
||||
@@ -769,6 +772,7 @@ function tooltipSemantics(ability: RomGeneratedAbilityLike, rows: RomAbilitySema
|
||||
if (/restores? .*hp.*(?:every|each) /.test(lower) && !hasKind(rows, "hot")) {
|
||||
rows.push({
|
||||
kind: "hot",
|
||||
school: "healing",
|
||||
resource: "health",
|
||||
intervalSeconds: firstNumber(lower, /every\s+(\d+(?:\.\d+)?)\s+seconds?/) ?? 0,
|
||||
durationSeconds,
|
||||
|
||||
Reference in new issue
Block a user