Commit Graph

938 Commits

Author SHA1 Message Date
Dev
aa6f765a64 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/assets/configs/core.json
2023-11-22 14:28:30 +00:00
Dev
a5200e08d9 Add Zvezda assort for completing Our Own Land (prapor l4) 2023-11-22 14:20:17 +00:00
Dev
5559b938c3 Add thicc case barter for completing special equipment (peacekeeper l4) 2023-11-22 14:15:36 +00:00
Dev
112bbbea09 Adjust modloader-missing_package_json locale text 2023-11-21 19:35:48 +00:00
Dev
ddb9917c6b Rework of post-raid scav/pmc profile handling:
Moved logic out of `updateProfileBaseStats()` and into separate functions for pmc/scav, left profile-agnostic code alone
new functions `updatePmcProfileDataPostRaid` and `updateScavProfileDataPostRaid`

scav - Only copy active quest progress from client profile to server scav profile
scav - dont attempt to update trader standings, none exist on scav profile
scav - dont transfer psot-raid limb damage to server profile

Update quest status values similarly to PMC quests post raid to ensure they're consistent with existing quest data in profile
Simplifies `migrateScavQuestProgressToPmcProfile`

made various warnings debug instead
2023-11-20 16:33:04 +00:00
Dev
d2209114c9 Rename parameter as it can be scav or pmc profile 2023-11-20 15:07:59 +00:00
Dev
525e5cd21b Fix length comparison not working as its an object, not an array 2023-11-20 15:05:35 +00:00
Dev
9929cf8c33 Clone handbook data before caching it 2023-11-20 13:47:47 +00:00
Dev
b55a0d03df Add Crye Precision AVS plate carrier (Tagilla Edition) to boss items array 2023-11-20 11:21:44 +00:00
Dev
c1219ed374 Blacklist Crye Precision AVS plate carrier (Tagilla Edition) from scav case rewards 2023-11-20 11:20:40 +00:00
Dev
1abc7e3604 Handle failing a quest while raiding as scav 2023-11-20 11:19:11 +00:00
Dev
fc52c308bd Lower chance of non-standard account PMCs 2023-11-20 10:38:14 +00:00
Dev
ccc017c976 Fix issue with scav case rewards being collectable twice 2023-11-20 10:22:03 +00:00
Dev
2132ea7adb Fix issue with hideout crafts being collectable twice 2023-11-20 10:14:21 +00:00
Dev
f727b13215 prevent collection quests requesting more than 1 ammo per repeatable quest 2023-11-19 20:29:41 +00:00
Dev
89ff63f822 Update flea prices 2023-11-19 17:14:16 +00:00
Dev
aeea8f6e49 Guard against empty RepeatableQuests array in profile 2023-11-19 16:12:20 +00:00
Dev
fa054307dd Update version 2023-11-19 15:08:30 +00:00
Dev
3e0e8f7666 lint 2023-11-19 15:04:12 +00:00
Dev
396b56d08d Expose uniqueItemCount config value for use in choosing total items to return in Completion quests
Weekly quests now require more items than dailies
2023-11-19 14:58:45 +00:00
Dev
3b1c6b3fdd Add additional items to the find and return pool 2023-11-19 14:51:00 +00:00
Dev
1def90e9d6 Improve handling of how reward items have their stack count randomised
Separated out how weapons are chosen as rewards

Lowered chance of skill reward

