getGearAdjustment

public static double getGearAdjustment(double gearScore, int mobLevel)

Converts gear reduction into the final damage multiplier used in the formula.

gearAdjustment = 2.0 × (1 - gearReduction)

The 2.0 factor is the key to the "no pre-compensation" design. Instead of inflating base damage by 4× and then reducing it, we set base damage to maxHP / 5 (what a matched player should receive) and let the gear adjustment modulate around it:

  • 0% reduction (naked): 2.0 × 1.0 = 2.0 — takes 2× base damage, dies in 2.5 hits. Strong incentive to get ANY armor.
  • 50% reduction (matched): 2.0 × 0.5 = 1.0 — takes exactly base damage, dies in 5 hits. The design target.
  • 75% reduction (peak): 2.0 × 0.25 = 0.5 — takes half base damage, dies in 10 hits. Maximum achievable survivability from gear.

Return

The gear adjustment multiplier (range: [0.5, 2.0])

Parameters

gearScore

The player's computed gear score

mobLevel

The attacking mob's level