Commit Graph

2761 Commits

Author SHA1 Message Date
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
Dev
d330ab3715 Fixed insurance tests 2024-05-27 16:51:20 +01:00
Dev
e5fd26b89c Add system to purchase all clothing from trader on profile creation - enabled for tourney profile
Fixed USEC profiles not having fence locked on tourney profile creation
2024-05-27 16:30:03 +01:00
Dev
7432817d7d Updated bear ragman clothing 2024-05-27 16:01:58 +01:00
Alex
1bf520a044 Added null checks as warnings (!352)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/352
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 13:08:21 +00:00
Dev
edbb6cec19 Updated _proto inside ITemplateItem nullable
Added `ItemType` enum for `_type` property in  `ITemplateItem`
2024-05-27 13:59:25 +01:00
Dev
82c6add9ab Improved insurance calculation accuracy with help from Doctor
Removed `insuranceMultipler` from `insurance.json` config, no longer necessary
2024-05-27 13:42:28 +01:00
Dev
cc1f51e522 Updated map loot 2024-05-27 11:32:26 +01:00
Dev
40bc26dfd0 Improved localization text for ragfair-unable_to_find_item_price_for_item_in_flea_handbook 2024-05-27 10:26:11 +01:00
Dev
5dc4b7695e Removed debug data from bot.json 2024-05-26 16:33:37 +01:00
Dev
673256e5fa Added disableLootOnBotTypes property to bot.json config to allow disabling loot on bots by their type 2024-05-26 16:32:39 +01:00
Dev
88242238f9 Peppered fillMagazineWithCartridge() with guards to assist players with finding cause of error 2024-05-26 12:17:47 +01:00
Dev
7f0d740a17 Added gift code HIDEOUTCAT, rewards Mr Kerman's cat hologram 2024-05-26 11:44:17 +01:00
Dev
86c383c97b Added trader assort item blacklist system. Can be applied per profile
Enabled for Tournament profile

Added support to server to handle `AssortmentUnlockRule` mails
2024-05-25 21:21:23 +01:00
Dev
50f224d03a Added missing jaeger unlock from Tournament gift 2024-05-25 21:14:44 +01:00
Dev
79b8f4d3e3 Removed forced loot from configs/loot.json 2024-05-25 16:09:23 +01:00
Dev
d3b8138bab Ignored various property naming lint issues 2024-05-25 15:57:11 +01:00
Dev
ece45f0788 Ignored various property naming lint issues 2024-05-25 15:53:49 +01:00
Dev
923a92169d Fixed multiple ragfair bans being added on profile creation 2024-05-25 15:46:01 +01:00
Dev
ef8307540b Fixed issue with redeemProfileReward() not correctly levelling up traders, causing player to only see level 1 trader items until a restart 2024-05-25 15:45:27 +01:00
Dev
ca737d2f62 Added ability to flag a profile as flea banned via config
Updated tournament profiles to use new system
Added `getTimeStampFromNowDays()` helper to `TimeUtil`
Improved accuracy of `Bans` property in profile
2024-05-25 15:09:52 +01:00
Dev
eba65cdd83 Added new Tournament profile. Flea blacklisted. Has special gift code. 2024-05-25 14:45:36 +01:00
Dev
885a2abcab Added tournament profile gift code 2024-05-25 14:41:35 +01:00
Dev
aa03a002ed Fixed profileChangeEvent Skill failing when invalid skill passed in 2024-05-25 14:40:49 +01:00
Dev
e505f86137 Fixed sendGiftToPlayer() not correctly sending profile change events 2024-05-25 14:33:22 +01:00
Dev
923b1185e3 Updated JSONs 2024-05-25 13:54:25 +01:00
Dev
18a5c49812 Add trader id to getItemPrices() 2024-05-25 10:40:32 +01:00
Dev
e2dd677b40 Fixed getLocalesGlobal() not correctly falling back to english when locale not found 2024-05-24 23:23:59 +01:00
Dev
612b1b7940 Localized more warnings 2024-05-24 16:42:42 +01:00
Dev
ed50a89e85 Added localisation to InsuranceController 2024-05-24 15:51:16 +01:00
Dev
36a43f38ab Updated locales 2024-05-24 15:33:54 +01:00
Dev
6623a86d0f Improved how PMC difficulty values are generated to improve PMC vs PMC settings
Moved difficulty-related into `BotDifficultyHelper`
Made `typeBeingEdited` property in `addBotToEnemyList()` optional
2024-05-24 10:58:55 +01:00