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

75 Commits

Author SHA1 Message Date
ed2b90fa0a
Various fixes so biome is happy (#1032)
- Changes to import typing for ILogger and ICloner
- Targets es2022 in compilerOptions (Matching the target in .swcrc)
because otherwise Biome doesn't seem to find a proper target.
- Fixes up the seasonal event typing
- fixes run:debug to target the correct file
2025-01-06 17:09:33 +00:00
Chomp
733a23f994 Moved interfaces out of ISptProfile into their own files to reduce circular deps 2025-01-06 10:38:06 +00:00
0587fc398b Fix up edge case error with tiered flea weapon builds 2025-01-05 02:57:04 +01:00
Chomp
a22032abe2 Made use of RagfairOfferHelper.offerIsFromTrader() 2024-12-22 19:57:26 +00:00
Chomp
140a1e8c00 Added filtering of offers that have exceeded the buy limit threshold from possible offers to display 0 - Fixed a limit-reached trader offers always showing over a PMC offer
Various improvements to `getOffersForBuild`:
Renamed offers to offersToReturn
Removed one layer of indentation by using early return
Replaced use of `ragfairOfferService.getOffers` with `ragfairOfferService.getOffersOfType` to improve performance by using a more appropriately indexed dictionary of offers
Run `getOffersInsideBuyRestrictionLimits` as part of offer filtering process
removed redundant reassignment of availableOffers/possibleOffers
2024-12-22 19:49:57 +00:00
Chomp
b48c1153e1 Removed unused subfunction from getAssort 2024-12-03 11:51:44 +00:00
Chomp
73186a2240 Improved comments inside ragfairOfferHelper + small refactor of trader offer checks inside getOffersForBuild 2024-12-03 10:16:55 +00:00
Dev
9c58e2e0e5 Loosened bot name limit to 19 characters
Moved value into config
Added `botConfig.botRolesThatMustHaveUniqueName`

Refactored `getPmcNicknameOfMaxLength()`, removed all recursion + handles when no name is below desired length
Refactored `generateUniqueBotNickname()` to handle PMC names differently, use centralised pmc name function

Updated ragfair to utilise maxlength value from bot config
2024-10-18 11:39:51 +01:00
Dev
eb0b3ce369 Reduce max length of flea offer names to 15 2024-10-15 20:54:11 +01:00
Dev
ce3b63dc1c Updated getOffersForBuild() to not show pack offers, this fixes the equipment system buying pack offers 2024-10-09 14:34:10 +01:00
Dev
61e90d7e9a Tiered Flea: instead of not showing offers outside of players level, show offer but set to locked 2024-10-02 11:06:25 +01:00
Dev
a82a41f3df Tiered flea:
Added system to limit single items by tpl to player level

Added:
Oakley Mechanism - level 32
Tri-zip - level 30
Beta 2 - level 30
Gruppa 99 T30 - level 30
Eberlestock F5  - level 30

Poyas-A - level 26
Velocity Systems MPPV - level 25

labs keycard - level 30
Sledgehammer - level 25
ledx - level 25
Graphics card - level 35
2024-09-29 17:29:08 +01:00
Dev
c7a44456bb Added tiered flea system with placeholder values - Allow items to be locked to a specific level - defaults to off
Unlocks have a priority order, it will be filtered by whatever is first in the dictionary
e.g.

pistol: unlock level 20
weapon: unlock  level 30

A pistol will be unlocked at level 20,
A shotgun will be unlocked at level 30

if the order was different:
weapon: unlock level 30
pistol: unlock level 20

The pistol would be unlocked at level 30 as its a weapon and gets picked up by the weapon filter first
2024-09-25 17:16:44 +01:00
Dev
ab1422bc40 Updated interfaces to follow correct naming convention
Removed some interface duplication
2024-09-24 12:47:29 +01:00
Dev
7be6b47e23 Fixed various Biome issues 2024-07-23 17:30:20 +01:00
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
Dev
4c9e5c258f Removed unnecessary scope
(cherry picked from commit 201df756a9d247779991d5ba5379b502ca60b346)
2024-07-21 22:59:01 +01:00
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
3f7f357bff Improved getTotalStackCountSize
(cherry picked from commit bd5e7b1e62e86b426392d6be4c209c8b9e45095f)
2024-07-18 09:25:04 +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
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
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
f8bd65ed90 Replaced various array.find() with array.some()
Rewrote `tagItem()` to use `.find()`
2024-06-13 13:41:29 +01:00
Dev
19bcfe2e87 Cleaned up traderBuyRestrictionReached() 2024-06-08 19:49:30 +01:00
Dev
ba8829681d Fixed flea-banned players being able to buy pmc items from flea 2024-06-03 22:35:09 +01:00
Dev
b8ee834165 Replaced uses of DatabaseServer with DatabaseService 2024-05-29 15:15:45 +01:00
8727f6150e primery-dependencies (!355)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#355
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:04:20 +00:00
Dev
65f27a7d8c Fixed various Object is possibly undefined warnings 2024-05-28 10:25:23 +01:00
173a726f33 Removed all null references in favor of undefined (!354)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#354
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 20:06:07 +00:00
Dev
612b1b7940 Localized more warnings 2024-05-24 16:42:42 +01:00
Dev
4081508bf3 Improved accuracy of flea offer creation
`user` object of each offer matches live
Added `getPmcNicknameOfMaxLength()` to `botHelper`
2024-05-22 13:26:35 +01:00
d13e86ba46 Rebranding to SPT (!345)
Rebranded src code and scripts to SPT

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#345
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-21 17:59:04 +00:00
Dev
597ea96f34 Added per-profile type redeem times to server
unheard has a 72 hour redeem time vs all other profiles 48
renamed `redeemTime` to `mailRedeemTimeHours`
2024-05-20 11:31:45 +01:00
cb169a18b9
Project Code Format
Ran the `npm run format` command to bring the entire project in-line with the formatting rules.
2024-05-17 15:32:41 -04:00
50c7a26a58
ESLint Pass
This is the first pass of ESLint on the codebase.

ESLint formatting is less strict when it comes to line-length and line-breaks then dprint/biome, so if you see formatting that you don't like... fix it! It shouldn't require a configuration change.

- This should merge clean into master (when the time comes).
- This will not merge clean into `3.9.0-DEV`, but the conflicts aren't that bad.
2024-05-07 23:57:08 -04:00
Cj
c7a577d903 Use globals ratingSumForIncrease value (!243)
Corrects previous pull request hardcoding the value for `ratingSumForIncrease`.

Anytime it changes in globals it will now be reflected without needing to change it in `RagFairOfferHelper`

Co-authored-by: Corey <dirtbikercj@gmail.com>
Reviewed-on: SPT-AKI/Server#243
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-04 18:06:10 +00:00
Cj
9bd9ad30c0 Divide ratingInceaseCount by 100000 (!242)
Should address massive flea rep gains. Tested about 10 cases, all seem within expected range.

Divided ratingIncreaseCount by a factor of 100000

Co-authored-by: Corey <dirtbikercj@gmail.com>
Reviewed-on: SPT-AKI/Server#242
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-03-04 17:16:34 +00:00
Dev
d828e9da7d Revert change made to increaseProfileRagfairRating() 2024-03-02 20:12:40 +00:00
Dev
002279c787 Changed flea rep gain code to use globals data instead of ragfair json 2024-02-29 12:19:43 +00:00
91c154daa8 Fix some armor not showing up on the flea when Operational filter is enabled (!228)
Some plate carriers have no required plates, and thus were failing the functional check. I've changed it to check for an item count greater than the required plate count (Since `items` also contains the carrier itself).

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#228
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-17 10:48:22 +00:00
Dev
22d158f8a4 Remove second call to this.saveServer.getProfiles() + only run offer processing for profiles that have the necessary level to create flea offers 2024-02-14 14:01:27 +00:00
Dev
882d1b6ee5 FIx equipment preset flea seach not showing any offers 2024-02-14 11:58:17 +00:00
Dev
bba30d616b Fix durability filtering on flea not working for helmets / armors
Updated  `getItemQualityModifierForOfferItems()` to return root items quality modifer when its a weapon
Fixed `getItemQualityModifierForOfferItems()` assuming quality started at 1
2024-02-11 14:59:25 +00:00
Dev
d436534ea0 Fixed flea quality filters not applying to weapons 2024-02-10 15:06:20 +00:00
Dev
a06e0d1641 Improve flea handling of quality filtering for offers with child objects like armors/plates/weapons 2024-02-08 11:45:12 +00:00
34121182a1
Biome Linting Issues
Fixed some instances of:
- Unordered imports
- Reassigning function parameters
- Modifying values in assignment/return statements
- Array.forEach being used instead of for...of
- Simplified control logic
2024-02-05 19:03:26 -05:00
Dev
2f673d12b9 Improve weapon/equipment item purchase filtering 2024-02-05 11:38:04 +00:00
Dev
193161f786 Fix preset buy searches not filtering items based on search criteria/player level 2024-02-04 09:31:00 +00:00
Dev
3c371a6c16 Add search criteria filtering to required search
Pull out`isDisplayableOffer` from`passesSearchFilterCriteria`
2024-02-03 20:23:26 +00:00