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

3919 Commits

Author SHA1 Message Date
d3d7a6ed35
Adds RandomUtil.randNum that can generate random integers or floating-point numbers within a range.
Adds a public `randNum` method to the `RandomUtil` class which can be seen as a "superseeded" version of the `randInt` method. It can handle generating random numbers, including both integers or floating-point numbers with support for providing a precision.

Adds a private `getNumberPrecision` method to the `RandomUtil` class which simply counts the number of fractional digits in a number.

Changes `randInt` to log a debug message saying that the ability to pass it a floating-point number is deprecated.
2024-12-09 21:42:16 -05:00
f278ff9294
Updates RandomUtil.randInt to handle floating-point parameters by flooring values. I hate this! 2024-12-09 21:42:11 -05:00
1074306758
Updates RandomUtil.randInt to return the input when the input values are the same.
Adds a test.
2024-12-09 21:42:05 -05:00
Chomp
90b6f28f31 Added fallback to randInt when min and max are the same 2024-12-10 00:09:43 +00:00
Chomp
be31f7248f Moved reward fitting code into its own function, moved logic around 2024-12-10 00:01:40 +00:00
Chomp
b4061b3e41 Better handle cultist rewards not fitting the container (#979)
Better handle rewards not fitting (they shouldn't just poof) by instead
trimming the rewards amount until they fit.

(cherry picked from commit 8d05bf0069b22968d7e4fcdc4901ae0babd948c3)
2024-12-09 23:30:57 +00:00
Chomp
ee07bd8c0f Revert "Better handle cultist rewards not fitting the container (#979)"
This reverts commit 8d05bf0069b22968d7e4fcdc4901ae0babd948c3, reversing
changes made to d5ce6c4d709f000972ae9f9fdb596eba98184f29.
2024-12-09 23:30:22 +00:00
Chomp
8d05bf0069
Better handle cultist rewards not fitting the container (#979)
Better handle rewards not fitting (they shouldn't just poof) by instead
trimming the rewards amount until they fit.
2024-12-09 23:26:23 +00:00
Chomp
2abf216a07 Using live data, improved emulation accuracy of repeatable quest system 2024-12-09 23:23:31 +00:00
Bob S
0527fc2cc8 Better handle rewards not fitting (they shouldn't just poof) by trimming the rewards amount until they fit. 2024-12-09 17:55:10 -05:00
Chomp
a15a28e460 Updated JSON data 2024-12-09 20:19:28 +00:00
Chomp
7092c9991c Locked event quest behind config 2024-12-09 20:17:47 +00:00
Chomp
bfacb09268 Added Thats a Great Plan Walter quest 2024-12-09 19:33:46 +00:00
Chomp
d5ce6c4d70
Revise PMC names (#978) 2024-12-09 19:06:40 +00:00
stella
631c63a817 Revise PMC names 2024-12-09 09:56:21 -07:00
Chomp
f6c575ac5e Updated version number 2024-12-09 16:55:07 +00:00
Chomp
ff5bc64acf Added workaround for non-fence repeatable quests crashing client when the same trader is picked for replacement quest 2024-12-09 15:53:39 +00:00
Chomp
53599e46f3 Wired up item type blacklist across loot generator/airdrop and cultist circle in consistent way
Reworked Cultist circle code to pass blacklist around as a set rather than array
Removed cultist circle use of `itemRewardBlacklist` to store item parent ids, feature is handled by new config property
2024-12-09 15:03:21 +00:00
Chomp
55857a7e7a Wired up Cultist circle to use item type blacklist 2024-12-09 14:44:28 +00:00
Chomp
b41d8683b3 Added array to config to allow ignoring of item types from rewards, wired up function in itemFilterService to return values + Added built in inserts to blacklist 2024-12-09 14:41:42 +00:00
b3683f2f23
Image Asset LFS Transfer (#977)
This PR includes changes to the `.gitattributes` file to ensure images
are now stored on the custom LFS server.
2024-12-09 14:28:31 +00:00
Chomp
478b9b3914 Moved repeatablesInProfile nullguard to early in function when it can be helpful + make it check for questToReplace property too 2024-12-09 13:47:37 +00:00
Chomp
aa928ac43d only purge inactive repeatables When repeatableToChangeClone exists 2024-12-09 13:41:06 +00:00
Chomp
8f416c5dee Added logging of quest being replaced when generating new repeatable 2024-12-09 13:30:07 +00:00
Chomp
d9e893149a Improved debug logging when repeatable quest is generated 2024-12-09 13:25:22 +00:00
be88a2224e
Merge branch '3.10.2-dev' 2024-12-07 13:52:24 -05:00
21939dcf38
Biome Format
Ran the `npm run style:fix` command. These are the code-formatting fixes.
2024-12-07 13:50:09 -05:00
Chomp
c3cd67d8b9 Moved Christmas start day from 7th to 12th 3.10.2 2024-12-07 11:56:08 +00:00
Chomp
ec517bba2c Expanded error message 2024-12-07 11:43:50 +00:00
Chomp
6a4bd7ba3f Removed spammy log message 2024-12-07 11:42:21 +00:00
Chomp
07699e4144 Removed unused varaible 2024-12-07 11:42:09 +00:00
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