475 Commits

Author SHA1 Message Date
Dev
6803ee6241 Cultist circle:
Added support for weapon/armor rewards
Added support for variable stack sizes (only ammo for now)
Added support for breaking out of reward item while loop if no item is found (5 attempts max)
Added helper function `itemHelper.getRandomisedAmmoStackSize()`
2024-08-26 11:17:10 +01:00
Dev
3ac4074434 Added handling of twitch 2024 gamble boxes
Improved random loot box system to support `rewardTypePool` instead of `rewardTplPool`
2024-08-24 20:32:18 +01:00
Dev
24cd94abd3 Expanded pmcConfig.maxBackpackLootTotalRub to work per PMC level
non-PMC backpack loot is no longer limited to 150,000 roubles
2024-08-22 20:42:47 +01:00
Alex McAuliffe
79f0949610 Updated bot tests 2024-08-19 16:55:11 +01:00
Dev
52d9fbaeb6 Improved weapon mod selection when a default mod is desired but is incompatible with weapon
Introduced a `Set` into request object that holds conflicting items instead of constantly recalculating them when needed
2024-08-16 23:19:07 +01:00
Dev
2e8e91385e Fixed bad variable use
(cherry picked from commit daf70ea67fb6b2899c5f6db1abdc32064fb6dc06)
2024-08-15 20:17:18 +01:00
Dev
37fb49bffa Fixed issue that would cause repeatable completion quests to get stuck in an infinite loop
Improved performance of completion quests picking items to return

(cherry picked from commit f04382c9bb9722645a1954ec12d34d45f31d2c53)
2024-08-15 20:17:10 +01:00
Dev
4582bb6fe2 Improved handling of bot stock generation.
Moved code into own function
Expanded force stock check to look for any child items instead of ones for slot `mod_stock`
Expanded check to include additional slot names
2024-08-12 17:43:42 +01:00
DrakiaXYZ
e295cda571 Fix issue in BotLevelGenerator when high level (!388)
Previously `highestValue` could be lower than `lowestValue`, resulting in an exception. These values are now generated in the same method and clamped

Add a catch to the botgen promise await so we get more useful errors if botgen fails

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/388
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
(cherry picked from commit ee1eb7d690c5ebd3d1aa4229d3a15d1050f84b5a)
2024-07-30 08:29:04 +01:00
Dev
852157aabf Fixed an issue where revolvers/rpd/ppsh would not properly filter out cartridges during ammo selection 2024-07-28 13:19:34 +01:00
Dev
2f412641b2 Further improvements to weapon mod generation 2024-07-28 11:42:45 +01:00
Dev
af33625a5c Improved pickWeaponModTplForSlotFromPool(), now pre-sorts mod pool prior to adding it to exhaustableModPool and processing 2024-07-28 00:12:04 +01:00
Dev
0cb179f8e1 Make use of SideType.SAVAGE enum 2024-07-25 19:12:26 +01:00
Dev
4a1a5d924c Added item reward pools for Unlocked supply create (x)
Added item reward pools for `Unlocked equipment create (x)`
Added support for weapon/armor presets inside `getRandomLootContainerLoot()`
Expanded pool for `Unlocked valuables crate (x)",` by 8 items
2024-07-25 12:17:40 +01:00
Dev
797d75fd4f Added a weighting bias to the level chosen for bots, favors the higher value 2024-07-25 10:34:54 +01:00
Dev
adcd0194bf Improved bot generation comments
(cherry picked from commit e7f56edf0cfb9028e337056a78691a34beff5502)
2024-07-25 09:38:59 +01:00
Dev
de53abf002 Rounded flea offers requirementsCost to nearest int 2024-07-24 09:26:08 +01:00
Dev
7be6b47e23 Fixed various Biome issues 2024-07-23 17:30:20 +01:00
Refringe
5740774a46
Apply Biome Formatting
This is the result of running `npm run format` which applies the Biome formatting rules. Rejoice!
2024-07-23 11:12:53 -04:00
Refringe
ed8dbbd195 Adds Biome - Removes ESLint & Prettier (!383)
Boogidy, boogidy, boogidy. Let's go racing! 🏎️

Removes the over-complicated and super-slow setup we had with ESLint & Prettier in favour of Biome. The largest change with the formatting is moving from Allman braces to 1TBS braces. Other than that, it's *pretty much* the same. Ah, and that Biome runs formatting and linting on the entire project about x10 faster than the old system ran formatting on one file. Seriously, the guy who came up with that last solution should be fired. :runs:

I've kept all of the formatting and linting commands the same as before, with the main mamma-jamma being: `npm run format`, which applies formatting and linting changes to the entire project.

Formatting-on-save works (quickly!) by (1) ensuring that you're working within the VSC workspace (as you should be), and (2) have the recommended Biome VSC extension installed. The link to the Biome extension is in the README.

This limits our options on code formatting going forward; Biome, like prettier, is very opinionated with very few formatting options available. But I see this as a good thing. I'd rather spend my time arguing about which gun in Tarkov is the best, rather than coding brace styles...

...It's the TOZ, and it always will be. Don't DM me.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/383
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-07-22 21:15:57 +00:00
Tyfon
ed3e16a94f Add support for flea market dogtag barter requirements (!378)
Trader offers with dogtag barter requirements are currently missing the `level` and `side` properties necessary to qualify them. This data already exists in the assorts, just needed to be sent along with the offer.

