Commit Graph

893 Commits

Author SHA1 Message Date
DrakiaXYZ
fcbd39c6b0 Remove delivered items from player insured items (!191)
This stops players from duplicating insured items via the BTR delivery service

Note: This does un-insure the item, I don't have any proof one way or the other for whether live causes the items to no longer be insured, but this was the easier solution to implement.

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/191
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-11 08:13:27 +00:00
Dev
3ef7e3218e Update loot data 2024-01-10 23:07:06 +00:00
Dev
219086d9bb Fix only one type of bot spawning 2024-01-10 21:08:00 +00:00
Dev
f66b2d04a9 Revert "This PR aims to resolves issue #280 (!190)"
This reverts commit e0e62d8e47.
2024-01-10 17:43:39 +00:00
Dev
dc1e172df0 Handle generating a fence armor item and a default plate is not found
Add extra plates to pool

Centralise plate-related checks into itemhelper
2024-01-10 14:47:09 +00:00
Dev
7ee3be1e2b Round completeTime property to integer to prevent client error 2024-01-10 14:10:03 +00:00
Dev
c918875a38 Fix view profile not showing correctly 2024-01-10 13:53:26 +00:00
Dev
9a4231d8b8 Rename function profileHelper.removeCompletedQuestConditionFromProfile() to removeQuestConditionFromProfile 2024-01-10 12:37:34 +00:00
Dev
297bc2786a Improve armor quest rewards
Attempt to return the armor preset found in globals.json first as this has default plates, if that fails construct item outselves based on mods _requried properties
2024-01-10 10:04:09 +00:00
Dev
55eae60329 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2024-01-10 09:14:11 +00:00
Dev
2fd2c677b7 Reduce usage of magic string inside getUserBuilds() 2024-01-10 09:13:34 +00:00
Mihai
e0e62d8e47 This PR aims to resolves issue #280 (!190)
Updated itemDelivery method in InraidController to filter out insured items from the items array using the insuranceService.
Added logic to exclude insured items from being sent as part of the delivery message to the player.

Co-authored-by: mihaicm93 <45673304+mihaicm93@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/190
Co-authored-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
Co-committed-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
2024-01-10 08:44:03 +00:00
Dev
f59041121b Fix plate filtering code not correctly handling when no plates of desired armor level are found 2024-01-09 23:46:57 +00:00
Dev
4078d7cc89 Fix plates not spawning on bots because of capitalisation 2024-01-09 20:16:49 +00:00
Dev
443d8da7f7 FIx server error when passing failed quest data to client 2024-01-09 18:46:44 +00:00
Dev
a9c36ec205 Fix issue with armors as quest rewards not being sent with soft inserts
Centralised a soft insert check into `ItemHelper`

Add extra base types to `generateGearPool()` in equipment bot pool service
2024-01-09 16:49:59 +00:00
Dev
154578dd44 Update randomisation config to specifiy its for weapon mods + add equipment mod adjustment system
Adjust PMCs to use more gear mods at higher levels
2024-01-09 16:15:31 +00:00
Dev
f3964639bd Rename mods to weaponMods and add new object equipmentMods
regenerate bot jsons to include this new data (includes correct inclusion of equipment slot "TacticalVest" which was previously missing)

