Commit Graph

2925 Commits

Author SHA1 Message Date
Dev
0ab5ca6dee Prevent check from failing when upd object is missing 2024-04-23 19:38:45 +01:00
Dev
8761462acd Update server locales with data from crowdin 2024-04-23 17:14:21 +01:00
Dev
522306b9b1 Fixed error message inside isModCompatible() not showing the name of a mod correctly 2024-04-23 17:08:20 +01:00
micyael
1881a0842a Fixed incorrect handbook price using CustomItemService (!301)
The handbookPriceRoubles member of base class NewItemDetails was never used to create the new item.

Co-authored-by: Refringe <me@refringe.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/301
Co-authored-by: micyael <micyael@noreply.dev.sp-tarkov.com>
Co-committed-by: micyael <micyael@noreply.dev.sp-tarkov.com>
2024-04-23 10:15:29 +00:00
Dev
57557d6063 Migrate loot generation code to use per-map static data - ONLY WORKS WITH CUSTOMS (other maps to follow later) 2024-04-23 10:27:09 +01:00
Dev
a4bb5a2f60 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-23 10:03:48 +01:00
Dev
8366dd355d Added logging to removeRandomItemFromAssorts() when no upd object found 2024-04-23 10:01:41 +01:00
Dev
d2cf495426 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-23 09:34:58 +01:00
Dev
f82cbc189b Improved how drawAmmoTpl() handles bad static ammo distribution data input 2024-04-23 09:34:01 +01: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
Refringe
a572e8e67e
Runs Style Fix 2024-04-22 15:53:07 -04:00
Dev
be841fbe3f Improved handling of a missing updobject inside removeRandomItemFromAssorts() 2024-04-22 17:54:32 +01:00
Dev
fe7d09e075 Improved logic inside isModValidForSlot() to better handle edge cases 2024-04-22 09:39:32 +01:00
Dev
e3bb1932ff Fixed server type generation command not working 2024-04-21 16:23:39 +01:00
Dev
8e8df89434 29774 2024-04-21 11:39:15 +01:00
Dev
fc544379e4 29774 - Update JSONs 2024-04-21 11:31:41 +01:00
Dev
2bfa9ab40c Revert changes to file 2024-04-21 10:28:53 +01:00
Dev
bba169127c Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/bot.json
#	project/assets/configs/core.json
#	project/assets/database/bots/types/arenafighterevent.json
#	project/assets/database/bots/types/assault.json
#	project/assets/database/bots/types/bear.json
#	project/assets/database/bots/types/bossboar.json
#	project/assets/database/bots/types/bossboarsniper.json
#	project/assets/database/bots/types/bossbully.json
#	project/assets/database/bots/types/bossgluhar.json
#	project/assets/database/bots/types/bosskilla.json
#	project/assets/database/bots/types/bossknight.json
#	project/assets/database/bots/types/bosskojaniy.json
#	project/assets/database/bots/types/bosskolontay.json
#	project/assets/database/bots/types/bosssanitar.json
#	project/assets/database/bots/types/bosstagilla.json
#	project/assets/database/bots/types/bosszryachiy.json
#	project/assets/database/bots/types/exusec.json
#	project/assets/database/bots/types/followerbigpipe.json
#	project/assets/database/bots/types/followerbirdeye.json
#	project/assets/database/bots/types/followerboar.json
#	project/assets/database/bots/types/followerboarclose1.json
#	project/assets/database/bots/types/followerboarclose2.json
#	project/assets/database/bots/types/followerbully.json
#	project/assets/database/bots/types/followergluharassault.json
#	project/assets/database/bots/types/followergluharscout.json
#	project/assets/database/bots/types/followergluharsecurity.json
#	project/assets/database/bots/types/followerkojaniy.json
#	project/assets/database/bots/types/followerkolontayassault.json
#	project/assets/database/bots/types/followerkolontaysecurity.json
#	project/assets/database/bots/types/followerzryachiy.json
#	project/assets/database/bots/types/gifter.json
#	project/assets/database/bots/types/marksman.json
#	project/assets/database/bots/types/peacefullzryachiyevent.json
#	project/assets/database/bots/types/pmcbot.json
#	project/assets/database/bots/types/ravangezryachiyevent.json
#	project/assets/database/bots/types/sectantpriest.json
#	project/assets/database/bots/types/sectantwarrior.json
#	project/assets/database/bots/types/shooterbtr.json
#	project/assets/database/bots/types/usec.json
#	project/assets/database/globals.json
#	project/assets/database/locales/global/ch.json
#	project/assets/database/locales/global/cz.json
#	project/assets/database/locales/global/en.json
#	project/assets/database/locales/global/es-mx.json
#	project/assets/database/locales/global/es.json
#	project/assets/database/locales/global/fr.json
#	project/assets/database/locales/global/ge.json
#	project/assets/database/locales/global/hu.json
#	project/assets/database/locales/global/it.json
#	project/assets/database/locales/global/jp.json
#	project/assets/database/locales/global/kr.json
#	project/assets/database/locales/global/pl.json
#	project/assets/database/locales/global/po.json
#	project/assets/database/locales/global/ro.json
#	project/assets/database/locales/global/ru.json
#	project/assets/database/locales/global/sk.json
#	project/assets/database/locales/global/tu.json
#	project/assets/database/templates/achievements.json
#	project/assets/database/templates/handbook.json
#	project/src/generators/BotLootGenerator.ts
#	project/src/generators/LootGenerator.ts
#	project/src/models/eft/common/tables/IBotType.ts
#	project/src/models/spt/bots/IBotLootCache.ts
#	project/src/servers/HttpServer.ts
#	project/src/services/BotLootCacheService.ts
#	project/src/services/FenceService.ts
#	project/tests/controllers/InsuranceController.test.ts
2024-04-20 23:29:54 +01:00
Dev
00691becd1 Add extra protection against null objects inside itemAllowedInContainer() 2024-04-20 20:33:36 +01:00
Dev
716df08983 Revert "Revert "Inverted check to allow correct server comms""
This reverts commit f873edb456.
2024-04-20 15:24:21 +01:00
Dev
5f9c51f1e3 Revert "Revert "Split out debug heading into 2 headers, one each for request/response""
This reverts commit 7fd9dadb13.
2024-04-20 15:24:07 +01:00
Dev
f63da802b2 Fix addPlayer not correctly assigning location value 2024-04-20 15:23:24 +01:00
Dev
7fd9dadb13 Revert "Split out debug heading into 2 headers, one each for request/response"
This reverts commit e2f3191212.
2024-04-20 14:19:35 +01:00
Dev
f873edb456 Revert "Inverted check to allow correct server comms"
This reverts commit 8bcb47b391.
2024-04-20 14:19:10 +01:00
Dev
8bcb47b391 Inverted check to allow correct server comms 2024-04-20 13:12:32 +01:00
Dev
ef65074dc3 Resolve server error inside removeRandomItemFromAssorts() when the item being processed has no upd object 2024-04-20 13:05:44 +01:00
Dev
b8b72e593d Added nullguards insode addPlayer() to prevent server errors when profile not found or inraid object not found 2024-04-20 10:10:58 +01:00
Dev
e2f3191212 Split out debug heading into 2 headers, one each for request/response
0 = no zlib compression
1 = use zlib compression
2024-04-20 09:58:06 +01:00
Brent
df93245e9d Fix incompatible default mods being used in required slots (!299)
This prevents weapons from getting the default mods for their base preset when they won't fit other required mods.

This was observed on the AK-74M, where the weapon generator would choose the VDM CS gas tube, which is incompatible with the default AK-74 polymer handguard (6P20 Sb.9).

When this occurs, the generator will bypass the default mod selection and instead choose from the loot pool assigned to the handguard in the bot configs.

https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/596

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/299
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-18 14:29:16 +00:00
Dev
b305ffdc24 Add currency to generation configuration for each bot
Fix various missing properties in some bot jsons
2024-04-18 11:56:45 +01:00
DrakiaXYZ
0d553e8ea6 Move setting of the generated bools to inside the cache methods (!298)
Also make `generateDynamicPrices` public to match the static method, and allow mods to refresh the cache

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/298
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-18 07:55:39 +00:00
DrakiaXYZ
820a5caccb Bake build data directly into the executable (!297)
This is primarily to stop confusion when a user overwrites their `aki_data` folder with an old version, the data shown in logs/server console is now based on compile time data instead of runtime data.

- New build.json file added to the `obj/ide/` folder that gets populated with the build data on build
- Moved asset copying prior to packaging, so that `obj/ide/build.json` is available at package time
- Updated all references of core.commit, and core.buildTime to use globalThis
- Updated all references of core.akiVersion to use globalThis with a fallback if not found (When running in VSCode for example)

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/297
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-18 07:54:16 +00:00
haze
688e2b77cd fix assort.json syntax inconsistencies (!296)
Two lines changed - removed two sets of quotation marks for int-typed variables

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/296
Co-authored-by: haze <haze@noreply.dev.sp-tarkov.com>
Co-committed-by: haze <haze@noreply.dev.sp-tarkov.com>
2024-04-18 07:51:40 +00:00
Brent
c71aaa7fb3 Use dynamic ragfair pricing for insurance deletion sorting (!294)
Change sort value for insured attachments to use dynamic ragfair prices.
Small change to method to return directly instead of setting passed-by-value parameter.

https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/618

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/294
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-17 13:10:43 +00:00
Dev
cd911bdd0d Enable forceStock for bloodhounds 2024-04-17 11:24:19 +01:00
Dev
6e3c312f8a Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-17 10:09:18 +01:00
Dev
d039d75b1d Increased chance basic ammo stack size will be found on assault scavs 2024-04-17 10:07:46 +01:00
DrakiaXYZ
acb02ed53d Update client/server/list to use the right backend ip (!295)
Update missed property to use new IP config value

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/295
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-17 07:39:11 +00:00
Dev
0bc807a6b8 Added ability to send insurance mail after Labs raid via editing of labs `base.json/insurance property 2024-04-16 17:28:00 +01:00
Dev
f50a400cde Add missing validation checks to ammo cache generation for scav case 2024-04-16 16:05:33 +01:00
Dev
d609d4b41a Improved local request log handling 2024-04-16 15:53:54 +01:00
Dev
4e936572e5 Update filterInsuredItems() to log when insurance items are found 2024-04-16 10:57:27 +01:00
Dev
62a0731cd1 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-16 09:57:45 +01:00
Dev
82d568a428 Cleaned up findAndAddRandomPresetToLoot()
Added nullcheck for an empty presetPool parameter

Cleaned up comments where possible
Cleaned up variable names where possible
2024-04-16 09:57:19 +01:00
Brent
c2b376e697 Add missing weapons to WeaponType enum, fix assort comments (!292)
Added RSh-12 and 40mm GLs to WeaponTypes.ts
Fixed incorrect comments on assort functions

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/292
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-16 07:34:08 +00:00
chomp
1cb6859f2f Merge pull request 'Fix issue 627, limit Reshala and Sanitar keys' (!293) from Brent/Server:server_3_8_1_issue627 into 3.8.1-DEV
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/293
2024-04-16 07:17:03 +00:00
DrakiaXYZ
521cf51f0e Fix multiple server instances overwriting profiles with old data (!291)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/291
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-16 07:15:49 +00:00
Brent
5026dc13ab Fix issue 627, limit Reshala and Sanitar keys 2024-04-16 00:47:42 -04:00
Dev
e2492e9162 Update quest data 2024-04-15 15:04:22 +01:00
Dev
82003b24ff Update JSONs for 29704
MISSING:
quests
trader assorts
usec ragman clothing
2024-04-15 14:39:49 +01:00
Dev
ffbeefba6f Allow 3.8.0 mods to load into 3.8.1 with warning 2024-04-15 14:12:16 +01:00
Cj
37ec7bc9d1 Type fixes (!290)
Adds missing weapon and ammo types to enums for generated types.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/290
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-04-15 12:47:44 +00:00
Dev
5b13e1b7c0 29704 2024-04-15 11:47:49 +01:00
Dev
29ef7769ee Update akiVersion property inside core.json 2024-04-15 09:07:44 +01:00
Dev
9c81df91d1 Fixed itemDelivery() failing when trader lacks a dialogue object (incorrectly configured custom traders) 2024-04-15 09:06:11 +01:00
Dev
8cbc51d20e Revert "Merge branch '3.9.0-DEV' into 3.8.1-DEV"
This reverts commit 6121e65b4e, reversing
changes made to 10b1b2b3aa.
2024-04-15 09:00:52 +01:00
chomp
687436ab8b update 3.9.0 with 3.8.1 changes (!289)
Co-authored-by: Refringe <me@refringe.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/289
2024-04-15 07:59:33 +00:00
chomp
6121e65b4e Merge branch '3.9.0-DEV' into 3.8.1-DEV 2024-04-15 07:57:24 +00:00
Dev
10b1b2b3aa Added nullguard when req.socket.remoteAddress is null inside handleRequest() 2024-04-15 00:06:53 +01:00
Dev
ad54e7ae98 Fixed itemAllowedInContainer() failing when filter object is null 2024-04-14 19:33:44 +01:00
Dev
d31eedf92b Fixed itemAllowedInContainer() failing when the filter or excluded filter objects are null 2024-04-14 19:32:11 +01:00
Dev
0d6239ea42 Added getActiveProfileIdsWithinMinutes() to ProfileActivityService 2024-04-13 23:04:17 +01:00
Dev
33496aa5c3 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-13 12:47:12 +01:00
Dev
a9d89695f0 Added new service ProfileActivityService
Maintains a timestamp of when each profile was last active on the server.
Timestamp is refreshed on two events: `game/start and `game/keepalive`

