Moved value into config
Added `botConfig.botRolesThatMustHaveUniqueName`
Refactored `getPmcNicknameOfMaxLength()`, removed all recursion + handles when no name is below desired length
Refactored `generateUniqueBotNickname()` to handle PMC names differently, use centralised pmc name function
Updated ragfair to utilise maxlength value from bot config
Now uses blacklist data from bot.json when picking equipment mods
Equipment gen now passes same BotData object as weapon mod gen
Pass botEquipmentRole via request object instead of calculating it every item slot
Fixed `getFilteredDynamicModsForItem()` being hard coded to use first blacklist object regardless of which one matched the bot level
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
Added support for weapon/armor rewards
Added support for variable stack sizes (only ammo for now)
Added support for breaking out of reward item while loop if no item is found (5 attempts max)
Added helper function `itemHelper.getRandomisedAmmoStackSize()`
Moved code into own function
Expanded force stock check to look for any child items instead of ones for slot `mod_stock`
Expanded check to include additional slot names
Previously `highestValue` could be lower than `lowestValue`, resulting in an exception. These values are now generated in the same method and clamped
Add a catch to the botgen promise await so we get more useful errors if botgen fails
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/388
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
(cherry picked from commit ee1eb7d690)
Added item reward pools for `Unlocked equipment create (x)`
Added support for weapon/armor presets inside `getRandomLootContainerLoot()`
Expanded pool for `Unlocked valuables crate (x)",` by 8 items