Commit Graph

1897 Commits

Author SHA1 Message Date
Dev
10dfb89787 Fixed incorrect IRestrictionsInRaid interface 2024-08-19 18:35:06 +01:00
DrakiaXYZ
bd5d4bfb66 Fix fuel ticks returning fuel to the player instead of removing it (!397)
Resolves the issue of incorrect fuel usage by using relative percentages for both the profile bonus and hideout management bonus
Add a sanity check to make sure we never return fuel to the player (No negative fuel consumption)
2024-08-19 16:58:45 +01:00
Alex McAuliffe
79f0949610 Updated bot tests 2024-08-19 16:55:11 +01:00
Alex McAuliffe
9e9baf49b3 Add types for variables on global scope. (!398)
Adds a type definition for the variables added to the global scope.

Personally i'd probably stick them in an object off the route and drop the G_prefix but didn't want to make any major changes with no reason.

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/398
Co-authored-by: Alex McAuliffe <alex@romanx.co.uk>
Co-committed-by: Alex McAuliffe <alex@romanx.co.uk>
(cherry picked from commit 18d39224a9)
2024-08-19 16:54:06 +01:00
Dev
5ffedfa91a Attempted to fix issue with calculateItemWorth() failing on child items without a upd object
Clone children when returned to prevent modification + add missing upd object to child before calculating price
2024-08-18 09:52:13 +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 daf70ea67f)
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 f04382c9bb)
2024-08-15 20:17:10 +01:00
Dev
093afe002c #747 Fixed items added to ragfair configs custom blacklist still be sellable on flea by player
Moved confusing `isValidItem()` check out of `isItemOnCustomFleaBlacklist()` and into main function
Removed redundant blacklist check from flea item generation as its already covered in `isValidItem()`

(cherry picked from commit f46694a169)
2024-08-15 20:16:35 +01:00
Archangel
a4a3c8c89a Skip items that are listed in the custom blacklist from being set as sellable (!396)
Fixes issue #747

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/396
Co-authored-by: Archangel <jesse@archangel.wtf>
Co-committed-by: Archangel <jesse@archangel.wtf>
(cherry picked from commit 5017b01938)
2024-08-15 20:16:09 +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
Dev
ef950058bd Fixed calculateItemWorth() not handling child items lacking a upd object
(cherry picked from commit ebe1bc021f)
2024-08-11 18:34:28 +01:00
Dev
77c98a4cd4 Fixed invalid check inside getBonusValueFromProfile() 2024-08-09 22:05:07 +01:00
Dev
8014bdd06f Updated water filtering system to correctly check the craft progress against the ProductionTime value stored in the profile instead of the base ProductionTime value in the hideout json.
This is because the base value doesn't take into account any craft bonuses the profile has

After collecting a product from a continious craft, `ProductionTime` in the profiles craft data will be refreshed, this resolves issues with adjusting the `production.json` craft times not applying to continuous crafts
2024-08-09 16:04:43 +01:00
TetrisGG
7b835f1501 Fix Bonuses in various Services using Find and not filter. 2024-08-09 15:03:50 +01:00
Dev
2a52af1275 Improved logic of getBonusValueFromProfile() 2024-08-08 22:36:32 +01:00
Dev
1066a138ac Added function getBonusValueFromProfile to profileHelper
(cherry picked from commit d97e717f76)
2024-08-08 18:31:04 +01:00
Cj
967dc15564 ProfileFixerService Refactor (!391)
Refactor to remove legacy code that bloats the `ProfileFixerService` class. Most of which is old profile porting code, some being old profile fixes. Organizes code in the class so that public members are at the top (as they should be). Finally break out some code into their own methods so they're not in the primary method for the class `checkForAndFixPmcProfileIssues`.

I have tested this with a developer profile, an EOD profile and a Standard profile. I've encountered no issues in my own testing.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/391
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-08-08 17:09:52 +00:00
Dev
2fbcee22bd Fixed container errors due to biome 2024-08-07 22:09:46 +01:00
Dev
fc8769ba30 Basic implementation of pocket tpl quest reward handling 2024-08-03 23:10:54 +01:00
Dev
18158bb4dc Fixed FiR status persisting after death for items inside secure container 2024-08-02 15:54:39 +01:00
witek
59308604fa Fix logs paths (!390)
When compiled natively to linux, logfiles are saved in main SPT folder instead of default location. It's caused by file paths being hardcoded as text.
This patch fixes logs location on linux build.

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/390
Co-authored-by: witek <falls-toluene.0q@icloud.com>
Co-committed-by: witek <falls-toluene.0q@icloud.com>
(cherry picked from commit 3edf0f2ff9)
2024-07-31 20:14:20 +01:00
MadByte
a52c81e270 Changed mod path for loading bundles from the server to be relative (!389)
**Before merging: Please test on a real Windows installation if possible!**

