Dev
e176b0ae45
Refactored applyMoneyBoost()
to improve readability + apply alteration to reward.value
2024-06-17 17:45:48 +01:00
Dev
1db9aa3243
Prevented gp coin repeatable reward falling below 1
2024-06-17 17:44:34 +01:00
Dev
996e567959
Added nullguard to getTimeElapsedSinceLastServerTick()
2024-06-17 16:43:12 +01:00
Dev
383ccf09d7
Added nullguard protection to serialize()
for bundle loading
2024-06-17 15:35:49 +01:00
Dev
d315414136
Further improvements to setRandomisedGameVersionAndCategory()
to handle unheard profiles the same as live
2024-06-17 10:23:13 +01:00
Dev
357848ba9f
Fixed some PMCs not having their game version flair when they kill you
2024-06-17 09:57:47 +01:00
Dev
e100c29296
Removed need for a separate chosenGameVersion
property
2024-06-17 09:43:23 +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
04dee496eb
Updated niki to have the best account type
2024-06-16 21:14:24 +01:00
Dev
df69b229b3
Reworked bot generation to pass game version into generateEquipment()
...
`generateAndAddEquipmentToBot()` now handles pockets separately, flags UhD pockets as not to gen mods as for some reason it has slots 😕
Use this data to adjust the pocket tpl chosen for `unheard_edition`
Add pocket loot weightings of 5 + 6 items for unheard_edition PMCs
2024-06-16 21:09:59 +01:00
Dev
928f9068a3
Adjusted PMC loot generation to allow for 1x2 sized items to be added to the pocket pool to account for UhD
bots' large pockets
2024-06-16 18:52:42 +01:00
Dev
1546bbfc16
Replaced magic string with enum value
2024-06-16 18:44:22 +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
DrakiaXYZ
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: https://dev.sp-tarkov.com/SPT/Server/pulls/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
561ecdd790
Updated bot generator to add UHD pockets to UHD PMCs
2024-06-15 17:42:02 +01:00
Dev
72b0ce324e
Extracted processExpiredQuests()
from getClientRepeatableQuests()
2024-06-15 13:29:22 +01:00
Dev
299586d36a
Improved implementation of daily quest reward system
...
Fixed repeatables vanishing after first generation
2024-06-15 13:28:25 +01: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
12444b025e
Fixed incorrect dogtag return
2024-06-14 15:41:02 +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
Dev
646745c5ef
Added insurance reduction by game edition check
2024-06-13 19:21:00 +01:00
Dev
b34a8ee1f1
Updated JSONS
2024-06-13 19:19:51 +01:00
IsaacSin
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: https://dev.sp-tarkov.com/SPT/Server/pulls/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
Tyfon
836910c1d5
Implement Ragfair sort by barter ( !362 )
...
Not that anyone was clamoring for this, but I noticed it was missing.
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/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
aac2142706
Refactoring of small functions for better readability
2024-06-12 19:33:55 +01:00
Dev
9d79aa70eb
Moved map marker logic out of InventoryController
and into its own MapMarkerService
2024-06-12 19:32:27 +01:00
Dev
292dadc55e
Prevented NRE being thrown when no weapon found inside getSealedContainerWeaponModRewards()
2024-06-12 12:41:09 +01:00
Dev
16f170f28e
Minor adjustments to profileHelper
, launcherController
and profileController
classes
2024-06-12 10:47:01 +01:00
Dev
624737a036
Regenerated bot JSONs
2024-06-11 19:58:30 +01:00
Dev
a34a31f5dc
Small refactor of createMagazineTemplate()
2024-06-10 22:24:08 +01:00
Dev
53c76a098f
Improved Recursive cloner implementation to preserve null state of data
2024-06-10 18:25:58 +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
89459b9e5b
Small cleanup of setTraderOfferPurchaseLimits()
2024-06-08 19:38:48 +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
5d3ea2ef83
Adjusted addBuffToItem()
to also include ARMOR_PLATE items
2024-06-08 17:58:12 +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
f475d4f6f3
Added ARMOR_PLATE
type to getItemSkillType()
check
2024-06-08 17:07:14 +01:00
Dev
e39654be6a
Simplified generateInventoryId()
2024-06-08 16:16:36 +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
2fea0d17de
Fixed altering SelectedMemberCategory
in settings page not saving
2024-06-08 09:15:59 +01:00
Dev
8745caf86d
Refactored getHighestSellToTraderPrice()
2024-06-07 23:14:18 +01:00
Dev
3f125593a7
Refactor BotGenerator()
2024-06-07 22:41:30 +01:00
Dev
d9f8ba653a
Refactoring of RepeatableQuestController
2024-06-07 21:33:09 +01:00
Dev
bb4bfc6dcb
Refactoring of generateReward()
2024-06-07 20:19:58 +01:00
chomp
4788f6b407
30473 ( !361 )
...
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/361
2024-06-07 18:25:27 +00:00
chomp
b3b1f76a77
Migrate PMCs (sptBear/sptUsec) To Bsg Types (pmcBEAR/pmcUSEC) ( !360 )
...
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/360
2024-06-06 16:59:44 +00:00
Dev
75b2661f72
Moved pity gift code into chooseMessage()
to group similar functionality together
2024-06-06 12:24:12 +01:00
Scuvy
e0717daa99
Send pity gift codes to player when player dies to other PMC's ( !359 )
...
* This is to address [Issue 652](https://dev.sp-tarkov.com/SPT/Issues/issues/652 ).
* Added messages with gift codes inside project/assets/database/locales/server/en.json
* Update pmcchatresponse.json to include new pity message type.
* Update logic in project/src/services/PmcChatResponseService.ts to now account for pity messages that are sent.
The message's %giftcode% will now be replaced with a random gift code from assets\configs\gifts.json
* Example:
- ![image](/attachments/ade2686a-8dcb-4c11-9457-88e003a47416)
Co-authored-by: Scuvy <Scuvy@gmail.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/359
Co-authored-by: Scuvy <scuvy@noreply.dev.sp-tarkov.com>
Co-committed-by: Scuvy <scuvy@noreply.dev.sp-tarkov.com>
2024-06-06 11:14:38 +00:00
Dev
ccb351a2dd
Expanded craft search code to also check for craft count
2024-06-06 11:34:03 +01:00
Dev
af76a068b4
Fixed incorrect logging values
2024-06-05 21:50:27 +01:00
Dev
2a9cbab762
Fixed issue with PMC post-raid messages not being sent
...
Caused by bot match cache regression resulting in bot data not being stored during generation
2024-06-05 21:50:07 +01:00
Dev
bcb40c8333
Fixed hideout crafts causing server failure
2024-06-04 19:23:37 +01:00
Dev
0574392f28
Added new lootable item blacklist and added checks to bot and map loot generator code
...
Remove event quest item from global blacklist and move to loot item blacklist
2024-06-04 18:57:36 +01:00
Dev
5b4b0c1471
Introduced Set to speed up calls to isItemBlacklisted()
2024-06-04 18:32:22 +01:00
TetrisGG
bef57f4f58
Fix Tournament Profile having access to Fence ( !358 )
...
Fixes SPT/Issues#677
Fence should be locked in Tournament Profile.
Setting Fences base.json `unlockedByDefault` to `false` makes the profile able to lock Fence
Code from Client:
Shows that unlockedByDefault overrides whatever is written in the Profile data on init.
![image](/attachments/7336f96c-31c0-4ea3-848d-65320cf41340)
Working Screen from Game:
![image](/attachments/b94f368e-91c4-4641-a31e-8b0d8c60d239)
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/358
Co-authored-by: TetrisGG <dmiller2606@gmail.com>
Co-committed-by: TetrisGG <dmiller2606@gmail.com>
2024-06-04 17:20:10 +00:00
Dev
dde78b30eb
Cloned blacklist data before returning it
2024-06-04 18:18:52 +01:00
Dev
2a587d80d8
Added system to filter blacklisted items from static and dynamic loot positions
...
Moved seasonal item filter code to different position inside `generateDynamicLoot()`
2024-06-04 17:06:50 +01:00
Dev
e5398f5e4d
Added implementation for Achievement
quest rewards
2024-06-04 15:36:01 +01:00
Dev
aebe1ab606
Updated getItemPrices()
to return each traders next refresh timestamp
2024-06-04 15:17:46 +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
0aff3c5274
Fixed missing property in addMissingSptVersionTagToProfile()
2024-06-03 22:30:20 +01:00
Dev
7842167595
Stored free daily quest resets in profile per-daily-type
...
Wired up `getClientRepeatableQuests()` to retrieve this value + reduced indentation of function
Updated `changeRepeatableQuest()` to decrement free daily value from profile
2024-06-03 17:33:46 +01:00
Dev
671c57cefb
Cleaned up getClientRepeatableQuests()
2024-06-03 16:51:26 +01:00
Dev
b010ff87c2
Pulled code out of acceptRepeatableQuest()
into new function createAcceptedQuestClientResponse()
2024-06-03 16:20:16 +01:00
Dev
2f21178dc9
Updated JSON data
2024-06-03 15:59:38 +01:00
Dev
5c7f6bc782
Improved comments for deserializeWithCacheCheck()
2024-06-02 14:49:28 +01:00
Dev
a1955d4e7e
Second part of EventOutputHolder
change, updated output
to be keyed by sessionID
2024-05-31 23:28:35 +01:00
Dev
97efad0a79
Updated clientActiveSessionStorage
inside EventOutputHolder
to store data by sessionId
2024-05-31 23:10:18 +01:00
Dev
f20ffe286b
Reworked getBotCap()
to use data from url instead of appContext
2024-05-31 22:01:48 +01:00
Dev
561e8da3db
Improved client/items/prices
handling
2024-05-31 16:16:10 +01:00
Dev
b7a9296fac
Expanded getItemName()
to return short name when full name is not found
2024-05-31 11:09:19 +01:00
Dev
5531f9d03e
Added text to help with finding data
2024-05-30 13:16:28 +01:00
Dev
f341bfcb4b
14.8.6.30268
...
Added new properties to daily quests
Stubbed out quest achievement rewards
Added new Item properties used by unknown radio
Updated data JSONs
2024-05-30 13:05:28 +01:00
Dev
56d135fe6d
Fixed bot generation error
2024-05-30 10:09:04 +01:00
Dev
b8ee834165
Replaced uses of DatabaseServer
with DatabaseService
2024-05-29 15:15:45 +01:00
Dev
2169fd3210
Flagged RarityPvE
as optional
2024-05-29 10:35:18 +01:00
Dev
7d515ad680
Replaced uses of DatabaseServer
with DatabaseService
2024-05-28 22:24:52 +01:00
Dev
5bd49ded59
Updated SaveServer.load()
to log the total time taken to load profiles on server started instead of per profile
2024-05-28 18:40:22 +01:00
Dev
c72834d778
Adjusted load time logging to show a max of 2DP
2024-05-28 18:33:17 +01:00
Dev
0dfbf61ddf
Replaced usages of parameters with fixed values
2024-05-28 18:32:09 +01:00
Alex
e2eb56a60a
Added more nullguards ( !356 )
...
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/356
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:35:38 +00:00
Alex
8727f6150e
primery-dependencies ( !355 )
...
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/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
f56da3c1a8
Updated various classes to make use of databaseService
2024-05-28 14:52:22 +01:00
Dev
584eade530
Added getLocation()
to databaseService
and made use of it across various classes
2024-05-28 14:28:26 +01:00
Dev
c710169e3d
Fixed bad error throw
2024-05-28 14:23:01 +01:00
Dev
7cdac4e38b
Added getTrader()
and utilise inside various classes
2024-05-28 14:13:44 +01:00
Dev
fdb7a2b7d8
Updated various classes to use DatabaseService
instead of DatabaseServer
2024-05-28 13:59:19 +01:00
Dev
9f1e0693f5
Make use of DatabaseService
inside ProfileFixerService
and CustomItemService
2024-05-28 12:27:46 +01:00
Dev
4c08d64ca5
Make use of DatabaseService
inside GameControler
and RagfaiServerHelper
2024-05-28 11:17:38 +01:00
Dev
e78087818f
Add DatabaseService
as safer alternate to DatabaseServer
for accessing db
2024-05-28 11:13:27 +01:00