1884 Commits

Author SHA1 Message Date
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 d97e717f7645d42c00e3f84b6d08b53109fef71b)
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 3edf0f2ff9d6793d7441591f15dd309fef9871f5)
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 6f010acfca8ec57105a3cd3bc959ed61be206e13)
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 ee1eb7d690c5ebd3d1aa4229d3a15d1050f84b5a)
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 398bf4344472fd930ce46f7583429d05fda14451)
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 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
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 c90b8670f2c2f170669c3e93cd0da5f4fafbcc5e)
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 0d9bd9a6d3ad35f9b371c97e8038efc15349e107)
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 201df756a9d247779991d5ba5379b502ca60b346)
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 8e17673d0db7ab10867df57a28b1cc58f8b7987b)
2024-07-21 20:40:04 +01:00
Dev
8e17673d0d Fixed bad injection caps 2024-07-21 20:39:47 +01:00
Dev
9df6357f62 Improved formatting of repeatable charisma bonus application
(cherry picked from commit 9af480f6253fb25dd96fa73b2b88c717313ffbee)
2024-07-21 16:24:55 +01:00
Dev
9af480f625 Improved formatting of repeatable charisma bonus application 2024-07-21 16:24:05 +01:00
Dev
10b8cedc42 Refactored new offer checking code
(cherry picked from commit cd803c8e8b1796437c07084344afc9008af9b1aa)
2024-07-21 16:17:40 +01:00
HiddenCirno
4144fccbd1 Complete issues #667 (Possible issue with flea buying) (!382)
Now when a profile create a new offer and another profile buy it, it can work correctly(For example profile A create a offer and profile B buy this offer, now A will receive money from profile B)
and set RagfairOfferHelper.completeOffer to public because TradeHelper now use it to resolve trade between 2 profiles on ragfair

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/382
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
(cherry picked from commit f555c24709bd4ed9b294c1e008ce3229be4190e1)
2024-07-21 16:17:29 +01:00
Dev
cd803c8e8b Refactored new offer checking code 2024-07-21 16:16:57 +01:00
HiddenCirno
f555c24709 Complete issues #667 (Possible issue with flea buying) (!382)
Now when a profile create a new offer and another profile buy it, it can work correctly(For example profile A create a offer and profile B buy this offer, now A will receive money from profile B)
and set RagfairOfferHelper.completeOffer to public because TradeHelper now use it to resolve trade between 2 profiles on ragfair

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/382
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
2024-07-21 15:05:48 +00:00
HiddenCirno
8ff9f6f945 Fix that charisma skill cannot deduct repeatable quest change cost (!380)
add discount caculation for repeatable quest change, not it can deduct cost with player's charisma skil level(per level 0.1%)

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/380
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
(cherry picked from commit 7e06517c8c7c4350ba0c7c79cebf7d67ba1de94e)
2024-07-21 13:02:05 +01:00
HiddenCirno
7e06517c8c Fix that charisma skill cannot deduct repeatable quest change cost (!380)
add discount caculation for repeatable quest change, not it can deduct cost with player's charisma skil level(per level 0.1%)

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/380
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
2024-07-21 12:01:12 +00:00
Dev
3f43e3f118 Localised error message
(cherry picked from commit 335806bfd8e9c4d84818a978f7fcd9b5f6f41750)
2024-07-21 09:10:24 +01:00
HiddenCirno
7a05acacdd fix free change still deduct trader standing (!379)
Fix that free change repeatable chance quest still deduct trader standing, now it will deduct when player have no access to free change or have no free change counts

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/379
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
(cherry picked from commit dcb98f7d1b21ccde76d0a6c26514a718290b19b6)
2024-07-21 09:03:12 +01:00
HiddenCirno
dcb98f7d1b fix free change still deduct trader standing (!379)
Fix that free change repeatable chance quest still deduct trader standing, now it will deduct when player have no access to free change or have no free change counts

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/379
Co-authored-by: HiddenCirno <2301697863@qq.com>
Co-committed-by: HiddenCirno <2301697863@qq.com>
2024-07-21 08:02:44 +00:00
Dev
776a41499f Added nullguard to showQuestItemHandoverMatchError()
(cherry picked from commit 014826e683d585894b8a628645a59caf0ae36d11)
2024-07-21 00:14:51 +01:00