Fix issue with PMM ammo causes generation issues
2024-01-09 15:31:56 +00:00
Dev
a742beeae9 Comment and property name cleanup inside removeDanglingTaskConditionCounters() 2024-01-09 12:27:08 +00:00
Terkoiz
98b0a579b3 Fixed achievement counters getting mistakenly cleaned up as stale quest counters (!189)
Fixes #273

Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/189
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-09 11:57:27 +00:00
Dev
01e63118c6 Rename function 2024-01-09 10:58:06 +00:00
Dev
bac86262d4 Improve handling of equipment mod generation 2024-01-09 10:30:00 +00:00
Dev
15d53a2d38 Fix armor in bot backpacks having no soft inserts
centralise code that adds mods to equipment into one location
2024-01-08 23:27:18 +00:00
Dev
5ffccddf94 Nullguard against missing properties 2024-01-08 21:17:23 +00:00
Dev
878284f108 Fix issue with insurance not returning soft inserts for armors 2024-01-08 21:16:53 +00:00
Dev
e18f75a60c Cast trader property to number before use 2024-01-08 21:14:13 +00:00
Dev
0c7cecdacd Add variable durability loss to armor plates sold by fence 2024-01-08 17:43:19 +00:00
Dev
0997c21ba3 Remove debug code 2024-01-08 17:39:28 +00:00
Dev
6dc4604a77 Update inventoryHelper.addItem() to account for items with children that have a upd object
This whole function is in dire need of a rewrite, its awful
2024-01-08 12:41:52 +00:00
Dev
507e8eeaa7 Improve comments 2024-01-08 11:35:20 +00:00
Dev
96f75fd744 Correctly remove item + children from fence assorts when running removeFenceOffer() 2024-01-08 11:34:52 +00:00
Dev
30507acd1b Add armor to randimisation list for PMCs 2024-01-08 10:22:24 +00:00
Dev
07b5ab432e Check for empty pool when adding mods to equipment during loot generation 2024-01-08 09:40:18 +00:00
DrakiaXYZ
3401b4094e Initial commit of trader services structure (!187)
- Only contains BTR taxi and delivery services
- Super basic implementation, client doesn't seem to need anything except the service type for these
- Includes handling of the BTR Item Delivery service

Basic implementation can be merged and expanded on later, doesn't break anything by existing (Hopefully)

I've opted to add the routes to the `InRaid` controller/Callbacks, because it is a route only accessed within the raid. Seemed like it would be the best place for it

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/187
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-08 08:51:46 +00:00
Dev
0b3ad5bbd8 Only send failed quest trader messages for non-repeatable quests 2024-01-07 23:51:28 +00:00
Dev
5eda074dbe Add comments 2024-01-07 23:11:18 +00:00
Dev
928e406b76 First draft of randomisd armors on fence 2024-01-07 22:11:05 +00:00
Dev
f0b9785d16 Add BTR_ITEMS_DELIVERY to enum MessageType 2024-01-07 21:21:20 +00:00
Dev
92e600e906 Improve logic for choosing an exit inside generateExplorationQuest() 2024-01-07 20:49:33 +00:00
Dev
628a3f71d8 Add comment 2024-01-07 20:20:25 +00:00
Dev
9cbf87b7c3 Remove redundant writeHead() call inside sendZLibJson() 2024-01-07 20:20:10 +00:00
Dev
6231a56fea Prevent duplicate items spawning in static containers 2024-01-07 20:17:07 +00:00
Dev
ed82e9ed2f Halloween event fixes 2024-01-07 19:29:42 +00:00
Dev
db13df89d9 Add plate filtering system based on bot level 2024-01-07 15:34:59 +00:00
Dev
c6135802be Refactor equipment mod parameters 2024-01-07 14:46:25 +00:00
Dev
749fc75a25 Add randomWeather/randomTime to inraidConfig 2024-01-07 12:56:57 +00:00
Mihai
3c32c8cc67 Addressed build failures by initializing an array properly as '[]' instead of 'undefined,' (!185)
Co-authored-by: Mihai <mihai@something.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/185
Co-authored-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
Co-committed-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
2024-01-07 07:40:16 +00:00
Dev
bd60cf51e2 Fix event system not working for events other than halloween and christmas
Allow events to overlap

Rename config property from `enableWinterEvent` to `forceWinterEvent`
2024-01-06 23:29:42 +00:00
Dev
9bc9d46e84 Improve function comments 2024-01-06 15:21:16 +00:00
Dev
52a5380c33 Add botRelativeLevelDeltaMin to pmc.json to allow configuration of lowest level of pmc relative to player 2024-01-06 15:19:04 +00:00
Dev
009055ad24 Add missing aid value to IUserDialogInfo 2024-01-06 13:49:48 +00:00
Dev
4e21239de3 Improve accuracy of view profile 2024-01-06 13:40:00 +00:00
Dev
8ef405e551 Correctly implemented:
`client/builds/delete`
`client/builds/equipment/save`
`client/builds/weapon/save`

Updated `defaultEquipmentPresets` json data

Removed old 0.13 preset implementation files

