Commit Graph

500 Commits

Author SHA1 Message Date
gasmo
8d911ccc19 Fix ballooning recursive function (!120)
The `BotEquipmentModPoolService.generatePool()` method is recursive, but it does not check if the pool it creates already contains data for sub items when it finds them and calls itself on them. This creates substantial bloat in the function that is undetectable to end users, but causes some additional delay when it is called.

I noticed this when using a server mod that allows for less restrictions on mod combinations (as it would hit the system recursion limit and error out) but the bloat still affects vanilla - it takes ~1 minute for all the recursive calls to end, whereas this fix reduces that to <10 seconds.

To fix this, I've moved a block of code into the conditional block that checks if the item we're adding (and its' sub items) are already in the pool before it calls itself.

This is my first pull request, so let me know if I've fudged up somewhere and I'll do my best to fix it.

I submitted a previous request about this, but I removed my name from the commits so I had to delete the branch.

Co-authored-by: gasmo <burr.cameron@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/120
Co-authored-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
Co-committed-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
2023-08-18 14:17:54 +00:00
Dev
1b387f706d Revert "Update JSONs + add new params to interfaces"
This reverts commit 3bf644c0e4.
2023-08-10 16:02:33 +01:00
Dev
3bf644c0e4 Update JSONs + add new params to interfaces 2023-08-10 16:00:49 +01:00
Dev
96ef616d48 Add comments 2023-08-10 14:30:29 +01:00
Dev
91ec0144ed Esxpose two endpoints for launcher to get mod-related data 2023-08-10 14:29:09 +01:00
Dev
e591ea9e8f make setFenceAssort and setFenceDiscountAssort public 2023-08-09 22:04:35 +01:00
Dev
285f65bb8d Only remove item from fence assort if he has items to remove
Add empty assort check to remove function too
2023-08-09 19:20:41 +01:00
Dev
e6d8e281ee Improve accuracy of terragroup p6 quest assort reward price/stock count 2023-08-09 18:56:36 +01:00
Dev
240fa7a144 Update trader assort values after improving assort gen tool 2023-08-09 18:52:33 +01:00
Dev
96de45e580 Expose SPT friend nickname in core config 2023-08-09 16:01:51 +01:00
Dev
99715f90cd Update JSONs and include end of wipe gift
Add additional method to send localised messages from SYSTEM to player
2023-08-09 14:22:16 +01:00
Dev
7a1301d436 Fix request logger throwing errors when logging non-json data 2023-08-09 12:16:41 +01:00
Dev
dea27097b3 Improve server start message selection 2023-08-09 12:07:31 +01:00
Dev
643cf9a268 Regenerate item cache on game start
Fixes 'item missing from cache' errors seen when using multiple mods that add items to the game
2023-08-09 12:04:31 +01:00
Dev
b3f5ea8287 FIx null excpetion when a weapon reward is picked that has no presets
We only want the default preset, so use that function instead
2023-08-09 11:52:20 +01:00
chomp
c1a4c544bc Add JSONC support to server configs + use by modders (!112)
Replaced calls (where possible) to JSON.parse/stringify with use of `jsonUtil` functions
`VFS.ts` was tricky, it can't be updated as it'd create a circular dependency

Also add json5 to package.json for modders to have access to

Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/112
2023-08-09 10:49:45 +00:00
Dev
ba06629577 Remove comma 2023-08-08 09:08:35 +01:00
Dev
d0b3f89dd5 Add json5 support to server 2023-08-08 09:08:18 +01:00
Dev
6262d74acc Pass the location insurance was lost into sendLostInsuranceMessage()
make use of mailSendService.sendLocalisedNpcMessageToPlayer()
Make use of new `insuranceFailedLabs` array in prapors json data
2023-08-07 22:43:00 +01:00
Dev
6b4341b955 Add extra insurance failed message keys to prapor/therapist 2023-08-07 22:40:41 +01:00
Dev
ee46d1e6b8 Extend sendLocalisedNpcMessageToPlayer() to allow for custom systemData 2023-08-07 22:40:06 +01:00
Dev
dd26a94ede Nullguard against missing data from client 2023-08-07 19:42:23 +01:00
Dev
7e75f867a0 BSG flea blacklsit should be enabled by default 2023-08-07 18:29:18 +01:00
Dev
74f7ee8e77 Rework usage of filter() into some() 2023-08-07 11:17:46 +01:00
Dev
92c30dbe5d Add code to check BackendCounter values pre vs post-raid 2023-08-07 11:13:17 +01:00
Dev
b2530a6083 log not implemented message for stash row reward 2023-08-06 16:54:31 +01:00
Dev
d661f89952 Increment version number 2023-08-06 16:03:10 +01:00
Dev
7f3b3ba1e3 Update JSONs 2023-08-06 16:02:39 +01:00
chomp
6a864bffa9 Rework high flea listing price adjuster to be configurable, more item types can be added (!111)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/111
2023-08-06 11:36:07 +00:00
chomp
a962823192 Persist durability changes + faceshield hit values incurred during a raid (!110)
Fixes insured items comin back full durability

Co-authored-by: CWX <CWX@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/110
2023-08-05 17:26:16 +00:00
Dev
9dd2d3cd04 Improve nullguard code inside findAndAddRandomPresetToLoot() 2023-08-05 14:50:05 +01:00
Dev
5a3326189d Blacklsit Old hand Scythe from PMC backpacks 2023-08-05 09:09:47 +01:00
Dev
95b156b91c Add missing prereqs to TerraGroup Trail quests 2023-08-05 08:51:59 +01:00
Dev
4a1e3e9df3 Fix casing issue 2023-08-04 23:46:27 +01:00
Dev
14c6104b65 FIx dialogs not showing 2023-08-04 18:58:00 +01:00
Dev
30bd9545f5 i hate commas 2023-08-04 18:41:32 +01:00
Dev
20ce02c145 Add new event quests to quests config 2023-08-04 18:29:18 +01:00
Dev
cc88cd0e87 Fix typo 2023-08-04 18:22:44 +01:00
Dev
08c81aff26 introduce itemsDb variable inside repairItemByKit() 2023-08-04 15:59:34 +01:00
Dev
ce65ec1260 Add upd null object check to addMaxResourceToKitIfMissing() 2023-08-04 15:55:59 +01:00
Dev
1a402dde09 Add event quest 19 2023-08-04 14:52:57 +01:00
Dev
4dc290c284 Nullgaurd against mods that adjust map static data 2023-08-04 12:57:16 +01:00
Dev
2a98b0a1b9 Move trader enum checking logic into traderHelper 2023-08-04 11:19:27 +01:00
Dev
07217e9ed0 Further extension of profiel fixing code, deletes more
Clothing, active repeatable quests with bad trader/items, trader purchases from bad traders
2023-08-04 10:25:21 +01:00
Dev
281cba8db5 Prevent randomiseItemUpdProperties() running if the item being randomised has a db item with no _props data 2023-08-04 08:49:22 +01:00
Dev
e3b5ed44bf Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-08-04 08:35:08 +01:00
Dev
88f5edba61 Add small chance PMCs carry secondary weapon, mostly SMGs + small chance of fn40gl 2023-08-04 08:34:40 +01:00
Sister-Fister
07c99ec376 bot.json Missed Additions (!109)
Missed adding the new event bots to PMC's enemyType, and put bossZryachiy where appropriate.

Co-authored-by: Akrotluv <60285080+Akrotluv@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/109
Co-authored-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
Co-committed-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
2023-08-04 06:50:18 +00:00
Dev
b24abb1b2f crazy assault scav adjustments
Allow PMCs to use crazy scav brain
2023-08-03 16:51:07 +01:00
Sister-Fister
5b3980bebd Bot.JSON - Update crazyAssaultEvent & arenaFighters (!108)
Add crazyAssaultEvent to itemSpawnLimits, lootNValue.
Added crazyAssaultEvent bot equipment (NVGs/lasters/lights/faceshield) chances, armor & weapon durabilities and weaponModLimits, homebrewed values for what I thought would of been an okay compromise between cocaine huffing scav and a cocaine hugging Rogue.
Added crazyAssaultEvent bot (min:5/max:10), and arenaFighter & arenaFighterEvent (min:0/max:0) into convertIntoPmcChance.
Added (but disabled) arenaFighter, arenaFighterEvent and crazyAssaultEvent bot types to the pmcType.

Notes:
Dunno what other files I'll need to edit, but this was mostly to fix error spam I encountered on Shoreline in response to crazyAssaultEvent bots not having equipment and NLoot values. Seemed like it killed the population to, but could be unrelated.

I have NO clue how cracked the Bloodhounds/Arena and Crazy Assault AI would be in the hands of the PMC bots, although anything funny, I need to know and witness it with the Deer God, lol.

Values are obviously temporary, just things that kinda made sense to me at the time. No idea what the Crazy Assault Event was like, so...

Co-authored-by: Akrotluv <60285080+Akrotluv@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/108
Co-authored-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
Co-committed-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
2023-08-03 15:24:32 +00:00