Timestamp is used to determine if a profiles hideout should be processed. If a profile has a timestamp older than 90 minutes, it is not processed. (could be set lower but its a conservative value)
This has the side effects of not adjusting the `sptUpdateLastRunTimestamp` property, resulting in `saveProfile()` not running for every profile.

My testing shows a 20x perf increase for every profile in SPT not in use.

Service could likely be used in other scenarios to avoid doing unnecessary work
2024-04-13 12:46:43 +01: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
Dev
73a1dd9511 Split out static/dynamic magazine fill options in config
set static mag fill to 0%
2024-04-12 23:05:27 +01:00
Dev
a33325cbf5 Revert change to minFillStaticMagazinePercent 2024-04-12 22:12:26 +01: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
9dc8211268 Refactored fence partial refresh code to be more generic and shared between normal/discounted assorts 2024-04-12 11:08:32 +01:00
Dev
a5924dbe0d Fix incorrect calculation for normal fence assort count 2024-04-12 10:36:24 +01:00
Dev
1c660fcf4e Reduced magazine fill size to 0 for static loot to match live 2024-04-12 09:50:37 +01:00
Dev
61d63d9ca6 Slightly reduce mp7a1/2 weighting on PMCs 2024-04-12 09:33:17 +01:00
Dev
d60cdb6be2 Separate out address used by backend to assist with users who have locked down local machines and cannot connect to a local http server
Remove unsed ip/port property assignment on server start that wasn't used anywhere
2024-04-12 09:27:15 +01:00
Refringe
8cf8688eba
Spelling Mistake 2024-04-11 21:18:38 -04:00
Refringe
0e63ced3ac
Test - Insurance - Updates for v3.8
- Updates the tests for insuranceController methods for v3.8
- Updates the profileInsurance fixture with updated insurance packages for v3.8
- Updated the profileInsurance factory to remove outdated references as of v3.8
2024-04-11 21:18:38 -04:00
Refringe
4a0d3c3487
Test - BotGenerator - Refactored
- Made the sessionId parameter for generateBotNickname optional and marked it as deprecated, to be removed in v3.9. It wasn't being used.
- Refactored the tests for the generateBotNickname method in the BotGenerator class. Mostly to bring it inline with v3.8 changes to the structure of botGenerationDetails.
2024-04-11 21:18:37 -04:00
Refringe
b59ffd8ff2
Test - InRaidHelper
- Removes tests for missing calculateFenceStandingChangeFromKills method
- Adds a test for the resetSkillPointsEarnedDuringRaid method
2024-04-11 21:18:36 -04:00
Refringe
5aebbb9c86
Test - ItemHelper - 3.8 Refactor
- Removes unused code from getRepairableItemQualityValue in itemHelper
- Updated tests for getRepairableItemQualityValue to no longer assume a special calculation for armour
- Added tests for adoptOrphanedItems (moved from insuranceController)
2024-04-11 21:18:36 -04:00
Refringe
7d3eaf735a
Test - PaymentService - Refactored payMoney test
Refactored the payMoney test to work with 3.8. The output is no longer returned, but updated by reference.
2024-04-11 21:18:35 -04:00
Dev
fe7ef06c6c Dont force regen stims into PMC secures, may cause problems 2024-04-11 16:29:52 +01:00
Refringe
1cd4b055eb
Test - Updates ItemBaseClassService tests to inline with recent code changes 2024-04-10 23:16:04 -04:00
Refringe
c123c034cf
Test - Updates ItemHelper Tests
- Removes tests for a method that no longer exists: `generateItemsFromStackSlot`
- Updates a test to use a mock to ensure test data reliability
2024-04-10 23:13:46 -04:00
Refringe
0ec0b7a40c
Test - Updates fromRUB tests to use mocks 2024-04-10 23:10:17 -04:00
Refringe
68c2358b08
Test - Adds missing property to mock of BotGenerationDetails 2024-04-10 23:07:41 -04:00
Refringe
85aec72a63
Test - Updates the experince needed to reach level 79 2024-04-10 23:06:40 -04:00
Dev
e48362ae6e Added setting to allow/deny player wiping a profile via launcher - default true 2024-04-10 22:49:26 +01:00
Terkoiz
6f98d0c696 Fixed bad name 2024-04-10 21:38:25 +03:00
Terkoiz
341a99f883 Adjusted PMC names list 2024-04-10 21:30:50 +03:00
Dev
885205c742 Fixed fence slowly losing assorts over time 2024-04-10 18:47:51 +01:00
Refringe
3d77ed8595
Seperates ragfair pricing into seperate method
This changes the `RagfairPriceService.getDynamicOfferPriceForOffer()` method to handle the logic surrounding collecting prices for items in offers, while offloading the individual price generation to a new method. The new method, `RagfairPriceService.getDynamicItemPrice()`, is responsible for generating a price for either an item template, or optionally an offerItems collection. This change also allows `getDynamicItemPrice()` to be used elsewhere in the code-base to gather more "realistic" pricing for specific item templates.

Fixes an edge-case where unreasonable prices would only be adjusted on the first item within an offer.

Includes some tests.

Related to #618. This will allow the insurance system to use this method to get better pricing for items.
2024-04-10 12:23:28 -04:00
Refringe
834a2e3ef5 Expanded give command logic (!283)
This change was originally made in master branch, between the time v3.7.6 and v3.8.0 were released. Due to the way that v3.8.0 was merged into master, and the fact that this change was never merged into v3.8.0, it had to be cherry-picked and have some conflicts resolved. I gave it my best and I would love some help testing it before it's merged for v3.8.1.

Conflicts:
- project/package.json
- project/src/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.ts

Resolved by Refringe <me@refringe.com>

Original PR: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/182
Original Commit: 9846adc68b

Original Message:

- Added give by name
- Refactored Commando so its abstracted, that way modders can use it too! :)

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/182
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>

Co-authored-by: Alex <clodan@noreply.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/283
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-committed-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
2024-04-10 09:48:28 +00:00
Dev
8342edf55f Added 1x golden chain item limit to bloodhounds 2024-04-09 20:50:12 +01:00
Dev
30dbc85c14 Added dev balaclava to reward item blacklist 2024-04-09 12:58:26 +01:00
Dev
9cae27c37e Refactor of isAmmoAbovePenetrationLimit() to separate concerns 2024-04-09 10:39:01 +01:00
Dev
46d48c7531 Added system to filter out ammos from fence by its penetration value
Removed redundant hard-coded ammos from blacklist
2024-04-09 10:29:12 +01:00
Dev
4830d474e7 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-09 09:14:04 +01:00
Dev
c5ca346466 Limit Sanitar to 1 Keycard with a blue marking item 2024-04-09 09:13:51 +01:00
DrakiaXYZ
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: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/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
64ddca4124 Improved handling of fence assort item refresh. Duplicate stacks should be much less common
Stacked items can now be partially reduced instead of all or nothing
2024-04-08 20:01:51 +01:00
Dev
b0576a3115 Add 100 round PK box to blacklist 2024-04-08 19:51:13 +01:00
Dev
84729cc5dd Added ammo boxes to fence blacklist 2024-04-08 19:20:41 +01:00
DrakiaXYZ
8e91842d4c Resolve ItemBaseClassService cache error when iterating all items (!281)
The ItemBaseClassCache is only generated for items with a _type of 'Items', so before trying to look up an item in itemHasBaseClass, make sure the item also has a _type of 'Item'
Move `allDbItems` to a class variable since we need it for looking up the _type of the given template Id

This shouldn't require any changes to mods

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/281
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-08 17:40:04 +00:00
DrakiaXYZ
2404e7a5ab Fix issues with incorrectly configured airdrops (!280)
- Don't try to add items to the airdrop if the filtered item list is empty
- If we somehow get into `findAndAddRandomPresetToLoot` with an empty list, don't try to output the id of undefined

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/280
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-08 17:39:08 +00:00
Dev
f73802ec17 Updated USEC EoD profile to match live 2024-04-08 13:31:05 +01:00
Dev
ef2442178a Implement weights for food/drink on bots 2024-04-08 12:31:51 +01:00
Dev
6d2c17596b Updated Bear EoD profile to match live 2024-04-08 10:52:37 +01:00
Dev
afa5700076 Improved IArmorPlateWeights type 2024-04-08 08:56:05 +01:00
DrakiaXYZ
49f4eda90a Fix coop extract gifts (!279)
Add missing properties to coopExtractGifts in fence trader.json

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/279
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-07 08:02:32 +00:00
TheSparta
198c7a9720 Workaround swc parsing string as inline sourcemap 2024-04-06 22:36:23 +01:00
Leaves
3be1768672 Make sure trader has enough stock before selling (!278)
Make sure trader has enough stock before selling

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/278
Co-authored-by: Leaves <mwarciel@gmail.com>
Co-committed-by: Leaves <mwarciel@gmail.com>
2024-04-06 21:22:41 +00:00
Dev
35e48add20 Added ability to override hideout craft times via config 2024-04-06 20:25:57 +01:00
r2go
31641334aa
Issue #246 Reduce server log retention time (!186)
https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/246

Reduces log rotation frequency to 3h.

Co-authored-by: r2go <please@work.now>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/186
Co-authored-by: r2go <r2go@noreply.dev.sp-tarkov.com>
Co-committed-by: r2go <r2go@noreply.dev.sp-tarkov.com>
2024-04-06 12:06:19 -04:00
Dev
13ab57298b Add endpoint to allow getting all bot difficulty data in one call 2024-04-06 16:57:01 +01:00
Dev
dedb47eb14
Remove unused config property
(cherry picked from commit f7bf4dfa344b9d860aeb2843dbb894d0cf1eadbb)
2024-04-06 11:25:12 -04:00
Dev
7323fd0b90
29618 2024-04-06 11:25:11 -04:00
Dev
00fce2bc9d
Update bot difficulty values + add event bot stubs (clone of raiders) 2024-04-06 11:25:11 -04:00
Kaeno
1ccac4bd68
Added some more bot limits to items. added Forcestock on followerzryachiy 2024-04-06 11:25:11 -04:00
Dev
8b9e004885
Fixed winter season boundary by splitting it into 2 separate sections 2024-04-06 11:25:10 -04:00
Dev
6f640edd9f
Fixed bad comma 2024-04-06 11:25:10 -04:00
Dev
da523f2deb
Added clarifying comment 2024-04-06 11:25:09 -04:00
Dev
61dbc2b1d0
Add season handling 2024-04-06 11:25:09 -04:00
Kaeno
0a0cfa39db
Add missing enum to Season 2024-04-06 11:25:08 -04:00
Dev
41391a841d
Add WsReconnectionDelays property 2024-04-06 11:25:08 -04:00
Kaeno
b211952afa
update version from 3.8 to 3.9 2024-04-06 11:25:07 -04:00
Kaeno
275dc98fdd
Update WildSpawnTypes in server 2024-04-06 11:25:06 -04:00
Dev
6690704208
29577 2024-04-06 11:25:04 -04:00
Dev
18b28a6d0b
Remove unused /singleplayer/settings/weapon/durability endpoint 2024-04-06 11:23:57 -04: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
Dev
387e924fb4
Remove unused config property 2024-04-06 11:23:56 -04:00
Kaeno
74dd9a8859
Added some more bot limits to items. added Forcestock on followerzryachiy
(cherry picked from commit 9caf464f99b3d96e8d304aac4552850e0f5c6323)
2024-04-06 11:23:56 -04:00
TheSparta
2dfb5f63f0
Fixed bug in MailSendService.processItemsBeforeAddingToMail
- Fixed bug where some items that were at the root of sent items wouldn't have their slotIds changed to "main", which resulted in people not being able to receive them
2024-04-06 11:23:55 -04:00
Dev
d1e857a408
Fixed issue with items being purged for all bots after a single bot had reached an item limit
(cherry picked from commit f834d14928f5ad3a7d22e6f3d4251d731d203857)
2024-04-06 11:23:55 -04:00
Dev
134696c7b3
Add quest icon 2024-04-06 11:23:54 -04:00
Dev
2dd4d91438 Add extra PMC names 2024-04-01 16:02:11 +01:00
Dev
8419c0deae Update dutch / Hungarian lcoales 2024-04-01 15:55:13 +01:00
Dev
90825aa8b3 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-04-01 11:07:07 +01:00
Dev
4d5788f169 Bot weight adjustments 2024-04-01 10:57:33 +01:00
DrakiaXYZ
aabd325804 Fix daily reward budget not being honored when filtering items (!277)
Turns out `Array.filter` returns the filtered array, it doesn't modify the passed in array

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/277
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-01 08:38:23 +00:00
Dev
7ccb524eea Fixed refreshed fence assorts being generated at level 2 instead of 1 2024-03-31 16:26:52 +01:00
Dev
27aceb7de5 Fixed duplicate PMC name prefix 2024-03-31 15:43:00 +01:00
Dev
a751ae1f48 Adjusted bot loot levels 2024-03-31 14:44:16 +01:00
Dev
179ee052e4 Update flea prices 2024-03-31 13:48:03 +01:00
Dev
2af669abdc Add additional enemy types to PMC enemy pool + lint + fix capitalization of existing bots 2024-03-31 10:25:16 +01:00
Dev
3603658231 Remove extra newline 2024-03-31 10:04:15 +01:00
Dev
1f9c89c2c7 Set Killas lightIsActiveDayChancePercent to 75% 2024-03-31 09:57:00 +01:00
Dev
a861321c97 Adjusted airdropTypeWeightings to more heavily mixed drop types 2024-03-31 09:39:50 +01:00
Dev
5f74825163 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-30 22:22:39 +00:00
Dev
e1609363c1 Update server locales 2024-03-30 22:22:32 +00:00
Refringe
f9d22f409c
Style fixes 2024-03-30 14:29:08 -04:00
Refringe
740ab1e563
Lint fixes 2024-03-30 14:25:46 -04:00
Dev
c05347279b Added variable hideout update() check times when in and out of raid 2024-03-30 15:15:06 +00:00
Dev
df939c693f Fixed Fence assort generation failing when a child item that can be stacked is found, do not allow child items to be stacked. only root items 2024-03-30 15:06:12 +00:00
Dev
467927afeb Further cleanup after removal of persistPurchaseDataInProfile 2024-03-30 13:34:54 +00:00
Dev
f365f979c4 Remove redundant call to incrementAssortBuyCount() 2024-03-30 13:30:36 +00:00
Dev
5595e1d31f FURTHER cleanup of TraderHelper now persistPurchaseDataInProfile was removed 2024-03-30 13:15:28 +00:00
Dev
4e80fa6aae Cleanup of TraderHelper code now persistPurchaseDataInProfile has been removed 2024-03-30 13:11:43 +00:00
Dev
ac16385c8f Remove persistPurchaseDataInProfile from json 2024-03-30 13:00:35 +00:00
Dev
3c96a98a29 Remove persistPurchaseDataInProfile from trader config - causes too many issues when disabled
By default profiles keep track of purchased items
2024-03-30 12:59:56 +00:00
Dev
86bada6194 Fix variable name typo 2024-03-30 12:56:19 +00:00
Leaves
efb69d7148 Actually fixed so that multiple profiles no longer share trader buy limits (!276)
This fixes a bug I found that the server uses partially old logic when using the ``traderConfig.persistPurchaseDataInProfile``

