* Fixup of some skill handling in hideout
* fix format
* add limited backwards compat and fix repair int value
* more logging and fixes
* fix charisma gain from repair
* revert divisor into multiplier
* run csharpier format
* undo formating/unnecessary files
* add debug guards
---------
Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
- Backups now have a cooldown, default of 30 seconds
- Backups now have a lock, in the event of a TOC/TOU race condition, the lock will stop duplicate backups
* 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>
* Fix mod SptVersion to be a range
- SptVersion and ModDependencies now use a Range instead of a set version
- Remove IsValid and IsValidRange checks from ModValidator, as invalid values will fail to parse into the strong types before this method is called
- Remove unused "AnySatisfies" and "IsValid*" methods from ISemVer
- Update TestMod to use Range types
* Formatting
---------
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
* First pass at Weather generation refactor
* Moved generation logic around
* Added seasonal variability support
* Expanded weather generation to use DI system and allow easier modding
* Updated weather weight values
Converted records into classes
* Added fallback when generator isn't found
* Fixed colliding lambda
Added method comments
* Cleanup of weather code
* Adjusted `weatherPresetWeight` values
---------
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
* Initial work
* add todo
* Fix up errors
* More work on CustomQuestService
* Fix mistake
* Remove cloning work, its cancer
* clean-up
* Use TryAdd as a guard
* localize errors
* remove unused exception
* fix using
* fix not passing logging params