I considered updating the `side` property of `Requirement` in `IAddOfferRequestData.ts`, but that field is never used, and the client appears to pass 0 for both (even though 0 is not a valid `side`).

Not sure if this should be going to `master` or `310-dev`?

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/378
Co-authored-by: Tyfon <tyfon7@outlook.com>
Co-committed-by: Tyfon <tyfon7@outlook.com>
(cherry picked from commit ec76a8897fda32ab938bd758025bafdad1e956da)
2024-07-20 23:41:39 +01:00
Dev
727ba83273 Improved accuracy when creating flea offer - store single item price in `` property
Made `unlimited` property optional as its only used by traders
Slightly reduced pack offer chance + made them have more items
2024-07-19 13:45:34 +01:00
Dev
4b8b3b77a7 Remove unsued properties + improved how user data is stored/generated 2024-07-17 19:30:17 +01:00
Dev
073797a294 Fixed issue with itemFitsInto1By2Slot() classifying all items as unsuitable for a 1x2 slot
(cherry picked from commit d92ec20e9ca1ee1a98160b85682547f729d7c428)
2024-07-13 12:57:40 +01:00
Dev
034c7142fc Added workaround for Ref repeatables not having any description text - force him to use Prapor text instead 2024-07-13 09:33:04 +01:00
Dev
6a12a3f04d Fixed incorrect starting hp value inside getLowestHpBody() 2024-07-10 16:46:53 +01:00
Dev
dd56749ae1 Generate player scav with lowest Hp bodyparts 2024-07-09 12:35:37 +01:00
Kaeno
18af98e86d Remove trailing spaces and fix isPlayerScav check to generate correct health pool 2024-07-09 10:25:24 +01:00
Dev
bda69a5563 Added getMoneyTpls() 2024-07-07 19:43:32 +01:00
Dev
7497f0d40f Fixed dynamic loot code choosing blacklisted items - credit to Drakia for solution 2024-07-07 18:55:36 +01:00
Dev
494fd66f51 Renamed LocationGenerator to LocationLootGenerator 2024-07-06 13:54:04 +01:00
Dev
1f76ce5d10 Refactored airdrop loot code 2024-07-06 13:39:56 +01:00
CWX
7d6721d47b update comment for airdrop enum, allow airdrop loot to work 2024-07-06 09:17:32 +01:00
Dev
ce0123efd3 Implemented new wishlist system 2024-07-05 15:06:43 +01:00
Dev
8517e46ccb Refactored various functions to improve readability 2024-06-30 21:39:58 +01:00
Dev
7891db84de Updated createRandomLoot() to make use of rewardItemBlacklist black list 2024-06-20 13:37:38 +01:00
Dev
cf5411336f Adjusted how item quality % is calculated for player flea offers. Now excludes items without any quality modifier from calculation instead of assuming 100% (slightly lowers sell chance of things like armors)
Renamed `getItemQualityModifierForOfferItems()` to `getItemQualityModifierForItems()`
2024-06-19 14:27:58 +01:00
Dev
43a09c29c2 Improved import consistency + comment improvements
Moved `IGenerateEquipmentProperties` into own file
2024-06-19 11:11:28 +01:00
Dev
f7e42cae5d Improved comments inside BotEquipmentModGenerator class 2024-06-19 10:41:55 +01:00
Dev
416ef74902 Refactored mergeCamoraPool() 2024-06-19 10:40:59 +01:00
Dev
57f0b8b49e Ensure SelectedMemberCategory matches MemberCategory when generating EoD or UhD PMCs
(cherry picked from commit 44434b32783c96ab1b354215cdc26bab3bf0fcd9)
2024-06-18 16:06:28 +01:00
Dev
32e8557723 Split generateRewardItem() into two functions 2024-06-17 17:46:28 +01:00
Dev
1db9aa3243 Prevented gp coin repeatable reward falling below 1 2024-06-17 17:44:34 +01:00
Dev
d315414136 Further improvements to setRandomisedGameVersionAndCategory() to handle unheard profiles the same as live 2024-06-17 10:23:13 +01:00
Dev
357848ba9f Fixed some PMCs not having their game version flair when they kill you 2024-06-17 09:57:47 +01:00
Dev
e100c29296 Removed need for a separate chosenGameVersion property 2024-06-17 09:43:23 +01:00
Dev
4094b7ecff Fixed getAccountTypeAdjustedTraderPurchaseLimit() not applying to unheard profiles
Created `GameVersions` enum and replaced all magic strings with it
2024-06-16 21:22:28 +01:00
Dev
04dee496eb Updated niki to have the best account type 2024-06-16 21:14:24 +01:00
Dev
df69b229b3 Reworked bot generation to pass game version into generateEquipment()
`generateAndAddEquipmentToBot()` now handles pockets separately, flags UhD pockets as not to gen mods as for some reason it has slots 😕
Use this data to adjust the pocket tpl chosen for `unheard_edition`

Add pocket loot weightings of 5 + 6 items for unheard_edition PMCs
2024-06-16 21:09:59 +01:00
Dev
928f9068a3 Adjusted PMC loot generation to allow for 1x2 sized items to be added to the pocket pool to account for UhD bots' large pockets 2024-06-16 18:52:42 +01:00