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

2332 Commits

Author SHA1 Message Date
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
e7f5db9f0a Fixed generateUniqueBotNickname() failing when no data is passed into its optional parameter 2024-12-06 16:49:39 +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
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
DeadLeavez
4de4b42b1b Add comments to ILocationBase, Information extracted using DNSPY on assembly 2024-12-02 15:19:55 +01: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
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 2024-11-30 22:42:02 +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
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
464fa27758 Removed unused effects property from client/hideout/workout endpoint 2024-11-27 12:04:08 +00:00
Chomp
45d55ff307 Renamed function to match endpoint 2024-11-25 13:49:35 +00:00
Chomp
967330132f Formatting changes 2024-11-24 18:33:23 +00:00
Chomp
effcc37e68 Fixed checkForAndFixPickupQuestsAfterDeath() running when the player was alive
Removed old code that did the same but wasn't working
2024-11-24 18:29:04 +00:00
Chomp
92c2b11f71 Regenerated ItemTpl enum 2024-11-24 18:22:02 +00:00
Chomp
6ef18e1835 Made getDesiredServerLocale() public 2024-11-24 17:52:48 +00:00
Chomp
1376a25439 Fixed typo 2024-11-24 17:01:21 +00:00
Chomp
946cf10659 Second pass at ensuring failed quests let player pick items up in raid
Now checks if multiple quests match requirements, fails when >1
2024-11-24 17:00:10 +00:00
Chomp
7ba772d458 Fixed issue where player dying with a quest item would prevent the quest item from appearing in a raid again due to the profile flagging the quest item as being picked up 2024-11-24 15:47:03 +00:00
Chomp
320835f122 Fixed dep injection issue causing server to not start - http server isn't capable of injecting DatabaseService
Made `PostDbLoadProcess` error out if db validation fails
2024-11-23 15:38:58 +00:00
DrakiaXYZ
9a8cf9a8a9 Add MongoID validation to databaseService
- Validate that quests, traders, items and customizations all have MongoID IDs
- If any validation fails, output an error and stop server startup
2024-11-22 23:01:11 -08:00
Dev
898582fff9 Log when player begins transit to new map 2024-11-22 18:46:57 +00:00
Dev
269174fc6d Updated interface with new property + Updated JSONs 2024-11-22 18:07:18 +00:00
Dev
218c720cdb Add extra check to transit code inside endLocalRaid() 2024-11-22 15:10:45 +00:00
Dev
2749be9a4b Fixed client error caused by server providing an invalid mongo_id for nameTaskConditionCountersCraftingId 2024-11-21 16:21:19 +00:00
Dev
75caa6d989 Fixed casing issue with getLocationFromInfectedLocation() 2024-11-21 13:16:13 +00:00
Dev
9632238fab Added removeInvalidTradersFromProfile to core.json config to allow cleanup of incorrect trader data in profile 2024-11-20 10:49:18 +00:00
Dev
1aecd7680e Merge branch '3.10.0-DEV' of https://dev.sp-tarkov.com/SPT/Server into 3.10.0-DEV 2024-11-20 09:49:50 +00:00
Dev
0c5ecefc41 Refactored scavcase reward code to use correct data and interfaces 2024-11-20 09:48:42 +00:00
5ab3ee722e Fix issues caused when having NewSpawn enabled (!430)
- When NewSpawn is active, clear spawn waves sent to the client
- Copy `maxBotCap` to both BotMaxPvE and BotMax, as the client only reads BotMax

These changes cause bots to abide by the NewSpawn parameters when NewSpawn is enabled, as previously it was combining bot waves and dynamic spawning resulting in bots instantly respawning

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#430
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-11-20 09:20:59 +00:00
Dev
59eb80f29b Fixed configureZombies() not correctly handling factory or sandbox maps 2024-11-19 19:15:25 +00:00
b2d7a29577 Resolve two issues with game edition locked quest rewards (!429)
- Properly handle game edition locked item rewards for quests
- Properly hide game edition locked rewards for quests

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#429
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-11-19 09:22:18 +00:00
Dev
ab488bd22f Improve raid time emulation of live 2024-11-18 21:27:45 +00:00