Update battle calculation and Udyr champion calculations for damage accuracy
- Limited bonus critical chance from Atma's Reckoning to a maximum of 30%.
- Adjusted damage calculations for Udyr's R ability to incorporate magical reduction factor for more accurate damage output.
Refactor TypeScript interfaces and update configurations
- Updated TypeScript interfaces to use `interface` instead of `export interface` for consistency.
- Added `scraper` directory to the TypeScript exclusion list in `tsconfig.json`.
- Enhanced type definitions in `fetch-retry.ts` and `leagueofgraphs.ts` for better type safety.
- Included `@types/node` as a development dependency in `scraper/package.json`.
- Updated `tsconfig.json` in the `scraper` directory to include Node types.
Update Statikk Shiv and Runaan's Hurricane damage calculations for accuracy
- Adjusted Statikk Shiv on-hit application logic to account for chain targets correctly.
- Updated Runaan's Hurricane acquisition rate to reflect the correct number of targets hit.
fix: enhance error handling in compare and calculateBuild sagas
- Added checks to prevent unhandled TypeErrors in the compare saga when processing empty builds.
- Wrapped the calculateBuild saga in a try-catch block to handle unexpected errors and ensure the rootSaga remains stable.
- Improved logging for errors in the calculateBuild saga to aid in debugging.
refactor: update damage calculation methods and improve champion stats handling
- Refactor damage calculation for turret attacks to use `getDamageMultiplier` for better accuracy.
- Update ability cooldown calculation to utilize `convertAhToCooldownMultiplier` for improved clarity.
- Rearrange bonus armor and magic resistance calculations for champions to ensure correct level-based scaling.
- Introduce a new action to clear loaded champion overrides in the state management for better state handling.
fix: kit AD before EH, cooldown clamp, Slow+Zealot, compare worker sync, item order labels
- Apply kit bonus AD (e.g. Senna mist, Darius Noxian Might) via `applyKitBonusADBeforeEndlessHunger` before Endless Hunger’s innate AH; move EH AH to run before `Adjust_Attack_Count` so rotations and haste scaling see it; remove the later duplicate EH block.
- Slow and Steady: fold Zealot’s bonus AS into the AS→AD conversion; only strip non-Zealot bonus AS at conversion; when Zealot runs afterward, avoid double-counting AS and correct AD if AP changed after Slow and Steady.
- Darius/Senna: drop inline AD from champion files; rely on the early kit-bonus AD path for EH ordering.
- `getAbilityCooldownsPerChampionLevel` / extra abilities: clamp ability level to the last non-null cooldown rank so over-leveled skills don’t read as 0 CD and zero out ability-based effects.
- Item scan: renumber replacement slots starting at 7 (`STANDARD_BUILD_SIZE + 1`) so extra slots (e.g. ADC boots quest) don’t skew displayed replacement order.
- Compare saga: call `workerInstance.setSettings` with current Redux settings before compare so the worker isn’t using stale settings; simplify the generator typing.
- Augments UI: display-name overrides for Crit ’n Cast and Upgrade Infinity Edge; register `critNCast` as implemented.
- Button: remove redundant Enter `onKeyDown` handler (native button already activates on Enter).
