Commit Graph

171 Commits

Author SHA1 Message Date
DrakiaXYZ d2e2f04c93 Merge 4.0.3 changes to main (#674)
* Fix exception sometimes thrown on save
- Switch back from File.Rename to File.Move, as Rename is throwing exceptions on some users systems

* Change BTR skin to tarcola during Christmas event

* Added comment

* Remove unused using

* Add wipe Response model

* formatting and add Wipe Endpoint to V2

* Format Style Fixes

* Merge pull request #669 from sp-tarkov/Assembly-ref-validation

Validate core assembly reference when loading mods

* removed zombies from customs and interchange + increased infection across other maps that have zombie kill quests

* Don't apply hostility changes to maps without zombies during halloween

`ReplaceBotHostiltiy` has optional map whitelist param

* Updated hostility values for maps with infection:
bosses = hostile to player not to pmc bots
followers = hostile to player not to pmc bots
pmcs = hostile to player + always hostile to scavs
scavs = hostile to player and pmc bots
raiders = hostile to player and pmc bots

Adjusted infection rates to just maps with zombie kill quests

* Format Style Fixes

* Added missing values for event bosses

* Format Style Fixes

* Added missing values for `ravangezryachiyevent`
Fixed preset typo `bossTagillaAgro`

* Format Style Fixes

* Flagged `Night of The Cult` as halloween quest

* Fixed incorrect logic

* Enabled `Night of The Cult` bosses to spawn

* Format Style Fixes

* 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>

* ProfileDataService changes:

Added `ClearProfileData()`
Replaced filepath access with `Path.Combine`
Reduced various sources of duplication

* Adjusted `Goons` spawn chance to 20% across `Customs/Lighthouse/Woods/Shoreline`

* Account for compound items in DialogHelper.GetMessageItemContents

* Generate weapon/armor price based on the child item price total

* Added halloween event bosses to april event

* Flagged infected spawns as `ForceSpawn` and ``

* Add migration for invalid pockets

* Default assign IEnumerable

* Post raid effect fixes:
When exiting raid with severe muscle pain, prevent client instructing server to add mild muscle pain
When exiting a raid with effect that has a timer, decrease timer value by amount of time spent in raid

* Updated nuget packages

* Fixed player scav not having correct HP values on limbs #642

* Remove unused record

* Revert "Updated nuget packages"

This reverts commit f6d9d461a6.

* Added `IMP mine detector` to reward and flea blacklist

* Fixed weapon builds not overwriting existing #654

Cleaned up `SaveWeaponBuild` and `SaveEquipmentBuild`

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
Co-authored-by: CWX <CWXDEV@outlook.com>
Co-authored-by: sp-tarkov-bot <singleplayertarkov@gmail.com>
Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Co-authored-by: Tyfon <29051038+tyfon7@users.noreply.github.com>
Co-authored-by: Archangel <jesse@archangel.wtf>
2025-10-31 14:55:07 -07: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
GrooveypenguinX 07aa4c8977 Implemented Modded Trader Customization Services (#660)
Co-authored-by: GrooveypenguinX <jakechase2110@gmail.comX>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-10-26 08:49:39 +00: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
Chomp 97a41369d9 Improved comment 2025-10-20 15:37:24 +01:00
Chomp 8aa29bf22b Merge branch 'disable-gc-requests' of https://github.com/sp-tarkov/server-csharp into disable-gc-requests 2025-10-20 11:20:39 +01:00
Chomp af9160c94d Use specific exception 2025-10-20 11:20:14 +01:00
clodanSPT 18e6d9174b Merge branch 'develop' into disable-gc-requests 2025-10-20 12:15:16 +02:00
Alex 3972e14840 Added NoGCRegion feature 2025-10-20 11:05:58 +01:00
Cj f3f91e37b7 remove unused record 2025-10-20 04:22:49 -04:00
Chomp 4ce5512d7d Added BotConfig.ReplaceScavWith to allow adjustment of scavs into other bot types 2025-10-17 10:53:25 +01:00
DrakiaXYZ b416d7109a Fix launcher not showing mods
Convert `Version` and `SptVersion` to strings when serializing JSON for AbstractModMetadata
2025-10-11 22:44:27 -07:00
Chomp a5d98c1f61 Added offerListingTaxMultiplier to ragfair config and wired up. Defaults to off 2025-10-08 11:40:23 +01:00
DrakiaXYZ c756479239 Fix mod SptVersion to be a range (#605)
* 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>
2025-10-07 15:56:48 +00: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
Cj cf29c7bde3 Merge pull request #601 from sp-tarkov/repeatable-completion-quests
Repeatable completion quest level ranges
2025-10-02 19:02:05 +00:00
Chomp ba4e8d9c14 Removed password from profiles
Added migration to remove password property from profiles
2025-10-02 09:56:51 +01:00
Cj 040b4cd618 Repeatable quest warning fixes 2025-10-01 05:12:20 -04:00
Cj c95446bb20 Implement level ranged Exploration objective generation 2025-10-01 02:58:20 -04:00
Cj e57f03bd28 - Add min extract requirement property
- Fix warnings
- Convert string to mongoId
2025-10-01 01:51:57 -04: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
Chomp 79e023392b Implemented CoreBot type
Enabled 'rudans' patrol flag in Christmas event
2025-09-29 09:33:16 +01:00
CWX c67153b517 change sig on version response 2025-09-23 15:12:19 +01:00
CWX ca28cb2926 Update Profile v2 endpoint to use miniprofile and allow v2 endpoint to get miniprofile from only loginrequest 2025-09-19 18:46:05 +01:00
Chomp 55b819e1ec Removed GetItemRarityMultiplier, the values in items.json are garbage and should not be used
Added system to add multiplier to items that are used to craft in the hideout
2025-09-18 23:35:27 +01:00
Cj 10566f2fc4 Remove old clothing service code, BSG changed how it works. Leaving it to modders. 2025-09-18 13:36:37 -04:00
Chomp e8897886d2 Added an item type price multiplier override to GetFleaBasePriceMultiplier
All keycards now use a `2.5` multiplier, not just the red keycard
2025-09-18 14:03:28 +01:00
Chomp 1ef9ebd88a Added system to generate item flea base prices based on handbook value 2025-09-16 22:24:35 +01:00
Cj 11ae50875a Custom quest service (#589)
* 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
2025-09-14 09:20:25 +01:00
Chomp 3af494317c Reduced number of params throughout bot generation process 2025-09-08 16:41:25 +01:00
Chomp 4a3387bd50 Store tpls in config as MongoIds 2025-09-08 15:39:01 +01:00
Cj fafbfeb291 Remove load order/sorting from ModLoader (#584)
* - Remove modloader sorting
- remove order.json
- remove LoadBefore and
LoadAfter
- Remove unused var
- Remove unused locals
- Rename vars
- localize new warnings

* revert test change
2025-09-05 09:03:02 +00:00
Chomp e5d0af3890 Formatting and naming consistency changes 2025-09-02 14:27:10 +01:00
Archangel 7e2e3db3fd Change property naming to be more consistent (#578) 2025-08-28 15:32:02 +02:00
Chomp c40439d04f Updated core difficulty code to use JsonElement 2025-08-23 10:30:26 +01:00
Archangel 95e632e66b Fix up SettingsBase model 2025-08-22 15:17:28 +02:00
Alex e226abc029 Fixed Settings model 2025-08-21 13:39:17 +01:00
Chomp 600a9c12b1 Merge branch 'develop' of https://github.com/sp-tarkov/server-csharp into develop 2025-08-21 10:47:57 +01:00
Chomp 86c454645c Fixed incorrect type 2025-08-21 10:47:43 +01:00
sp-tarkov-bot 48b00a2814 Format Style Fixes 2025-08-21 09:46:00 +00:00
clodanSPT d14e7cc155 Added ceciler patch to add jsonextensiondata (#565)
Co-authored-by: Alex <clodanSPT@hotmail.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-08-21 09:45:07 +00:00
Chomp a09f368d11 Updated settings.json properties 2025-08-21 10:38:43 +01:00
Archangel e9d76400b2 Further work out dialogue endpoint 2025-08-21 07:25:21 +02:00
Archangel 2387775be0 Fix up new endpoint 2025-08-20 20:17:43 +02:00
Chris Adamson 457e7cd36c Fix: Killing the client will no longer save your items (#557)
* alt-f4 is for timmys and rats, not chads like Chomp

* peer review fixes

---------

Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-08-19 16:39:20 +00:00
Chomp 7102711ef8 Improved comment 2025-08-19 10:30:57 +01:00
Chomp bb566e32ad Fixed pscav generation failure during prestige #556 2025-08-19 10:28:50 +01:00