Server/project
DrakiaXYZ ebeda336db Implement live-like calculation of Weapon Maintenance XP (!164)
- Implement formula based on 30 weapon repairs done on live
- Return the repair amount as `repairAmount` from `repairItemByKit`
- Add an additional `repairPoints` to `RepairDetails` to return the repair points used
- Update `repairAmount` references to `repairPoints` to keep old behavior
- Add new parameter to rewardSkillPoints that applies live-like level scaling
- Only give weapon maintenance XP when using a repair kit

This implementation comes with a "Crit Fail" and "Crit Success" mechanic to account for live sometimes randomly being -4 or +4 off from my estimated values. By default the chance of each is 10%, and they can overlap and cancel each other out

Spreadsheet of live repair data:
https://docs.google.com/spreadsheets/d/1-tR4WYelhZfKZ3ZDbxr3nd73Y60E1wQRjDWONpMVSew/edit?usp=sharing

Useful columns:
C: The amount of dura attempted to be repaired, this is used in the estimated skill calculated
G: Hand entered value of how much skill gain I actually saw on live (Multiplied by 10 for readability. So "3.2" would be "32")
J: The estimated skill gain, based on the calculation included in this merge request
K: How far off the estimated skill gain was (Negative implies we guessed high and the actual result was lower)

One thing of note:
I've modified all the existing references to `repairAmount` to be the new `repairPoints` when a repair kit is used. This is to keep the existing behaviour outside of my direct changes as much as possible.

However, this seems to be incorrect in some cases (For example, buff chance is repairPoints/maxDura, but repairPoints will go down the higher your int. I'm assuming this is meant to be repairedDura/maxDura). May want to update these references to use `repairAmount` once they've been confirmed to expect the repair amount instead of repair points used.

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/164
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2023-11-02 08:56:02 +00:00
..
.vscode Point local debug config to correct command 2023-10-14 10:10:10 +01:00
assets Implement live-like calculation of Weapon Maintenance XP (!164) 2023-11-02 08:56:02 +00:00
src Implement live-like calculation of Weapon Maintenance XP (!164) 2023-11-02 08:56:02 +00:00
tests 0.13.5.0 (!147) 2023-10-10 11:03:20 +00:00
.dockerignore Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
.eslintignore Add Repo 2023-03-03 15:23:46 +00:00
.eslintrc.json Add Repo 2023-03-03 15:23:46 +00:00
.nvmrc 0.13.5.0 (!147) 2023-10-10 11:03:20 +00:00
.swcrc Import path alias on the whole project (!157) 2023-10-19 17:21:17 +00:00
biome.json Remove unused config files + swapped rome for biome (!163) 2023-10-31 16:03:45 +00:00
docker-compose.yml Add Repo 2023-03-03 15:23:46 +00:00
Dockerfile Remove unused config files + swapped rome for biome (!163) 2023-10-31 16:03:45 +00:00
Dockerfile.docs Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
Dockerfile.pnpm Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
gulpfile.mjs Fixed stacktraces and source maps on the built exe (!153) 2023-10-15 07:31:16 +00:00
jest.config.ts Add Repo 2023-03-03 15:23:46 +00:00
package.json Remove unused config files + swapped rome for biome (!163) 2023-10-31 16:03:45 +00:00
pkgconfig.json Fixed stacktraces and source maps on the built exe (!153) 2023-10-15 07:31:16 +00:00
Server.code-workspace Add Repo 2023-03-03 15:23:46 +00:00
tsconfig.base.json Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
tsconfig.json Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
tsconfig.test.json Updated dependencies + A few other things (!150) 2023-10-14 09:01:41 +00:00
tsconfig.typedef.json Fix types generation command not working 2023-11-01 14:20:27 +00:00
typedoc.json Add Repo 2023-03-03 15:23:46 +00:00