Commit Graph

2671 Commits

Author SHA1 Message Date
Dev
879d19d912 Adjusted PMC mod chance values 2024-05-12 10:03:22 +01:00
Dev
72a1eb0a34 Improve comments inside modIsFrontOrRearSight() 2024-05-12 09:31:40 +01:00
Dev
ac5103390c Added nullguard check inside generateLoot() to prevent 380 mods killing bot generation 2024-05-11 16:21:39 +01:00
Dev
2e824b129c Update core json version number 2024-05-11 14:08:03 +01:00
Dev
111da41ec8 Update flea prices 2024-05-11 12:20:24 +01:00
Dev
fddbe4cf54 Merge branch '3.8.2-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.2-DEV 2024-05-10 14:51:44 +01:00
Dev
aeee99bae5 updated removeResourceFromArea() to get FiR status for a fuel item without a upd property 2024-05-10 14:51:23 +01:00
TheSparta
3b0ee75d7f Handle all bundles regarless of extension on BundleSerializer 2024-05-09 15:22:10 +01:00
Dev
a2f6d8b9bb Add PMC names 2024-05-08 08:25:53 +01:00
Refringe
8821115cfc
Fixes Duplicate Interface
This renames a BTR configuration interface that had the same name as another interface.

IBtrMapConfig --> IBtrPathConfig
2024-05-08 00:26:12 -04:00
Refringe
ba1ac09b0b
Merge branch '3.8.2-DEV' into 3.9.0-DEV
# Conflicts:
#	project/src/callbacks/ItemEventCallbacks.ts
#	project/src/models/eft/common/IGlobals.ts
#	project/src/models/eft/common/ILocation.ts
#	project/src/models/eft/common/ILocationBase.ts
#	project/src/models/eft/common/tables/ILootBase.ts
#	project/src/models/eft/common/tables/ITemplateItem.ts
#	project/src/models/eft/weather/IWeatherData.ts
#	project/src/models/spt/bots/BotGenerationDetails.ts
#	project/src/models/spt/config/IPmcConfig.ts
#	project/src/models/spt/config/IWeatherConfig.ts
#	project/src/models/spt/server/IDatabaseTables.ts
#	project/src/models/spt/server/ILocations.ts
#	project/src/servers/http/IHttpListener.ts
2024-05-08 00:21:12 -04:00
Refringe
50c7a26a58
ESLint Pass
This is the first pass of ESLint on the codebase.

ESLint formatting is less strict when it comes to line-length and line-breaks then dprint/biome, so if you see formatting that you don't like... fix it! It shouldn't require a configuration change.

- This should merge clean into master (when the time comes).
- This will not merge clean into `3.9.0-DEV`, but the conflicts aren't that bad.
2024-05-07 23:57:08 -04:00
Refringe
a73a2a76e6 Merge branch '3.8.2-DEV' into eslint-stylistic 2024-05-08 01:25:50 +00:00
Refringe
e8b47bf733
ESLint Configuration Format & Import Sorting
The built-in ESLint import settings will lint the imports, but not fix them, as that's concidered stylistic. The ESLint Stylistic package doesn't currently support sorting. We have to use the ESLint Import plugin to force import sorting. This Import plugin doesn't yet support the new ESLint flat-configuration file format so we've had to convert back to the old no-flat format.
2024-05-07 14:26:54 -04:00
Refringe
c601391da4
Fixes Markdown Formatting 2024-05-07 13:37:01 -04:00
TheSparta
cd5179bf39 fixed autoimport resolved wrong path
- vscode fumbled my previous commit
2024-05-07 15:14:49 +01:00
TheSparta
65f062a3f9 merged equal uid request interfaces into one 2024-05-07 15:09:25 +01:00
Dev
d8f2153009 Fixed flares not being sent when using give command from commando bot 2024-05-07 13:45:29 +01:00
Dev
3bf887341f Added PMC name 2024-05-07 09:49:36 +01:00
Dev
eb0fb09a37 Fixed profile creation failing when player alt+f4s partially through profile creation process
Added nullguard to `userbuilds` code inside `checkForOrphanedModdedItems()`
2024-05-07 09:02:44 +01:00
Refringe
735624eb9c
Merge branch '3.8.2-DEV' into 3.9.0-DEV 2024-05-06 21:52:21 -04:00
TheSparta
f991382d66 Fixed unable to send bundle if path had spaces 2024-05-06 21:53:30 +01:00
Dev
fa76578880 Updated insurance tests
Added logging of items attachments that are being removed
Only add items with a price to weight dictionary
2024-05-06 19:33:44 +01:00
Dev
77a5b0a4b4 Reworked how insurance picks attachments to delete before return
Now has a chance to not pick any to remove (default 10%)
Now only removes attachments that are above a rouble price (default 2000)

