0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00

578 Commits

Author SHA1 Message Date
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: SPT/Server#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
3f43e3f118 Localised error message
(cherry picked from commit 335806bfd8e9c4d84818a978f7fcd9b5f6f41750)
2024-07-21 09:10:24 +01:00
Dev
3f7f357bff Improved getTotalStackCountSize
(cherry picked from commit bd5e7b1e62e86b426392d6be4c209c8b9e45095f)
2024-07-18 09:25:04 +01:00
Dev
f406918bb8 Improved fillMagazineWithRandomCartridge() logging 2024-07-17 11:48:57 +01:00
Dev
373f194a25 Fixed items with a stack count > 1 not selling as expected
(cherry picked from commit fd34e7bc8412b0ce0503691b984256b57a14383e)
2024-07-16 21:09:08 +01:00
Dev
433ea6566a Removed redundant check on unlocking hideout crafts 2024-07-16 11:32:46 +01:00
c46cdaeb18 Don't allow production timers to be reduced below 5 seconds (!375)
This should avoid potential issues when mods drastically increase the crafting skill level, or otherwise modify the profile in ways that cause negative production times

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#375
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-07-15 19:33:38 +00:00
50bafeb100 Fix flea selling issues (!374)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: SPT/Server#374
(cherry picked from commit 4fd113d00dda4a5e9e3f26d551bd8904156d1086)
2024-07-15 19:24:53 +01:00
Dev
2ea6b658fd Fixed getBTC() failing when Production area cannot be found
(cherry picked from commit 77b42bfb2f0540c0fcb4c60fb84cdbcacd0965ad)
2024-07-13 10:59:03 +01:00
Dev
c705127007 Remove deprecated registerCommandoCommand() 2024-07-12 22:19:57 +01:00
Dev
28593d3e9b Removed deprecated ICommandoCommand 2024-07-12 22:19:04 +01:00
Dev
e1ca9dedc9 Fixed server build errors from previously merged PR 2024-07-11 09:28:37 +01:00
Dev
007bdccd6c Improved pack + multi-item player flea offer handling
(cherry picked from commit e9d8c02ac2d15ae80ab8b22d5db5ac22597b05e7)
2024-07-10 11:40:12 +01:00
Dev
007b1d4789 Fixed accepting a quest bringing in blacklisted event quests
(cherry picked from commit fe614ad73f69e5f74407bb8ea840e836510237cd)
2024-07-08 09:56:34 +01:00
e58ddac0cc Fix InventoryHelper.canPlaceItemInContainer being backwards (!367)
For whatever reason, `InventoryHelper.canPlaceItemInContainer()` currently returns:
`true` if the item CANNOT be placed in the container
`undefined` if the item CAN be placed
`false` if the function thought it could but then failed when trying to (never happens?)

This didn't cause problems because the only two places that call it also treat the return value backwards - both of which are also fixed in this PR.

Reviewed-on: SPT/Server#367
Co-authored-by: Tyfon <tyfon7@outlook.com>
Co-committed-by: Tyfon <tyfon7@outlook.com>
2024-07-02 22:05:32 +00:00
Dev
c8f08ff2bc Fixed edge case where rigs with no soft inserts or plates is listed on flea, resulting on a sell chance of NaN 2024-07-01 16:37:14 +01:00
Dev
8517e46ccb Refactored various functions to improve readability 2024-06-30 21:39:58 +01:00
Dev
15eb6eb69f Cleaned up various functions to improve readability
Removed unused function `splitStackIntoSmallerChildStacks()`
2024-06-30 20:38:23 +01:00
da955f0a4e Added ability to convert assault scavs to bosses (!366)
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: SPT/Server#366
2024-06-27 14:09:26 +00:00
Dev
836df0ce9d Updated findAndAddHideoutProductionIdToProfile() to also compare the quest id when finding the relevant craft - should fix craft unlock error with Network Provider - Part 2 2024-06-24 22:29:01 +01:00
Dev
2a750a9989 Fixed regression where sellchance because NaN due to a divide by 0 error 2024-06-22 20:40:13 +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
e176b0ae45 Refactored applyMoneyBoost() to improve readability + apply alteration to reward.value 2024-06-17 17:45:48 +01:00
Dev
996e567959 Added nullguard to getTimeElapsedSinceLastServerTick() 2024-06-17 16:43:12 +01:00
Dev
86380e845a Replaced hard-coded lavatory check for generic check of areas needsFuel property 2024-06-17 09:28:59 +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
e793b0bc63 Fixed nullref error on repeatable refresh click event
Fixed all profiles having access to free repeatable refreshes

