Since the reputation levels are expressed as decimals i found it weird
that you can only set integers. This PR changes the way the reputation
is set:
`spt trader prapor rep 44` won't set 44 to the reputation (which is way
higher than anyone can get) but 0.44, this allows to test loyalty levels
more granular:


Updating the regex and then testing that only decimals are used for
`rep` and not for `spend` looked to messy.
PS: This is my first PR here :)
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
This commit implements basic friends list functionality including adding, auto accepting, and removing friends. As well as storing the list in the profile and providing the friends list back to the client on login.
This is a one-way implementation, the target profile will not have the source account added to its friends list.
This is primarily useful in combination with the recent favorites fixes, to allow users to inspect favorited weapons on other profiles to "copy" weapon builds between their profiles
- Resolve issue where we were storing favorites in the incorrect format,
resulting in a client error on game load
- Resolve issue where we were clearing favorites when they were meant to
be saved
- On login, fix any previously corrupted favorites array
- Properly implement favorite data in `getOtherProfile`, now shows your
favorites when viewing your profile
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
FixesSPT/Issues#841
QuestReward with this property check the version of the PmcProfile, and skipped if it's not included / included depending on the property
length > 0 check is workaround for Gunsmith Pt 25
Co-authored-by: TetrisGG <tetrisggdev@gmail.com>
Reviewed-on: SPT/Server#418
Co-authored-by: TetrisGG <tetrisgg@noreply.dev.sp-tarkov.com>
Co-committed-by: TetrisGG <tetrisgg@noreply.dev.sp-tarkov.com>
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