capAggregateReduction

public static double capAggregateReduction(double incomingDamage, double reducedDamage)

Applies the aggregate defensive ceiling to a post-skill damage value.

Pure function: compares the damage that entered the skill pipeline against the damage that came out and refuses to let the ratio drop below 1 - MAX_AGGREGATE_DEFENSIVE_REDUCTION. Working on the ratio rather than on a running sum of reductions is what makes this robust — the branches are differently shaped (some multiply, some assign, some stack, some read config), and a future skill only has to route its damage through this pipeline to be covered. Order and count of contributors are irrelevant to the result.

Return

The damage to actually deal, never negative and never below the aggregate floor

Parameters

incomingDamage

The damage before any skill touched it

reducedDamage

The damage after every skill has been applied