Now it works fine for multiple profiles.

How to test before and after

```
start server
make dev account
buy something trade limited like ASH12 ammo. (Buy all)
make new dev account
try to buy same thing
```

Before it gave the user the error that you've already reached the limit. Even when you had bought nothing on that profile.
Now the trader properly sells you the stuff, with your own profile limit.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/276
Co-authored-by: Leaves <mwarciel@gmail.com>
Co-committed-by: Leaves <mwarciel@gmail.com>
2024-03-30 12:55:18 +00:00
Dev
4bb5e3de43 Remove redundant registerProduction() function 2024-03-30 11:33:02 +00: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
50f580858d * Removed broken requirement from Signal part 3 2024-03-29 20:54:47 +00:00
Dev
76733cc5db Lint JSONs
(cherry picked from commit 94c96c8ff2)
2024-03-29 20:20:37 +00:00
TheSparta
c3e203922e bundle-crc-cache (!274)
This PR is required by SPT-AKI/Modules!104 in order for it to function correctly.

## Overview

- Adds the package `buffer-crc32`, it can generate CRC32 hashes from buffers or strings
- Splits `HashCacheService` into 2 classes `ModHashCacheService` does exactly the same `HashCacheService` used to do, and added a new `BundleHashCacheService`
- `BundleLoader` now generates a CRC32 hash of every bundle file from every loaded mod
- Reworked `BundleInfo` to better represent the data expected by the client when requesting `/singleplayer/bundles`
- Removes all checks on `BundleLoader` that verified if the request was made to a localhost address, this is now addressed by the client.

## Testing

The code has been tested by @Senko-san and me.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/274
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-03-29 18:43:36 +00:00
Dev
26484b643c Add Spear assort 2024-03-28 18:59:12 +00:00
Dev
3acf98d803 * Quest updates:
* Signal part 3
* Trust regain
 * Make an impression
 * Trouble in the big city
 * Overseas trust part 1
2024-03-28 17:56:55 +00:00
Dev
755e7ec0f6 Remove PMC name 2024-03-28 14:33:34 +00:00
Dev
d9096d650b Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-28 14:17:50 +00:00
Dev
6309c0b419 Bot data update 2024-03-28 14:17:18 +00:00
Refringe
41ef66298e
Skip Processing Deleted Insurance Attachments
This check simply skips over rolling for insurance for attachment items that have already been deleted due to their main-parent item being previously rolled for deletion.
2024-03-28 00:29:46 -04:00
Refringe
8a20da7e08
Resolves Insurance Attachment Return Issue
This update resolves an issue that was causing items that were not in-raid moddable to be rolled for insurance. We were checking to see if the item is in-raid moddable within the context of the main-parent item (the gun), but not the immediate parent item (upper receiver). This update resolves this by checking to see if the immediate parent is set on the attachment, and if it is, checking within that context instead of the main-parent context.

Thank you to Roselyn Cristal for the report. ♥️
2024-03-28 00:26:40 -04:00
Dev
7939e39945 Improved accuracy of fuel consumption bonus calculation inside updateFuel() 2024-03-27 21:44:58 +00:00
Dev
9ddc09c10d Adjust marksman nvg properties 2024-03-26 16:01:29 +00:00
Dev
372de25443 Add missing nvg properties to assault bots 2024-03-26 16:01:09 +00:00
Dev
9e65834668 Reduce bots generated on map load to improve load time 2024-03-26 16:00:48 +00:00
Dev
4e744d3103 Add correct type to cancel-all route + improve comment accouracy of client/match/group/status 2024-03-26 15:44:11 +00:00
Dev
ed7e30bd4c Move 6398a072e301557ae24cec92 Lightkeeper intelligence from lighthouse to reserve 2024-03-26 09:38:06 +00:00
Dev
993ea78ce6 Reduce loose loot down to 75% of live values to account for only one player being on map 2024-03-26 09:35:17 +00:00
Kaeno
9e818b065a add more boss items to list 2024-03-25 18:03:58 +00:00
Dev
473b0cc2e5 Blacklist bad vodka from reward pool 2024-03-25 15:40:06 +00:00
Dev
4e923c2378 Remove redundant CounditionCounters property from new profiles 2024-03-25 14:33:17 +00:00
Dev
9fca683415 Minor comment changes + use type in place of magic string 2024-03-25 10:38:28 +00:00
Leaves
0bb7d1d350 Fix error when created multiple items with the same unique ID (!269)
Fixes issue #592
https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/592

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/269
Co-authored-by: Leaves <mwarciel@gmail.com>
Co-committed-by: Leaves <mwarciel@gmail.com>
2024-03-25 08:32:01 +00:00
DrakiaXYZ
757c4506f5 Fix loading bundles from different local folders (!270)
Return a full path to the request for getBundles if running locally

Ran into this while working on updating Gilded Key Storage, looks like bundle files are expected to live in the same local folder as the client any time the server address is `127.0.0.1` or `localhost`.

While working in VSCode for the server, and a different folder for the client, this causes issues trying to work on mods that add bundles, as the server only passes a relative path back to the client

This PR resolves that by returning the full path to bundles when running locally

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/270
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-25 08:30:41 +00:00
Kaeno
cd8d6eaecf Update Scav fence rep after using a carextract to keep profiles in sync 2024-03-25 07:28:24 +00:00
Dev
4f3fecac61 Update server locales 2024-03-24 22:41:35 +00:00
Dev
23474bfd67 Remove redundant code 2024-03-24 22:18:05 +00:00
Dev
a35ed657c2 Persist fence standing gain on quest completion into scav profile 2024-03-24 22:16:59 +00:00
Dev
eca6f4bd75 Copy adjusted fence rep value into scav profile 2024-03-24 22:08:32 +00:00
Dev
e147b90293 Update flea prices and remove 0 valued items 2024-03-24 21:56:58 +00:00
Dev
e5142c0c54 JSON updates 2024-03-24 21:44:29 +00:00
TheSparta
5694af2030 Removed dead code from BundleCallbacks 2024-03-24 17:53:04 +00:00
TheSparta
5e8fb7b303 defered addBundles after PostDBModLoader is run
- defered addBundles after PostDBModLoader is run
- removed unused injected class instances
2024-03-24 17:52:38 +00:00
Dev
fdc6be4dc7 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-24 17:17:52 +00:00
Dev
2516354451 Fixed getNewlyAccessibleQuestsWhenStartingQuest() not filtering out quests flagged for non-player side 2024-03-24 17:17:40 +00:00
Kaeno
a41bcd883e add missing boss items to item.json 2024-03-24 13:12:07 +00:00
TheSparta
9de6b19c28 export BundleInfo class 2024-03-24 00:49:53 +00:00
DrakiaXYZ
fdbbc47e59 Fix calculations for the flea min, max and avg to more accurately match live (!268)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/268
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-23 19:18:14 +00:00
Dev
d3fdb08528 Log when profiles save 2024-03-23 17:31:12 +00:00
Dev
f249d7058c Adjust calculateAmmoStackSizeThatFitsBudget() to never let the ammo reward stack go below 1 2024-03-23 11:32:10 +00:00
Dev
cdec8729aa Fixed scav case never giving unarmored rigs as a reward 2024-03-23 11:23:29 +00:00
Dev
7b557a31ad Small formatting changes 2024-03-23 10:59:08 +00:00
Dev
d52e2b0b60 Remove dupe item from array 2024-03-23 10:53:14 +00:00
Dev
a39d8b8419 Update daily reward system to use global reward item blacklist 2024-03-23 10:50:17 +00:00
Dev
ea18533591 Make use of reward item blacklist in airdrop reward code
Blacklist boss items from airdrop rewards
2024-03-23 10:44:28 +00:00
Dev
580d5b9829 Make use of item reward blacklist in scav case system 2024-03-23 10:43:08 +00:00
Dev
cf490c841e Create centralised reward blacklist 2024-03-23 10:42:43 +00:00
Kaeno
02ce8f24b8 Blacklist b-32 ammo from scav case 2024-03-23 10:14:38 +00:00
Dev
28d40d9443 Log IP of request when not a local address 2024-03-23 09:41:36 +00:00
Dev
d8562e610a Limit analgin painkillers on PMC to x2 2024-03-22 19:39:49 +00:00
Dev
3016d60730 Increase chance PMCs spawn on raid start in reserve 2024-03-22 19:28:10 +00:00
Dev
7f8a5cbb69 Added 1x wallet limit on scavs 2024-03-22 19:15:55 +00:00
Dev
8aa8ae4c4d Limit pineapple juice to 2x on followerkolontayassault and followerkolontaysecurity 2024-03-22 18:41:56 +00:00
Kaeno
8e4c9848ca Update more boss chances 2024-03-22 17:30:12 +00:00
Dev
fd5b0519e7 Scav case money reward adjustments 2024-03-22 15:44:21 +00:00
Kaeno
d5517d7fdf Remove server calculation of scav rep post raid changes. awaiting Client Calculations 2024-03-21 15:21:02 +00:00
Dev
04aad787d3 Store the fence rep diff after a raid has concluded, add endpoint to allow retreval of this value 2024-03-21 12:23:03 +00:00
Dev
efc3a35200 Limit aquamarie to 1x on each gluhar follower 2024-03-20 22:29:57 +00:00
Dev
443bc72995 Remove unnecessary code from flagItemsAsInspectedAndRewardXp as issue is now fixed at source 2024-03-20 18:02:19 +00:00
Dev
ecfd6883d0 Init scavs Encyclopedia on generation 2024-03-20 17:58:32 +00:00
Dev
ee7c2aab36 Nullguard inspecting a keycard when scav has no encyclopedia init 2024-03-20 17:47:48 +00:00
Dev
c0a1a73aba Limit AFAK on rogues to 2
Limit AFAK on raiders to 2
2024-03-20 17:39:05 +00:00
Dev
e3b31ed972 Added extra IFAKs to PMCs + replaced morphine with etg regen stims 2024-03-20 15:10:39 +00:00
Dev
2633d22de1 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-20 13:07:02 +00:00
Dev
0118a4be24 Adjusted boss spawn chance values 2024-03-20 13:06:51 +00:00
DrakiaXYZ
a29902b980 Add a new allExtracts property to locations database, and use it for daily quest generation (!266)
- Dumped from the client using an aki-debugging patch
- Contains all extracts according to the map data, with a side indicator
- Cleaned up ILocation vs ILocationData duplication

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/266
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-20 09:43:51 +00:00
Dev
4a27a0904b Limit rouble stacks to 2 on assault bots 2024-03-19 16:32:35 +00:00
Dev
a7615b26e6 make traders set initial reset time based on min max values 2024-03-19 14:58:50 +00:00
Kaeno
480683b25b Remove grizzly from PMC secured container to avoid dropping them on the ground. 2024-03-19 12:18:09 +00:00
Refringe
662575aef1
Minor Trader Refresh Time Update
Updates trader refresh/restock times based on additional data.

Skier, 5000-9000 seconds
Peacekeeper, 2000-15000 seconds
Mechanic, 6500-13049 seconds
2024-03-18 23:21:48 -04:00
Dev
28082808a8 Remove unused code 2024-03-18 21:11:00 +00:00
Dev
c879e852ed Fix watermark not displaying correctly for non-english locales 2024-03-18 21:07:47 +00:00
Dev
5d59e4c36e Fix issue with using LogTextColor.GRAY 2024-03-18 20:34:23 +00:00
Dev
dfdf1d22db Ensure fromRUB() never returns value below 1 2024-03-18 16:25:04 +00:00
Dev
b5565f3901 Perform currency conversion at end of getDynamicOfferPriceForOffer() if necessary instead of for each item in loop
linting
2024-03-18 16:23:04 +00:00
Dev
f2254b150a Add funtionality to propigate scav Charisma gains into PMC based on live testing 2024-03-18 12:56:34 +00:00
Dev
bd0cb15596 Include damage ammo boxes in prices.json 2024-03-18 11:06:39 +00:00
Dev
4c872a343f Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-18 09:59:13 +00:00
Dev
067aaae706 Handle edge case in updateFuel() where function can fail due to fuel item lacking a upd object
Lint file
2024-03-18 09:58:59 +00:00
TheSparta
d4c04fc718 Simplified autoInstallDependencies() 2024-03-18 00:06:08 +00:00
TheSparta
e73fea8776 Fixed undefined behaviour
- Would break out of the loop at the first dependency removed from `dependenciesToInstall`.
2024-03-17 23:19:56 +00:00
Dev
ecc6638a20 Enable commando give command by default 2024-03-17 22:50:44 +00:00
Dev
98a7e299ba Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-17 21:10:48 +00:00
Dev
1afe3daf32 Added additional AI PMC heads from func_brush 2024-03-17 21:10:35 +00:00
Kaeno
b46573c805 Blacklist Both Dogtags from RepeatableQuests hopefully 2024-03-17 17:54:26 +00:00
Dev
9608ac4a2c Limit food/drinks to a max of 3 in assault bot loot 2024-03-17 15:35:01 +00:00
Dev
6af4126bc8 Resolve issue with PMCs having seasonal items on their person when they shouldn't 2024-03-17 13:33:31 +00:00
Dev
1f16e96ae9 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-17 12:27:50 +00:00
Dev
2ffe44d153 Made ragfair run interval time dynamic based on players current location:
Player in raid = longer time between checks (60 secs)
Player out of raid = shorter time between checks (8 secs)