Stores attachments in a dictionary weighted by rouble price
Picks random amount of attachments to remove and then picks from pool by price, removing items from pool as they're picked
2024-05-06 15:54:29 +01:00
Dev
9fb1d9728e Fixed PMC loot generator only using flea price not flea or handbook price. Now uses whatever is higher 2024-05-06 15:21:35 +01:00
Dev
17296fabfd Moved reduceWeightValues from PMCLootGenerator into weightedRandomHelper and made public 2024-05-06 15:20:44 +01:00
Alex
c33773a318 Added more resiliency to the give command for modders who dont want to add localization for their mods (!325)
Fixed cases for modded items causing problems with Commando.

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/325
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-06 07:17:40 +00:00
Refringe
6921f9363d
Code Styling Changes
- Drops DPrint
- Drops Biome
- Adds ESList Stylistic
- Updates ESLint config to new FlatConfig format
- Removed the `dprint.dprint` and `biomejs.biome` VSC extentions from the recommendations list
- Updates README to reflect all the above changes

TODO: Import sorting & minor fixes after `npm run lint:fix`.

Curse you, Alex!
2024-05-06 02:36:35 -04:00
Alex
c552c7ad67 Removed exception thrown in compare util and instead assume two objects dont match (!324)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/324
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-05 11:33:18 +00:00
Dev
6d8311150e Made traderOffersNeedRefreshing() more resilent to incorrectly installed trader mods 2024-05-05 11:50:24 +01:00
Alex
84d5462955 Fixed give command to use dice coefficient making it more precise. Fixed give command giving invalid items to players. (!323)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/323
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-05 08:01:18 +00:00
Dev
509e208fb9 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/pmc.json
#	project/src/helpers/ItemHelper.ts
#	project/src/models/spt/config/IPmcConfig.ts
2024-05-04 21:41:44 +01:00
TheSparta
d3ac83e63b expose websockets (!321)
- Added 2 methods that expose the websocket server and each session's websocket

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/321
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-05-04 18:02:20 +00:00
TheSparta
d2e1624618 dialogs-profiles-refresh (!320)
This PR updates a few interfaces and consequently a few functions returned data,

it also handles 2 new routes:
`/client/friend/request/decline`
`/client/friend/request/accept-all`

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/320
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-05-03 22:54:48 +00:00
Dev
99444c7237 Added config to not included secure container loot in PMCs - set to false by default 2024-05-03 21:31:24 +01:00
Dev
d32d1cb50b Removed non-ammo items from PMC secures 2024-05-03 21:09:51 +01:00
Dev
096c8471dc Fixed incorrectly logging insurance mesage 2024-05-03 20:04:29 +01:00
Dev
3125e768f7 Updated locales 2024-05-03 17:28:55 +01:00
Alex
03c914f9e8 Fixed ragfair memory leak (!319)
Fixed ragfair memory leak where NPC player ids would continuously get added into the cache map, when those offers expire the entry on the dictionary would be left empty but the string allocation on the key would remain in memory, overtime it would stack up to massive amounts of memory usage

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/319
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-02 13:18:34 +00:00
Alex
bccda0302f ragfair-safety-net (!318)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/318
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-02 08:56:40 +00:00
Dev
2ba5358f39 Update locales with data from crowdin 2024-05-01 21:39:58 +01:00
Alex
0502257093 Added functionality for Fence to resell items sold to him by PMCs, and fixed give command giving incomplete preset items and bugged ammo boxes (!317)
Fixes https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/625

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/317
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-01 20:17:09 +00:00
Dev
ae0b7f83ec Fixed incorrect locale tag 2024-05-01 16:32:59 +01:00
Dev
3a464af5f4 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-05-01 12:27:28 +01:00
Dev
39fdeb895c Expanded Sealed weapon container pool - Added additional weapons + updated ammos + blacklisted melee weapons from pool 2024-05-01 10:34:59 +01:00
acidphantasm
3d2fd7b40a Add stash row quest reward functionality (!316)
This functionality is currently not in use and would be nice to have for mod developers. There have been 'seasonal' quests in the past that had stash rows as a reward but this was never implemented in SPT.

