Update class mechanics, stat rulesets, and CoA reference catalogs

This commit is contained in:
phenom committed 2026-10-04 12:56:30 -04:00
1 parent b16821e92e
commit 39458d5de6
221 files changed
+2584962 -568

No files matched your search

+4 -2
View File
@@ -42,6 +42,8 @@ export interface CombatResultRules {
readonly canDodge?: boolean;
readonly canParry?: boolean;
readonly canBlock?: boolean;
/** Source mechanic exception (for example, bleed effects that bypass armor). */
readonly ignoreArmor?: boolean;
readonly resistanceMode?: CombatResistanceMode;
/** Overrides the level-derived base miss chance before the attacker's hit bonus is applied. */
readonly baseMissChancePercent?: number;
@@ -300,10 +302,10 @@ export function resolveCombatResult(input: ResolveCombatResultInput): CombatResu
);
const armorPenetration = finitePercent(input.attacker.armorPenetrationPercent);
const effectiveArmor = input.damageSchool === "physical"
const effectiveArmor = input.damageSchool === "physical" && !input.rules?.ignoreArmor
? finiteNonNegative(input.defender.armor) * (1 - armorPenetration / 100)
: 0;
const physicalReduction = input.damageSchool === "physical"
const physicalReduction = input.damageSchool === "physical" && !input.rules?.ignoreArmor
? armorReductionPercent(effectiveArmor, input.attacker.level)
: 0;
const armorMitigatedAmount = Math.min(