- Fixed bug where some items that were at the root of sent items wouldn't have their slotIds changed to "main", which resulted in people not being able to receive them
Turns out `Array.filter` returns the filtered array, it doesn't modify the passed in array
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/277
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
This fixes a bug I found that the server uses partially old logic when using the ``traderConfig.persistPurchaseDataInProfile``
Now it works fine for multiple profiles.
How to test before and after
```
start server
make dev account
buy something trade limited like ASH12 ammo. (Buy all)
make new dev account
try to buy same thing
```
Before it gave the user the error that you've already reached the limit. Even when you had bought nothing on that profile.
Now the trader properly sells you the stuff, with your own profile limit.
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/276
Co-authored-by: Leaves <mwarciel@gmail.com>
Co-committed-by: Leaves <mwarciel@gmail.com>
Added small optimisation to only process water filters if a water filter is installed
Added crafting skill bonus to water filter craft time calculation
Various variable/comment renames for clarity
This PR is required by SPT-AKI/Modules!104 in order for it to function correctly.
## Overview
- Adds the package `buffer-crc32`, it can generate CRC32 hashes from buffers or strings
- Splits `HashCacheService` into 2 classes `ModHashCacheService` does exactly the same `HashCacheService` used to do, and added a new `BundleHashCacheService`
- `BundleLoader` now generates a CRC32 hash of every bundle file from every loaded mod
- Reworked `BundleInfo` to better represent the data expected by the client when requesting `/singleplayer/bundles`
- Removes all checks on `BundleLoader` that verified if the request was made to a localhost address, this is now addressed by the client.
## Testing
The code has been tested by @Senko-san and me.
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/274
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
This check simply skips over rolling for insurance for attachment items that have already been deleted due to their main-parent item being previously rolled for deletion.
This update resolves an issue that was causing items that were not in-raid moddable to be rolled for insurance. We were checking to see if the item is in-raid moddable within the context of the main-parent item (the gun), but not the immediate parent item (upper receiver). This update resolves this by checking to see if the immediate parent is set on the attachment, and if it is, checking within that context instead of the main-parent context.
Thank you to Roselyn Cristal for the report. ♥️
Return a full path to the request for getBundles if running locally
Ran into this while working on updating Gilded Key Storage, looks like bundle files are expected to live in the same local folder as the client any time the server address is `127.0.0.1` or `localhost`.
While working in VSCode for the server, and a different folder for the client, this causes issues trying to work on mods that add bundles, as the server only passes a relative path back to the client
This PR resolves that by returning the full path to bundles when running locally
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/270
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
- Dumped from the client using an aki-debugging patch
- Contains all extracts according to the map data, with a side indicator
- Cleaned up ILocation vs ILocationData duplication
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/266
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Original gift required a purchase, not a code, so code "KONTOROVICH" picked due to the author's name
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/263
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Add another variation stating mods are enabled for the beta disclaimer window
![image](/attachments/af517b44-e613-4fd4-81fd-c2434d6478b5)
Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/264
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
Properly calculate the flea average, excluding barter offers for a more live-like result
Prioritize handbook price for the /client/items/prices route to match live
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/265
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
The `package-lock.json` file was logging platform specific package information. This was causing builds to fail on platforms other than the platform that last generated the `package-lock.json` file.
Resolves#572
Updates many of the out of date npm packages and brings us up to Node v20 LTS. :D
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/260
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
Ignore the other commits, I need to nuke my branch and learn to rebase properly kek
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/261
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>