If a modded weapon includes non-existant items in some of its fields, sealed weapon crates had the potential to throw an exception on open due to not validating that all `LinkedDbItems` existed. This filters the list to only items that are found in the item DB
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/416
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Matched quest related interfaces with the types being used in quests.json. Also made some properties that weren't required into nullable types.
Co-authored-by: mBarneto <4347791+m-barneto@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/415
Co-authored-by: Mattdokn <mattdokn@noreply.dev.sp-tarkov.com>
Co-committed-by: Mattdokn <mattdokn@noreply.dev.sp-tarkov.com>
Reworked airdrop loot generation to incorporate 'radar' drops
Added `forced loot` system to LootGenerator service, can now explicitly define what items it contains
Fixed airdrop system sending incorrect icon to client
- Fixes exception thrown when attempting to transfer items during transit
- Implements transit item transfer by expanding on the existing BTR item transfer code (They are both BTR services)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/413
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Unlocks have a priority order, it will be filtered by whatever is first in the dictionary
e.g.
pistol: unlock level 20
weapon: unlock level 30
A pistol will be unlocked at level 20,
A shotgun will be unlocked at level 30
if the order was different:
weapon: unlock level 30
pistol: unlock level 20
The pistol would be unlocked at level 30 as its a weapon and gets picked up by the weapon filter first