Commit Graph

170 Commits

Author SHA1 Message Date
chompDev 04e648d862 .NET Format Style Fixes 2025-06-24 13:18:36 +00:00
Chomp c8f9769ad7 Added 2 handlers for locations and skills keywords 2025-06-24 14:17:56 +01:00
chompDev 059a86b773 .NET Format Style Fixes 2025-06-23 12:37:06 +00:00
Chomp 7511597c9e Added clearer check for expired player offers 2025-06-23 13:36:26 +01:00
chompDev f15440aa82 .NET Format Style Fixes 2025-06-23 09:08:42 +00:00
Chomp fec51f824c Fixed flea offers not filtering by currency 2025-06-23 10:08:05 +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 6820d7b8be .NET Format Style Fixes 2025-06-22 19:51:53 +00:00
Cj 811791f7d3 Repeatable quest generation (Part 1) (#417)
* Refactor and breakout CompletionQuestGenerator.cs

* make `GenerateAvailableForFinish` protected
2025-06-22 20:51:18 +01:00
Chomp 34d4de1d54 Fixed nullref in loot generation when Location has no item limits 2025-06-22 08:35:58 +01:00
Chomp 21bd868abe Added ability to track loot items and prevent more than a pre-defined amount from spawning
Replaced `location.json` `forcedLootSingleSpawnById` with `lootMaxSpawnLimits`

Added 5 item limit to `Labrys research notes` #290
2025-06-21 14:45:08 +01:00
Archangel f7782e1b1a Begin cleanup of quest model & nullability in Quests & Achievements 2025-06-20 14:24:58 +02:00
chompDev ab22346870 .NET Format Style Fixes 2025-06-20 07:48:43 +00: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
chompDev 1a6f5f779d .NET Format Style Fixes 2025-06-19 13:36:57 +00:00
Lacyway 8ef16880f4 Fix stackoverflow (#406) 2025-06-19 14:36:21 +01:00
Chomp 8276e7bef8 Added rootItem to CreateOffersFromAssort and skip RemoveBannedPlatesFromPreset when creating replacement expired offer
Added  `isExpiredOffer` `CreateSingleOfferForItem`, Only remove armor plates on non-expired offers + added helper method `RemoveArmorPlates`
2025-06-19 12:10:08 +01:00
refringe 6e01428b2b .NET Format Style Fixes 2025-06-18 17:09:20 +00:00
Chomp be87e78ac0 Cleaned up caching used inside HandbookHelper
Removed INT cast when returning value from `FromRUB`
Renamed `HydrateLookup` and made protected
Made `LookupCollection` protected and moved inside `HandbookHelper
2025-06-18 15:02:21 +01:00
Chomp 73328b4711 Fixed typo in locale key 2025-06-18 13:59:52 +01:00
Chomp af31906cb4 Made SellToTraderQuestConditionCache a property 2025-06-18 13:41:54 +01:00
Cj 89f4d10faa Refactor SellItemToTrader logic (#403)
* Refactor SellItemToTrader logic

* add comments and make QuestHelper a singleton

* add localization for error

* grammar
2025-06-18 13:14:35 +01:00
Chomp a7a09a60e3 Fixed starting Burning rubber showing Easy Start Part 1
Accepting a quest now checks if player has valid level before adding addition quests to players profile
2025-06-17 16:00:54 +01:00
Chomp 48871eba81 Fixed warning being caused by ragfair code trying to add offer to expired cache twice 2025-06-16 20:34:44 +01:00
Chomp b69544ae2c Added lock to GetStaleOfferIds
Made `RagfairRequiredItemService` a singleton
Made `RagfairRequiredItemService ` store offerIds instead of offer objects, reducing memory footprint
Reworked `GetOffersThatRequireItem` to work with `RagfairRequiredItemService` changes
Moved `GenerateDynamicOffers` to run after garbage colelction, this means GC will work on memory prior to new offers being added but after stale offers are removed

Made `PaymentHelper` a singleton + Store currency tpls in a hashset instead of list

Comment improvements
2025-06-16 14:46:37 +01:00
Chomp e869f6ebef Refactored ragfair code for improved readability 2025-06-16 13:00:06 +01:00
Chomp 1f061cfe89 Refactor of airdrop code
Made forced loot aware of weapon and armors. Now adds their presets instead.
Made `GetLootThatFitsContainer` aware of items inside container and will fail when container is full
Fixed issue where split stacks were not added correctly to airdrops

Comment improvements
2025-06-14 18:56:19 +01:00
Chomp e596974d07 Cleaned up usings 2025-06-14 16:43:24 +01:00
Chomp 4e89fbbfd8 Fixed typos and improved code readability 2025-06-14 12:42:19 +01:00
agavalda 610e971568 Use double for quantity instead of int (#393)
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-06-13 09:25:12 +01:00
Chomp 9c37b79c1d Improved GetDeltaQuests description 2025-06-12 23:05:28 +01:00
Chomp c2e0193450 Fixed inverted logic inside GetDeltaQuests 2025-06-12 23:03:29 +01:00
Chomp 6175e37044 Add todo for RewardType.WebPromoCode 2025-06-11 21:38:18 +01:00
Chomp 327ad33bb6 Added comments
Made fields readonly
2025-06-11 15:05:12 +01:00
Chomp e8b938faab Cleaned up GetPresetItemsByTpl and GetPresetItems 2025-06-10 16:24:42 +01:00
Chomp 650b94540b Expanded ragfair.offerItemCount functionality. #388
Is now defined per item type with a fallback.

Currently only ammo boxes have custom values (0 to 3 vs the default 7 to 30)
2025-06-10 16:20:00 +01:00
Chomp 05354d8cbc Cleaned up CompleteQuest
Optimised `GetDeltaQuests`
Simplified `FindAndRemoveQuestFromArrayIfExists`

Various comment formatting fixes
2025-06-10 14:57:36 +01:00
Chomp c8a6943eaf Fixed GetQuestsFromProfileFailedByCompletingQuest not processing multiple failure conditions #345 2025-06-10 10:32:29 +01:00
Chomp f4d9649f0b Improved how SPT bot responds to 'help' command
Added GARBAGE to command list #366
2025-06-09 17:17:51 +01:00
Chomp 57c9ff477e Localised various error messages 2025-06-09 09:35:47 +01:00
Chomp cfd2116fb6 Allow altering the parentId of values placed inside handbookPriceOverride 2025-06-08 21:34:29 +01:00
Chomp e1588f8c8b Fixed profile viewing of other players throw null errors #377 2025-06-08 16:00:07 +01:00
Chomp a597c0e2a3 Improved dictionary access to prevent errors when production isn't found
Made some methods static
Comment improvements
Added keywords to spelling whitelist
Usings cleanup
Removed unused injections

#374
2025-06-08 11:18:54 +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 4eac8d90fb Fixed limb effect not being nulled correctly inside TransferPostRaidLimbEffectsToProfile 2025-06-08 10:06:51 +01:00
Chomp 89106d5448 Refactored how skills are parsed, fixes issues with bot generation and end of raid profile parsing 2025-06-08 09:39:14 +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 85014c1ec5 Added comment to AddStashRowsBonusToProfile 2025-06-06 15:22:40 +01:00