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

65 Commits

Author SHA1 Message Date
Chomp
3e760e88e4 Added code to add hideout customisation unlocks to profile when quest completion rewards an achievement
Fixed inaccurate `rewards` type for achievement object
2025-01-07 13:06:28 +00:00
Chomp
b0d3d68d01 Moved dogtag customisation options into profile controller instead of inside client/customization/storage handler
Renamed variable to better reflect what it holds
2025-01-07 12:51:16 +00:00
Chomp
9b16af7cb6 On quest completion, store hideout customisation unlocks inside profile json
Append the unlock customisations to results of `client/customization/storage` call

Added `hideoutCustomisationUnlocks` to profile on creation
2025-01-07 12:47:32 +00:00
ed2b90fa0a
Various fixes so biome is happy (#1032)
- Changes to import typing for ILogger and ICloner
- Targets es2022 in compilerOptions (Matching the target in .swcrc)
because otherwise Biome doesn't seem to find a proper target.
- Fixes up the seasonal event typing
- fixes run:debug to target the correct file
2025-01-06 17:09:33 +00:00
Chomp
5537b9b521 Added missing properties to getDefaultSptDataObject() 2025-01-04 19:00:36 +00:00
DrakiaXYZ
4614c890a6 Implement basic friends list functionality
This commit implements basic friends list functionality including adding, auto accepting, and removing friends. As well as storing the list in the profile and providing the friends list back to the client on login.
This is a one-way implementation, the target profile will not have the source account added to its friends list.

This is primarily useful in combination with the recent favorites fixes, to allow users to inspect favorited weapons on other profiles to "copy" weapon builds between their profiles
2024-12-13 21:25:32 -08: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
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
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
Dev
be20eff165 Updated replaceProfilePocketTpl() to take into account profiles with multiple pocket objects due to equipment stand 2024-10-12 22:57:24 +01:00
Dev
6301411a86 Removed unnecessary use of ProfileSnapshotService 2024-10-01 10:57:59 +01:00
Dev
5fd9271491 Updated various interfaces to use correct naming scheme
Added `IGroupPostion`
2024-09-24 11:26:45 +01:00
c793b7e0b3 Fix repair prices for all traders being the same (Should also fix other loyalty related issues) (!405)
- The client doesn't expect to receive the player's loyalty level in their profile, so set it to 0 before sending the profile
- Slight refactor of `getCompleteProfile` to always clone, so we can modify the data sent to the client without changing it on the server

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#405
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-09-03 06:09:23 +00:00
Dev
77c98a4cd4 Fixed invalid check inside getBonusValueFromProfile() 2024-08-09 22:05:07 +01:00
Dev
2a52af1275 Improved logic of getBonusValueFromProfile() 2024-08-08 22:36:32 +01:00
Dev
1066a138ac Added function getBonusValueFromProfile to profileHelper
(cherry picked from commit d97e717f7645d42c00e3f84b6d08b53109fef71b)
2024-08-08 18:31:04 +01:00
Dev
fc8769ba30 Basic implementation of pocket tpl quest reward handling 2024-08-03 23:10:54 +01:00
Dev
0c42a38306 Add null protection to playerHasRecievedMaxNumberOfGift() 2024-07-25 23:18:28 +01: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
Dev
4094b7ecff Fixed getAccountTypeAdjustedTraderPurchaseLimit() not applying to unheard profiles
Created `GameVersions` enum and replaced all magic strings with it
2024-06-16 21:22:28 +01:00
Dev
e793b0bc63 Fixed nullref error on repeatable refresh click event
Fixed all profiles having access to free repeatable refreshes

Fixed newly created profiles generating with 0 free refreshes regardless of game version
2024-06-16 10:58:35 +01:00
Dev
16f170f28e Minor adjustments to profileHelper, launcherController and profileController classes 2024-06-12 10:47:01 +01:00
Dev
ca642b94a7 Reworked gift sending/storage sytem to not store the max sends in profile and use the existing gift data
Fixed `sendPraporStartingGift()` not sending gifts
Expanded `GiftService` to include methods to get gift by id / all gifts / all gift ids
2024-06-09 09:13:38 +01:00
Dev
75a34f5ca2 Expanded gift system used by spt bot
Gifts can be given multiple times
stash expansions are limited to 5 max by default
dev balaclava can be given 5 times, majority of gifts are 1 use still

Updated data structure to persist gifts received, this will break profiles
2024-06-08 17:54:05 +01:00
Dev
e5398f5e4d Added implementation for Achievement quest rewards 2024-06-04 15:36:01 +01:00
Dev
ba8829681d Fixed flea-banned players being able to buy pmc items from flea 2024-06-03 22:35:09 +01:00
Dev
b8ee834165 Replaced uses of DatabaseServer with DatabaseService 2024-05-29 15:15:45 +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
65f27a7d8c Fixed various Object is possibly undefined warnings 2024-05-28 10:25:23 +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
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
2d299b99d2 Fix error in getExperience for over leveled players (!337)
Fixes an error in getExperience when players are over level 79

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#337
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-05-18 07:36:55 +00: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
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
a66b6644a1 Add crafting skill into water filter drain rate calculation
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
2024-03-30 11:32:14 +00:00
Dev
b11c9579b5 Cleanup of comments inside ProfileHelper
merged unnecessary functions
2024-03-09 16:35:46 +00:00
Dev
f860642882 Add ability to adjust skill gain per skill when in menus via inventory config 2024-03-09 16:14:34 +00:00
Dev
7ec5d89608 Add ability to insert stash rows to profile 2024-02-26 23:51:45 +00:00
3a2b24b9b8
Simple Parameter Reassignment Issues
Addresses some of the more simple linting errors regarding the reassignment of function parameters.
2024-02-05 19:03:26 -05:00
34121182a1
Biome Linting Issues
Fixed some instances of:
- Unordered imports
- Reassigning function parameters
- Modifying values in assignment/return statements
- Array.forEach being used instead of for...of
- Simplified control logic
2024-02-05 19:03:26 -05:00
Dev
4d88b2a94a Prevent developer profile changes bleeding into non-dev accounts 2024-02-03 23:40:20 +00:00
Dev
9a4231d8b8 Rename function profileHelper.removeCompletedQuestConditionFromProfile() to removeQuestConditionFromProfile 2024-01-10 12:37:34 +00:00
Dev
268a9b8abd Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/src/callbacks/BundleCallbacks.ts
#	project/src/controllers/RepeatableQuestController.ts
#	project/src/helpers/InRaidHelper.ts
#	project/src/loaders/PreAkiModLoader.ts
2023-12-15 14:16:15 +00:00
Dev
4eebd5feef Change skill reward being 0 from an error to warning 2023-12-11 11:44:26 +00:00
Dev
25bfda0d56 Prevent increasing a skill to beyond the game limit of 5100 points 2023-12-11 11:43:30 +00:00
4ac12ef70a Formatting/Linting Changes (!168)
These are the formatting & linting configuration changes from the `3.8.0` branch and the changes that they make to the overall project.

The majority of these changes are from running two commands:

`npm run lint:fix`
`npm run style:fix`

This has already been run on the `3.8.0` branch and this PR should make `master` play nicer when it comes to merges going forward.

There are now four VSCode plugins recommended for server development. They've been added to the workspace file and a user should get a UI notification when the workspace is opened if they're not installed.

The four plugins are:
https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig
https://marketplace.visualstudio.com/items?itemName=dprint.dprint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=biomejs.biome

Once installed they should just work within the workspace.

Also, be sure to `npm i` to get the new dprint application.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: SPT-AKI/Server#168
2023-11-16 21:42:06 +00:00
622949cd83
Auto-formatting Sweep 2023-11-15 21:12:40 -05:00
Dev
123df5c595 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2023-11-07 20:58:56 +00:00