Release Healer Man 0.1.21

This commit is contained in:
phenom committed 2026-09-08 10:40:26 -04:00
1 parent 699fc858c9
commit f6f2375145
210 files changed
+976039 -6247

No files matched your search

@@ -147,6 +147,35 @@ function schoolFor(component) {
?? "arcane";
}
function formulaFor(spellId, component) {
const magnitude = Math.abs(component.damagePower);
const powerKind = component.damagePower < 0
? magnitude <= 4 ? "source-ratio" : "source-points"
: component.dotBase < 0
? "dot-only"
: "unresolved";
return {
schemaVersion: 1,
spellId,
componentId: component.id,
spellLevel: 0,
calculationPath: component.effectType === 1 ? "physical" : "magic",
powerKind,
damagePower: component.damagePower,
fixedValue: component.fixedValue,
dotBase: component.dotBase,
runtimeBaselineMultiplier: powerKind === "source-ratio"
? Math.max(0.2, Math.min(4, magnitude))
: powerKind === "unresolved" ? 0 : 0.85,
provenance: {
sourceFile: "SourceCodeVS2019/Server/NetGameServer/MainProc/MagicProc/MagicProcess.cpp",
physicalFunctionLine: 3366,
magicFunctionLine: 3651,
magicObjectDatabase: "Resource/data/magicobject.db",
},
};
}
const assignmentsBySpell = new Map();
for (const recipe of recipes) {
const snapshot = await readJson(path.resolve(projectRoot, recipe.files.snapshot));
@@ -270,7 +299,8 @@ for (const [spellId, assignmentMap] of [...assignmentsBySpell].sort((left, right
cooldownMs: Math.max(2500, Math.min(20000, sourceCooldownSeconds > 0
? sourceCooldownSeconds * 1000
: 6500)),
damageMultiplier: 0.85,
damageMultiplier: formulaFor(spellId, primaryDamage).runtimeBaselineMultiplier,
formula: formulaFor(spellId, primaryDamage),
},
} : {}),
components,
@@ -298,6 +328,8 @@ const report = {
runtimeSqlDependency: false,
unknownEffectsExecute: false,
coefficientsAreSourceExact: false,
unavailableNativeInputsDefaulted: false,
pointValuedDamageUsesLabeledScaledAdapter: true,
},
spells,
};