* Fix post-raid health
- Re-add death penalty for limbs
- Correctly set body part HP to 1 for cursed death only
- Use the server profile body part max HP for calculating penalties
- Never modify the body part max HP on the profile
- Remove ResetMaxLimbHp as it's unnecessary if we never update max HP elsewhere
* Formatting
* Remove unnecessary null coalescing
* Stupid formatting
---------
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
* 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>
Trader assort generation performance improvements
Removed use of recursion inside `FindAndReturnChildrenByAssort`
Created extension method `CreateParentIdLookupCache`
Reduced number of enumerations of `itemWithChildren` inside AddItemWithChildrenToEquipmentSlot()` by converting children to list at start of method
Applied additional filtering to child items collection inside `GetContainerItemsWithChildren()`
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
* Bundle loader refactor
- Made async
- Validate if bundle actually exists, if not throw warning into the console
- Updated mod example
* Cleanup unused var
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