Co-authored-by: acidphantasm <127812106+acidphantasm@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/316
Co-authored-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
Co-committed-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
2024-05-01 08:22:11 +00:00
Dev
5273434f7d Fixed typo 2024-04-30 23:26:49 +01:00
Dev
bddf87a4e2 Prevented drawAmmoTpl() failures from killing loot generation when cartridge data cannot be found inside staticAmmoDist 2024-04-30 23:23:00 +01:00
Dev
06b35ddde8 Improved how Level specific PMC levels are handled, not included min and max - stored in pmc.json 2024-04-30 23:21:52 +01:00
Dev
297e35a1ff Added system to set min level for PMCs spawned on sandbox_high to 20 2024-04-30 21:52:26 +01:00
Dev
a63f1c3890 Plumb in sandbox_high to configs 2024-04-30 21:51:11 +01:00
Dev
8ff241b7b9 Add new map to Interface 2024-04-30 20:54:48 +01:00
Dev
d6cd99b8ab Reduce sandbox to max level 20 2024-04-30 20:31:00 +01:00
Dev
923ca0226b Fixed incorrect data structure of base.json inside sandbox_high 2024-04-30 20:30:49 +01:00
Dev
267efdc7ea Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-29 21:50:12 +01:00
Dev
6ec3ed55bc Update map loot 2024-04-29 20:36:56 +01:00
Dev
3e99f6761f Add missing base json for sandbox_high 2024-04-29 16:30:48 +01:00
Valens
a425b1bc4b Fix weightingAdjustmentsBybotLevel (!315)
Fixed linting/syntax of the weightingAdjustmentsByBotLevel function to properly end equipment and start clothing as part of IAdjustmentDetails.

Additionally, added the "add" subfunctions to equipment for the last three levelRanges as they were missing.

Co-authored-by: VforValens <8889280+VforValens@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/315
Co-authored-by: Valens <valens@noreply.dev.sp-tarkov.com>
Co-committed-by: Valens <valens@noreply.dev.sp-tarkov.com>
2024-04-29 15:03:42 +00:00
chomp
b6926c1bf9 Improved about 5-10% performance on botgen and fixed bug that would skip containers when generating items that wouldnt fit in pockets (!314)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/314
2024-04-29 13:27:07 +00:00
Dev
619137417b Adjusted PMC loot/stam values due to earlier fixes to loot generation 2024-04-29 14:25:24 +01:00
Alex
55d913d0f6 Fix give command for multiple profiles and added blacklist filter (!313)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/313
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-29 10:13:10 +00:00
Dev
a1070f941c Added extra guard against adding cartridges to box sold by fence
Skip adding cartridges to ammo box inside `addCartridgesToAmmoBox()` if cartridge already exists
2024-04-28 23:04:37 +01:00
Dev
995d50dba4 made use of function addUpdObjectToItem() 2024-04-28 22:50:39 +01:00
Dev
15348cec35 Fixed water bottles lacking a FoodDrink property in EoD profiles 2024-04-28 22:42:39 +01:00
Dev
b9973e609f Fixed issue with water bottles having no upd object in rare cases killing client 2024-04-28 22:39:17 +01:00
Alex
65a804dc01 pushing merge conflict resolution to previous commit (!312)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/312
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-28 14:47:55 +00:00
Dev
cee7ef2e47 Updated all maps with new loot data structure 2024-04-28 15:31:37 +01:00
Alex
2172c29640 First iteration of async work on callbacks (!311)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/311
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-28 13:45:36 +00:00
Dev
ddd5d69eda Added 2 additional pmc kill messages 2024-04-28 14:33:30 +01:00
kiobu
44583f40ac fixes to get in raid (customs only) (!310)
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/310
Co-authored-by: kiobu <kiobu@sdf.org>
Co-committed-by: kiobu <kiobu@sdf.org>
2024-04-28 08:01:27 +00:00
Dev
b59283e5b5 Added missing 68x51 ammo to bigmap json 2024-04-27 23:18:07 +01:00
Dev
9dff3e0790 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-27 22:58:05 +01:00
Dev
30ee6de4a2 Added 2 additional PMC responses 2024-04-27 22:02:06 +01:00
Alex
a1e48ca245 Added profile and trader commands to commando (!309)
Added new spt commands for commando to alter profile levels and skill, as well as trader rep and money spent.

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/309
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-27 16:56:28 +00:00
Dev
d7a8e1558a Fixed missing mod_mount data in PMCs, should reduce chance of seeing low level PMCs with helmet attachments
Reduced chance of mount on equipment to 1 for level 1-14 PMCs
2024-04-27 10:22:41 +01:00
Dev
a2886f102b Adjusted scav raid time for streets 2024-04-26 21:21:17 +01:00
Dev
f566ea8620 Fixed barter traders that required multiple of a stack removing the entire stack instead 2024-04-26 15:54:43 +01:00
Dev
dd6d7e192f Fixed coop exit usage not updating scav profile fence rep value in a similar way to car extracts do 2024-04-26 14:06:18 +01:00
Dev
3bbef3fd0c Added unheard gift code 2024-04-26 10:20:33 +01:00
kiobu
001def56a5 feat: add /client/game/mode handling (!308)
add `/client/game/mode` endpoint handling. gets into main menu

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/308
Co-authored-by: kiobu <kiobu@sdf.org>
Co-committed-by: kiobu <kiobu@sdf.org>
2024-04-26 07:37:42 +00:00
Dev
7f56cee388 29862 2024-04-25 21:37:22 +01:00
DrakiaXYZ
ea38e50cca If the trader updateTime is missing min/max use defaults (!307)
This is just another catch for people trying to run outdated trader mods, will use default refresh time instead of returning null for the trader update seconds.

