Commit Graph

2126 Commits

Author SHA1 Message Date
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