Commit Graph

2792 Commits

Author SHA1 Message Date
Dev
df69b229b3 Reworked bot generation to pass game version into generateEquipment()
`generateAndAddEquipmentToBot()` now handles pockets separately, flags UhD pockets as not to gen mods as for some reason it has slots 😕
Use this data to adjust the pocket tpl chosen for `unheard_edition`

Add pocket loot weightings of 5 + 6 items for unheard_edition PMCs
2024-06-16 21:09:59 +01:00
Dev
928f9068a3 Adjusted PMC loot generation to allow for 1x2 sized items to be added to the pocket pool to account for UhD bots' large pockets 2024-06-16 18:52:42 +01:00
Dev
1546bbfc16 Replaced magic string with enum value 2024-06-16 18:44:22 +01:00
Dev
8f3a065e2d Replaced bad id with correct value for cultist clothing on PMCs 2024-06-16 18:43:28 +01:00
Dev
158258a398 Added masterMod type to single stack only for ragfair
barrels/pistol grips/handguards/receivers
2024-06-16 17:45:14 +01:00
Dev
e793b0bc63 Fixed nullref error on repeatable refresh click event
Fixed all profiles having access to free repeatable refreshes

Fixed newly created profiles generating with 0 free refreshes regardless of game version
2024-06-16 10:58:35 +01:00
Dev
d0aca73611 Added all dogtags to rewardItemBlacklist 2024-06-16 09:39:55 +01:00
DrakiaXYZ
6648b1ed4b Add EOD/TUE dogtags to more places (!365)
- PMC Loot blacklist
- Repeatable quest hand in whitelist
- Fence purchase blacklist

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/365
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-06-16 08:34:05 +00:00
DrakiaXYZ
edfe995c52 Initial implementation of an ItemTpl and Weapon enum generator (!364)
ItemTplGenerator will create a full ItemTpl.ts and Weapons.ts file with all items and weapons respectively
Renamed WeaponTypes to Weapons to better indicate its new format
Updated all references to these enums to use the new names
New npm command `npm run gen:items` to run this tool

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/364
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-06-16 08:33:01 +00:00
Dev
66c7ff30b0 Added UhD gamma container to UhD profile templates 2024-06-15 21:22:29 +01:00
Dev
561ecdd790 Updated bot generator to add UHD pockets to UHD PMCs 2024-06-15 17:42:02 +01:00
Dev
3fe1e47c30 Update handbook JSON
Updated punisher part 6 + friend from the west + easy money part 1
2024-06-15 17:41:36 +01:00
Dev
72b0ce324e Extracted processExpiredQuests() from getClientRepeatableQuests() 2024-06-15 13:29:22 +01:00
Dev
299586d36a Improved implementation of daily quest reward system
Fixed repeatables vanishing after first generation
2024-06-15 13:28:25 +01:00
Dev
bc3649d2a1 Fixed issue where server would enter infinite loop when selling item to trader and stash contained no money 2024-06-14 19:18:55 +01:00
Dev
31a19852c8 Enabled IsStreamerModeAvailable for dev profiles 2024-06-14 18:46:47 +01:00
Dev
12444b025e Fixed incorrect dogtag return 2024-06-14 15:41:02 +01:00
Dev
277925732f Added system to allow per-trader starting standing values 2024-06-14 15:40:27 +01:00
Dev
da04065d42 Added game version specific dogtags to PMC bots
removed dogtags from `baseClasses` and placed in `ItemTpl`
2024-06-14 14:38:30 +01:00
Dev
7566b59826 Add Charisma to EoD profiles 2024-06-13 21:00:09 +01:00
Dev
c2489c6fe4 Updated Unheard profiles to have Charisma level 3 on creation 2024-06-13 20:36:02 +01:00
Dev
689ccd69fd Added cultist jacket clothing to PMCs 2024-06-13 20:15:22 +01:00
Dev
37b8ad7f44 Added Cultist jacket clothing to unheard edition 2024-06-13 20:13:34 +01:00
Dev
efddaf135b Updated USEC ragman clothing 2024-06-13 19:32:52 +01:00
Dev
646745c5ef Added insurance reduction by game edition check 2024-06-13 19:21:00 +01:00
Dev
b34a8ee1f1 Updated JSONS 2024-06-13 19:19:51 +01:00
IsaacSin
58ee2c66d3 Fix GP coin ragfair offers being excluded by "Exclude bartering offers" filter. (!363)
BSG now considers GP coin to be a currency.
Commit 4788f6b407 (diff-d1c96eaf446b0afaf70c62191c7a688471fca50c) already added GP coin to the `Money` enum, but it needs to be added to `PaymentHelper.isMoneyTpl()` to prevent it from being filtered by the barter filter as with other money offers.
See attached screenshots for a demonstration of SPT vs live behavior.

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/363
Co-authored-by: IsaacSin <Isaacgsds@gmail.com>
Co-committed-by: IsaacSin <Isaacgsds@gmail.com>
2024-06-13 13:28:37 +00:00
Dev
9e158b0ecc 30547 2024-06-13 14:08:09 +01:00
Dev
f8bd65ed90 Replaced various array.find() with array.some()
Rewrote `tagItem()` to use `.find()`
2024-06-13 13:41:29 +01:00
Dev
3327bc916a Renamed functions to better explain what they do 2024-06-13 11:05:10 +01:00
Dev
8c05345b85 Replaced various magic strings with enum values
Added `itemHelper.getItemFromPool()`
2024-06-13 10:53:07 +01:00
Tyfon
836910c1d5 Implement Ragfair sort by barter (!362)
Not that anyone was clamoring for this, but I noticed it was missing.

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/362
Co-authored-by: Tyfon <tyfon7@outlook.com>
Co-committed-by: Tyfon <tyfon7@outlook.com>
2024-06-13 09:29:48 +00:00
Dev
3c0887172e Fixed MARK_OF_UNHEARD incorrectly adjusting insurance return time
Added `ItemHelper.hasItem()`
2024-06-13 09:47:03 +01:00
Dev
6c1935f93f Added nullguard when purchasing trader assort with 0 items 2024-06-12 23:07:38 +01:00
Dev
da46a9cc93 Added ref to traders dictionary inside ragfair config 2024-06-12 21:34:35 +01:00
Dev
4e311da111 Refactored InraidHelper 2024-06-12 20:42:29 +01:00
Dev
1caff10d35 Refactoring InventoryHelper 2024-06-12 20:25:27 +01:00
Dev
aac2142706 Refactoring of small functions for better readability 2024-06-12 19:33:55 +01:00
Dev
9d79aa70eb Moved map marker logic out of InventoryController and into its own MapMarkerService 2024-06-12 19:32:27 +01:00
Dev
292dadc55e Prevented NRE being thrown when no weapon found inside getSealedContainerWeaponModRewards() 2024-06-12 12:41:09 +01:00
Dev
16f170f28e Minor adjustments to profileHelper, launcherController and profileController classes 2024-06-12 10:47:01 +01:00
Dev
f8292c5ea7 Updated map exfil and statics data 2024-06-12 09:58:17 +01:00
Dev
3bc331c04e Added extracts and static container mappings for sandbox_high 2024-06-12 09:29:38 +01:00
Dev
624737a036 Regenerated bot JSONs 2024-06-11 19:58:30 +01:00
Dev
e937fc4a18 Added various quest items to forcedLootSingleSpawnById dictionary 2024-06-11 16:33:11 +01:00
Dev
6c5cc40e0f Regenerated loot after various generation errors were fixed 2024-06-11 16:29:36 +01:00
Dev
d7e9135d6f Updated loot files + include new quest items 2024-06-11 13:27:38 +01:00
Dev
a34a31f5dc Small refactor of createMagazineTemplate() 2024-06-10 22:24:08 +01:00
Dev
53c76a098f Improved Recursive cloner implementation to preserve null state of data 2024-06-10 18:25:58 +01:00
Dev
3341faacdf Adjusted high-level guns to be more common on level 30+ PMCs
Blacklisted some high level weapons from low level PMCs (mk-18, GL)