Lets users know in the console right off the bat that there's a problem with the trader

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/307
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-25 17:46:27 +00:00
Refringe
fbf1d7f7fb Updates Server README (!306)
- Updates the Server project README to include additional information about installation, development, and contribuation guidelines.
- Moves the feature list to a dedicated FEATURE.md file (linked from the README.md).
- Reviewed the FEATURES.md file to clean it up a little bit.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/306
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-04-25 17:26:47 +00:00
Dev
8f4919a9c7 Update Quest and Trader assort data 2024-04-24 21:36:30 +01:00
Dev
f07637cf63 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-24 21:23:14 +01:00
Refringe
d8504950f2
Additional Card Limits to Glukhar Guards
This refines the previous commit to only allowing Glukhar to spawn a Labs access key card. His guards will not spawn any.
2024-04-24 09:57:17 -04:00
Refringe
d68734e571
Limits Glukhar Labs Access Cards
This change limits the number of Labs Access Cards that can spawn on on Glukhar and his guards to one. We had a report of three spawning on Glukhar, and two spawning on one of his guards, all in the same raid.
2024-04-24 09:37:16 -04:00
Dev
a3c8faaaaa Remove core from getAllBotDifficulties() 2024-04-24 13:05:37 +01:00
Dev
76db8ca5e8 Add assaultGroup bot with their settings from game client 2024-04-24 12:39:49 +01:00
Dev
fc6d84ad7d Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-24 10:09:51 +01:00
Dev
60eb6bfe80 Improve data returned from getAllBotDifficulties() 2024-04-24 10:09:37 +01:00
DrakiaXYZ
316234e9ae Fix TradersInfo nextResupply if it is null in profile data (!305)
Add test covering fixNullTraderNextResupply

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/305
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-24 07:13:31 +00:00
Dev
6e262a228f Add optional param to ignore raid settings chosen by player during getAllBotDifficulties() 2024-04-23 22:41:00 +01:00
Dev
d49bf4a378 Replace single letter variables with better names 2024-04-23 21:07:34 +01:00
nader
96208ed95f add getters (and additional setter) to FenceService (!304)
resubmitting PR targeting 3.8.1-DEV

Co-authored-by: Nader <nader@cloudkraken.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/304
Co-authored-by: nader <nader@noreply.dev.sp-tarkov.com>
Co-committed-by: nader <nader@noreply.dev.sp-tarkov.com>
2024-04-23 19:21:21 +00:00
Terkoiz
d41a40b2d2 Updated the PMC name list with more modders and prominent community members (!303)
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/303
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-04-23 19:16:56 +00:00
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