* Initial work on moving container space checks into new class
* Updated tests
Wired up service to save item into inventory when space is found
Updated `FillContainerMapWithItem` to return outcome and not throw exception on failure
Add containers to bot when generating bot equipment
Clean bot cache after completion of loot generation
Removed redundant code from `AddItemWithChildrenToEquipmentSlot`
Removed unnecessary Singleton status from `BotInventoryContainerService`
* Clean-up of service
* Add botId xml docs
* Updated documentation for `FillContainerMapWithItem`
* Code review fixes and improvements
* Remove TODO
---------
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
Updated `GenerateBotWaves` to return empty results when request data is empty
Cleaned up `GenerateBotWave` to not need a manual lock
Improved `botRelativeLevelDelta` value in pmc.config
Updated `MatchBotDetailsCacheService` to store PMCs primary weapon tpl
* Make mod loading non nullable, set certain properties to be read only after init
- Breaks all mods, will require new nugets
* Make mod assembly list IEnumerable
* Convert checks to IsNullOrEmpty
* Update comment, enforce ModGuid
Now allows for per-map multipliers + pocket + vest loot uses same level-based value as backpack
labs multiplier = 2
labyrinth = 4
Removed nullability from some properties
Convert constructors into primary constructors
Simplified logic with use of ??, ??= and method groups
Cleaned up redundant conditional access qualifiers
* Updates `ModID` property to `ModGuid`
This will better align with what it's referred to elsewhere.
* Updated `ModGuid` Docblock
Updated the `ModGuid` docblock to reference the ideal use of reverse domain name notation.
* Updated `summary` to use `see` tag for reference link
* Updated `summary` to include line break
* Updated `summary` to include HTML line break