Dev
65f27a7d8c
Fixed various Object is possibly undefined
warnings
2024-05-28 10:25:23 +01:00
Alex
173a726f33
Removed all null references in favor of undefined ( !354 )
...
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/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
Alex
d13e86ba46
Rebranding to SPT ( !345 )
...
Rebranded src code and scripts to SPT
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/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
a48e130f1b
Localized various warning messages
2024-05-21 14:28:52 +01:00
Dev
139b139581
Localised various error messages
2024-05-21 12:40:16 +01:00
Dev
597ea96f34
Added per-profile type redeem times to server
...
unheard has a 72 hour redeem time vs all other profiles 48
renamed `redeemTime` to `mailRedeemTimeHours`
2024-05-20 11:31:45 +01:00
Refringe
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
Refringe
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
Alex
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: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/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
Refringe
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
acidphantasm
3d2fd7b40a
Add stash row quest reward functionality ( !316 )
...
This functionality is currently not in use and would be nice to have for mod developers. There have been 'seasonal' quests in the past that had stash rows as a reward but this was never implemented in SPT.
Co-authored-by: acidphantasm <127812106+acidphantasm@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/316
Co-authored-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
Co-committed-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
2024-05-01 08:22:11 +00:00
Refringe
01d97953fa
Fixes Linting Issues
...
Fixes a number of Biome linting issues:
- Variable implicitly has the any type.
- Use a function type instead of a call signature.
- Reassigning a function parameter is confusing.
- Suppression comment is not being used
2024-04-22 23:43:35 -04:00
Dev
765c2ae270
Only send failed message to player if failure message text length is great than 0 (after having whitespace trimmed)
2024-04-12 11:29:50 +01:00
Dev
364e590960
Improved logic for failing a quest - will never send a failed message for daily
2024-04-12 11:20:30 +01:00
Dev
2516354451
Fixed getNewlyAccessibleQuestsWhenStartingQuest()
not filtering out quests flagged for non-player side
2024-03-24 17:17:40 +00:00
Dev
fc1a1432ee
Do not return output object from failQuest()
2024-03-12 21:29:50 +00:00
Dev
378bb7fdae
Resolve issue with failQuest()
breaking when no quest or repeatable quest is found and it attempts to send a mail message to player
2024-03-12 21:24:46 +00:00
Dev
479898ecab
Centralise check for upd object / creation if it doesnt exist into one helper function inside ItemHelper
...
Some minor formatting updates
2024-03-07 09:18:39 +00:00
Dev
c4520ddbe9
Protect again null quest object when trying to send a message during quest failure
2024-02-12 21:23:20 +00:00
Dev
fbd371b5c7
Fix code that would detete majority of quest progress from profile
2024-02-09 23:18:23 +00:00
Refringe
42dabc057b
Improved replaceIDs
Method in ItemHelper
...
- Implemented deep cloning of input Items to prevent mutation.
- Reordered parameters: Items (required) now precede PMC data (optional).
- Updated method calls to bring them inline with these changes.
2024-02-06 18:39:06 -05:00
Dev
bf5f3316b1
Rename cloned variables to help with readability
2024-02-05 14:43:46 +00:00
Dev
d362e17e1b
prevent failQuest()
from failing when no repeatable quest is found
2024-02-03 23:10:42 +00:00
Dev
164bf08b08
FIx armor filtering code to correctly return non-armored rigs when requested
2024-02-03 14:00:47 +00:00
Dev
8d2eaf2485
Copy over stackobject count from original reward
2024-02-03 12:47:52 +00:00
Dev
0a6a866ae8
Correctly clone and remap default preset before returning
2024-02-03 12:15:20 +00:00
Dev
e3cf4c3c92
Fix starting quest armor rewards not showing correctly
2024-02-03 11:41:30 +00:00
Dev
12a9cb5ded
Fix processReward()
incorrectly trying to add mods to armor items without slots
...
Add `itemHasSlots` to itemHelper and consolodate its use across code
2024-02-03 11:00:30 +00:00
Refringe
90492f3aa2
Formatting
...
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00
Dev
d3f9cea4c1
Fix ammobox + magazine cartridges being given to player with an incorrect FiR status, shouild match parents status
2024-01-23 15:24:02 +00:00
Dev
5005a5160a
Improve buyItem()
handling of multiple and stackable item purchases
...
rename `reparentPresets` to `reparentItemAndChildren` and move to `itemHelper`
2024-01-14 21:12:56 +00:00
Dev
47a84e508b
Fix some quests failing twice (chemical part 4), reducing rep twice as much as it should
...
Quest failure is handled by client now, no need to find and fail quests in server on quest completion
Move `getQuestsFailedByCompletingQuest()` to questHelper
2024-01-14 12:29:58 +00:00
Dev
41d491dd16
Show error when quest not found in db
2024-01-14 10:27:26 +00:00
Dev
cb18d251ba
Improve selection of items to add mods for:
...
quest rewards
bot loot gen
map loot gen
fence assort gen
Updated `removeRandomModsOfItem()` to also skip slots with a _required prop
2024-01-11 17:42:58 +00:00
Dev
297bc2786a
Improve armor quest rewards
...
Attempt to return the armor preset found in globals.json first as this has default plates, if that fails construct item outselves based on mods _requried properties
2024-01-10 10:04:09 +00:00
Dev
443d8da7f7
FIx server error when passing failed quest data to client
2024-01-09 18:46:44 +00:00
Dev
a9c36ec205
Fix issue with armors as quest rewards not being sent with soft inserts
...
Centralised a soft insert check into `ItemHelper`
Add extra base types to `generateGearPool()` in equipment bot pool service
2024-01-09 16:49:59 +00:00
Dev
0b3ad5bbd8
Only send failed quest trader messages for non-repeatable quests
2024-01-07 23:51:28 +00:00
Dev
d3afe0b6f3
Fix issue with completing a quest
...
Altered `addTimeLockedQuestsToProfile()` to not fail when checked quest has no `target` property
Altered `getNewlyAccessibleQuestsWhenStartingQuest()` to check all statuses of quest, not just first
2024-01-06 09:11:04 +00:00
Dev
9dbd3d1acf
Updated server handling of quests/repeatable quests to match 0.14 changes - this will break profiles
2024-01-05 19:52:21 +00:00
Dev
9e55a52965
update quest objects and implement get achievemetns
2023-12-27 17:15:38 +00:00
Dev
12cb176a42
Potential fix for failed/repeatable quests keeping their subtask completed status
2023-12-02 00:10:25 +00:00
Dev
b52ea4f1fa
Only set start time in resetQuestState()
when new status is started
2023-11-30 10:13:45 +00:00
Dev
9ed5869fa6
Reduce calls to this.timeUtil.getTimestamp()
inside getQuestReadyForProfile()
...
Set `startTime` property inside `resetQuestState()`
2023-11-30 10:09:23 +00:00
Dev
288b7cf654
Further cleanup of acceptQuest
2023-11-30 09:36:28 +00:00
Dev
a941a22305
Attempt to resolve issue where failed quests that are restarted retain their previous completed statuses until client restart
...
New function to purge completed condtions + remove status timers beyond what a newly started quest would have + add updated quest status object to `questsStatus` property on profile changes response object
2023-11-29 23:36:31 +00:00
Dev
1abc7e3604
Handle failing a quest while raiding as scav
2023-11-20 11:19:11 +00:00
Refringe
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: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/168
2023-11-16 21:42:06 +00:00
Dev
203ef0c011
Centralise getting a skill from a player profile into one location profileHelper.getSkillFromProfile()
2023-11-07 15:17:38 +00:00
Dev
5a60e4dcf0
Consolodate multiple functions (incrementSkillLevel
, rewardSkillpoints
) that do the same task into one addSkillpointsToPlayer
, make them use enum for skill type instead of string
2023-11-07 11:20:25 +00:00