0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 02:50:44 -05:00

3888 Commits

Author SHA1 Message Date
Chomp
fe482127ab Added null protection to addHideoutEliteSlots() when profile lacks a generator 2024-12-07 11:41:51 +00:00
Chomp
a431a3454b Removed duplicate face plate from killa helmet reward 2024-12-07 11:16:16 +00:00
Chomp
e6e568f62c Manually added back Christmas tree hideout area using 2023 Christmas data 2024-12-07 10:35:26 +00:00
Chomp
3c1a84230e Added money to circle blacklist 2024-12-07 10:16:15 +00:00
Chomp
b211b40c13 Added more comments 2024-12-07 10:13:47 +00:00
Chomp
3867ff336e Moved circle-specific types into correct location in project + renamed them for clarity 2024-12-07 10:05:32 +00:00
Chomp
050edec9f3 Renamed getRandomLoot to generateRandomisedItemsAndAddToRewardPool
Removed hard-coded money/ammo blacklist from `generateRandomisedItemsAndAddToRewardPool()` and moved into config
Updated function to check chosen reward items parentid against item reward blacklist
2024-12-07 10:04:12 +00:00
Chomp
b20777e1c3 Removed unnecessary comments 2024-12-07 09:54:26 +00:00
Chomp
0c02591422 Refactored code into separate functions 2024-12-07 09:53:21 +00:00
Chomp
7284bb2fdc Fixed getCultistCircleRewardPool erroring when trying to access a hideout area stage that doesnt exist 2024-12-07 09:49:49 +00:00
Chomp
66c1d23df2 Fixed cultist circle saving direct rewards to the profile incorrectly 2024-12-07 09:44:12 +00:00
Chomp
83a3fb16fe Fixed cultist circle returning direct weapon/armor rewards without mods 2024-12-07 09:43:41 +00:00
Chomp
d2b7baa8b6
Cultist circle improvements (#973)
Brings Cultist Cicle rewards closer to live behavior.

---------

Co-authored-by: Bob S <shibdib@users.noreply.github.com>
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
2024-12-06 17:15:06 +00:00
DrakiaXYZ
d34eca32bb
Further favorite item/weapon functionality and fixes (#974)
- Resolve issue where we were storing favorites in the incorrect format,
resulting in a client error on game load
- Resolve issue where we were clearing favorites when they were meant to
be saved
- On login, fix any previously corrupted favorites array
- Properly implement favorite data in `getOtherProfile`, now shows your
favorites when viewing your profile

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2024-12-06 17:14:19 +00:00
Chomp
fdca5d39f6 Various unit test fixes 2024-12-06 17:08:48 +00:00
Chomp
e7f5db9f0a Fixed generateUniqueBotNickname() failing when no data is passed into its optional parameter 2024-12-06 16:49:39 +00:00
Chomp
43025ed8e1 Fixed generateUniqueBotNickname test 2024-12-06 16:38:22 +00:00
c071702851
Better Random (#972)
This started as a small update.

This pull request includes updates to the `RandomUtil` class to improve
the security and accuracy of random number generation by utilizing the
`node:crypto` module. Additionally, it enhances the documentation and
refactors several methods for clarity and performance.

Includes tests, both before and after the changes.

The only *possible* breaking change is that now the `getKey`,
`getKeyValue`, and `drawRandomFromDict` methods are typed with generics
instead of `any`. I tried to keep them as *generic* as possible, but we
should probably include this in a BE to ensure it doesn't break
anything.

No further changes are planned--Saved as a draft because it's late and I
still want to review.

---------

Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2024-12-06 16:25:44 +00:00
Chomp
9ef8206517 Updated sortModKeys() to use mount-specific mod sorting, prioritises the scope before additional mounts
Fixed null ref exceptions due to some items lacking `slots` objects
2024-12-06 16:20:18 +00:00
Chomp
e8c3b69975 Reordered checks to slightly reduce processing required for check 2024-12-06 15:43:20 +00:00
Chomp
0397c9e121 Improved weapon mod limit check for mounts - do not prevent sub-mounts being added to existing mounts (e.g. red dots on top of scope mounts) 2024-12-06 15:42:53 +00:00
6c9e4fd0bb
Custom LFS Sever (#970)
We've created our own Git Large File Storage (LFS) server due to the
excessive cost of GitHub's bandwidth. Did you know all of their Ethernet
cables are actually gold coated diamonds?

This PR reverses the work done in #954 to compress large location JSON
files into a 7zip archive and handle the (de)compression of the archive.

Only JSON files within the `project/assets/database/` directory that are
larger than 5MB have been included in LFS. This translates to all of the
`looseLoot.json` files. The rest are small enough to be included in the
base repo.

A `.lfsconfig` file has been added to the root of the project to alert
git to the presence of the custom LFS server. This public server is
read-only. Write access is only available to developers within the
Single Player Tarkov GitHub organization.

<img
src="https://github.com/user-attachments/assets/7ddfec9b-5a9a-42e6-806d-fd419e4eaa4f"
width="250">
2024-12-06 13:56:05 +00:00
c6c983372d
Create FUNDING.yml
Should add a sponsor button to the GitHub overview page for the server repo. Adds our Patreon and Chomp's Ko-Fi.
2024-12-04 22:10:00 -05:00
Chomp
2527823208 Formatting changes 2024-12-03 16:52:20 +00:00
Chomp
9b7c31e36f Added nullgaurd to getQuestRewardItems() to protect against invalid custom quests 2024-12-03 16:50:54 +00:00
Chomp
a16aaf270f Renamed parameter to improve readability 2024-12-03 11:53:49 +00:00
Chomp
e5fb672579 Fixed price discrepancy between trader and flea price for trader items, resolves #968 2024-12-03 11:53:22 +00:00
Chomp
b48c1153e1 Removed unused subfunction from getAssort 2024-12-03 11:51:44 +00:00
Chomp
73186a2240 Improved comments inside ragfairOfferHelper + small refactor of trader offer checks inside getOffersForBuild 2024-12-03 10:16:55 +00:00
Chomp
97edac5a0e Merge branch '3.10.2-dev' of https://github.com/sp-tarkov/server into 3.10.2-dev 2024-12-03 10:01:35 +00:00
Chomp
5134c9d375 Flagged createUserDataForFleaOffer as protected 2024-12-03 10:00:43 +00:00
Chomp
b6f161acaa
Add comments to ILocationBase, (#965)
Information extracted using DNSPY on the assembly
2024-12-02 14:33:55 +00:00
DeadLeavez
4de4b42b1b Add comments to ILocationBase, Information extracted using DNSPY on assembly 2024-12-02 15:19:55 +01:00
Chomp
633b11d415
Directly reference equipment id instead of using .find when retrieving other player's profile (#963)
This fixes an edge-case where the `.find` could return a gear rack
mannequin's equipment instead of the player's if their inventory isn't
in the order expected.
2024-12-02 09:01:03 +00:00
sgtlaggy
22b57b1377 directly reference equipment id instead of using .find 2024-12-01 15:27:00 -08:00
Chomp
93c34bd189 Added edge-case handling of PT locale inside getPlatformForServerLocale() 2024-12-01 19:09:49 +00:00
Chomp
8d5eb3586c Updated version string 2024-12-01 10:41:05 +00:00
Chomp
ad41c249b8 Merge branch '3.10.1-dev' 2024-12-01 10:22:36 +00:00
Chomp
6562d05142 Fixed configureZombies() incorrectly handling location ids 2024-12-01 10:21:47 +00:00
Chomp
016fc2a51e Ensure verifyQuestProductionUnlocks() skips quests that cannot be found in db 3.10.1 2024-11-30 22:42:02 +00:00
Chomp
e5067b09e5
Add quest production unlocks to the PMC Profile fixer service (#959)
Resolves an issue where sometimes quest production unlocks get removed
from the profile, resulting in users being locked out of crafting
stations due to uncollectable productions
2024-11-30 18:30:55 +00:00
DrakiaXYZ
8b1a3158cb Add quest production unlocks to the PMC Profile fixer service 2024-11-30 10:08:51 -08:00
Chomp
063d1eaea8 Added forceSnow to seasonal mod event
Moved majority of code into `handleModEvent` to help modders handle custom events via method overriding
2024-11-30 14:13:18 +00:00
Chomp
dd88571e29 Flagged christmas gifts as being part of christmas event 2024-11-30 12:23:43 +00:00
Chomp
4542f5e467 Updated sptVersion property 2024-11-28 16:59:13 +00:00
f55861528a
Compress Database Location Files (#954)
Due to LFS storage issues... This PR removes all current LFS files (the
location loot files) and replaces them with a single 7-zip archive. The
archive is stored in LFS, but has decreased in size by roughly 95%.

The location `.json` files are now git-ignored.

There are two new npm commands to aid in working with the archive:
- `npm run database:compress`  
Compresses the JSON files into an archive *which can be committed into
the project*.
- `npm run database:decompress`  
Decompresses the archive into the original JSON files located in the
working directory.

The gulp file that handles builds has been updated to ensure that the
archive files are *always* used when a build is processed, regardless of
if the JSON files are already present in the working directory.
2024-11-28 15:51:53 +00:00
Chomp
1bd3ea2f98
Target logform 2.6 specifically, as 2.7 included a breaking change (#953)
Fixes the compilation issue on fresh checkout
2024-11-27 20:33:38 +00:00
DrakiaXYZ
53408dfc2a Target logform 2.6 specifically, as 2.7 included a breaking change 2024-11-27 12:31:01 -08:00
Chomp
464fa27758 Removed unused effects property from client/hideout/workout endpoint 2024-11-27 12:04:08 +00:00
Chomp
4b9c02e441 Fixed typo in readme 2024-11-27 09:39:54 +00:00