Adjusted what weapons early/mid PMCs use
2024-06-10 12:10:46 +01:00
Dev
7c1613c331 Added Ironsights to SMG attachment whitelist 2024-06-10 11:50:23 +01:00
Dev
c8154eaacd Removed unused revenge data from bot config 2024-06-10 11:37:49 +01:00
Dev
dd8824a042 Added additional revenge data to bot config 2024-06-10 11:32:38 +01:00
Dev
ca642b94a7 Reworked gift sending/storage sytem to not store the max sends in profile and use the existing gift data
Fixed `sendPraporStartingGift()` not sending gifts
Expanded `GiftService` to include methods to get gift by id / all gifts / all gift ids
2024-06-09 09:13:38 +01:00
Dev
19bcfe2e87 Cleaned up traderBuyRestrictionReached() 2024-06-08 19:49:30 +01:00
Dev
89459b9e5b Small cleanup of setTraderOfferPurchaseLimits() 2024-06-08 19:38:48 +01:00
Dev
f263f8b0cb Added implementation of BSG feature Increased personal trader item limits by 20% for Edge of Darkness and The Unheard edition owners who upgraded from Edge of Darkness
This fixes EoD/UH/DEV profiles throwing errors when purchasing items near their trader BuyRestrictionMax limits
2024-06-08 19:38:16 +01:00
Dev
5d3ea2ef83 Adjusted addBuffToItem() to also include ARMOR_PLATE items 2024-06-08 17:58:12 +01:00
Dev
75a34f5ca2 Expanded gift system used by spt bot
Gifts can be given multiple times
stash expansions are limited to 5 max by default
dev balaclava can be given 5 times, majority of gifts are 1 use still