profile-breaking change
2024-01-06 11:11:04 +00:00
Dev
d3afe0b6f3 Fix issue with completing a quest
Altered `addTimeLockedQuestsToProfile()` to not fail when checked quest has no `target` property
Altered `getNewlyAccessibleQuestsWhenStartingQuest()` to check all statuses of quest, not just first
2024-01-06 09:11:04 +00:00
Dev
2de4164a93 Improve comments of getQuestsFailedByCompletingQuest() 2024-01-05 22:59:01 +00:00
Dev
9fb747f5f6 Only check and remove repeatable scav quests from scav profile 2024-01-05 22:55:19 +00:00
Dev
bd373a993d FIx handing in quests failing 2024-01-05 22:52:11 +00:00
Dev
861987406e Handle quest failures 2024-01-05 21:14:20 +00:00
Dev
9dbd3d1acf Updated server handling of quests/repeatable quests to match 0.14 changes - this will break profiles 2024-01-05 19:52:21 +00:00
Dev
3979e6ef61 Add handling for quest failing while player is at menu 2024-01-05 15:27:28 +00:00
Dev
b5951a147b Log request data when endpoint is missing 2024-01-05 14:50:27 +00:00
Dev
6da2ce2f74 Update quest data + improve quest type accuracy 2024-01-05 14:35:29 +00:00
Dev
1249b309cf Improve accuracy when handling client/achievement/statistic 2024-01-04 21:28:47 +00:00
Dev
c5bb09cce5 Persist achievement data from client into server profile on raid end 2024-01-04 17:17:11 +00:00
Dev
9eee25a175 Prevent server error when loot generator tries to find non-existent loot 2024-01-02 19:46:21 +00:00
Dev
90f82d0e03 Update map linkages 2024-01-02 19:12:11 +00:00
Dev
628d817348 Show error when missing caliber data in drawAmmoTpl() 2024-01-02 15:01:27 +00:00
Dev
6080c992b9 Fix snow event not spawning 2024-01-02 13:41:52 +00:00
Dev
224f921ea5 use different base class check 2024-01-01 11:33:19 +00:00
Dev
3437b70eaf Remove unused interfaces 2023-12-30 22:09:55 +00:00
Dev
c39e331423 Replace conditionCounters array with with TaskConditionCounters dictionary 2023-12-30 21:59:51 +00:00
Dev
eca799d606 Use correct dictionary for storing data in profile TaskConditionCounters instead of BackendCounters 2023-12-30 21:30:54 +00:00
Dev
ffc3a28dc8 Fix fillMagazineWithCartridge() failing to get a cartridge size when weapon is the rotating grenade launcher 2023-12-30 18:43:17 +00:00
Dev
bea2a5d30a Correctly add armor inserts into statically spawned helmets 2023-12-30 17:38:06 +00:00
Dev
a194569946 Basic implementation for viewing other profiles 2023-12-30 16:41:20 +00:00
Dev
d72fd3fa24 Add base BTR trader server code 2023-12-30 11:21:19 +00:00
Dev
78c53f36d8 Improve post raid type data accuracy 2023-12-30 10:45:37 +00:00
Dev
81393fb629 Improve error logging in weapon gen 2023-12-30 10:45:12 +00:00
Dev
6a8d8258dd Update getProfileStatus() to make live 2023-12-29 23:24:23 +00:00
Dev
11e64eacab Add achievement storage to profile on creation 2023-12-29 23:06:57 +00:00
Dev
22a4ba3643 make account id closer in style to live 2023-12-29 22:53:16 +00:00
Dev
ca7958afed Implement Place of face hideout area
Implement adding/removing favorite items
2023-12-29 20:22:50 +00:00
Dev
d1b9cbbfc5 Enable snow for christmas/new years 2023-12-29 19:09:03 +00:00
Dev
70dcafc6ba Add new years 2023 gift 2023-12-29 17:18:28 +00:00
Dev
5a57895998 Fix server error when adding lootable armor to raid 2023-12-29 17:13:48 +00:00
Dev
6d4314c5d8 Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/src/models/enums/BaseClasses.ts
2023-12-29 15:49:30 +00:00
Dev
8c546bd1a8 Add new base classes and update name of ARMORED_EQUIPMENT 2023-12-29 15:48:25 +00:00
CWXDEV
b1c3e5b310 Add builtInInserts to baseclasses and remove from flea offers 2023-12-29 15:33:43 +00:00
Dev
8e2ad5697e Add armorColliders type 2023-12-28 21:39:46 +00:00
Dev
e27f52c505 Added system to randomise the mods on equipment found as loose/static loot
controlled via config
2023-12-28 21:31:31 +00:00
Dev
ec263acb96 Add armor plates to various bots
Fix rigs mods not being generated for PMCs
2023-12-28 18:57:02 +00:00
Dev
17c4d6cec0 Rework on equipment generation to process mods on an item if the item supports them instead of if the bots mods array has mods
Add new bots to bot.json
2023-12-28 18:36:37 +00:00
Dev
7b13f69f18 Handle when no data exists for a map without killing server 2023-12-28 15:13:29 +00:00
CWXDEV
d5d15d64a7 fix order 2023-12-28 13:15:43 +00:00
CWXDEV
5b2b8dc2fb add achievement images 2023-12-28 12:36:27 +00:00
Dev
b4ca22a0d5 Typo fix 2023-12-28 12:22:06 +00:00
Dev
c1f8cee19f Fix issues with mag tempalte saving 2023-12-28 12:19:52 +00:00
Dev
8dc322180f Implement magazine template saving 2023-12-28 12:02:37 +00:00
CWXDEV
d49a9da751 check for null on conditionCounters 2023-12-28 11:30:36 +00:00
Dev
f3fee2bc39 Update bot difficulties + fix various mod errors 2023-12-28 10:58:29 +00:00
Dev
422a817360 Remove unused code 2023-12-28 08:48:40 +00:00
Dev
31198120a1 Add missing param 2023-12-28 00:07:41 +00:00
Dev
06c60b9fd9 Log bot role on error 2023-12-28 00:06:45 +00:00
Dev
369a8a6cca Begin work on updating equpiment code to handle required mods 2023-12-27 23:29:37 +00:00
Dev
fa01f1c2ae Add armor plates to default profile
Implemented 2 achievement endpoints
2023-12-27 22:43:42 +00:00
Dev
db296499e9 Fix profile ids being prepended with pmc/scav killing game load 2023-12-27 22:01:30 +00:00
Dev
8bd4a31c1e Remove more code 2023-12-27 20:32:22 +00:00
CWXDEV
488bc9dbf3 fix buildscallbacks 2023-12-27 20:22:53 +00:00
Dev
b6813141fd Changes to get closer to main menu 2023-12-27 20:19:17 +00:00
Dev
01127d651e Fix app context 2023-12-27 20:08:57 +00:00
Dev
c3bddbbad2 Add TaskConditionCounters to profile and favorite array 2023-12-27 19:52:35 +00:00
Dev
dccb356f62 Add missing property 2023-12-27 19:12:42 +00:00
Dev
99eaeeb63b Set winterEventEnabled value on start 2023-12-27 18:55:58 +00:00
Dev
b76d5b142c Add achievement files 2023-12-27 18:34:35 +00:00
Dev
9e55a52965 update quest objects and implement get achievemetns 2023-12-27 17:15:38 +00:00
Dev
87b177586e Add new properties to IGlobals 2023-12-27 16:30:26 +00:00
Dev
5eaca29a50 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/assets/configs/bot.json
#	project/assets/database/locations/shoreline/base.json
#	project/assets/database/locations/tarkovstreets/base.json
#	project/assets/database/templates/handbook.json
#	project/assets/database/templates/items.json
2023-12-27 16:08:54 +00:00
Dev
89c4dfde35 Update JSONs 2023-12-27 15:59:43 +00:00
Dev
b70ef6df39 Stub out various endpoints 2023-12-27 15:05:07 +00:00
Dev
db70e8e4bc Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/assets/configs/core.json
#	project/src/controllers/DialogueController.ts
2023-12-27 11:24:49 +00:00
Dev
f9a1d117ea prevent client/quest/list handler from showing quests from traders who no longer exist 2023-12-26 16:26:15 +00:00
Dev
538a5f2807 Fix Czech locale not being picked up correctly 2023-12-26 15:55:50 +00:00
Dev
6caf97d7ee Flag items given as FiR
Fix weapon preset reqeust not returning more than 1 item
2023-12-25 13:22:31 +00:00
Alex
0ade8f4b9c Added configs and simplification to ChatBot (!180)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/180
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-25 08:38:42 +00:00
Alex
26a6553eaa Add customizable chat bots and chat commands (!179)
* Use ICommandoCommand interface to register a new command for Commando! Our new and shiny chat bot that takes care of all your commanding needs
* Use IDialogueChatBot to register you new chatty friend bot!
* If you are feeling lazy, you can also use the ISptCommand and register a command that will use "spt" prefix
* spt give command has been added! Feeling like cheating today? hehe use "spt give tplId quantity" and get a new shiny item on your inbox!

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/179
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-24 19:54:27 +00:00
Dev
ea2257c2fb Add function to allow addition of custom weapons to PMCs 2023-12-24 16:06:18 +00:00
Alex
66f04f194a Added config to compress profile (zero to none performance difference on high end CPUs) and debug time measurements for load/save times (!178)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/178
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-22 09:27:15 +00:00
TheSparta
4f8670c657 Reworked LinkedList and Queue
- Reworked LinkedList and Queue
- Written tests for LinkedList and Queue
2023-12-21 22:27:19 +00:00
Dev
c7572fdaf2 Improve accuracy of total game time 2023-12-21 22:12:55 +00:00
Dev
8b287267d5 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2023-12-21 10:21:08 +00:00
Dev
f451920fb7 Show error when item not found in player inventory when handing over items for quest 2023-12-21 10:15:57 +00:00
Dev
956397864c Fix items disappearing after repair 2023-12-21 09:31:07 +00:00
Dev
72e4d91185 fix server start error 2023-12-21 09:12:15 +00:00
Dev
b993226296 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/src/callbacks/DialogueCallbacks.ts
#	project/src/callbacks/MatchCallbacks.ts
#	project/src/callbacks/NotifierCallbacks.ts
#	project/src/controllers/InventoryController.ts
#	project/src/controllers/MatchController.ts
#	project/src/routers/static/RagfairStaticRouter.ts
2023-12-21 09:07:23 +00:00
Dev
0de6f201fe Fix exploit where FiR status was preserved when merging non FiR items into a FiR stack 2023-12-20 19:48:26 +00:00
Dev
b5a3f2fe32 Additional tye improvements 2023-12-20 00:27:27 +00:00
Dev
6930267d8b Add various missing types 2023-12-20 00:17:27 +00:00
Dev
cf782a8fcb Add endpoint client/ragfair/offer/findbyid 2023-12-19 23:52:39 +00:00
Dev
90324ed343 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/assets/configs/core.json
#	project/package.json
#	project/src/generators/RagfairOfferGenerator.ts
2023-12-19 17:31:19 +00:00
Dev
c2cd9ff895 Fix code error in clearValues() 2023-12-19 17:21:22 +00:00
Dev
8a964aef29 improve IScavRaidTimeLocationSettings comments 2023-12-19 13:23:27 +00:00
Dev
2f3202b921 Skip insured items in special slots being returned on death 2023-12-18 23:08:27 +00:00
Dev
8853159b55 Fix player offers being expired before checking if they were sold 2023-12-18 22:32:46 +00:00
Dev
6b82663ee1 Fix items with a condition property not being correctly classified by ragfair code 2023-12-18 11:18:13 +00:00
Dev
799690d2a6 Clone the preset data prior to pushing into reward away - prevents preset being later modified 2023-12-17 22:42:26 +00:00
Dev
9e95e1bbac prevent random ammo stacks going above 60 2023-12-17 22:36:47 +00:00
Blurr
0fb1c33edb Added missing AmmoTypes (!177)
Had them to hand from a recent mod, so gathered might as well add them. All hashes were originally gathered from https://db.sp-tarkov.com/

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/177
Co-authored-by: Blurr <blurr@noreply.dev.sp-tarkov.com>
Co-committed-by: Blurr <blurr@noreply.dev.sp-tarkov.com>
2023-12-17 14:24:28 +00:00
chomp
1cf8b1ec9b flea-sell-changes (!176)
Co-authored-by: Shibdib <shibdib@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/176
2023-12-17 10:36:54 +00:00
Dev
10b88b54b3 Add guard to fillMagazineWithCartridge() to prevent bad mod data breaking server 2023-12-16 22:23:50 +00:00
Dev
66630a5fc6 Improve comments 2023-12-16 21:59:30 +00:00