Original value was 45 secs
2024-03-17 12:27:24 +00:00
Kaeno
bbb74c72c9 Reduce the amount of inital spawns on Sandbox(Ground Zero) To help getting killed instantly 2024-03-17 09:08:52 +00:00
DrakiaXYZ
13fafa7faf Add new gift code for the EFT book purchase (!263)
Original gift required a purchase, not a code, so code "KONTOROVICH" picked due to the author's name

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/263
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-17 08:55:48 +00:00
Cj
0a935651f5 Add mod enabled text for the disclaimer window (!264)
Add another variation stating mods are enabled for the beta disclaimer window

![image](/attachments/af517b44-e613-4fd4-81fd-c2434d6478b5)

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/264
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-17 08:55:02 +00:00
DrakiaXYZ
e497ecc125 Fix flea avg and fee calculations (!265)
Properly calculate the flea average, excluding barter offers for a more live-like result
Prioritize handbook price for the /client/items/prices route to match live

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/265
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-17 08:54:34 +00:00
Dev
95f5a49c5c Update trader refresh times to use a min and max value 2024-03-16 22:12:03 +00:00
Cj
be64e897b9 Enable BSG logging (!262)
Needs merged with: https://dev.sp-tarkov.com/SPT-AKI/Modules/pulls/96

Read details there.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/262
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-16 21:03:52 +00:00
Refringe
72ddbc4192
Adds bleedingmods Build Type 2024-03-16 16:11:24 -04:00
Dev
252d009283 Prevent outdated mods from loading 2024-03-16 19:18:25 +00:00
Dev
ab2018c13f Call itemBaseClassService.hydrateItemBaseClassCache() as part of adding custom item 2024-03-16 13:11:17 +00:00
Dev
64f644c417 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-16 13:03:28 +00:00
Dev
aa7a60f409 Adjust itemHasBaseClass() to log as debug instead of warning - fixes custom item mods spamming console with messages 2024-03-16 13:01:32 +00:00
Refringe
a2d95d28fd
Stops tracking package-lock.json
The `package-lock.json` file was logging platform specific package information. This was causing builds to fail on platforms other than the platform that last generated the `package-lock.json` file.

Resolves #572
2024-03-15 23:41:25 -04:00
Dev
8984711cba Allow custom item server to add weapons to weapon shelf 2024-03-15 13:46:31 +00:00
Dev
cd830e4303 Further reduce chance of 350k rouble stack on assault bots 2024-03-15 09:48:31 +00:00
Dev
0c404cbcba Move weapon skill check into shouldBuffItem() + do similar check for armor 2024-03-14 23:08:06 +00:00
Kaeno
9bc08fbd26 Fix botcache not returning correct bot breaking halloween event. 2024-03-14 22:41:36 +00:00
Kaeno
22976d4ca3 Give RevengeZryachhi his weapon back 2024-03-14 22:16:17 +00:00
Dev
2af3ca9ff5 Fix issue with generating event bots not being cached under the correct name
Dont get bot from cache after generating it. Its popping bot off end of array only to be discarded
2024-03-14 22:14:00 +00:00
Dev
e4d81b43b6 Update flea prices 2024-03-14 15:40:26 +00:00
Dev
42704bb4cd Update PMC names 2024-03-14 15:24:47 +00:00
Dev
2bbbbb9736 Force runIntervalSeconds to never fall below 1 to stop peope breaking their server by editing config values blindly 2024-03-14 14:43:56 +00:00
Dev
42c4b6bd4d Update JSONs 2024-03-14 14:35:37 +00:00
Dev
0505903d32 Update for 29197 2024-03-14 11:23:47 +00:00
Dev
6309f47be8 Lint config files 2024-03-14 09:19:58 +00:00
Refringe
5edba7dd05 Updates NPM Packages - Node v20.11.1 LTS (!260)
Updates many of the out of date npm packages and brings us up to Node v20 LTS. :D

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/260
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-03-14 09:08:40 +00:00
Arys
1dc5db42f3 Fixed Fuel items and Water filters losing FIR status when placed into Generator/Water Collector (!261)
Ignore the other commits, I need to nuke my branch and learn to rebase properly kek

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/261
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-03-14 09:08:00 +00:00
Dev
c25be01a15 Only apply bonuses to items repaired with kit when players weapon maintenance skill is at or above level 10 2024-03-13 10:18:35 +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
d18fafad01 Limit scopes and lasers to 1 on bossBoar 2024-03-12 21:13:14 +00:00
Dev
f2c6818504 Blacklist 12.7x108mm BZT-44M from scavcase rewards 2024-03-12 21:12:37 +00:00
Dev
6ad2b8b4a3 Update PK/prapor/fence refresh time values 2024-03-12 16:27:15 +00:00
Dev
f623b1d52e Adjust trader reset times based on live testing 2024-03-12 15:45:48 +00:00
Dev
dcd70fb5b5 Allow traders to have timers be based on amount of time to next hour (bsg style) OR spt server start time 2024-03-12 14:27:07 +00:00
Cj
8397e4690b Add server mod check to cool debug message (!258)
needs merged with: https://dev.sp-tarkov.com/SPT-AKI/Modules/pulls/95

Get a bool from the server to indicate server mods being present and send to the client

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/258
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-11 22:03:14 +00:00
Dev
38b96f43b0 Update server locales 2024-03-11 10:35:32 +00:00
DrakiaXYZ
7fdb9083a5 Move isBeta to a compile time variable (!257)
Split isBeta and isModdable into two seperate variables

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/257
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-11 08:45:05 +00:00
DrakiaXYZ
15257ea263 Fix daily reward budget not using preset prices for some items (!256)
- Switch item cost calculation to use a new helper that checks for a preset first, to more accurately keep track of the budget
- Subtract weapon price from reward budget
- Decrement reward counter for skipped ammo
- Add a new helper for filtering the reward pool by budget, so it's consistent in the two places it's done
- Add a metric boatload of debug output for daily generation

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/256
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-11 00:03:41 +00:00
Dev
561c5a7ffc Remove unused injection + lint 2024-03-10 23:18:42 +00:00
Dev
e6b0dbbf8e Removed unused injection 2024-03-10 23:17:19 +00:00
Dev
da3b2944a7 Move reward code out of repeatable controller and into its own class 2024-03-10 23:15:03 +00:00
Dev
b45a091099 Prevent daily quest system choosing armor rewards to duplicate 2024-03-10 23:02:12 +00: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
Dev
ef81363ec6 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-10 12:37:57 +00:00
Dev
68d0007545 Fix german locales not working because bsg map DE to GE for some reason 2024-03-10 12:37:47 +00:00
DrakiaXYZ
1326ee9626 Remove special handling for LK Locked tasks in post-raid (!255)
Handling of time-gated LK tasks is now properly handled in the client via `InRaidQuestAvailablePatch`, so we no longer need to handle `Locked` status quests post-raid

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/255
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-09 22:45:07 +00:00
Dev
4ce4663fbe Add msising object 2024-03-09 16:57:47 +00:00
Dev
7e1a47bedc Remove unused endpoint client/match/group/create 2024-03-09 16:46:40 +00:00
Dev
5011af03ea Removed unused endpoint + related code /raid/profile/list 2024-03-09 16:38:43 +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
5343f8982c Add IDEA rig to rig slots on PMCs 2024-03-09 11:49:20 +00:00
DrakiaXYZ
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: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/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
75a8007842 Fix issue with PMC name causing formatting issues inside of client + lint 2024-03-09 08:44:40 +00:00
qe201020335
c17ab30d4d Add --arch and --platform options to NPM build commands to support cross-compiling (!247)
A previous commit 03ae37ec2f hardcoded windows x64 into the build options for build automation. This change restores the ability to build the server using the builder's architecture and platform to the default behavior and adds support for cross-compling via optional parameters `--arch` and `--platform`.

The option can be used by `npm run build:release -- --arch=x64 --platform=win32`.
Note the `--` in the middle is to tell npm whatever comes next, is for the script, not npm.

Additionally, the copy pnpm executables step has been changed to download pnpm release for the correct platform directly from the npm registry.

Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/247
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-03-08 18:11:04 +00:00
Dev
5ea7d7b97d Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-08 12:05:56 +00:00
Dev
92c5dc7f6b Reworked how items are chosen to be force-stacked
Fixes medical items not stacking correctly when there was multiple of the same item with different resource values

Added additional item types to be force-stacked
Added backpack item limit
Sligfhtly reduce item limit to account for items now stacking
2024-03-08 12:05:43 +00:00
DrakiaXYZ
56c0007caf Fix scav case timer not taking crafting skill into account (!252)
The assembly calculation for scav case timer first applies the player's crafting skill reduction, then multiplies by the resulting time by the Fence modifier:

```
return base.ReductionCoefficient * this.fenceTraderInfo_0.FenceLoyalty.ScavCaseTimeModifier;
```

This change makes the server calculation match this expected value

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/252
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-08 09:00:06 +00:00
DrakiaXYZ
77bc22f27e Fix being returned to the main menu when inventory full (!251)
- Add a new method of sending errors back but not flagging the response as failed in ItemEventCallback
- Don't treat `NOTENOUGHSPACE` errors as critical errors
- Return proper `NOTENOUGHSPACE` error code for stash space issues for trader/flea/craft
- Add missing error codes to `BackendErrorCodes`

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/251
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-08 08:59:14 +00:00
Cj
d4ee8f64d4 Implement IRelease interface, add new route action and data to core.json (!249)
This will need merged with: https://dev.sp-tarkov.com/SPT-AKI/Modules/pulls/90

Added
- IRelease interface
- betaDisclaimer: Beta text to be shown in the client
- betaDisclaimerTimeoutDelay: delay before the client exits if `OK` isnt pressed
- releaseSummary: a place to add release notes shown on first run, or if version has changed.

- new route for the client to request beta and changelog information

Im not the most familiar with the server, so if any of this needs moved to a different class or a new class made for it, ping me and let me know and I'll adjust it accordingly.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/249
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-07 18:16:55 +00:00
Dev
b79fc89d11 Filter out seasonal items from scavcase rewards when not inside seasonal event 2024-03-07 18:15:42 +00:00
Dev
f439f5888b Fix warning being logged constantly 2024-03-07 13:44:43 +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
DrakiaXYZ
246f0d5030 Fix give command not working on armor presets and not marking presets as FiR (!250)
- Commando `give` command now handles all presets in the same way, so if BSG adds new types of presets in the future they should be supported without changes
- Commando `give` command now marks all given items as FiR for consistency

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/250
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-03-07 08:43:15 +00:00
Dev
c0ae34052b Made basic melee weapons more common on low level PMCs 2024-03-06 21:49:38 +00:00
Dev
9b07a11a1b Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-03-06 21:38:12 +00:00
Dev
5e3d7e457d Add additional item types to fence always-stack array
Adjust code to filter out all wearable equipment that has slots
Add +1 to items that are always-stackable - ensures items that have no key in `itemStackSizeOverrideMinMax` get incremented
2024-03-06 21:38:00 +00:00
Cj
2249337a02 Small optimization (!248)
Change `foreach` to use `for of` instead, `for of` is faster than `foreach`

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/248
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-06 19:50:45 +00:00
Dev
96bace1288 Remove unused property from interface 2024-03-06 18:38:43 +00:00
Cj
4da70b80d3 Implement keeping pocket items on death to LostOnDeath.json configuration (!246)
Addresses: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/443

Re-added the ability to keep pocket items on death. The reason for the naming is to not confuse the root `Pockets` item. Where as `PocketItems` is a better descriptive fit for the behaviour.

New property in lostondeath.json -> `equipment.PocketItems` default `true` to discard items in pockets as normal on death.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/246
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-06 08:50:04 +00:00
Refringe
03ae37ec2f
Hardcoded Build Platform and Architecture
When the server was being built on systems other than Windows, that system's version of node was being downloaded for the build instead of the expected versions (Win/x64). This change hardcodes the values so that they're no longer dynamically pulled from the current system. Should help with generating automated builds.

Also, re-enabled the build step that added the icon to the Windows executable. It was being skipped over on non-Windows platforms and I don't know why... it should be a cross-platform solution.
2024-03-05 17:04:26 -05:00
Dev
570a81ff78 Show commit hash on debug and release versions 2024-03-05 20:23:10 +00:00
Dev
3846363758 Added system to weight stack size of money in bot inventories
Removed `dynamicLoot` system from pmc config as its been replaced with this one

#546
2024-03-05 12:24:09 +00:00
Dev
095fcf08fd Expand fence item force stacking system
Remove redundant multi-stack tracking system
Expand `getSingleItemStackCount()` to check for parent ids too
2024-03-05 10:43:47 +00:00
Dev
8f4df131ac Make use of itemHelper.isOfBaseclasses() inside duplicate fence offer check
Can now handle items that have a blacklisted grandparent
2024-03-05 08:52:21 +00:00
Cj
0740a84f6f [Enhancement] Ability to prevent duplicate fence offers by parentId (!245)
In relation to this QoL issue: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/547

