Dev
76d8b944d5
Store `AvailableAfter value in statusTimer of timelocked quest
...
Send locked quest to client when requested
Delete `availableAfter` property when accepting a quest
2023-10-10 16:18:55 +01:00
Dev
8edc43e9de
Do not send timelocked quests to client until timer is passed
2023-10-10 14:46:23 +01:00
chomp
0b67a9a0e9
0.13.5.0 ( !147 )
...
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/147
2023-10-10 11:03:20 +00:00
gasmo
8d911ccc19
Fix ballooning recursive function ( !120 )
...
The `BotEquipmentModPoolService.generatePool()` method is recursive, but it does not check if the pool it creates already contains data for sub items when it finds them and calls itself on them. This creates substantial bloat in the function that is undetectable to end users, but causes some additional delay when it is called.
I noticed this when using a server mod that allows for less restrictions on mod combinations (as it would hit the system recursion limit and error out) but the bloat still affects vanilla - it takes ~1 minute for all the recursive calls to end, whereas this fix reduces that to <10 seconds.
To fix this, I've moved a block of code into the conditional block that checks if the item we're adding (and its' sub items) are already in the pool before it calls itself.
This is my first pull request, so let me know if I've fudged up somewhere and I'll do my best to fix it.
I submitted a previous request about this, but I removed my name from the commits so I had to delete the branch.
Co-authored-by: gasmo <burr.cameron@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/120
Co-authored-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
Co-committed-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
2023-08-18 14:17:54 +00:00
Dev
1b387f706d
Revert "Update JSONs + add new params to interfaces"
...
This reverts commit 3bf644c0e4
.
2023-08-10 16:02:33 +01:00
Dev
3bf644c0e4
Update JSONs + add new params to interfaces
2023-08-10 16:00:49 +01:00
Dev
96ef616d48
Add comments
2023-08-10 14:30:29 +01:00
Dev
91ec0144ed
Esxpose two endpoints for launcher to get mod-related data
2023-08-10 14:29:09 +01:00
Dev
e591ea9e8f
make setFenceAssort and setFenceDiscountAssort public
2023-08-09 22:04:35 +01:00
Dev
285f65bb8d
Only remove item from fence assort if he has items to remove
...
Add empty assort check to remove function too
2023-08-09 19:20:41 +01:00
Dev
96de45e580
Expose SPT friend nickname in core config
2023-08-09 16:01:51 +01:00
Dev
99715f90cd
Update JSONs and include end of wipe gift
...
Add additional method to send localised messages from SYSTEM to player
2023-08-09 14:22:16 +01:00
Dev
7a1301d436
Fix request logger throwing errors when logging non-json data
2023-08-09 12:16:41 +01:00
Dev
dea27097b3
Improve server start message selection
2023-08-09 12:07:31 +01:00
Dev
643cf9a268
Regenerate item cache on game start
...
Fixes 'item missing from cache' errors seen when using multiple mods that add items to the game
2023-08-09 12:04:31 +01:00
Dev
b3f5ea8287
FIx null excpetion when a weapon reward is picked that has no presets
...
We only want the default preset, so use that function instead
2023-08-09 11:52:20 +01:00
chomp
c1a4c544bc
Add JSONC support to server configs + use by modders ( !112 )
...
Replaced calls (where possible) to JSON.parse/stringify with use of `jsonUtil` functions
`VFS.ts` was tricky, it can't be updated as it'd create a circular dependency
Also add json5 to package.json for modders to have access to
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/112
2023-08-09 10:49:45 +00:00
Dev
6262d74acc
Pass the location insurance was lost into sendLostInsuranceMessage()
...
make use of mailSendService.sendLocalisedNpcMessageToPlayer()
Make use of new `insuranceFailedLabs` array in prapors json data
2023-08-07 22:43:00 +01:00
Dev
ee46d1e6b8
Extend sendLocalisedNpcMessageToPlayer() to allow for custom systemData
2023-08-07 22:40:06 +01:00
Dev
dd26a94ede
Nullguard against missing data from client
2023-08-07 19:42:23 +01:00
Dev
74f7ee8e77
Rework usage of filter() into some()
2023-08-07 11:17:46 +01:00
Dev
92c30dbe5d
Add code to check BackendCounter values pre vs post-raid
2023-08-07 11:13:17 +01:00
Dev
b2530a6083
log not implemented message for stash row reward
2023-08-06 16:54:31 +01:00
chomp
6a864bffa9
Rework high flea listing price adjuster to be configurable, more item types can be added ( !111 )
...
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/111
2023-08-06 11:36:07 +00:00
chomp
a962823192
Persist durability changes + faceshield hit values incurred during a raid ( !110 )
...
Fixes insured items comin back full durability
Co-authored-by: CWX <CWX@noreply.dev.sp-tarkov.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/110
2023-08-05 17:26:16 +00:00
Dev
9dd2d3cd04
Improve nullguard code inside findAndAddRandomPresetToLoot()
2023-08-05 14:50:05 +01:00
Dev
14c6104b65
FIx dialogs not showing
2023-08-04 18:58:00 +01:00
Dev
08c81aff26
introduce itemsDb variable inside repairItemByKit()
2023-08-04 15:59:34 +01:00
Dev
ce65ec1260
Add upd null object check to addMaxResourceToKitIfMissing()
2023-08-04 15:55:59 +01:00
Dev
4dc290c284
Nullgaurd against mods that adjust map static data
2023-08-04 12:57:16 +01:00
Dev
2a98b0a1b9
Move trader enum checking logic into traderHelper
2023-08-04 11:19:27 +01:00
Dev
07217e9ed0
Further extension of profiel fixing code, deletes more
...
Clothing, active repeatable quests with bad trader/items, trader purchases from bad traders
2023-08-04 10:25:21 +01:00
Dev
281cba8db5
Prevent randomiseItemUpdProperties() running if the item being randomised has a db item with no _props data
2023-08-04 08:49:22 +01:00
Dev
dbf9955272
potential fix for custom trader issue
2023-08-03 15:46:50 +01:00
Dev
beb7c5069b
Improve profile fixing system
...
Remove more modded items from profile when config set to true, warn of set to false
Handle weapon presets + messages containing modded items
2023-08-03 14:36:53 +01:00
Dev
cbcd431f09
Fixed new profiles failing to start game during christmas/new years event
...
Add new function in dialog helper for getting dialogs frm profile - creates empty object if none found
Set gift collection time to 48 hours if none supplied
2023-08-03 12:25:09 +01:00
Dev
0c37a76ff6
Improve processFailedQuests() handling of null parameter
2023-08-03 08:38:36 +01:00
Dev
172722a915
Cleanup code and also check if standing is 0
2023-08-02 16:15:33 +01:00
Dev
3fefe90b56
Set lightkeeper rep to 0,01 on account creation, prevents showing
2023-08-02 16:02:44 +01:00
Dev
f5eb96ed48
Refactor of hideout skill gains from area completion
2023-08-02 15:55:33 +01:00
Dev
946512ca6d
FIx server error with not being able to find singular hiddeout craft now there are two DSP crafts
2023-08-02 12:57:08 +01:00
Dev
3876e1ae15
Pull mod sorting code into its own function
2023-08-02 08:50:04 +01:00
Dev
cda89084d3
Show error when trader id can't be found in Traders enum
...
Exit early when sending messages from trader if no trader supplied
2023-08-02 08:29:23 +01:00
Dev
831dec7e55
Check for and remove dialogs with the key "undefined"
2023-08-01 23:16:06 +01:00
Dev
1bf3dba1a9
Add 1% chance all PMCs in players game are named after them with random prefixes
2023-08-01 13:31:58 +01:00
Dev
82de7c097d
Replace old "evil x" pmc name system with v2
2023-08-01 12:51:40 +01:00
Dev
11acbbc0f2
Add Production object if none exists prior to adding a production to it + Move functions around for consistency
2023-07-31 19:18:29 +01:00
Dev
a912f7c9cd
When bsg flea blacklsit is disabled, set all items as sellable on flea
2023-07-31 15:41:10 +01:00
Dev
59b2fc3602
Typo fix
2023-07-30 19:29:19 +01:00
Dev
5b7199b952
Update flea prices + Add sytem for adjusting unreasonable high mod prices on flea
2023-07-30 15:22:19 +01:00
Dev
6b8fadef40
Save trader standing changes post-raid
2023-07-30 11:30:31 +01:00
Dev
a514a94b45
Improve wording + Add missing properties from config
2023-07-29 10:16:03 +01:00
Dev
b25342d2f5
Log error when RAID_CONFIGURATION values cannot be found inside getBotDifficulty()
2023-07-28 17:11:18 +01:00
Dev
5a435b363a
25206
2023-07-28 10:01:14 +01:00
Dev
32b32e627b
Force afaks into PMCs secure container
2023-07-27 15:01:08 +01:00
Dev
8a26d3f807
Rework items added to container code, now stops after 4 failed attempts
...
Don't increment cost of loot container total value if item was not placed in container
2023-07-27 13:14:09 +01:00
Dev
2d57bdb0ef
Add option to force healing items into PMCs secure
...
Make bots heal to a 90% instead of 65%
Log when item cannot fit into container when genning bots
2023-07-27 12:15:06 +01:00
Dev
6581896e30
Revert 999 stack size of ammo in bots secure containers + set secure stack count to 20 instead of 15
2023-07-26 22:46:19 +01:00
Dev
ef03d546ce
Improvements to PMC gear variety + comment changes
2023-07-26 16:41:54 +01:00
Dev
76dce7a548
Nullguard across multiple dialogueController methods to prevent missing profile/dialog from killing client
2023-07-26 12:47:42 +01:00
Dev
06d39b26a9
Improvements to chat responses
...
Exit response code when gift code entered
Reply to additional keywords
Randomisd responses + added multiple
2023-07-26 09:38:33 +01:00
Dev
69f08d9f87
Improve comments
2023-07-25 21:14:18 +01:00
Dev
6e33a9c37e
Add functionality to fail quests on server after failing them in-raid, fixes failing colleagues part 3 by completing sadist
2023-07-25 20:37:45 +01:00
Dev
9e056cf8f3
Handle failing quests post-raid if they are now failed and were not pre-raid
2023-07-25 19:50:46 +01:00
Dev
0a1913ab49
Fix issue with completing Sadist
not failing Colleagues Part 3
...
Added fail state to colleagues p3
Reworked loop inside `getQuestsFailedByCompletingQuest()` to use .some() instead
Reworked `failQuests()` to check all fail conditions instead of just the first one
2023-07-25 19:20:17 +01:00
Dev
903dbdf432
Improve emulation of live tarkov data - Remove hideout data from bots that are not pmcs or pscavs prior to being sent to client
2023-07-25 17:44:23 +01:00
Dev
b16d849280
Only add player to users inside getProfilesForMail() if they dont exist
2023-07-25 15:59:39 +01:00
Dev
8178f40b5d
Comment improvements
2023-07-25 14:04:21 +01:00
Dev
38b921a7e4
Move gift checks into GiftService.sendPraporStartingGift
2023-07-25 11:17:54 +01:00
Dev
41b4bdc432
Fix bug that casued prapor to send new player gifts regardless of how old profile was
...
Surround gift sending code with gift recieved check first
2023-07-25 10:36:23 +01:00
Dev
1a80d3fab8
Prevent exception in gift existence check doesnt find a profile
2023-07-25 10:35:12 +01:00
Dev
fd365df8ba
FIx getGameConfig() failing on profile creation
2023-07-25 10:22:12 +01:00
Dev
4a491df965
Add stackObjectCount for camora slots on weapons
2023-07-24 21:44:00 +01:00
Dev
777ca0c8ef
Fix issue with PMCs generating with one cartridge in magazine + no cartridge in weapon chamber
2023-07-24 21:24:55 +01:00
Dev
7e60ea9d79
Remove dupe items from seasonal gear
2023-07-24 18:47:26 +01:00
Dev
070b9c7ad6
Send total in game time on game start
2023-07-24 16:38:28 +01:00
Dev
848302e769
Convert post-raid player status into an enum and update usages
2023-07-24 16:30:03 +01:00
Dev
ad576a937a
Comment improvements
2023-07-24 15:52:55 +01:00
Dev
5c6aafea51
Add enum for notification type
2023-07-24 15:19:31 +01:00
Dev
40149edeb2
axmc bot weapon generation improvements
...
Slight weapon variety improvement for PMCs
Only generate backpack loot if bot has backpack - reduces warnings during botgen
Move warning mesage to debug
Add sanitar medkit to pmc blacklist
Pass ur to warning message when endpoint body fails json validation
Pass sessionId into `locationController.generateAll()` to help modders when overriding function
Test - Added grizzly x5 to PMC secure containers to see if they heal more when damaged
2023-07-24 13:20:17 +01:00
Dev
f4047489eb
Clean up sptFriend generation code - reduce duplication
2023-07-23 12:30:15 +01:00
Dev
c5332986eb
Fixed issues with moving items to sorting table after opening sealed container
...
Also allow money from sold flea offers to enter sorting table
Remove unused addItem() from InventoryController
Add optional param to inventoryHelper.addItem() to allow use of sorting table, default = off
2023-07-23 12:29:00 +01:00
Dev
e84781be5f
Handle moving items into sorting table when stash has no space
2023-07-23 11:51:04 +01:00
Dev
253fd3a42a
Fix prapor gift system failure on new profile creation
2023-07-23 11:36:41 +01:00
Dev
89ab3a99a8
sealedWeaponContainer - Get random weapon preset if default preset not found
2023-07-23 11:27:04 +01:00
Dev
e4b9be3bea
Fix for ragfair failed offers killing profile
2023-07-23 10:47:38 +01:00
Dev
618a41fcd9
Add system to make prapor give giffts the first and second day after starting a fresh character
...
Add functionality to handle gift service to use locale ids instead of raw text
2023-07-22 23:23:42 +01:00
Dev
41ef304d97
Improve seasonal system to give gifts during event
...
Add additional equipment to PMCs when event is active
2023-07-22 20:07:58 +01:00
Dev
5071072092
Place fence seasonal item blocking behind config propery
2023-07-22 14:16:19 +01:00
Dev
a04113eaa1
Block seasonal items when not inside active season (christmas/halloween so far)
2023-07-22 14:11:47 +01:00
Dev
c3a4caa38a
Convert sptDev profiles quest starter email function to use mail send service
2023-07-22 14:02:13 +01:00
Dev
ab912f519f
Fix issue with trader ids not being propigated to the profile
2023-07-22 13:59:21 +01:00
Dev
00a2fbde22
typo
2023-07-22 13:37:40 +01:00
Dev
429d357e89
Correctly parse hours into second for quest code
2023-07-22 13:35:49 +01:00
Dev
a09c813358
Add extra check for messages from traders where dialog type is defined
2023-07-22 13:32:37 +01:00
Dev
25ea9afae4
Typo
2023-07-22 13:14:40 +01:00
Dev
f2caff3c70
Migrate ragfair returnItems() to use new mail send service
...
Some renames + comments
2023-07-22 13:13:01 +01:00
Dev
3526b2764a
Migrate quest fail to new MailSendService
2023-07-22 13:02:42 +01:00
Dev
f3e1dd59fb
Migrate quest controller to use new message service instead of dialogHelper
2023-07-22 12:56:15 +01:00
Dev
1617617cf2
Improve localisation to reduce confusion that server mods are loaded, not client and server mods
...
Small comment typo fix
2023-07-22 11:46:38 +01:00
Dev
de356f8f71
Fix bad ref
2023-07-21 19:37:51 +01:00
chomp
a7b4ebe316
Rework message sending to support gift system ( !106 )
...
Co-authored-by: Kaeno <e>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/106
2023-07-21 17:08:32 +00:00
Dev
a9e6d5d0fe
Stub out more of gift service + allow adjustment of sender for dialogs
2023-07-20 21:29:27 +01:00
Dev
4092ff7c9d
Add stub of gift service
2023-07-20 21:07:47 +01:00
Dev
67706f09fc
Fix missing import
2023-07-20 20:51:49 +01:00
chomp
e2a1b10989
Fixed bug to when talking with another user. Player messages shows like its being send from player instead of reciever. ( !105 )
...
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/105
2023-07-20 19:27:28 +00:00
Dev
c3232ac979
Refactor of InsuranceService
...
Add two methods to item helper, `getStaticItemPrice()` + `getFleaItemPrice()`
Changed how getItemPrice() works to return handbook price if its 1 rouble, not if its over 1
2023-07-20 16:04:26 +01:00
Dev
58063ce303
Fix incorrect comment
2023-07-20 14:02:53 +01:00
Dev
78d097498c
Update JSONs and add new properties to server interfaces
2023-07-20 13:53:44 +01:00
Dev
6edf331aff
Use corect type
2023-07-20 13:22:47 +01:00
Dev
a79a5f7aec
Allow modders to set item min/max stack size limits for any item on fence
2023-07-20 12:00:24 +01:00
Dev
d1d3674332
Localise warning messages
2023-07-19 13:16:45 +01:00
Dev
129fe0dc97
Localise server errors
2023-07-19 11:00:34 +01:00
Dev
d001fe8fb5
Adjust the secure container ammo stack sizes for PMCs to reduce chance PMCs run out of ammo
2023-07-18 19:14:52 +01:00
Dev
3cba3bfd4a
Additional types added to BaseClasses
2023-07-18 17:16:23 +01:00
Dev
3768742bc8
Improvements to varous types throughout the codebase
...
Added quest type as enum for IQuest
Added missing values to QuestReward enum
2023-07-18 16:53:15 +01:00
Dev
f28d6c2a6b
Added comments to various config files
2023-07-18 15:45:57 +01:00
Dev
942c079284
Rename all globals.ts interfaces to improve naming consistency
2023-07-18 15:44:14 +01:00
Dev
5b3e3e33df
extend MinMax for a number of interfaces
2023-07-18 15:18:01 +01:00
Dev
ca48f0e83c
Add property to location config to allow adding bot min/max spawn limits for maps
...
Limit marksman on customs/woods/streets between 2 and 4, woods to 2 and 5
2023-07-17 14:40:54 +01:00
Dev
02d43d491c
Save time spent in raid to profile
2023-07-17 09:36:10 +01:00
Dev
965e3efbc7
Handle additional events: ignore/set and ignore/remove
...
Pass full request object generateDialogueView instead of just id
Handle case when getting dialogue from profile that does not exist
Improve `getMessagePreview()` nullguard properties that may be missing
2023-07-15 15:01:23 +01:00
Dev
295ed59739
Additional code comments
2023-07-15 14:49:25 +01:00
Dev
5e3d3f5bd7
Rework generateAll() to not have hardcoded skip of "base" map + moved code around + varaible rename
...
Made generate() private
2023-07-15 11:58:35 +01:00
Dev
7a1140c229
Extract coder into function from updateProfileBaseState + log nickname on game start
2023-07-15 11:03:54 +01:00
Dev
ee3766aad3
Add SPT friend :3
2023-07-15 11:02:48 +01:00
Dev
18054e4004
Extract code into seperate functions inside ProfileController + add logger to class
2023-07-15 11:01:29 +01:00
Dev
5d20b6b781
Further comment improvements
2023-07-15 11:00:35 +01:00
Dev
76804c0326
Replace magic string with enum
2023-07-15 10:58:35 +01:00
Dev
2b6980358c
Moved keepalive code out of GameCallbacks and into its own function inside GameControler
2023-07-15 10:57:39 +01:00
Dev
c1e7c70c65
Remove unused getTemplateQuests
method
2023-07-15 10:56:47 +01:00
Dev
d2c2a39075
Add comments + improve comment consistency
2023-07-15 10:56:00 +01:00
Dev
195d0e3b1d
Add 'fixes' section to core.json, expose some flags for enabling spt fixes
...
Added flag to enable deletion of modded items from profile - default is off
Fixed issue where loop would stop checking for modded items after finding the first item
2023-07-15 10:53:08 +01:00
Dev
9288a59a77
Convert some privates to protected + some publics to protected
2023-07-15 10:45:33 +01:00
Dev
2df0d44de5
Add mock implementation for client/friend/request/cancel
endpoint
...
Addec comments
2023-07-14 13:03:55 +01:00
Dev
162709a5b0
Improve comments in gamecallback/controller
...
Move public functions to top of class
Use parameter property instead of hard coded string inside healthTreatment()
2023-07-14 12:55:32 +01:00
Dev
455bde264c
Improve offraidEat
...
use .find() instead of iterating over every item in player inventory
Return client error if consumable item not found + localised
2023-07-14 12:53:31 +01:00
Dev
0b68fb53e0
Add return type to comment
2023-07-13 17:32:50 +01:00
Dev
5ecf16f78c
Return correct type instead of any[]
2023-07-13 14:20:31 +01:00
Dev
7a16c7e998
Improvements to skill points given after performing actions:
...
Item crafting:
HideoutManagement skillpoints give
Intellect skillpoints given
Examining item:
Intellect given
Repairing weapon/armor
Intellect given
Cleanup of hideouthelper + reordering of functions
Flagged rewardSkillPoints() as dupe of PlayerService.incrementSkillLevel()
Flagged incrementSkillLevel() as dupe of QuestHelper.rewardsSkillPoints()
Need to decide which one wins
Added nullguards to incrementSkillLevel() + added optional multiplication by global skillprogression rate
Made it update last access timestamp
2023-07-13 10:26:47 +01:00
Dev
fd56bf040e
Convert hideout craft exp magic string into config value
2023-07-12 20:12:16 +01:00
Dev
218eb35ecb
Implement hallowen trader icon system
...
Rework DatabaseImporter.loadImages() to take additional parameter
2023-07-12 19:50:33 +01:00
Dev
ea270a95a5
Move hard coded gameversion/account type values into bot config
2023-07-11 11:58:26 +01:00
Dev
7bb93cdcaf
Add clarifying comment
2023-07-10 22:25:59 +01:00
Dev
503551c27e
Refactor getClientQuests
2023-07-10 15:48:49 +01:00
Dev
4b83046793
Update package versions where possible
...
Fix multi-type issue on ragfair tax calss
2023-07-09 19:40:05 +01:00
Dev
d0dcfc523b
Move event quest code into own function
2023-07-09 16:31:42 +01:00
Dev
dba6b5f629
Allow modifcaiton of the container airdrop will use (capacity etc)
2023-07-09 14:47:02 +01:00
Dev
ad6b94d8a9
Filter out event quests from data prior to sending them to player
...
Rework season service to use enum instead of magic strings for event names
Add config property to control showing/hiding non-seasonal event quests from player
2023-07-09 14:45:06 +01:00
Dev
cad5dcd679
Add missing quest assort unlocks to questassort.json
...
Add function to write to console what quest assort unlocks are missing
2023-07-09 11:33:43 +01:00