Commit Graph

448 Commits

Author SHA1 Message Date
Cj fd02ac0f0b Fix bundle hash duplicate key error 2025-11-09 13:27:00 -05:00
Chomp 656d6efd17 Fixed seasonal events using UTC time instead of server local time 2025-11-08 21:01:54 +00:00
Chomp c96aedf8d4 Fixed error in ValidateQuestAssortUnlocksExist 2025-11-07 13:24:18 +00:00
Chomp 76182ba411 Updatd GetWeeklyBoss to use prime number when generating seed 2025-11-06 14:12:37 +00:00
Chomp 73b710eb7d Removed unused code 2025-11-06 13:35:11 +00:00
Chomp 8ad953a224 Added system to semi-randomly rotate goon spawns across various maps
Removed knight from weekly boss system
2025-11-06 13:31:44 +00:00
Chomp 21102b7680 Disabled zombies during halloween
Enabled summon event during halloween

Added peacefulZryachiyEvent hostility settings for summon event
2025-11-04 22:56:53 +00:00
Chomp c13193d4c4 Updated ReplaceBotHostility to insert hostility section if botrole not found instead of skipping 2025-11-04 22:54:38 +00:00
Chomp de55d173ed Improved accuracy of resources removed from repair kits when used
Fixed invalid ID values being logged
2025-11-03 18:43:26 +00:00
Chomp 26856006ff Fixed repairkit resource values going into negatives 2025-11-03 17:37:39 +00:00
Chomp 5eae048d99 Fixed bug in GetPresetPriceByChildren where root item was having be a combination of static and dynamic price + fixed root item not always being found 2025-11-02 19:47:54 +00:00
Chomp 088e7a156c Do not apply ItemPriceMultiplier values to weapon price 2025-11-01 12:22:37 +00:00
DrakiaXYZ 96c7feff55 Merge pull request #675 from DrakiaXYZ/fix-zombies
Fix zombie spawns
2025-11-01 09:13:35 +00:00
Chomp 4070f866fa Added halloween event bosses to april event 2025-10-31 13:45:06 +00:00
Chomp ab882617d7 Generate weapon/armor price based on the child item price total 2025-10-30 22:13:53 +00:00
Chomp df068fb8bd ProfileDataService changes:
Added `ClearProfileData()`
Replaced filepath access with `Path.Combine`
Reduced various sources of duplication
2025-10-30 10:45:22 +00:00
DrakiaXYZ ef18c902dc Addd a new ReleaseCheckService to notify users of updates (#670)
* Addd a new ReleaseCheckService to notify users of updates
- Pulls the latest release from GitHub API to compare the tag against the users current SPT version
- Runs at the very end of the startup process to avoid being pushed off screen by mod logging
- Only notifies of patch version increments, not major or minor increments
- Links the release notes so users can Ctrl+Click to open directly to the upgrade page
- Is run on its own thread, and discards all errors, so as to not impact users without an internet connection or ability to access GitHub

* Formatting

* Use record for the ReleaseInformation class

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
2025-10-30 09:05:34 +00:00
Chomp b6b67e0ecc Enabled Night of The Cult bosses to spawn 2025-10-29 23:23:24 +00:00
Chomp 2aebb3643b Fixed incorrect logic 2025-10-29 23:19:37 +00:00
Chomp 15fbe958c9 Don't apply hostility changes to maps without zombies during halloween
`ReplaceBotHostiltiy` has optional map whitelist param
2025-10-29 17:01:57 +00:00
Chomp 88037291d9 Change BTR skin to tarcola during Christmas event 2025-10-27 13:32:46 +00:00
DrakiaXYZ 60acb23d72 Move cooldown check inside the lock for better thread safety (#663)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-10-26 17:27:30 +00:00
DrakiaXYZ 4e73778920 Fix multiple backups running at once
- 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
2025-10-26 10:17:26 -07:00
DrakiaXYZ d375879a3a Fix post-raid health (#661)
* 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>
2025-10-26 08:47:40 +00:00
DrakiaXYZ a524dc47dd Merge pull request #658 from DrakiaXYZ/fix-savecontention
Fix potential file access contention in SaveProfileAsync
2025-10-25 21:43:14 +00:00
DrakiaXYZ 47089afdd1 Further attempt to resolve profile corruption issues (#650)
* Further attempt to resolve profile corruption issues
- FileUtil now uses File.Replace and does a sync flush
- Add restore capabilities to BackupService
- If loading a profile fails, attempt to restore from the most recent backup
- Trigger a backup creation on raid start, raid end, and game close
- Load profiles before starting the backupService to avoid backing up corrupt profiles

* - Switch async calls to .GetAwaiter().GetResult() for better exception handling

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
2025-10-23 07:49:24 +02:00
DrakiaXYZ aa8911f5aa Add sanity checks to CustomItemService's AddToLocaleDbs method 2025-10-20 12:17:50 -07:00
Chomp 94d2a8d233 Lock existence check to prevent bots being generated without loot 2025-10-20 17:34:06 +01:00
Cj 37c900c8aa Always overwrite locales instead of reporting an error if the key exists 2025-10-19 16:40:45 -04:00
Cj fd47c47c3e Remove potential for deadlock in ProfileDataService 2025-10-19 01:13:46 -04:00
Cj 80b49eb077 Write profile data json indented 2025-10-19 00:28:45 -04:00
Cj 4f73860e66 Fix ProfileDataService adding the string to the cache instead of the object 2025-10-19 00:09:27 -04:00
Chomp 4ce5512d7d Added BotConfig.ReplaceScavWith to allow adjustment of scavs into other bot types 2025-10-17 10:53:25 +01:00
Chomp 2604db86e6 Fixed nullref error in FixProfileBreakingInventoryItemIssues due to BSG typo 2025-10-17 09:05:09 +01:00
DrakiaXYZ a98a5ce8a1 Discard duplicate item locale entry instead of throwing an exception 2025-10-16 18:19:08 -07:00
Chomp e9a6b5953d Flagged BotLocationModifier.AdditionalHostilitySettings as nullable 2025-10-16 21:09:34 +01:00
DrakiaXYZ 2d0713d94e Offset PMC spawns to start of raid when using a simulated raid start 2025-10-15 18:15:28 -07:00
Chomp a7798b1b27 Added comments to GetOffersOfType 2025-10-12 09:43:45 +01:00
Chomp a0937c2d33 Fixed gift code messages not working correctly 2025-10-10 17:43:15 +01:00
Chomp 48b41add00 Added dummy head to PMCs during Halloween event
Made `FIxDogtag` method protected
2025-10-10 10:54:13 +01:00
Chomp 310e8eee20 Fixed dogtag case not accepting all dogtag TPLs via FixDogtagCaseNotAcceptingAllDogtags call on server start 2025-10-10 09:41:32 +01:00
DrakiaXYZ b15d1e3034 Fix traders salessum not increasing on purchase
The chance of a PMC transaction ID overlapping with a trader is slim to none, but the request type can be multiple this for traders. Skip checking type, and validate just using the transaction ID
2025-10-08 16:29:20 -07:00
Chomp a5d98c1f61 Added offerListingTaxMultiplier to ragfair config and wired up. Defaults to off 2025-10-08 11:40:23 +01:00
Chomp 99891858cb Moved craft ids out of UnlockHideoutLootCrateCrafts into config 2025-10-04 13:32:48 +01:00
Chomp 0acb3cb9cc Moved shotgun tpls from FixShotgunDispersions to config 2025-10-04 13:22:06 +01:00
Chomp 6311f7a355 Renamed variable to improved clarity 2025-10-03 20:33:29 +01:00
Chomp 6e2286ca5b Added system to allow adjustment of static spawn weights via config
reduced `Power substation utility cabin key` on customs to 60% of original weight
2025-10-03 20:28:39 +01:00
Chomp cc745f4c46 Corrected ProcessBuyTradeRequestData transactionId to be Mongoid, updated associated code
Also moved TransactionId in `InsuranceRequestData` to be MongoId, updated associated code
2025-09-30 22:38:42 +01:00
Chomp d68a51f031 Fixed buying PMC offers from flea error #597 2025-09-30 22:05:41 +01:00
Chomp 836112dc50 Weather refactor (#596)
* 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>
2025-09-30 12:23:46 +00:00