Added additional reward types to most traders
2023-11-19 13:21:34 +00:00
Dev
8cb4833001 Fix reward creatio code giving 1 extra reward compared to what was specified 2023-11-19 10:54:06 +00:00
Dev
ee3096328e Exit reward finding loop when reward pool is empty 2023-11-19 10:52:50 +00:00
Dev
e99c1e8ab8 Add additional item types to trader reward whitelist 2023-11-19 10:50:46 +00:00
Dev
8fe9fb9391 Adjust getWeaponRepairSkillPoints() to never return a value below 0 2023-11-18 21:59:48 +00:00
Dev
aed65ce1cb Rework getWeightedCompatibleAmmo() to loop over cartridges until it finds one compatible instead of giving up after the first failure 2023-11-18 18:46:03 +00:00
Dev
eb77589606 FIx crazyassaultevent bot mod values that casued weapon generation errors 2023-11-18 18:40:37 +00:00
Dev
546ae76976 Add missing request object 2023-11-18 15:03:33 +00:00
Dev
60ead44b30 Add HealthController.healthTreatment() tests 2023-11-18 15:01:51 +00:00
Dev
0d205ed50c Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/src/controllers/HealthController.ts
2023-11-18 14:13:08 +00:00
Dev
7ef873442e Lowered daily max item collection requirement to 4 2023-11-18 12:34:47 +00:00
Dev
b0afad72dd Randomise min durabiltiy value for weapon/armor collection quests to be 60 or 80%
rename param for clarity
2023-11-18 12:33:00 +00:00
Dev
79cb201b82 Split maxExtracts into additional maxExtractsWithSpecificExit for repeatable quests 2023-11-18 12:32:03 +00:00
Dev
fa1e15897a Only heal bodypart if player chose hp healing in post-raid therapist healing screen 2023-11-18 11:33:06 +00:00
Dev
5e919f4793 Only add xp reward to repeatable quests when value is > 0 2023-11-18 11:13:36 +00:00
Dev
0abcd8b3b7 Further adjustments to daily/weekly reward xp/roubles/skill reward chance
Adjusted fence quest values in level increments of 10 + make fence reward Euros instead of Roubles
2023-11-17 18:39:08 +00:00
Dev
ac31a17695 Blacklist item_food_vodka_BAD from PMCs 2023-11-17 16:57:23 +00:00
Dev
c2aaf9c6fb Add workaround for stm-9 generating with an impossible configuration and being reset to default 2023-11-17 12:40:23 +00:00
Dev
ba2666f801 Set production property to null when no updates are to be sent to the client 2023-11-17 11:13:14 +00:00
Dev
2f122df9f6 Update SPTUSEC and SPTBEAR values 2023-11-17 09:18:30 +00:00
Refringe
5d2af422cb
Fixes InsuranceController Tests 2023-11-16 23:55:32 -05:00
Refringe
6cd86e67b0
Merge branch 'master' into 3.8.0
# Conflicts:
#	project/.vscode/launch.json
#	project/assets/database/locations/bigmap/base.json
#	project/assets/database/locations/interchange/base.json
#	project/assets/database/locations/rezervbase/base.json
#	project/gulpfile.mjs
#	project/package.json
#	project/src/ErrorHandler.ts
#	project/src/Program.ts
#	project/src/callbacks/DataCallbacks.ts
#	project/src/callbacks/DialogueCallbacks.ts
#	project/src/callbacks/GameCallbacks.ts
#	project/src/callbacks/HandbookCallbacks.ts
#	project/src/callbacks/HealthCallbacks.ts
#	project/src/callbacks/HttpCallbacks.ts
#	project/src/callbacks/LauncherCallbacks.ts
#	project/src/callbacks/LocationCallbacks.ts
#	project/src/callbacks/MatchCallbacks.ts
#	project/src/callbacks/ModCallbacks.ts
#	project/src/callbacks/NotifierCallbacks.ts
#	project/src/callbacks/PresetCallbacks.ts
#	project/src/callbacks/ProfileCallbacks.ts
#	project/src/callbacks/RagfairCallbacks.ts
#	project/src/callbacks/TraderCallbacks.ts
#	project/src/context/ApplicationContext.ts
#	project/src/context/ContextVariableType.ts
#	project/src/controllers/BotController.ts
#	project/src/controllers/CustomizationController.ts
#	project/src/controllers/DialogueController.ts
#	project/src/controllers/GameController.ts
#	project/src/controllers/HealthController.ts
#	project/src/controllers/HideoutController.ts
#	project/src/controllers/InraidController.ts
#	project/src/controllers/InsuranceController.ts
#	project/src/controllers/InventoryController.ts
#	project/src/controllers/LauncherController.ts
#	project/src/controllers/LocationController.ts
#	project/src/controllers/MatchController.ts
#	project/src/controllers/QuestController.ts
#	project/src/controllers/RagfairController.ts
#	project/src/controllers/RepeatableQuestController.ts
#	project/src/controllers/TradeController.ts
#	project/src/di/Container.ts
#	project/src/di/Router.ts
#	project/src/generators/BotEquipmentModGenerator.ts
#	project/src/generators/BotLevelGenerator.ts
#	project/src/generators/BotWeaponGenerator.ts
#	project/src/generators/LocationGenerator.ts
#	project/src/generators/LootGenerator.ts
#	project/src/generators/RepeatableQuestGenerator.ts
#	project/src/generators/WeatherGenerator.ts
#	project/src/generators/weapongen/InventoryMagGen.ts
#	project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
#	project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
#	project/src/helpers/AssortHelper.ts
#	project/src/helpers/BotGeneratorHelper.ts
#	project/src/helpers/InRaidHelper.ts
#	project/src/helpers/ProfileHelper.ts
#	project/src/helpers/RagfairHelper.ts
#	project/src/helpers/RagfairOfferHelper.ts
#	project/src/helpers/TraderHelper.ts
#	project/src/loaders/ModLoadOrder.ts
#	project/src/loaders/PostDBModLoader.ts
#	project/src/loaders/PreAkiModLoader.ts
#	project/src/models/eft/common/IGlobals.ts
#	project/src/models/eft/common/ILocationBase.ts
#	project/src/models/eft/common/tables/IBotBase.ts
#	project/src/models/eft/common/tables/IProfileTemplate.ts
#	project/src/models/eft/common/tables/ITemplateItem.ts
#	project/src/models/eft/dialog/IAcceptFriendRequestData.ts
#	project/src/models/eft/dialog/IDeleteFriendRequest.ts
#	project/src/models/eft/game/IGameConfigResponse.ts
#	project/src/models/eft/game/IGameKeepAliveResponse.ts
#	project/src/models/eft/game/IGameStartResponse.ts
#	project/src/models/eft/match/IJoinMatchResult.ts
#	project/src/models/eft/notifier/INotifier.ts
#	project/src/models/eft/profile/GetProfileStatusResponseData.ts
#	project/src/models/eft/trade/IProcessBuyTradeRequestData.ts
#	project/src/models/eft/trade/IProcessSellTradeRequestData.ts
#	project/src/models/enums/WildSpawnTypeNumber.ts
#	project/src/models/spt/bots/BotGenerationDetails.ts
#	project/src/models/spt/config/IBotConfig.ts
#	project/src/models/spt/config/IBotDurability.ts
#	project/src/models/spt/config/IInRaidConfig.ts
#	project/src/models/spt/config/ILocationConfig.ts
#	project/src/models/spt/config/IQuestConfig.ts
#	project/src/models/spt/config/ISeasonalEventConfig.ts
#	project/src/models/spt/server/ILocations.ts
#	project/src/models/spt/utils/IUuidGenerator.ts
#	project/src/routers/dynamic/BotDynamicRouter.ts
#	project/src/routers/dynamic/BundleDynamicRouter.ts
#	project/src/routers/dynamic/CustomizationDynamicRouter.ts
#	project/src/routers/dynamic/DataDynamicRouter.ts
#	project/src/routers/dynamic/HttpDynamicRouter.ts
#	project/src/routers/dynamic/InraidDynamicRouter.ts
#	project/src/routers/dynamic/LocationDynamicRouter.ts
#	project/src/routers/dynamic/NotifierDynamicRouter.ts
#	project/src/routers/dynamic/TraderDynamicRouter.ts
#	project/src/routers/save_load/InsuranceSaveLoadRouter.ts
#	project/src/routers/save_load/ProfileSaveLoadRouter.ts
#	project/src/routers/serializers/NotifySerializer.ts
#	project/src/routers/static/BotStaticRouter.ts
#	project/src/routers/static/BundleStaticRouter.ts
#	project/src/routers/static/ClientLogStaticRouter.ts
#	project/src/routers/static/CustomizationStaticRouter.ts
#	project/src/routers/static/DataStaticRouter.ts
#	project/src/routers/static/DialogStaticRouter.ts
#	project/src/routers/static/GameStaticRouter.ts
#	project/src/routers/static/HealthStaticRouter.ts
#	project/src/routers/static/InraidStaticRouter.ts
#	project/src/routers/static/InsuranceStaticRouter.ts
#	project/src/routers/static/ItemEventStaticRouter.ts
#	project/src/routers/static/LauncherStaticRouter.ts
#	project/src/routers/static/LocationStaticRouter.ts
#	project/src/routers/static/MatchStaticRouter.ts
#	project/src/routers/static/NotifierStaticRouter.ts
#	project/src/routers/static/PresetStaticRouter.ts
#	project/src/routers/static/ProfileStaticRouter.ts
#	project/src/routers/static/QuestStaticRouter.ts
#	project/src/routers/static/RagfairStaticRouter.ts
#	project/src/routers/static/TraderStaticRouter.ts
#	project/src/routers/static/WeatherStaticRouter.ts
#	project/src/services/BotEquipmentFilterService.ts
#	project/src/services/BotGenerationCacheService.ts
#	project/src/services/BotWeaponModLimitService.ts
#	project/src/services/PaymentService.ts
#	project/src/services/ProfileFixerService.ts
#	project/src/services/RagfairOfferService.ts
#	project/src/services/RagfairTaxService.ts
#	project/src/services/RepairService.ts
#	project/src/services/SeasonalEventService.ts
#	project/src/utils/RagfairOfferHolder.ts
#	project/src/utils/TimeUtil.ts
#	project/src/utils/UUidGenerator.ts
#	project/src/utils/VFS.ts
#	project/src/utils/collections/queue/Queue.ts
#	project/src/utils/logging/AbstractWinstonLogger.ts
#	project/src/utils/logging/WinstonMainLogger.ts
#	project/src/utils/logging/WinstonRequestLogger.ts
#	project/tests/utils/TimeUtil.test.ts

Manually resolved by Refringe.
2023-11-16 23:35:11 -05:00
Refringe
083a2a798e Removes Old Jest Tests (!169)
These should not be used. Branch `3.8.0` has newer Vitest tests configured.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/169
2023-11-16 22:12:51 +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
ba443ca9a9 Fix bot generation error when crazyAssaultEvent spawns 2023-11-16 18:43:22 +00:00
Refringe
50f8a84f5c
Rewrites a number of filter().reduce() calls to use more straight-forward for...of loop. 2023-11-16 10:18:11 -05:00
Refringe
f6ba864ea8
Removes unnecessary constructor. 2023-11-16 10:16:20 -05:00
Refringe
a4d2013ff6
Converts forEach loop to for...of loop 2023-11-16 10:15:52 -05:00
Refringe
be841a3de3
Resolves Type Issue in ProfileFixerService
When attempting to access a property/type that *shouldn't* exist (on purpose) it has to be cast to the type manually, else annoying type error.
2023-11-16 10:11:31 -05:00