Unlocks have a priority order, it will be filtered by whatever is first in the dictionary
e.g.
pistol: unlock level 20
weapon: unlock level 30
A pistol will be unlocked at level 20,
A shotgun will be unlocked at level 30
if the order was different:
weapon: unlock level 30
pistol: unlock level 20
The pistol would be unlocked at level 30 as its a weapon and gets picked up by the weapon filter first
- The client doesn't expect to receive the player's loyalty level in their profile, so set it to 0 before sending the profile
- Slight refactor of `getCompleteProfile` to always clone, so we can modify the data sent to the client without changing it on the server
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/405
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
See #771 for discussion and bug report. Implementation deletes the specific task's completedCondition so as to allow the item to appear again.
Gulp v5 has a known issue that corrupts pngs when copying or moving them, this turns off encoding for the copying assets part of the build task.
Reference was [this stack post](https://stackoverflow.com/questions/78391263/copying-images-with-gulp-are-corrupted-damaged).
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/403
Co-authored-by: crustyselenium <crustyselenium@gmail.com>
Co-committed-by: crustyselenium <crustyselenium@gmail.com>
Added support for weapon/armor rewards
Added support for variable stack sizes (only ammo for now)
Added support for breaking out of reward item while loop if no item is found (5 attempts max)
Added helper function `itemHelper.getRandomisedAmmoStackSize()`
Resolves the issue of incorrect fuel usage by using relative percentages for both the profile bonus and hideout management bonus
Add a sanity check to make sure we never return fuel to the player (No negative fuel consumption)
Moved confusing `isValidItem()` check out of `isItemOnCustomFleaBlacklist()` and into main function
Removed redundant blacklist check from flea item generation as its already covered in `isValidItem()`
(cherry picked from commit f46694a169b6df2c87e8b652c643f6e8791d9bd7)