This PR allows us to prevent fence selling duplicate items by parentId.

It adds a new property to `trader.json` `fence.preventDuplicateOffersOfCategory` its an array that takes parentIds. The scope of this PR only extends to ammo and ammo boxes. It can be expanded upon in the future with no code changes should the need arise.

The reason for this change is because currently fence can have duplicate stacks of identical ammo with different prices, which makes no sense. If you have any questions feel free to ping me on discord.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/245
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-05 08:49:10 +00:00
Dev
e3f341416d Add missing property to default profile templates 2024-03-04 21:39:10 +00:00
Dev
f0c589ff8e Update trader assorts 2024-03-04 21:27:25 +00:00
Dev
7a6422932b Update achievement json 2024-03-04 21:17:43 +00:00
Dev
5406bf0f07 Update quests data
Capturing outposts has a condition change, can now be done in zone "prapor_27_3" only, not 4
Missing informant had its available for finish conditions altered + has a new visibility condition
2024-03-04 21:15:28 +00:00
Dev
0c206385f1 Add missing nvgIsActiveChanceX values for cursed assault bots 2024-03-04 20:48:15 +00:00
Dev
63d5da4c18 Wallet loot improvements:
Added % chance to have loot to config
Added currency added weigfht system to config (only roubles by default)
Added allowed wallet types array to config
Added WZ wallet to pool of wallets to add money to

Fixed bug where itemCount type was incorrect
2024-03-04 20:18:53 +00:00
Cj
534e9d2ba1 [Enhancement] Custom flea category blacklist (!244)
Allows modders to blacklist entire categories from ragfair in relation to https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/525

new properties under `RagfairConfig.dynamic.blacklist`
`enableCustomItemCategoryList` - this enables the custom custom category blacklist
`customItemCategoryList` - this is an array to take a list of parent id's

I tested it to confirm its working, will need some further testing.

Co-authored-by: Corey <dirtbikercj@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/244
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-04 19:36:31 +00:00
Cj
c7a577d903 Use globals ratingSumForIncrease value (!243)
Corrects previous pull request hardcoding the value for `ratingSumForIncrease`.

Anytime it changes in globals it will now be reflected without needing to change it in `RagFairOfferHelper`

Co-authored-by: Corey <dirtbikercj@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/243
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-04 18:06:10 +00:00
Dev
45687b982a Add empty ravangezryachiyevent object to item limits in config 2024-03-04 18:03:30 +00:00
Cj
9bd9ad30c0 Divide ratingInceaseCount by 100000 (!242)
Should address massive flea rep gains. Tested about 10 cases, all seem within expected range.

Divided ratingIncreaseCount by a factor of 100000

Co-authored-by: Corey <dirtbikercj@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/242
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-04 17:16:34 +00:00
Dev
a5de871c92 Added seasonal item handling inside daily quest reward generation code 2024-03-04 17:13:36 +00:00
Dev
52ebdf7483 Adjust various scav item type weights 2024-03-04 12:43:34 +00:00
Dev
85ac332beb Add gp-7 mask to PMCs 2024-03-03 11:28:02 +00:00
Dev
b1dad6d76f Adjust facecover chance for PMCs at level 23+ 2024-03-03 11:22:44 +00:00
chomp
9a28e86261 Fix incorrect trader messages being sent when dealing with insurance on labs (!241)
Co-authored-by: HiddenCirno <hiddencirno@noreply.dev.sp-tarkov.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/241
2024-03-03 11:06:33 +00:00
Dev
d828e9da7d Revert change made to increaseProfileRagfairRating() 2024-03-02 20:12:40 +00:00
Dev
2e572ecf28 Add package-lock.json to repo 2024-03-02 19:42:49 +00:00
Dev
09d28440c9 Limit Gingy keychain to 1 per assault/marksman bot 2024-03-02 19:07:06 +00:00
Dev
b618381b74 Adjusted low level bot equipment weights
Added 2 backpacks to PMCs
Added 1 helmet to PMCs
2024-03-02 16:25:33 +00:00
Dev
f43504a097 Adjust scav drug chances 2024-03-02 14:17:44 +00:00
Dev
ae3b8e07bd Reduce carExtractBaseStandingGain to 0.2 2024-03-01 16:52:11 +00:00
Dev
7e3dc9156a Update englsih locale 2024-03-01 16:48:19 +00:00
Dev
a09e3e267b Update loot data for Backup hideout key 2024-03-01 16:31:59 +00:00
Dev
767063d291 Adjust water_collector total craft time every update() to include the players current CRAFTINGskill level instead of the first time profile is created
Refactored `registerProduction()` to also use this code

Fix code that was getting value to 4dp, not 3dp
Skip doing work in `getHideoutManagementConsumptionBonus()` if hideoutMgmt skill is 0
2024-02-29 16:24:47 +00:00
Dev
cfee4c10db Added additional soft insert slots to getSoftInsertSlotIds()
Fixes ronin face shield missing soft inserts
2024-02-29 12:24:32 +00:00
Dev
002279c787 Changed flea rep gain code to use globals data instead of ragfair json 2024-02-29 12:19:43 +00:00
Dev
c64e5f7239 Correct comment now power has changed 2024-02-28 22:34:07 +00:00
Dev
eee10407e8 Further changes to sell curve 2024-02-28 22:31:15 +00:00
Dev
5cbc4b7014 Improve sell chance % of player offers that are close to the average price 2024-02-28 22:24:58 +00:00
Dev
874463509a Remove unused base value from ragfair config 2024-02-28 21:37:42 +00:00
Dev
69bf8939d5 Add Optional chaining to registerProduction() to fix null error relating to crafts without tools 2024-02-28 20:33:10 +00:00
Dev
93411b8ce4 Adjust Caliber762x51 ammo for PMCs level 1-14 15-22 2024-02-28 19:03:48 +00:00
Dev
854670d4d5 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-28 18:34:37 +00:00
Dev
3a301b02cc Handle when pscav kills a bot that doesnt have a json, default to 0 rep loss 2024-02-28 18:34:25 +00:00
DrakiaXYZ
4b8b62ae83 Utilize the release callback returned by lockFileSync to release the lock file (!239)
The error people are getting about a lock file already existing is due to `checkFileSync` returning false if the lock file is "stale".
The default "stale" timeout is 10 seconds, so if a save takes longer than this, the user will end up in a state where they can no longer save.

The documentation for `proper-lockfile` recommends using the callback returned by `lockFileSync` to remove the lock file, so I've switched to using this, and the error no longer occurs with long running save operations

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/239
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-28 07:56:53 +00:00
DrakiaXYZ
0433308fa8 Fix tools not coming back with the right properties after crafting (!238)
This resolves an issue where FiR tools were coming back as non-FiR. We now just store the whole .upd property, so any stats on the tool should carry over to after the craft is finished

Note: Will break any in-progress crafts that use tools

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/238
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-28 07:55:39 +00:00
phrisk
42782589e0 Return after returning player offers to avoid redundant remove offer following (!237)
#### Summary

> Should fix [Issue 523](https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/523)

Tested a few different scenarios and the items were always correctly removed and returned to the player, however I did see the console warnings reported in the issue.

Both of the following call `this.ragfairOfferHandler.removeOffer(...)`:

 - `this.returnPlayerOffer(...)`
 - `this.removeOfferById(...)`

The latter logs a warning to the console because the offer is already removed when we reach that point.

This fix simply returns after the offer has been returned to the player, letting `returnPlayerOffer` deal with removing from the flea

Co-authored-by: phrisk <phrisk@phrisk.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/237
Co-authored-by: phrisk <phrisk@noreply.dev.sp-tarkov.com>
Co-committed-by: phrisk <phrisk@noreply.dev.sp-tarkov.com>
2024-02-27 23:45:47 +00:00
Dev
a1a5aa356a Add missing medical filter on backpack loot cache builder
remove hard coded 2 stim limit from assault
2024-02-27 23:44:23 +00:00
Dev
6ca9b23134 28965 2024-02-27 18:57:52 +00:00
Dev
bf317b6c2f updated setFindInRaidStatusForItem() to be protected + added return type
Improve comments inside `InventoryHelper`
2024-02-27 12:12:46 +00:00
Dev
3bc9833e57 Update getPlayerStashSize() to take into account bonus STASH_ROWS 2024-02-27 12:02:03 +00:00
Dev
32bca62272 Set place of fame hideout area to level 3 on dev profile 2024-02-27 11:34:44 +00:00
Dev
12afb8fccf Update map statics with new patch data 2024-02-27 10:50:43 +00:00
Dev
08f054bb53 Limit followerBully to 2 Drink items max 2024-02-27 10:49:34 +00:00
Dev
84616958c9 Limit Assault to 4 Medical items max 2024-02-27 10:03:03 +00:00
Dev
f53c637116 Limit followerkojaniy drink count to 2 max 2024-02-27 10:00:14 +00:00
Kaeno
afc8cc0385 Add ETSREWARD to gifts 2024-02-27 00:05:30 +00:00
Dev
7ec5d89608 Add ability to insert stash rows to profile 2024-02-26 23:51:45 +00:00
Dev
bde364388f Allow enabling snow in raid via SPT friend 2024-02-26 19:35:18 +00:00
Dev
51e1f7734e Add missing standing logging inside getFenceStandingChangeForKillAsScav() 2024-02-26 19:15:26 +00:00
Dev
47882e59d6 only show Found x insurance packages in profile in console, not log file 2024-02-26 18:24:45 +00:00
Dev
2bb85c8391 Adjust various weapons on PMCs between level 1-14 and 15-22 2024-02-26 17:45:55 +00:00
Dev
44e8378819 Properly match changes between usec/bear + adjust reserve map 2024-02-26 17:13:33 +00:00
Dev
f601f9e993 Various pmc changes:
Removed cursedassult brain
Lowered friendly PMC chance to 10%
Adjust streets/gz/shoreline brain weights
2024-02-26 17:06:52 +00:00
Dev
5ec38dae4f Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-26 17:02:46 +00:00
Dev
74297fa503 Adjust bot ammo weights for bots of level 1-14 and 15-22 2024-02-26 16:55:05 +00:00
Kaeno
3c113ddf7f Fixed ammobox breaking client + profile due to ragfair refresh adding extra ammo to ammo boxes 2024-02-26 16:32:56 +00:00
Dev
3c0471b288 Add ammo weights for PMCs between levels 15-22 2024-02-26 16:18:00 +00:00
Dev
9965c6cfe2 manually fix S&S Precision PlateFrame plate carrier (Goons Edition) getting new side plate slots 2024-02-26 12:32:21 +00:00
Dev
7c32bcbb9a Update JSONs 2024-02-26 12:28:29 +00:00
Dev
c7bbb97499 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-26 11:27:00 +00:00
Dev
4e073baaca 28875 2024-02-26 11:26:50 +00:00
DrakiaXYZ
1deb6d9488 Add trader service requirement support & LKS Service requirements (!235)
Add LightKeeper trader service requirements

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/235
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-25 20:18:54 +00:00
Dev
40b31e1fe0 improved initialize() inside PresetController 2024-02-25 11:54:13 +00:00
Dev
a5450c6552 Moved addItemWithChildrenToEquipmentSlot() from BotWeaponGeneratorHelper to botGeneratorHelper 2024-02-25 11:45:34 +00:00
Dev
5f8b0592cc Updated foldItem() to use a .find() call instead of looping over all inventory items 2024-02-25 11:43:49 +00:00
Dev
2839ce8c77 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-25 11:18:01 +00:00
Dev
1dda9efbd7 Move ExhaustableArray into its own file + make it implement interface 2024-02-25 11:17:33 +00:00
DrakiaXYZ
2adbb6a5fe Properly take and return tools when crafting (!234)
When starting a craft, tools are now taken, and the templateId is stored in the production in the user profile
When finishing a craft, space for both the tools and crafted item is verified, then both are added to the player stash correctly flagged as non-FiR and FiR respectively

Included a bit of code cleanup/reorg in areas I was working in