Updated data structure to persist gifts received, this will break profiles
2024-06-08 17:54:05 +01:00
Dev
f475d4f6f3 Added ARMOR_PLATE type to getItemSkillType() check 2024-06-08 17:07:14 +01:00
Dev
e39654be6a Simplified generateInventoryId() 2024-06-08 16:16:36 +01:00
Dev
b645e6f51b Added Error throwing when calling getConfig() and a config cannot be found 2024-06-08 12:56:24 +01:00
Dev
96acf623de Fixed ammo boxes not having a location property 2024-06-08 12:00:55 +01:00
Dev
2fea0d17de Fixed altering SelectedMemberCategory in settings page not saving 2024-06-08 09:15:59 +01:00
Dev
8745caf86d Refactored getHighestSellToTraderPrice() 2024-06-07 23:14:18 +01:00
Dev
3f125593a7 Refactor BotGenerator() 2024-06-07 22:41:30 +01:00
Dev
d9f8ba653a Refactoring of RepeatableQuestController 2024-06-07 21:33:09 +01:00
Dev
5cae90c726 Fixed Ref assorts lacking upd objects for child items 2024-06-07 20:24:03 +01:00
Dev
bb4bfc6dcb Refactoring of generateReward() 2024-06-07 20:19:58 +01:00
chomp
4788f6b407 30473 (!361)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/361
2024-06-07 18:25:27 +00:00
chomp
b3b1f76a77 Migrate PMCs (sptBear/sptUsec) To Bsg Types (pmcBEAR/pmcUSEC) (!360)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/360
2024-06-06 16:59:44 +00:00
Dev
75b2661f72 Moved pity gift code into chooseMessage() to group similar functionality together 2024-06-06 12:24:12 +01:00
Scuvy
e0717daa99 Send pity gift codes to player when player dies to other PMC's (!359)
* This is to address [Issue 652](https://dev.sp-tarkov.com/SPT/Issues/issues/652).
* Added messages with gift codes inside project/assets/database/locales/server/en.json
* Update pmcchatresponse.json to include new pity message type.
* Update logic in project/src/services/PmcChatResponseService.ts to now account for pity messages that are sent.
The message's %giftcode% will now be replaced with a random gift code from assets\configs\gifts.json
* Example:
  - ![image](/attachments/ade2686a-8dcb-4c11-9457-88e003a47416)

Co-authored-by: Scuvy <Scuvy@gmail.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/359
Co-authored-by: Scuvy <scuvy@noreply.dev.sp-tarkov.com>
Co-committed-by: Scuvy <scuvy@noreply.dev.sp-tarkov.com>
2024-06-06 11:14:38 +00:00
Dev
ccb351a2dd Expanded craft search code to also check for craft count 2024-06-06 11:34:03 +01:00
Dev
abdee0bb75 Removed broken quest prevent login 2024-06-06 11:33:13 +01:00
Dev
4833b2c9ad Added 2 quests (hustle + unknown) 2024-06-06 08:40:26 +01:00
Dev
af76a068b4 Fixed incorrect logging values 2024-06-05 21:50:27 +01:00
Dev
2a9cbab762 Fixed issue with PMC post-raid messages not being sent
Caused by bot match cache regression resulting in bot data not being stored during generation
2024-06-05 21:50:07 +01:00
Dev
90b9fac842 Updated traders items_buy_prohibited data 2024-06-04 19:55:03 +01:00
Dev
bcb40c8333 Fixed hideout crafts causing server failure 2024-06-04 19:23:37 +01:00
Dev
013634f466 Added Documents with decrypted data to lootable blacklist 2024-06-04 19:03:47 +01:00
Dev
0574392f28 Added new lootable item blacklist and added checks to bot and map loot generator code
Remove event quest item from global blacklist and move to loot item blacklist
2024-06-04 18:57:36 +01:00
Dev
5b4b0c1471 Introduced Set to speed up calls to isItemBlacklisted() 2024-06-04 18:32:22 +01:00
TetrisGG
bef57f4f58 Fix Tournament Profile having access to Fence (!358)
Fixes SPT/Issues#677
Fence should be locked in Tournament Profile.
Setting Fences base.json `unlockedByDefault` to `false` makes the profile able to lock Fence

Code from Client:
Shows that unlockedByDefault overrides whatever is written in the Profile data on init.
![image](/attachments/7336f96c-31c0-4ea3-848d-65320cf41340)

Working Screen from Game:
![image](/attachments/b94f368e-91c4-4641-a31e-8b0d8c60d239)

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/358
Co-authored-by: TetrisGG <dmiller2606@gmail.com>
Co-committed-by: TetrisGG <dmiller2606@gmail.com>
2024-06-04 17:20:10 +00:00
Dev
dde78b30eb Cloned blacklist data before returning it 2024-06-04 18:18:52 +01:00
Dev
83dd0ed439 Added 660bbc47c38b837877075e47 - Encrypted flash drive to blacklist 2024-06-04 17:08:09 +01:00
Dev
2a587d80d8 Added system to filter blacklisted items from static and dynamic loot positions
Moved seasonal item filter code to different position inside `generateDynamicLoot()`
2024-06-04 17:06:50 +01:00
Dev
5131fb2dcc Flagged The Tarkov Mystery as event quest + added to event quest array + added missing icon 2024-06-04 16:17:20 +01:00
Dev
e5398f5e4d Added implementation for Achievement quest rewards 2024-06-04 15:36:01 +01:00
Dev
aebe1ab606 Updated getItemPrices() to return each traders next refresh timestamp 2024-06-04 15:17:46 +01:00
Dev
ba8829681d Fixed flea-banned players being able to buy pmc items from flea 2024-06-03 22:35:09 +01:00
Dev
307822f647 Updated Map loot 2024-06-03 22:30:46 +01:00
Dev
0aff3c5274 Fixed missing property in addMissingSptVersionTagToProfile() 2024-06-03 22:30:20 +01:00
Dev
ed1840fc09 Updated PMC names 2024-06-03 18:29:06 +01:00
Dev
59fd030c98 Revert "Updated server node version to 20.14.0 from 20.11.1"
This reverts commit f672ad27bf.
2024-06-03 17:34:22 +01:00
Dev
269a068bff Merge branch 'master' of https://dev.sp-tarkov.com/SPT/Server 2024-06-03 17:33:55 +01:00
Dev
7842167595 Stored free daily quest resets in profile per-daily-type
Wired up `getClientRepeatableQuests()` to retrieve this value + reduced indentation of function
Updated `changeRepeatableQuest()` to decrement free daily value from profile
2024-06-03 17:33:46 +01:00
Refringe
41b047e436
Fresh New Awesome Icon
Get styled on.
2024-06-03 11:56:56 -04:00
Dev
671c57cefb Cleaned up getClientRepeatableQuests() 2024-06-03 16:51:26 +01:00
Dev
b010ff87c2 Pulled code out of acceptRepeatableQuest() into new function createAcceptedQuestClientResponse() 2024-06-03 16:20:16 +01:00
Dev
2f21178dc9 Updated JSON data 2024-06-03 15:59:38 +01:00
Dev
f672ad27bf Updated server node version to 20.14.0 from 20.11.1 2024-06-03 15:50:27 +01:00
Dev
dcf816702e Updated various node packages 2024-06-03 15:44:40 +01:00
Dev
fe76476bae Updated server locales with crowdin data 2024-06-03 15:22:40 +01:00
Dev
5c7f6bc782 Improved comments for deserializeWithCacheCheck() 2024-06-02 14:49:28 +01:00
Dev
5c1c44da8f Fixed en locale typos 2024-06-01 17:34:02 +01:00
Dev
6513ce694c Fixed locale typos 2024-06-01 16:34:06 +01:00
Dev
b936c47f34 Fixed typo in locale text 2024-06-01 16:04:08 +01:00
Dev
a1955d4e7e Second part of EventOutputHolder change, updated output to be keyed by sessionID 2024-05-31 23:28:35 +01:00
Dev
97efad0a79 Updated clientActiveSessionStorage inside EventOutputHolder to store data by sessionId 2024-05-31 23:10:18 +01:00
Dev
f20ffe286b Reworked getBotCap() to use data from url instead of appContext 2024-05-31 22:01:48 +01:00
Dev
0864b0074b Updated map base JSONs 2024-05-31 19:10:07 +01:00
Dev
910189d425 Added TarkovTV 2024 gift codes 2024-05-31 18:55:55 +01:00
Dev
06e3da394f Updated quest json:
Added: Gendarmerie District Patrol + L4 trader assort
Added: Test drive part 3
Added various missing quest names to `QuestName` property
2024-05-31 16:28:25 +01:00
Dev
561e8da3db Improved client/items/prices handling 2024-05-31 16:16:10 +01:00
Dev
b7a9296fac Expanded getItemName() to return short name when full name is not found 2024-05-31 11:09:19 +01:00
Dev
95fbe09154 Updated map loot 2024-05-30 16:31:05 +01:00
Dev
876bf76605 Updated quest json 2024-05-30 14:30:09 +01:00
Dev
5531f9d03e Added text to help with finding data 2024-05-30 13:16:28 +01:00
Dev
f341bfcb4b 14.8.6.30268
Added new properties to daily quests
Stubbed out quest achievement rewards
Added new Item properties used by unknown radio
Updated data JSONs
2024-05-30 13:05:28 +01:00
Dev
56d135fe6d Fixed bot generation error 2024-05-30 10:09:04 +01:00
Dev
b8ee834165 Replaced uses of DatabaseServer with DatabaseService 2024-05-29 15:15:45 +01:00
Dev
2169fd3210 Flagged RarityPvE as optional 2024-05-29 10:35:18 +01:00
Dev
b5a11a1343 Added additional context to english locales 2024-05-28 22:53:36 +01:00
Dev
7d515ad680 Replaced uses of DatabaseServer with DatabaseService 2024-05-28 22:24:52 +01:00
Dev
b9148514ce Fixed unit tests 2024-05-28 19:52:21 +01:00
Dev
5bd49ded59 Updated SaveServer.load() to log the total time taken to load profiles on server started instead of per profile 2024-05-28 18:40:22 +01:00
Dev
c72834d778 Adjusted load time logging to show a max of 2DP 2024-05-28 18:33:17 +01:00
Dev
0dfbf61ddf Replaced usages of parameters with fixed values 2024-05-28 18:32:09 +01:00
Alex
e2eb56a60a Added more nullguards (!356)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/356
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:35:38 +00:00
Alex
8727f6150e primery-dependencies (!355)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/355
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:04:20 +00:00
Dev
f56da3c1a8 Updated various classes to make use of databaseService 2024-05-28 14:52:22 +01:00
Dev
584eade530 Added getLocation() to databaseService and made use of it across various classes 2024-05-28 14:28:26 +01:00
Dev
c710169e3d Fixed bad error throw 2024-05-28 14:23:01 +01:00
Dev
7cdac4e38b Added getTrader() and utilise inside various classes 2024-05-28 14:13:44 +01:00
Dev
fdb7a2b7d8 Updated various classes to use DatabaseService instead of DatabaseServer 2024-05-28 13:59:19 +01:00
Dev
9f1e0693f5 Make use of DatabaseService inside ProfileFixerService and CustomItemService 2024-05-28 12:27:46 +01:00
Dev
4c08d64ca5 Make use of DatabaseService inside GameControler and RagfaiServerHelper 2024-05-28 11:17:38 +01:00
Dev
e78087818f Add DatabaseService as safer alternate to DatabaseServer for accessing db 2024-05-28 11:13:27 +01:00
Dev
3d4447c978 Added ITemplates interface 2024-05-28 11:11:50 +01:00
Dev
d6f7374a9a Added IHideout interface 2024-05-28 10:41:07 +01:00
Dev
17882ddeab Add interface for database bots object 2024-05-28 10:33:29 +01:00
Dev
65f27a7d8c Fixed various Object is possibly undefined warnings 2024-05-28 10:25:23 +01:00
Dev
e0eaadbeef Added implementation of adjusting hideout area level via mails profileChangeEvents property 2024-05-27 21:30:40 +01:00
Alex
173a726f33 Removed all null references in favor of undefined (!354)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/354
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 20:06:07 +00:00
Dev
d5496dcc34 Moved Evil spirits event quest to archive 2024-05-27 20:08:09 +01:00
Dev
a37664f43a Localised various errors 2024-05-27 20:06:10 +01:00
Dev
4b8d9f7e22 Updated launcher-profile-tournament locale text 2024-05-27 18:52:02 +01:00
Dev
1c8805c365 Purged duplicate PMC names 2024-05-27 18:33:13 +01:00
Alex
aee391ec1d Null checks first pass (!353)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/353
2024-05-27 16:05:16 +00:00