I tested this on Linux as well as inside a Windows VM hosted on Linux, but wasn't able to test it on a real Windows installation.

This commit fixes an issue with loading bundles from a native Linux server:

When compiling the server natively for Linux & installing some mods, everything works except for mods trying to load bundles from the server. Reason is a malformed path to the bundle:

```ts
2024-07-30 23:48:16.968 +02:00|0.14.9.1.30626|Error|Default|
EXCEPTION: System.IO.DirectoryNotFoundException: Could not find a part of the path "C:\home\USER\Games\escape-from-tarkov\drive_c\SPTarkov\user\mods\Bloody-Bullet-Wounds\bundles\assets\systems\effects\particlesystems\effects.bundle".
```

`process.cwd()` returns the linux-agnostic path of course, but for some reason it also returns `C:`.
Changing the line to `modpath.slice(0, -1).replace(/\\/g, "/");` seems to work and the bundles seem to get loaded without issues (did a quick test raid), even without passing the absolute path to the  mod.

I tried to check why that is, and I think node is able to [get the cwd and resolve the relative path](4d1d88118b/src/path.cc (L101)) by itself..

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/389
Co-authored-by: MadByte <madbyte@noreply.dev.sp-tarkov.com>
Co-committed-by: MadByte <madbyte@noreply.dev.sp-tarkov.com>
(cherry picked from commit 6f010acfca)
2024-07-31 20:14:12 +01:00
Dev
8f67f75930 Improved how generateMultipleBotsAndCache() and returnSingleBotFromCache() handles missing raid settings from AppContext 2024-07-30 12:09:28 +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 ee1eb7d690)
2024-07-30 08:29:04 +01:00
RomanxTheLast
f12c650774 Add async to the handleRequest chain in HttpServer (!387)
The httpListeners are promise based but they aren't awaited when handling the request.

I found this while implementing another version of HttpServer in a mod but couldn't actually find where this would cause an issue so feel free to close this if you think it's not worth it.

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/387
Co-authored-by: RomanxTheLast <alex@romanx.co.uk>
Co-committed-by: RomanxTheLast <alex@romanx.co.uk>
(cherry picked from commit 398bf43444)
2024-07-28 14:45:25 +01:00
Dev
c114d4285f Removed redundant function 2024-07-28 13:19:52 +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
0c42a38306 Add null protection to playerHasRecievedMaxNumberOfGift() 2024-07-25 23:18:28 +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 e7f56edf0c)
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
7c76342ee2
Merge remote-tracking branch 'origin/310-dev' 2024-07-23 11:03:32 -04:00
Dev
951655e846 Removed redundant rating check now it has been moved to ProfileFixerService 2024-07-23 13:16:54 +01:00
Dev
3820b97531 Added null protected to playerLevelFulfillsQuestRequirement()
(cherry picked from commit c90b8670f2)
2024-07-23 09:07:26 +01:00
Dev
8c23a32755 Merge branch '310-dev'
# Conflicts:
#	project/.eslintrc.json
#	project/assets/configs/core.json
#	project/assets/configs/ragfair.json
#	project/assets/database/locations/bigmap/base.json
#	project/assets/database/locations/factory4_day/base.json
#	project/assets/database/locations/interchange/base.json
#	project/assets/database/locations/lighthouse/base.json
#	project/assets/database/locations/sandbox/base.json
#	project/assets/database/locations/sandbox_high/base.json
#	project/assets/database/locations/shoreline/base.json
#	project/assets/database/locations/tarkovstreets/base.json
#	project/assets/database/locations/woods/base.json
#	project/package.json
#	project/src/controllers/BotController.ts
#	project/src/controllers/GameController.ts
#	project/src/routers/static/InraidStaticRouter.ts
2024-07-22 23:14:47 +01: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
Dev
4a4d65ee4c Added guard against missing trader insuranceStart mesages inside sendInsuredItems()
(cherry picked from commit 0d9bd9a6d3)
2024-07-22 13:26:09 +01:00
Dev
0d9bd9a6d3 Added guard against missing trader insuranceStart mesages inside sendInsuredItems() 2024-07-22 13:24:00 +01:00
Dev
4c9e5c258f Removed unnecessary scope
(cherry picked from commit 201df756a9)
2024-07-21 22:59:01 +01:00
Dev
bdc167a10e Merge branch '310-dev' of https://dev.sp-tarkov.com/SPT/Server into 310-dev 2024-07-21 22:09:12 +01:00
Dev
201df756a9 Removed unnecessary scope 2024-07-21 22:08:36 +01:00
CWX
0e85e55ced add missing props on models, add additional info to miniprofiles 2024-07-21 20:41:46 +01:00
Dev
2be14850a9 Fixed bad injection caps
(cherry picked from commit 8e17673d0d)
2024-07-21 20:40:04 +01:00