A few assumptions were made:
- Tools are expected to be single items, not stacks of an item (productions.json doesn't include a count property for tools, so this seems safe)
- Tools will never be a preset or have child items
- That the `canPlaceItemsInInventory` method over a concatenation of the tools and crafted item(s) will result in the same result as calling it individually over the two collections of items individually

Will need tested once merged into 380, I did basic testing, but there's a lot of different crafts that require tools

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/234
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-25 08:53:57 +00:00
DrakiaXYZ
19013a478f If a preset has a different _id property than its object key, output an error and skip it. (!233)
This resolves an issue where a mod with bad preset data is able to break loot generation

Can be tested by changing the "\_id" property of an item preset in globals.json, and seeing the error output to the console.

A better solution for the future may be to deprecate the "\_id" property entirely, and use just the object key, however that would have more far reaching changes compared to this simple fix

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/233
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-24 23:26:27 +00:00
Dev
946dc52f1a Add Stim limit of 2 to assault bots 2024-02-23 16:37:56 +00:00
Dev
b5cde813a3 Cleanup of date calculation code 2024-02-23 16:10:18 +00:00
Dev
386aeee9d7 Updated server to match raid times with live 2024-02-23 16:05:30 +00:00
Dev
68e73e4d86 Update arenafighterevent.json and arenafighter.json loot to have weights (copied from raiders) 2024-02-23 11:16:48 +00:00
Dev
6d84dbb2d4 Commnent improvement 2024-02-22 21:51:44 +00:00
Dev
104fd03b39 FIxed infinite loop when only one item exists in pool and bot has maxed out number of that item already 2024-02-22 21:48:57 +00:00
Dev
fbfdeea9c1 Add army bandage to item limit for PMCs 2024-02-22 20:14:53 +00:00
Dev
5e496af804 Move itemLimit code to be across all bot containers instead of per
Remove a tpl from loot pool once an item limit has been reached - prevents it being picked over and over
Remove loot data from pmc jsons as its generated dynamically, adding data into jsons now acts as an override for the dynamic generation
Reduced rouble max count to 1 for PMCs

Split PMC loot caches by side (usec/bear)
2024-02-22 16:34:15 +00:00
Dev
cdb55ef7d5 Weight PMC look by price, higher price = smaller weight 2024-02-22 14:02:32 +00:00
Dev
ded7142774 Comment improvement 2024-02-22 13:55:57 +00:00
Dev
a26ff26a4a Add code to add items to a wallets flee slot if available 2024-02-22 13:52:59 +00:00
Dev
c7f1570c8f Update base.json to better match live 2024-02-22 09:25:55 +00:00
Dev
6cf90ba3bc Remove various armor inserts from bot loot 2024-02-22 00:39:24 +00:00
Dev
b2a588da39 Add Rusted bloody key as additional item on pscavs 2024-02-21 18:46:56 +00:00
Dev
25a4e64e9a Invert Currency check 2024-02-21 18:37:24 +00:00
Dev
9525953444 Add code to insert roubes into wallets on bots 2024-02-21 18:36:45 +00:00
Dev
cc0f543bdf Rewrote how bot loot is stored + chosen during bot gen
All loot is now weighted - weights come from offline-live bot dumps

Removed `lootNValue` - loot is no longer picked by its value
Regenerated bot loot files - i saw some additional weapons get added to scavs
2024-02-21 17:36:27 +00:00
Dev
6cda845f1f Handle when foldItem() tries to modify an item without a upd object 2024-02-20 14:17:04 +00:00
Dev
867b1ea50f Add COMB_MUZZLE_DEVICE to BaseClasses enum 2024-02-20 13:12:30 +00:00
Dev
2e8cb81016 Format draw() 2024-02-20 09:12:16 +00:00
Dev
0bf2cf38fe Add logging to drawAmmoTpl to help with finding mod errors 2024-02-20 09:07:48 +00:00
Dev
fd45ae6695 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-19 16:58:19 +00:00
Dev
472ab0eabd Add keys to fence
Reduce key listing cap to 15k
lower key price the less uses it has
Increase current durability cap of armor to 50% from 1%
Reduce jewlery cap to 40k from 50k (removes gp coins and golden necklace)
2024-02-19 16:58:07 +00:00
Kaeno
f5c0b709b6 Add LUNARNEWYEAR2024 to gifts + linting 2024-02-19 14:36:57 +00:00
Kaeno
3b1f33def3 Added PMC names from helpful bug reports 2024-02-19 14:06:05 +00:00
Dev
5917fbce38 When generating a bots appearance check if it has a body/hand mapping in globals and use that if isNotRandom is set 2024-02-19 11:55:24 +00:00
Dev
68a78d8bdd Add extra types to BaseClasses and fix typo 2024-02-18 21:10:41 +00:00
Dev
7406ee389e Improve emulation of fence item prices
Specifically medical items with < 100% usages remaining
2024-02-18 20:20:24 +00:00
Dev
75584633c3 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-18 17:18:15 +00:00
Dev
0c501e676c Fix comma 2024-02-18 17:18:02 +00:00
DrakiaXYZ
886d99bb71 Fix achievement progress being wiped after doing a scav run (!232)
There is no need to copy all achievement counters from scav to PMC, we only need to copy the achievement counters where the achievement side is "Savage"

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/232
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-18 16:32:46 +00:00
Dev
c83f263173 Updated Spotter + Provocation + Following the Bread Crumbs quests 2024-02-18 09:20:28 +00:00
Dev
7b26f5deeb Add PMC names 2024-02-18 09:13:38 +00:00
DrakiaXYZ
97994fc0a6 Handle IsAlwaysSpawn in the same way we handle spawnpointsForced to allow single spawn restrictions (!231)
Also move the relaxation key single spawn limit to Streets instead of shoreline

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/231
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-18 09:03:37 +00:00
Dev
2e245d98ff Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-17 21:56:23 +00:00
Dev
5386ca8d5a Small improvements to updateFuel() 2024-02-17 21:55:43 +00:00
DrakiaXYZ
b84531bb27 Fix the "Unable to transfer stack" exception on scav post-raid screen (!230)
Switched `transferItem` to use the `getOwnerInventoryItems` method, so that it properly handles transfer events on the scav inventory

Bit of cleanup and consistency changes made to the `transferItem` method

Testing instructions in issue: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/483

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/230
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-17 20:53:47 +00:00
DrakiaXYZ
8853ff9aad Remove maps the player can't access due to PMC level from the list of possible daily locations (!229)
This change should handle any map having its level range changed.

With base data, no changes should occur, because GZ currently lists level 0-100 as its level range. You can however change GZ's base.json to limit it to level 20 for testing

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/229
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-17 10:48:52 +00:00
DrakiaXYZ
91c154daa8 Fix some armor not showing up on the flea when Operational filter is enabled (!228)
Some plate carriers have no required plates, and thus were failing the functional check. I've changed it to check for an item count greater than the required plate count (Since `items` also contains the carrier itself).

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/228
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-17 10:48:22 +00:00
Dev
64810f7216 Fixed completing a quest not failing linked quests properly 2024-02-17 10:46:38 +00:00
Dev
e9ad1c50a0 Fixed quest completion check not working for quests that have string values inside its AvailableForStart status array 2024-02-17 10:13:19 +00:00
Dev
cc061b5381 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-17 09:36:55 +00:00
Dev
431348cc2e Added Relaxation room key quest item to single spawn array 2024-02-17 09:35:46 +00:00
Kaeno
fbbc410182 fix not being able to sell keys that are unlimited and have uses. Thanks drakia 2024-02-16 21:18:06 +00:00
Dev
edd5f0bbb4 Log skills gained when repairing armor using kits 2024-02-16 20:02:00 +00:00
Dev
bf664d8bd1 Adjust boss armor duabiltiy values to better match live 2024-02-16 19:16:59 +00:00
Dev
b76f0a51e5 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-16 17:12:29 +00:00
Dev
cf7f42ede5 Slightly boost backpack chance for PScavs 2024-02-16 17:10:16 +00:00
Kaeno
4d3dc0e214 Add waves to ZoneSmuglers so quest like no swiping can be completed 2024-02-16 16:29:28 +00:00
Kaeno
9d96f97b55 Add maxPatrolValue route for module to pull data from. Added sandboxMaxPatrolvalue to location.json. linting on location.json 2024-02-16 16:17:55 +00:00
Dev
f5cfadbe4d Add sandbox to gifterSettings + increase generate chance of gifter on all maps 2024-02-16 15:34:28 +00:00
Dev
bb10151bda Add Santas's bag to christmas event items array 2024-02-16 15:30:56 +00:00
Dev
87229cc58d Make killing a traitor scav give positive fence rep 2024-02-16 15:11:09 +00:00
Dev
dbb4773622 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-16 15:06:11 +00:00
Dev
3c8cc480f2 Incrase chance of 2 mags on 0 rep pscav 2024-02-16 15:02:52 +00:00
Kaeno
ab86830a1a Update Wildspawntypes Enums to match client 2024-02-16 14:40:52 +00:00
Dev
8be821cec0 Clear bot cache of data prior to generating bots for first time 2024-02-16 14:40:14 +00:00
Dev
21caeed3db Improve fence multi-stack assort handling 2024-02-16 13:41:16 +00:00
Kaeno
cfe321cf4b Change durability calculation to match live better 2024-02-16 12:56:39 +00:00
Dev
b27745e7e2 Adjust price multipler to better match live values 2024-02-16 12:41:01 +00:00
Dev
b4ad0070af Disable regenerateAssortsOnRefresh 2024-02-16 12:24:02 +00:00
qe201020335
a7ae3c3c67 Fix ProbabilityObjectArray.draw returning undefined when the pool is initially empty (!227)
It now returns an empty array if the pool is initially empty.

This function does not guarantee the number of elements returned because it will break out the loop early if the pool is exhausted.

Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/227
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-02-16 10:12:15 +00:00
Dev
7bc867a8f7 Replace labsAccessCardChancePercent with lootItemsToAddChancePercent inside playerscav.json
Fixed scav generation on profile generation always using fence rep 0

Added small % chance to add red flare to pscav
2024-02-16 09:59:43 +00:00
Dev
2965709535 Fix ammo packs not showing on fence 2024-02-15 23:34:04 +00:00
Dev
d352f678b3 Removed debug logging 2024-02-15 23:14:53 +00:00
Dev
d5627e0627 Rewrote fence itemTypeLimits and itemCategoryRoublePriceLimit
Fixed bug where item limit was off by one
2024-02-15 23:14:31 +00:00
qe201020335
a1d82af41f Fix dynamic loot generation not respecting spawn point's IsAlwaysSpawn field (!226)
A similar field can also be seen in static container generation which the value is respected

Also Limited the amount of random draws to avoid going over the `desiredSpawnpointCount`
- Consider a potential mod that changes every spawn point's `IsAlwaysSpawn` to true, then there is absolute no point for the generator to draw them again and only to have them removed during dedupe

Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/226
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-02-15 09:09:35 +00:00
DrakiaXYZ
d77c930396 Fix bitcoin desync between client/server while offline (!225)
The server expects that the total "Progress" when a bitcoin is complete to be the "ProductionTime" value (145000 by default). However the server was using a modified target value, while only adding the actual time change to the Progress.
This results in a drift over time between the client/server while the server is stopped, as the client gets an incorrect value on startup.

If we instead scale the addition to Progress based on the adjusted craft time, and target the base productionTime for completion, we can get a much more accurate progress while offline that matches the client

I used the profile from this ticket for testing: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/496

The user has both an upgrade and bitcoin going at the same time, so they should progress at the same rate. This is what the code was previously resulting in:
![image](/attachments/fe428a3b-d271-40e1-a3f6-08ef936224b6)

While the server was shut down for 50 minutes (As noted by the upgrade), only 36 minutes was deducted from the bitcoin craft.

This is the result of that same profile after these changes were made:
![image](/attachments/d2ce44e6-1a0e-4991-aa51-3eb340c22ca5)

You can see that ~2 hours 25 minutes was deducted from both the upgrade, as well as the bitcoin craft timer. There is still a slight discrepancy, but in a total bitcoin run it should be minimal

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/225
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-15 08:57:26 +00:00
Dev
0cd6622714 Update reward data for: Whats on the flash drive 2024-02-14 16:42:03 +00:00
Kaeno
c8b2d184d3 Remove unnecessary edits of spawnpoints for Lab Keycards as Map dumps now include them 2024-02-14 15:24:49 +00:00
Dev
f449a51f6a Further output object changes 2024-02-14 15:11:19 +00:00
Dev
99df88ec24 Clean up passing IItemEventRouterResponse around and then returning it in same function 2024-02-14 14:59:43 +00:00
Dev
b294766304 Only pass sessionId into createPlayerOffer() instead of full profile 2024-02-14 14:12:53 +00:00
Dev
8ad8193194 Improve comments 2024-02-14 14:11:54 +00:00
Dev
bafb3e4569 Remove unnecessary pre SPT 3.6.x null check 2024-02-14 14:04:30 +00:00
Dev
22d158f8a4 Remove second call to this.saveServer.getProfiles() + only run offer processing for profiles that have the necessary level to create flea offers 2024-02-14 14:01:27 +00:00
Dev
991ee312bd Remove redundant call to get pmc profile when we already have full profile 2024-02-14 13:52:44 +00:00
Dev
882d1b6ee5 FIx equipment preset flea seach not showing any offers 2024-02-14 11:58:17 +00:00
Dev
68f2bb8495 Remove debug item from PMCs 2024-02-14 11:12:46 +00:00
Dev
d5217928c2 Add 40% chance armors with plates do not have them whem listed on flea - mimics live behaviour 2024-02-14 11:12:20 +00:00
Dev
9403ff796e Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-13 16:32:01 +00:00
Dev
9c2ee34d6f When inspecting item, save result to scav and pmc profile 2024-02-13 16:16:36 +00:00
DrakiaXYZ
dd05fe743f Fix double quotes in container tags (!222)
As far as I can tell, there's no need to strip backslashes, as they should only exist to escape other characters (Double quotes, for example). Stripping them will more often than not result in invalid JSON

NOTE: Due to the loss of git history, I'm unable to see _why_ exactly this replacement was done in the first place. There may be some valid reason I'm not thinking of. If this is the case, I can look at other solutions

Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/488
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/222
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-13 15:55:11 +00:00
Dev
7975ebafda Pass full profiles into mergePmcAndScavEncyclopedias 2024-02-13 13:07:26 +00:00
Dev
2e3f624131 Update PMC encyclopedia post-raid
Update scav encyclopedia during generation to be pmc encyclopedia

Remove redundant return statements from function
2024-02-13 12:20:30 +00:00
Dev
1c63d85649 merge encyclopedia dicts together post-raid 2024-02-13 12:10:17 +00:00
Dev
5f4dd8bb65 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-13 09:05:49 +00:00
Dev
94a9f6e1a9 map loot update 2024-02-13 09:03:53 +00:00
DrakiaXYZ
bf60fb7ea9 Fix flea armor not having proper random durability (!223)
Clone flea items prior to passing them off to the createSingleOfferForItem method

This change results in more armor on the flea having 100% durability, and less having identical non-max durability values

Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/447

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/223
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-13 08:34:55 +00:00
Dev
136117a552 Reduce playerScavHostileChancePercent to 15% 2024-02-13 00:03:53 +00:00
Dev
e396426c7f Reduce preset multiplier down to 1.3 2024-02-13 00:02:30 +00:00
Dev
69870d191e improve preset price multipler calculation - reducces preset prices overall 2024-02-12 23:59:02 +00:00
Dev
6709300e93 Update moveItem() to better handle when the item being moved has no slotId 2024-02-12 23:14:04 +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
8dd38d633e update bot difficulty 2024-02-12 20:11:07 +00:00
Dev
278d91f84f End snow on same say as live, rip snow 2024-02-12 18:46:08 +00:00
Dev
0fb0d0bd60 Cache bots sent to client to spawn in raid, cleared post-raid 2024-02-12 17:11:23 +00:00
Dev
456220767e Do not reduce scav rep after killing a traitor scav 2024-02-12 17:08:21 +00:00
Dev
5dacc1419e Do not count price of soft inserts towards armor prices when listed on flea 2024-02-12 16:39:20 +00:00
Dev
7b1fd03f1d Delete amulet from inventory when charges is 0 or below 2024-02-12 16:00:25 +00:00
Dev
ae1bc9ad3a Nullguard against items without a slotid 2024-02-12 15:33:16 +00:00
Dev
d7e37b0218 make ICultistAmulet optional 2024-02-12 15:15:20 +00:00
Dev
430437974c Add comment 2024-02-12 15:10:45 +00:00
Dev
77baeeee42 Decrement cultist amulet uses after each raid by one 2024-02-12 15:08:08 +00:00
Dev
e9af6e3868 Update JSON + add new properties 2024-02-12 15:06:51 +00:00
Dev
86a54dd566 Update version string for 28744 2024-02-12 11:33:51 +00:00
Dev
e43b7d7058 Update flea prices 2024-02-12 09:37:31 +00:00
Dev
8fe30f6fd7 Remove TerraGroup Labs access keycard from Shturmans backpack as its already inside SpecialLoot 2024-02-12 09:34:53 +00:00
Dev
fdcecdd942 Remove Shturman's stash key from Shturmans pocket as its already inside SpecialLoot 2024-02-12 09:33:52 +00:00
DrakiaXYZ
28b0a55732 Fix/add some trader services data for LK Services (!221)
- Fix data type for TraderServiceModel
- Add LK Service price/item data

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/221
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-12 09:21:48 +00:00
Dev
f70bee2fd2 Adjust fence weaponDurabilityPercentMinMax values to better match live 2024-02-11 22:04:04 +00:00
Dev
28c9ddad9c Fixed repair kits not giving skill points when repairing armors 2024-02-11 21:24:58 +00:00
Dev
b2b45f2972 Slightly reduce expired offer count threshold 2024-02-11 19:51:49 +00:00
Dev
872c6282ec Fix being unable to sell items on flea that have been adjusted via itemPriceMultiplier property
Take into account adjustment when calcualting sell chance
2024-02-11 19:50:44 +00:00
Dev
805190abb4 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-11 19:22:20 +00:00
Dev
575f467f78 Tie random weapon reward to rouble reward
Prevents daily quests from choosing high-level weapons as a reward for low level dailies
2024-02-11 19:22:00 +00:00
Kaeno
28ab029ef3 Fixed ammo boxes again. location starts at highest count instead of lowest 2024-02-11 17:31:52 +00:00
Dev
9e70b1135c Reverse ammo stacks in ammo boxes to fix issue with opening ammo boxes in raid - Thanks to Kaeno for investigation + fix 2024-02-11 15:15:21 +00:00
Dev
71f308c288 Cleanup of default presets being added to container code 2024-02-11 15:06:03 +00:00
Dev
baa2da9b8e Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-11 14:59:33 +00:00
Dev
bba30d616b Fix durability filtering on flea not working for helmets / armors
Updated  `getItemQualityModifierForOfferItems()` to return root items quality modifer when its a weapon
Fixed `getItemQualityModifierForOfferItems()` assuming quality started at 1
2024-02-11 14:59:25 +00:00
Kaeno
a4f1cb23d9 Temporary fix for containers having missing items. due to Armor not being generated correctly 2024-02-11 14:45:01 +00:00
Dev
da6244e1ac Improvements to calculateFenceStandingChangeFromKillsAsScav() - should properly handle additional rep loss when over 6 fence rep 2024-02-11 13:03:38 +00:00
Dev
a1a68b4282 Limit WZ and normal wallet to 1 for marksmen 2024-02-11 12:28:47 +00:00
Dev
e38921ca1e Add generation weights for PMCs level 15-22
Make loot more representative of a lower level player
2024-02-11 12:27:02 +00:00
Dev
5ec01d51c7 swap let to const 2024-02-11 12:16:08 +00:00
Dev
9819ac3737 Mimic live behaviour for ammo box locarion values 2024-02-11 12:12:27 +00:00
Dev
b5639f481f More logging 2024-02-11 10:51:00 +00:00
Dev
a0083f281e Log fence rep post-raid 2024-02-11 10:39:31 +00:00
Dev
ff1e80e302 Add endpoint to configure trailtor scavs 2024-02-11 10:32:13 +00:00
Kaeno
f2bcbbf8ab Updated forgotten TaskConditionCounters for scav TaskConditionCounters migration code. 2024-02-11 00:26:45 +00:00
Dev
f23167389a Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-10 23:28:49 +00:00
Dev
1858fe5bd5 Fix pockets being lost on death 2024-02-10 23:28:36 +00:00
Kaeno
44034ba2f8 Remove Gifter from shoreline. + Automatic linting 2024-02-10 17:39:17 +00:00
Dev
fea17cf3db Pass output into more event functions 2024-02-10 16:32:37 +00:00
Dev
f7a16e15f9 Reset client output object data at end of function, instead of at start - fixes issue where old profile change data persists in memory after player logs out and into another profile
Pass output into failquest function
2024-02-10 16:23:26 +00:00
Dev
4232ba6db1 Pass output object into various other inventroy actions 2024-02-10 16:08:42 +00:00
Dev
9fe739debb EXPERIMENTAL - pass output object into handleItemEvent and into move function 2024-02-10 15:44:21 +00:00
Dev
d436534ea0 Fixed flea quality filters not applying to weapons 2024-02-10 15:06:20 +00:00
Dev
5f7a03926f Increase tarkovstreets loot when scavving 2024-02-10 14:43:07 +00:00
Dev
7cb32faea3 Disable bossTagilla brain for PMCs on sandbox 2024-02-10 14:40:52 +00:00
Dev
fab00ad11b Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-10 14:30:21 +00:00
Dev
a7ae3a2ff3 Reduce the max reduction of raid time for scavs on woods 2024-02-10 14:29:13 +00:00
Kaeno
882c1d6082 Allow Scavs to examine items and retain their Encyclopedia (Examined Items) 2024-02-10 14:17:33 +00:00
Dev
3b3105a376 Add more PMC spawns to woods 2024-02-10 13:00:46 +00:00
Dev
bd79b57267 Remoe broken Pockets option from lostondeath.json 2024-02-10 12:36:06 +00:00
Kaeno
963e0a8739 Dont inform client when hall of fame is upgraded as BSG doesnt inform the client upgrade has occurred, Prevents client from locking up 2024-02-10 12:30:54 +00:00
Dev
b963e233f7 Update JSONs 2024-02-10 12:08:38 +00:00
Dev
a20e5c1700 Add missing plates to PMCs for IOTV Gen4 body armor (Assault Kit) 2024-02-10 10:26:47 +00:00
Dev
b34edb0d3b Adjustments to profile saving logging logic
Bundle up profile save time and display in one line + do not log to file
Don't log when each profile is saved
Do not log to file how much fuel is left in generator
2024-02-10 10:07:40 +00:00
Dev
973b74bd98 Add ability to control weapon/equipment current durability
Fixed non-armored rigs not showing
Blacklist mk-18
2024-02-10 09:57:44 +00:00
DrakiaXYZ
9573290778 Fix daily quest weapon rewards (!219)
The rewardItem.target has to be set after the item IDs are regenerated, so it gets the new root item ID

Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/470

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/219
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-10 08:54:12 +00:00
Dev
2c12d7c2c4 Give t-7 thermals a 5x price boost on flea 2024-02-09 23:37:11 +00:00
Dev
97cc3f1de3 Fix manually adjusted items being down-priced by unreasonableItemPriceChange code 2024-02-09 23:36:55 +00:00
Dev
fbd371b5c7 Fix code that would detete majority of quest progress from profile 2024-02-09 23:18:23 +00:00
Dev
d3f66a85a0 Allow unreasonable item price code to work with item sub types 2024-02-09 22:28:25 +00:00
Dev
4b9f2ddbd1 Fixed 2 issues with collecting bitcoins;
Only check if progress was only `great than` craft time, not `great than or equal to`
Didn't take into account developer accounts have reduce craft timers
2024-02-09 22:01:19 +00:00
Dev
b6ff89cd46 Fence config changes:
Fewer assorts on discount assort
Fewer weapons/armors on discount assort
Higher min dura for presets
Higher max dura for presets
Reduce price limit for marksmen rifles
2024-02-09 17:42:51 +00:00
Dev
b30a34b3f5 Add PR-Taran police baton to PMC loot blacklist 2024-02-09 17:26:16 +00:00
Dev
3092d2e1b2 Add PR-Taran police baton to PMC melee pool 2024-02-09 17:24:44 +00:00
Dev
eeef5a1d92 Comment improvements 2024-02-09 17:13:58 +00:00
Dev
1cfc7f2a16 Fixed issue with server not properly handling item rotations when trying to fit an item into a container
Added small optimisations to skip full rows when looking for a free slot to put item in
Added small optimisation to skip looking for a free slot when entire container is full
Fixed error messages not properly being passed back up chain
2024-02-09 17:13:19 +00:00
Dev
8b6de1a7ea Rename splitStackIntoSmallerStacks to splitStackIntoSmallerChildStacks 2024-02-09 15:57:54 +00:00
Dev
8e80fa6350 Removed unused function hydrateAmmoBoxWithAmmo() 2024-02-09 15:48:57 +00:00
Dev
4a8c12dc59 Improve canPlaceItemInInventory() logging
Increase attempts to fit into container to 3 from 2
2024-02-09 15:18:49 +00:00
Dev
5a8317b8a1 Correctly pass item rotation when calling fillContainerMapWithItem()
Removed unused legacy function `placeItemInInventoryLegacy()`
Dont return stash layout as result in `fillContainerMapWithItem()`

Added small optimisation to `fillContainerMapWithItem()`, check if all slots of failled before trying to fit item
2024-02-09 15:13:49 +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
a16557b0e7 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-09 13:32:23 +00:00
Dev
44f835fad4 Extend snow event to 15th 2024-02-09 13:31:56 +00:00
DrakiaXYZ
cc6061b885 Resolve issue caused by quests pulling loose ammo from magazines (!218)
If the item handed in for a quest has a numeric `location` property, this indicates it's inside a magazine or other "sequential" container.
Re-calculate the `location` property of all children in the items parent in this case, to avoid gaps which break the profile

Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/455

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/218
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-09 12:53:44 +00:00
Dev
74ea69ffe6 Remoe unused enabled properties from ragfair config chancePercent is used instead 2024-02-09 12:46:23 +00:00
Dev
e915d17019 Reworked fence assort generation and partial refresh
Split item generation values up, separate value for item/equipment/weapon
Fixed more assorts being generated than were being deleted each partial refresh
Added assort item options to discount assort config
2024-02-09 12:39:58 +00:00
Dev
b7b08f99f2 Add functionality to apply a multipler to individual dynamic offers on flea
Use new functionaliy to apply a large multipler to `5.45x39mm BP gs ammo pack` items to match live data
2024-02-09 09:56:18 +00:00
Dev
e95ec8c790 Flea price update 2024-02-08 23:10:38 +00:00
Dev
8015c36468 Fixed fuel having incredibly high values on ragfair 2024-02-08 23:02:30 +00:00
Dev
28677f672b Fence changes:
Larger number of weapon presets
Larger stack size for ammos (override stack size of ammo by parent id, not item id)
Removed ammo boxes from blacklist + add max limit of 2
Removed fence debug logging
Make weapon picker check if weapon is on blacklist before adding
Fixed incorrect weapon mod removal check
Reduced chances mods are removed from weapons
2024-02-08 21:58:47 +00:00
Dev
596785eda9 Added support for ammo box hydration on fence 2024-02-08 21:31:46 +00:00
Refringe
2df185bbbe
Style Lint Run
`npm run style:fix`
2024-02-08 16:00:08 -05:00
Refringe
115f217c02
Refactor Insurance Processing for Gear Lost in Raids
Notable coding Changes:
- Added `getRootItemParentID` method in `InsuranceService` to standardize the determination of the root insurance container.
- Added `IInsuranceEquipmentPkg` model for structuring insurance packages, a type used to store insurance item data before it's saved in the profile.
- Added `HashUtil` in `InsuranceController` and `InsuranceService` for generating an ID for the root insurance container in the case that the root ID cannot be found.
- Updated and normalized item map generation and usage across `InsuranceService` and `InsuranceController`.
- Updated `ItemHelper` with new methods `adoptOrphanedItems` and `generateItemsMap`, facilitating better management of item relationships and efficient item look-ups.
- Updated `InsuranceController.findItemsToDelete` and related methods to use the new `rootItemParentID` parameter to ensure that all root level items share the same parent ID.
- Updated logic in `InsuranceService` for creating insurance packages and handling orphaned items.

Uh-huh, but what would you say you do here?
- Resolves an issue that arose when `lostondeath.json` equipment configuration options were set to `false`. On death, the equipment's children items would be sent back to the player through insurance, duplicating them.
- Resolves an issue that prevented items from appearing in an insurance return even though they passed an insurance roll.
- Improved debug logging.

Remaining Oopses:
- We do not have data on items that were dropped in a raid. This means we have to pull item data from the profile at the start of the raid to return to the player in insurance. Because of this, the item positioning may differ from the position the item was in when the player died. Apart from removing all positioning, this is the best we can do.

Resolves #425
2024-02-08 15:57:04 -05:00
Dev
2d27aaf545 Update assorts 2024-02-08 20:42:40 +00:00
Dev
228327d5ad update quest json 2024-02-08 20:15:53 +00:00
Dev
1b900b2019 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-08 16:53:33 +00:00
Dev
c097914e45 Add system to ignore armor plate slots when removing plates not suitable for flea 2024-02-08 16:53:14 +00:00
Krinkels
93b91a071a Editing other localizations (!217)
In the project/assets/database/locales/server/en.json file, in the "launcher-profile_spteasystart" key, the description of the profile being created has changed from level 69 to level 15. The description of this key has been corrected in other localizations

Co-authored-by: Krinkels <krinkels@krinkels.org>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/217
Co-authored-by: Krinkels <krinkels@noreply.dev.sp-tarkov.com>
Co-committed-by: Krinkels <krinkels@noreply.dev.sp-tarkov.com>
2024-02-08 16:20:52 +00:00
Dev
7d97bc4945 Correctly generate ammo boxes for dynamic/static/bot loot with one stack of cartridges. It seems the 0.14 client update now handles ammo boxes having a single stack and properly splits the ammo inside it 2024-02-08 16:01:38 +00:00
Dev
810cd8abd6 Improve flea offer item durability randomisation
Expanded `condition` config system to separate out current and max durability
Added missing armor config settings
Rewrote weapon durability method `randomiseWeaponDurabilityValues()` to do work similar to `randomiseArmorDurabilityValues()`
Fixed various items being classified as ARMORED_EQUIPMENT and using the wrong category config values
Moved ARMORED_EQUIPMENT to bottom of config so its chosen last, fixes vests being flagged as wrong item
2024-02-08 14:52:09 +00:00
Dev
a9c48bc5c8 Increase chances of PMC spawning at start of raid on labs to help with the feeling of an empty raid 2024-02-08 12:36:46 +00:00
Dev
adf973bf49 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-02-08 11:45:20 +00:00
Dev
a06e0d1641 Improve flea handling of quality filtering for offers with child objects like armors/plates/weapons 2024-02-08 11:45:12 +00:00
DrakiaXYZ
bc8e98dadc Fix the server sell all price not matching the client displayed value (!216)
Resolved by having the client send the sell price instead of trying to calculate it on the server. Same route, just with an extra parameter passed in

Removed unnecessary value calculation code, and renamed method to match new behaviour

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/216
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-08 09:10:06 +00:00
Dev
7a33eea672 Small cleanup of fence item removal code -reduce assort size to 140 to ensure its divisible by partialRefreshChangePercent without remainder 2024-02-07 23:44:15 +00:00
Dev
1a885e4eda Reduce preset price multipler to 1.5x from 2x 2024-02-07 23:26:59 +00:00
Dev
8756431774 Ensure giveProfileMoney() rounds money its sending to nearest integer 2024-02-07 23:23:19 +00:00
Dev
439c412800 Ensure fence assorts are always rounded to nearest integer 2024-02-07 23:17:22 +00:00
Dev
15bf71b16f Move daily money reward into its own function 2024-02-07 20:56:54 +00:00
Dev
cc2e820290 Move ammo stack size calcualtion into its own function 2024-02-07 20:51:12 +00:00
Dev
98b592f0c2 Prevent daily rewards from picking armors with soft inserts to duplciate reward count of 2024-02-07 20:43:45 +00:00
Dev
0759afb84f Update daily system to correctly reward just weapons when traderWhitelistDetails.weaponRewardChancePercent passes its check instead of weapons or armor 2024-02-07 20:32:24 +00:00
Dev
424e438732 Improve how daily quests calculate the price of items when choosing a reward that's inside its price boundaries
Items with a default preset inside globals.json now use all items inside the preset for price calculation
2024-02-07 20:15:44 +00:00
Dev
bd2ebe6cbc Update flea prices 2024-02-07 19:01:42 +00:00
Dev
4e20ca6744 Remove debug logging, its scaring too many people 2024-02-07 18:01:00 +00:00
Dev
57855fd316 Add whitelist system to magazine filling function fillMagazineWithRandomCartridge(). Fixes issues with kedr being filled with incompatible ammo 2024-02-07 14:45:43 +00:00
Dev
1c755a4bf4 lint 2024-02-07 09:34:08 +00:00
Dev
2f0513edff Update gifts.json to include plates/soft inserts for armors + mods for weapons 2024-02-07 09:33:47 +00:00
Azrael1123
7a4b27bbe1 Better fix for SPT-AKI/Issues#417 (!215)
[The wiki specifies](https://escapefromtarkov.fandom.com/wiki/Scavs#Scav_karma) that, between 6 and 8, Fence rep is reset to 6 before penalties are applied (i.e. killing someone at 7.5 rep leaves you at 5.9), but the current fix just subtracts a flat 1 reputation instead (i.e. a kill at 7.5 leaves you at 6.4)

this should change that.

Co-authored-by: Azrael <Azrael@noneofyourbusiness.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/215
Co-authored-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
Co-committed-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
2024-02-07 08:18:18 +00:00
Refringe
ebbc3e2029
Refactored InsuranceController for Better Attachment Handling
Made several improvements to the `InsuranceController` to ensure a more reliable and logical handling of insured items and their attachments.

- Updates `parentAttachmentsMap` declaration to `let` for mutability, enabling dynamic updates during processing.
- Updates `parentAttachmentsMap` to initially include all attachments (including attachments that should not be in-raid moddable).
- Updates `processRegularItems` logic to include `parentAttachmentsMap` in its parameters and logic. Now better ensures that attachments are correctly identified and processed alongside their parent items.
- Adds `removeNonModdableAttachments` method to filter out non-moddable attachments from processing.
- Updates deletion logic to better handle cases where items, such as armour vests and their non-removable plates, are processed to prevent orphaned items post-deletion.

Resolves #401
2024-02-07 01:16:46 -05:00
Refringe
2aa0054833
Insurance Package Removal Issue
Resolved an issue that caused insurance packages that were created/lost in the same raid with different traders to be removed all at once instead of one-by-one after they were processed. This shouldn't have been causing any notable issues as the packages were already cached/queued up for processing elsewhere in the code, but it was never the original intent to have them removed before they were processed. The fix was simply to also match the trader ID when the package removal takes place.

Possibly related to #401 #425
2024-02-06 20:08:14 -05:00
Refringe
6714d2d172
Forgot Instance of Parent Update
Updates the `replaceIDs` method call in the `LocationGenerator` class to be inline with the changes in the parent commit.
2024-02-06 18:50:42 -05: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
Refringe
c29482394b
(More) Simple Parameter Reassignment Issues
Addresses some of the simple linting errors regarding the reassignment of function parameters.
2024-02-06 18:35:11 -05:00
Dev
d8fe911464 Cleanup dynamic loot selection, armors have their children stored in loose loot json, use existing code to pull children out instead of generating it 2024-02-06 23:17:41 +00:00
Dev
cb10ec4148 When generating armors for static loot, try and use default preset first before generating randomly 2024-02-06 23:00:39 +00:00
Dev
1101927768 Improve fence price calculation code. Prices now take into account removed item mods + mod durability 2024-02-06 20:44:40 +00:00
Dev
f48ad01b38 Add thermalvision price limit to fence 2024-02-06 19:52:10 +00:00
Dev
e20c89301d Adjust low level PMC ammos 2024-02-06 17:30:04 +00:00
Dev
4e02384e04 PMC mod spawn chance adjustments 2024-02-06 17:27:00 +00:00
Dev
1681e452bb Force muzzle devices to be a required slot
Lower muzzle chance for PMCs level 20+
2024-02-06 17:21:33 +00:00
Dev
f2865e7675 Experimental; flag mod_muzzle as required for PMCs 2024-02-06 16:59:58 +00:00
Dev
b40e41bd3d Improve sellChance logic
Two changes:

Calcualte the quality of an item and its mods, not just root item
Calcualte the average price of an offer using item + mods, not just root item
2024-02-06 15:52:22 +00:00
Dev
fcf7ff5c3d Update trader assorts, include missing armor inserts on items not dumped from live yet (prapor and ragman) 2024-02-06 14:53:10 +00:00
Dev
5f873e73b8 Move handbook override code into HandbookHelper.hydrate() - changes now apply to ragfair 2024-02-06 12:52:56 +00:00
Dev
62f51be3aa Improve readability of valid item check 2024-02-06 12:18:41 +00:00
Dev
5c52e13064 Add presents to chiristmas seasonal event gift 2024-02-06 12:18:16 +00:00
Dev
e9daf61013 Implement christmas gift system.
Gifts now give rewards, bigger the gift = bigger the possible reward
2024-02-06 12:17:41 +00:00
Dev
7bc9fdbe95 Add system to override handbook price, add christmas gift items small/med/large 2024-02-06 12:16:26 +00:00
Dev
72345abb4a Force plates to spawn in armor items found inside PMC backpacks 2024-02-06 10:53:08 +00:00
Dev
ddac44f79d Divide roubles calculated inside calculateCostOfScavInventoryAndMailMoneyToPlayer() by half 2024-02-06 10:33:59 +00:00
Dev
023697ed74 Partial fix for items flagged as being never lost on death coming back as insurance.
Items will not return but plates inside them still do
2024-02-06 10:10:56 +00:00
Dev
c6de12e6f8 Rename variables/comments for clarity 2024-02-06 09:49:51 +00:00
Deadly Alden
4fc012b422 Revamp structure of socket debug messages (!214)
**Description**
This pull request changes the WebSocket connection `handle lost` log message in the `wsOnConnection` method of the `GameSocket` class. The original log message was:

```typescript
this.logger.debug(this.localisationService.getText("websocket-socket_lost_deleting_handle");
>>> [WS] Socket lost, deleting handle, status: %s
```

Which was inconsistent with most other languages. It can be understood from context that the socket was lost, therefor deleted and closed. Instead now;

```typescript
this.logger.debug(this.localisationService.getText("websocket-socket_lost_deleting_handle");
>>> [WS] Socket lost, deleting handle
```

This is achieved through editing the languages one by one and removing the "`status: %s`" component.

**Related**
- Closes: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/421

Co-authored-by: Deadly <info.saddiki@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/214
Co-authored-by: Deadly Alden <deadly@noreply.dev.sp-tarkov.com>
Co-committed-by: Deadly Alden <deadly@noreply.dev.sp-tarkov.com>
2024-02-06 09:07:23 +00:00
Refringe
807ba04967
Resolves Bot Generation Error
- Resolves an issue in bot generation caused by a missing parameter when calling the `shouldModBeSpawned` method.
- Adds a optional chaining operator within a condition to safeguard against undefined errors.

Contributed by: barlog_m

Thank you! :D
2024-02-05 19:16:36 -05:00
Refringe
cd6e40b66c
Error Message Propagation Issue
Resolves an issue where the error message in `getItemsToListOnFleaFromInventory` did not propagate as expected due to the pass-by-value behaviour in JavaScript. The solution was to refactor the method to return an object that includes both the items and the error message.
2024-02-05 19:03:26 -05:00
Refringe
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
Refringe
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
d0ed738c0b lint bot json 2024-02-05 22:07:33 +00:00
Dev
9a1ef8daa2 Add missing locale 2024-02-05 22:02:19 +00:00
Dev
b7d74f1dec Add system to flag weapon slot ids as required.
Applies to stocks/recievers for PMCs
recievers for exusec/raider
2024-02-05 22:02:03 +00:00
Dev
32862866aa Remove some debug logging 2024-02-05 19:53:59 +00:00
Dev
d36593ca57 Rework fence service to handle armor/weapons separately,
made config work with a weapon/equipment min/max value
Improve price filtering system to work with weapons/equipment
2024-02-05 19:52:46 +00:00
Dev
3653ab9f83 Apply a duribility price modifier to items sold on flea 2024-02-05 19:49:42 +00:00
Dev
ce27f58664 FIx weapons/armors not showing on fence 2024-02-05 18:21:02 +00:00
Dev
f429cbd663 Update locales 2024-02-05 15:46:00 +00:00
Dev
e0cb167272 Update PMC mod item data 2024-02-05 15:37:01 +00:00
Dev
422b7878ab Add getMatchingPreset() and add workaround for silenced DVL choosing wrong barrel mods 2024-02-05 15:36:05 +00:00
Dev
a04a05996d Adjust calculateFenceStandingChangeFromKills() to take into account rep loss when fence rep between 6 and 8 or rep > 8 2024-02-05 14:44:31 +00:00
Dev
bf5f3316b1 Rename cloned variables to help with readability 2024-02-05 14:43:46 +00:00
Dev
183e71370a Reworked buyItem() to use addItemsToStash() to ensure it performs a space check prior to adding any items to stash 2024-02-05 14:07:21 +00:00
Dev
2f673d12b9 Improve weapon/equipment item purchase filtering 2024-02-05 11:38:04 +00:00
Dev
0f6b34605b Prevent duplicate equipment builds occuring when renaming an existing build 2024-02-05 09:13:37 +00:00
Dev
946172d20c Add additional helmet soft inserts to getSoftInsertSlotIds() 2024-02-05 09:02:58 +00:00
Dev
a2668a9618 Rework insurance to not duplicate items + still return soft_inserts
Added missing groin_back to `itemRequiresSoftInserts()`
2024-02-04 22:41:11 +00:00
Dev
e5bc45c6d4 Adjusted front/rear loot item plate chance to be 100%: 2024-02-04 20:30:10 +00:00
Dev
af0c6b9ee9 Add missing initialLoyaltyLevel values to standard account templates 2024-02-04 19:58:57 +00:00