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

92 Commits

Author SHA1 Message Date
DrakiaXYZ
49414b8805
Fix issue where insurance messages would appear as received if you only lost gear you were wearing (#993)
- Insurance messages each need a unique "stash" ID, properly handle this
as part of the processing side of insurance
- Remove handling of parent IDs from the insurance storing side of
insurance, as we don't need to do that processing twice
- Add a new step to the profileFixer service that resolves any already
broken trader messages with attached insurance items

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2024-12-23 13:26:10 +00:00
Chomp
fe482127ab Added null protection to addHideoutEliteSlots() when profile lacks a generator 2024-12-07 11:41:51 +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
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
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
776f925d91 Updated interfaces to follow correct naming scheme 2024-10-19 12:43:38 +01:00
Dev
5fd9271491 Updated various interfaces to use correct naming scheme
Added `IGroupPostion`
2024-09-24 11:26:45 +01:00
Dev
e6b05a6660 Added back accidentally removed code that adds missing bonuses to profiles 2024-09-01 16:45:31 +01:00
Kaeno
d4cc41d3fc Fix Dev profiles not having access to Weapon wall and Cultist stash 2024-08-21 13:26:10 +01:00
Cj
967dc15564 ProfileFixerService Refactor (!391)
Refactor to remove legacy code that bloats the `ProfileFixerService` class. Most of which is old profile porting code, some being old profile fixes. Organizes code in the class so that public members are at the top (as they should be). Finally break out some code into their own methods so they're not in the primary method for the class `checkForAndFixPmcProfileIssues`.

I have tested this with a developer profile, an EOD profile and a Standard profile. I've encountered no issues in my own testing.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: SPT/Server#391
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-08-08 17:09:52 +00:00
Dev
7be6b47e23 Fixed various Biome issues 2024-07-23 17:30:20 +01:00
5740774a46
Apply Biome Formatting
This is the result of running `npm run format` which applies the Biome formatting rules. Rejoice!
2024-07-23 11:12:53 -04:00
Cj
00fffa7845 Add method for capping skill progress (!376)
Adds a check to the `ProfileFixerService` to cap skill progress at 5100. This prevents users from going over the cap with applications like profile editor, resulting in potential negative crafting times and other oddities.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: SPT/Server#376
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-07-15 19:34:26 +00:00
Dev
299586d36a Improved implementation of daily quest reward system
Fixed repeatables vanishing after first generation
2024-06-15 13:28:25 +01:00
Dev
f8bd65ed90 Replaced various array.find() with array.some()
Rewrote `tagItem()` to use `.find()`
2024-06-13 13:41:29 +01:00
Dev
0aff3c5274 Fixed missing property in addMissingSptVersionTagToProfile() 2024-06-03 22:30:20 +01:00
8727f6150e primery-dependencies (!355)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#355
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:04:20 +00:00
Dev
9f1e0693f5 Make use of DatabaseService inside ProfileFixerService and CustomItemService 2024-05-28 12:27:46 +01:00
173a726f33 Removed all null references in favor of undefined (!354)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#354
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 20:06:07 +00:00
aee391ec1d Null checks first pass (!353)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#353
2024-05-27 16:05:16 +00:00
d13e86ba46 Rebranding to SPT (!345)
Rebranded src code and scripts to SPT

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#345
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-21 17:59:04 +00:00
Dev
7b345b7513 Improved checkForOrphanedModdedItems() to show more relevant error messages 2024-05-21 11:20:33 +01:00
cb169a18b9
Project Code Format
Ran the `npm run format` command to bring the entire project in-line with the formatting rules.
2024-05-17 15:32:41 -04:00
14e8f8fa19
Take your brackets back!
I don't want em'. Grumble. Ahem...

This change allows for "extra" parentheses to be added in situations where, without them, the code could possibly, potentially be seen as maybe a little-bit, tiny confusing.

Also, fixes a bunch of other ESLint errors. Mostly down to naming warnings now. Mostly.
2024-05-13 17:04:23 -04:00
f8d1227dfd Introduced a new ICloner interface with 3 implementations, one of them being a recursive cloner which is faster and more efficient than its counterparts by more than 50% (!328)
Co-authored-by: clodan <clodan@clodan.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT-AKI/Server#328
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-13 17:58:17 +00:00
50c7a26a58
ESLint Pass
This is the first pass of ESLint on the codebase.

ESLint formatting is less strict when it comes to line-length and line-breaks then dprint/biome, so if you see formatting that you don't like... fix it! It shouldn't require a configuration change.

- This should merge clean into master (when the time comes).
- This will not merge clean into `3.9.0-DEV`, but the conflicts aren't that bad.
2024-05-07 23:57:08 -04:00
Dev
eb0fb09a37 Fixed profile creation failing when player alt+f4s partially through profile creation process
Added nullguard to `userbuilds` code inside `checkForOrphanedModdedItems()`
2024-05-07 09:02:44 +01:00
316234e9ae Fix TradersInfo nextResupply if it is null in profile data (!305)
Add test covering fixNullTraderNextResupply

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#305
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-24 07:13:31 +00:00
DrakiaXYZ
272050c7cf Fix some issues in the ProfileFixerService
- Allow fixing the profile even if it has no items in the inventory
- Refactor weapon build fixing so we can re-use it for equipment builds, switch both to be a .filter() call
- Add magazine build fixing, also as a .filter() call
- For any fix that iterates over an array and splices, use Object.entries to create an in-place shallow copy of the array, so we don't skip entries
- Reverse the order of the removeOrphanedQuests loop so we don't skip entries
2024-04-12 21:58:37 -07:00
db6ef9bddb Fix bitcoin production time being incorrect (!284)
- Don't apply crafting skill cooldown reduction to bitcoin farm
- Adjust profile bitcoin production time on login to be the correct production time (takes into account dev profile)

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#284
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-09 07:48:18 +00:00
Dev
798dcfffaa
Prevent nullref when profile is missing the Place of Fame area on game start
variable cleanup in build controller
2024-04-06 11:23:57 -04:00
740ab1e563
Lint fixes 2024-03-30 14:25:46 -04:00
Dev
1098a9d869 Fixed wallets not having money stacks in them
Increased chance of money in wallets

some lint fixes
2024-03-10 14:13:08 +00:00
f95ed922a4 Fix quest statusTimers ending up with named keys (!254)
- Don't depend on status being non-numeric to fix statusTimers
- Cleaner tracking of fix counts in `updateProfileQuestDataValues`
- Better number checking for quest status, since `0` is a valid status, but fails the `!Number()` check
- Cleanup of quest status setting in `processAlteredQuests`

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#254
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-09 08:49:26 +00:00
Dev
791ebd4693 Moveed handling of unreasonableModPrices into ragfair code instead of on game start
Lowered weapon mod threshold from 9x to 6x
2024-02-09 14:13:48 +00:00
Dev
4d88b2a94a Prevent developer profile changes bleeding into non-dev accounts 2024-02-03 23:40:20 +00:00
Dev
1a9dc1ea2b Cleanup of setHideoutAreasAndCraftsTo40Secs to more central location 2024-02-03 19:42:49 +00:00
69a1723646
Fixes Linting Issues
- Reorders imports
- Removes unnecessary `else` control statements
- Simplifies some logic
- Converts key access to dot notation
- Converts Array.forEach loops to for...of loops
2024-02-02 15:00:21 -05:00
90492f3aa2
Formatting
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00
Dev
330b1ebf28 declare repeatableQuests as const not let inside removeOrphanedQuests() 2024-01-29 11:12:57 +00:00
Dev
e88a661e7e Convert hideout area bonus property + Bonus type property into an enum and update code that uses altered property 2024-01-29 10:42:02 +00:00
Dev
dbc6bd9a0b Improve reorderHideoutAreasWithResouceInputs() debug messaging 2024-01-29 10:25:14 +00:00
Kaeno
812a6a6884 Fix function removing daily/weekly quests from profile on profile load 2024-01-19 16:41:35 +00:00
Dev
0d059fbaf4 Remove ancient profile fix 2024-01-15 10:07:57 +00:00
f7bdded54d remove orphaned quests to stop softlocking quest screen. 2024-01-12 21:59:38 +00:00
Dev
a742beeae9 Comment and property name cleanup inside removeDanglingTaskConditionCounters() 2024-01-09 12:27:08 +00:00
98b0a579b3 Fixed achievement counters getting mistakenly cleaned up as stale quest counters (!189)
Fixes #273

Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: SPT-AKI/Server#189
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-09 11:57:27 +00:00
Dev
8ef405e551 Correctly implemented:
`client/builds/delete`
`client/builds/equipment/save`
`client/builds/weapon/save`

Updated `defaultEquipmentPresets` json data

Removed old 0.13 preset implementation files

profile-breaking change
2024-01-06 11:11:04 +00:00