Commit Graph

95 Commits

Author SHA1 Message Date
Archangel 0280815fbc Handle active profiles not existing if server is closed while client is running 2025-06-24 17:44:01 +02:00
chompDev 81766c7a1b .NET Format Style Fixes 2025-06-24 15:26:57 +00:00
Chris Adamson b8f33e5a90 null check for new profiles with no raid data 2025-06-23 19:48:03 -05:00
Chomp e0975c6958 Localised various error and warning messages 2025-06-23 11:38:26 +01:00
Cj b3dca61ac0 Break rest of repeatable quest generation code into components. Fix nullability of exploration generation and improve error handling, make new helper method, add pick random quest type method to controller (#419) 2025-06-23 10:03:56 +01:00
chompDev 1520cfadc3 .NET Format Style Fixes 2025-06-22 11:48:07 +00:00
Chomp 4b29aaf9d6 Fixed hideout area upgrades softlocking client when upgrading areas with containers
Removed unused injections

Renamed field to `_areasWithResources` and converted into hashset
2025-06-22 12:47:34 +01:00
chompDev ae417899b1 .NET Format Style Fixes 2025-06-22 10:33:34 +00:00
Chomp 7dde75053d Fixed Exploit - Selling item for any value when no other offers existing for item
`GetItemMinAvgMaxFleaPriceValues` ran after `CreatePlayerOffer`, resulting in the average price values using the players offer, skewing the results
2025-06-22 11:32:59 +01:00
Cj d68228b5c9 Quest config nullability and documentation (Part 2) (#415)
* Make Interp1 generic

* Finish quest controller nullability fixes

* More model and nullability improvements and fixes

* Rename `specificLocationChance`

* rename `bodyPartChance`

* finish comments
2025-06-22 09:04:45 +01:00
Archangel f7782e1b1a Begin cleanup of quest model & nullability in Quests & Achievements 2025-06-20 14:24:58 +02:00
Cj 445243aad5 Task: Quest config changes Part 1 (#407)
* Remove nullable and add properties, make side use an enum instead of a string.

* remove double semi-colon

* fix comment
2025-06-20 08:48:12 +01:00
refringe 6e01428b2b .NET Format Style Fixes 2025-06-18 17:09:20 +00:00
Chomp e869f6ebef Refactored ragfair code for improved readability 2025-06-16 13:00:06 +01:00
Chomp 4cc0d98a6a Removed PMC level check for repeatable Quest pool generation #395
they will always generate for both GZ variants
2025-06-15 09:14:53 +01:00
Chomp 5c83bf3925 Repeatable code cleanup 2025-06-15 09:03:39 +01:00
Chomp 8d0c9999bc Improved comments inside RemoveResourceFromArea 2025-06-14 11:44:14 +01:00
Chomp 6804258a1d Improved nullguard inside RemoveResourceFromArea + changed warnings to errors 2025-06-14 11:39:27 +01:00
Chomp 8754690748 Cleaned up logic inside AddContainerImprovementToProfile + Added nullguard 2025-06-14 11:31:51 +01:00
Chomp cc1196717c Fixed easy start profile templates lacking a Place of Fame stash #386
Fixed hideout stash item upgrades not being correctly sent to client
2025-06-13 13:22:45 +01:00
Jesse 83f629b407 Fix up AchievementController (#389)
* Stop blacklisted achievement profiles from counting up to total profile count

* Properly calculate percentage of profiles having achievements
2025-06-10 20:36:13 +01:00
Jesse 2c52012740 Further async changes (#387)
* Further async changes
- SaveServer & Backup Server are now async
- Anything that ties in with SaveServer saving (Such as callbacks) are now async
- Various async util methods added
- Removed two wrapper methods and switched code over to use the actual method

* Update test
2025-06-09 20:09:12 +01:00
Chomp 8179e5c86b Localised strings
Improved nullguards
2025-06-09 14:45:47 +01:00
Chomp d9132e5325 made class props readonly
Removed unused injections

Removed unnecessary .ToLower()
2025-06-09 11:47:49 +01:00
Chomp 57c9ff477e Localised various error messages 2025-06-09 09:35:47 +01:00
Chomp 609bad2431 Fixed selecting 'delete messages' on a dialog failing #378 2025-06-08 16:18:18 +01:00
Chomp e1588f8c8b Fixed profile viewing of other players throw null errors #377 2025-06-08 16:00:07 +01:00
Chomp 1d5162c761 Various changes and fixes for things that have been bugging me
Removed/flagged unused props
Typo fixes
Use `FirstOrDefault` over direct index access
Log stacktrace on exception inside `CreateWeaponItems`
2025-06-08 10:40:40 +01:00
Chomp 3a2f68a232 Fixed issues relating to gift codes with profile modifications
Updated enums to match client formatting and ids
Added `SkillClass` enum

#368
2025-06-07 23:08:21 +01:00
Chomp 2d67d8002b Send string representation of notification type enum to client to let profile changes work #368 2025-06-07 19:50:46 +01:00
Chomp fb31786ee2 Updated profile templates to be a dictionary, cleaned up all uses of it throughout code
Added `profileHelper.GetProfileTemplateForSide`
2025-06-07 12:17:28 +01:00
Chomp e444a9a3b6 Small optimisation of GetOffers()
Only process the paginated trader offers before sending to client
2025-06-07 10:40:27 +01:00
Chomp 5b29ce761b Added resasonable defaults for call to _ragfairSortHelper.SortOffers 2025-06-07 10:31:22 +01:00
Chomp 3df2fdfc0f Added edge-case handling to flea offer results pagination, stops server trying to get offers starting at a higher index than the end position
Moved pagination code into own function
Resolved various IDE warnings
Added comments
2025-06-07 10:19:24 +01:00
Chomp 969e94975e Fixed hideout OnUpdate not triggering correctly 2025-06-05 13:52:27 +01:00
Chomp ecad23cd31 Improved ExtensionData checks, moved closer to source 2025-06-05 08:28:13 +01:00
Chomp 37bd3a433c Handle various locations where ExtendedData causes issues 2025-06-04 21:28:29 +01:00
Chomp 112afd3391 Fixed flea logic that prevented offers being listed for complex items (items /w children)
`GetItemsToListOnFleaFromInventory` would not keep the root item at index 0, client requires this

`FindAndReturnChildrenAsItems` now inserts root item at index 0
`CreateMultiOffer` now looks for root item by its id

Updated `CreateSingleOffer` to not choose first inventory item as root, search for it instead

Fixes #318
2025-06-04 17:30:26 +01:00
clodanSPT cab8fa82a2 Json extension data fody (#340)
* Added a new Fody plugin to add to every model class the JsonExtensionData attribute

* retargeted fody plugin to netstandard for msbuild runtime

* Fixed runtime issue

* Fixed property check for new extension data properties

---------

Co-authored-by: Alex <clodanSPT@hotmail.com>
2025-06-02 12:15:44 +01:00
CWX 360a59a585 only return dialogues that have messages, and on new dialogues, return empty object as does live 2025-06-01 23:43:50 +01:00
Archangel 4e3c755e90 Remove AppContext, store profile related data in ProfileActivityService 2025-05-30 19:36:23 +02:00
Archangel c930197942 Cleanup AppContext 2025-05-29 23:50:06 +02:00
Cj 74cc1ac300 Move repeatable quest code into repeatable controller 2025-05-29 14:56:14 -04:00
Chomp 2902b757e6 Added nullguard check to SaveActiveModsToProfile 2025-05-27 17:17:23 +01:00
Chomp 64885dd6a2 Surrounded call to AddTaskConditionCountersToProfile with null check inside AcceptQuest 2025-05-27 16:39:37 +01:00
Chomp e0cceab7fa Added nullguard to GetLoadedServerMods() 2025-05-27 16:27:23 +01:00
hulkhan22 aef3a4202f Fix presentation of messages with items (rewards & insurance returns) (#265) 2025-05-21 22:29:34 +01:00
Chomp c39ab9e1e7 Improved nickname validation code clarity
Improved accuracy of 2 responses:

`client/game/profile/nickname/validate`
`client/game/profile/nickname/change`
2025-05-21 16:09:11 +01:00
Chomp a3be7f25db Improved consistency in property access throughout GetMiniProfile()
Renamed parameter for consistency
2025-05-21 15:52:40 +01:00
hulkhan22 8ad9afebaa fix: Insurance removing unremovable parts - #196 (#260)
* Fix insurance removing unremovable parts

* Mini optimization
2025-05-20 10:50:27 +01:00