Fixed newly created profiles generating with 0 free refreshes regardless of game version
2024-06-16 10:58:35 +01:00
edfe995c52 Initial implementation of an ItemTpl and Weapon enum generator (!364)
ItemTplGenerator will create a full ItemTpl.ts and Weapons.ts file with all items and weapons respectively
Renamed WeaponTypes to Weapons to better indicate its new format
Updated all references to these enums to use the new names
New npm command `npm run gen:items` to run this tool

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#364
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-06-16 08:33:01 +00:00
Dev
bc3649d2a1 Fixed issue where server would enter infinite loop when selling item to trader and stash contained no money 2024-06-14 19:18:55 +01:00
Dev
277925732f Added system to allow per-trader starting standing values 2024-06-14 15:40:27 +01:00
Dev
da04065d42 Added game version specific dogtags to PMC bots
removed dogtags from `baseClasses` and placed in `ItemTpl`
2024-06-14 14:38:30 +01:00
58ee2c66d3 Fix GP coin ragfair offers being excluded by "Exclude bartering offers" filter. (!363)
BSG now considers GP coin to be a currency.
Commit 4788f6b407 (diff-d1c96eaf446b0afaf70c62191c7a688471fca50c) already added GP coin to the `Money` enum, but it needs to be added to `PaymentHelper.isMoneyTpl()` to prevent it from being filtered by the barter filter as with other money offers.
See attached screenshots for a demonstration of SPT vs live behavior.

Reviewed-on: SPT/Server#363
Co-authored-by: IsaacSin <Isaacgsds@gmail.com>
Co-committed-by: IsaacSin <Isaacgsds@gmail.com>
2024-06-13 13:28:37 +00:00
Dev
f8bd65ed90 Replaced various array.find() with array.some()
Rewrote `tagItem()` to use `.find()`
2024-06-13 13:41:29 +01:00
Dev
3327bc916a Renamed functions to better explain what they do 2024-06-13 11:05:10 +01:00
Dev
8c05345b85 Replaced various magic strings with enum values
Added `itemHelper.getItemFromPool()`
2024-06-13 10:53:07 +01:00
836910c1d5 Implement Ragfair sort by barter (!362)
Not that anyone was clamoring for this, but I noticed it was missing.

Reviewed-on: SPT/Server#362
Co-authored-by: Tyfon <tyfon7@outlook.com>
Co-committed-by: Tyfon <tyfon7@outlook.com>
2024-06-13 09:29:48 +00:00
Dev
3c0887172e Fixed MARK_OF_UNHEARD incorrectly adjusting insurance return time
Added `ItemHelper.hasItem()`
2024-06-13 09:47:03 +01:00
Dev
6c1935f93f Added nullguard when purchasing trader assort with 0 items 2024-06-12 23:07:38 +01:00
Dev
4e311da111 Refactored InraidHelper 2024-06-12 20:42:29 +01:00
Dev
1caff10d35 Refactoring InventoryHelper 2024-06-12 20:25:27 +01:00
Dev
16f170f28e Minor adjustments to profileHelper, launcherController and profileController classes 2024-06-12 10:47:01 +01:00
Dev
ca642b94a7 Reworked gift sending/storage sytem to not store the max sends in profile and use the existing gift data
Fixed `sendPraporStartingGift()` not sending gifts
Expanded `GiftService` to include methods to get gift by id / all gifts / all gift ids
2024-06-09 09:13:38 +01:00
Dev
19bcfe2e87 Cleaned up traderBuyRestrictionReached() 2024-06-08 19:49:30 +01:00
Dev
f263f8b0cb Added implementation of BSG feature Increased personal trader item limits by 20% for Edge of Darkness and The Unheard edition owners who upgraded from Edge of Darkness
This fixes EoD/UH/DEV profiles throwing errors when purchasing items near their trader BuyRestrictionMax limits
2024-06-08 19:38:16 +01:00
Dev
75a34f5ca2 Expanded gift system used by spt bot
Gifts can be given multiple times
stash expansions are limited to 5 max by default
dev balaclava can be given 5 times, majority of gifts are 1 use still

Updated data structure to persist gifts received, this will break profiles
2024-06-08 17:54:05 +01:00
Dev
b645e6f51b Added Error throwing when calling getConfig() and a config cannot be found 2024-06-08 12:56:24 +01:00
Dev
8745caf86d Refactored getHighestSellToTraderPrice() 2024-06-07 23:14:18 +01:00
4788f6b407 30473 (!361)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT/Server#361
2024-06-07 18:25:27 +00:00
b3b1f76a77 Migrate PMCs (sptBear/sptUsec) To Bsg Types (pmcBEAR/pmcUSEC) (!360)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: SPT/Server#360
2024-06-06 16:59:44 +00:00