Dev
810cd8abd6
Improve flea offer item durability randomisation
...
Expanded `condition` config system to separate out current and max durability
Added missing armor config settings
Rewrote weapon durability method `randomiseWeaponDurabilityValues()` to do work similar to `randomiseArmorDurabilityValues()`
Fixed various items being classified as ARMORED_EQUIPMENT and using the wrong category config values
Moved ARMORED_EQUIPMENT to bottom of config so its chosen last, fixes vests being flagged as wrong item
2024-02-08 14:52:09 +00:00
Dev
adf973bf49
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-02-08 11:45: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
DrakiaXYZ
bc8e98dadc
Fix the server sell all price not matching the client displayed value ( !216 )
...
Resolved by having the client send the sell price instead of trying to calculate it on the server. Same route, just with an extra parameter passed in
Removed unnecessary value calculation code, and renamed method to match new behaviour
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/216
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-08 09:10:06 +00:00
Dev
7a33eea672
Small cleanup of fence item removal code -reduce assort size to 140 to ensure its divisible by partialRefreshChangePercent
without remainder
2024-02-07 23:44:15 +00:00
Dev
8756431774
Ensure giveProfileMoney()
rounds money its sending to nearest integer
2024-02-07 23:23:19 +00:00
Dev
439c412800
Ensure fence assorts are always rounded to nearest integer
2024-02-07 23:17:22 +00:00
Dev
15bf71b16f
Move daily money reward into its own function
2024-02-07 20:56:54 +00:00
Dev
cc2e820290
Move ammo stack size calcualtion into its own function
2024-02-07 20:51:12 +00:00
Dev
98b592f0c2
Prevent daily rewards from picking armors with soft inserts to duplciate reward count of
2024-02-07 20:43:45 +00:00
Dev
0759afb84f
Update daily system to correctly reward just weapons when traderWhitelistDetails.weaponRewardChancePercent
passes its check instead of weapons or armor
2024-02-07 20:32:24 +00:00
Dev
424e438732
Improve how daily quests calculate the price of items when choosing a reward that's inside its price boundaries
...
Items with a default preset inside globals.json now use all items inside the preset for price calculation
2024-02-07 20:15:44 +00:00
Dev
4e20ca6744
Remove debug logging, its scaring too many people
2024-02-07 18:01:00 +00:00
Dev
57855fd316
Add whitelist system to magazine filling function fillMagazineWithRandomCartridge()
. Fixes issues with kedr being filled with incompatible ammo
2024-02-07 14:45:43 +00:00
Azrael1123
7a4b27bbe1
Better fix for SPT-AKI/Issues#417 ( !215 )
...
[The wiki specifies](https://escapefromtarkov.fandom.com/wiki/Scavs#Scav_karma ) that, between 6 and 8, Fence rep is reset to 6 before penalties are applied (i.e. killing someone at 7.5 rep leaves you at 5.9), but the current fix just subtracts a flat 1 reputation instead (i.e. a kill at 7.5 leaves you at 6.4)
this should change that.
Co-authored-by: Azrael <Azrael@noneofyourbusiness.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/215
Co-authored-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
Co-committed-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
2024-02-07 08:18:18 +00:00
Refringe
ebbc3e2029
Refactored InsuranceController
for Better Attachment Handling
...
Made several improvements to the `InsuranceController` to ensure a more reliable and logical handling of insured items and their attachments.
- Updates `parentAttachmentsMap` declaration to `let` for mutability, enabling dynamic updates during processing.
- Updates `parentAttachmentsMap` to initially include all attachments (including attachments that should not be in-raid moddable).
- Updates `processRegularItems` logic to include `parentAttachmentsMap` in its parameters and logic. Now better ensures that attachments are correctly identified and processed alongside their parent items.
- Adds `removeNonModdableAttachments` method to filter out non-moddable attachments from processing.
- Updates deletion logic to better handle cases where items, such as armour vests and their non-removable plates, are processed to prevent orphaned items post-deletion.
Resolves #401
2024-02-07 01:16:46 -05:00
Refringe
2aa0054833
Insurance Package Removal Issue
...
Resolved an issue that caused insurance packages that were created/lost in the same raid with different traders to be removed all at once instead of one-by-one after they were processed. This shouldn't have been causing any notable issues as the packages were already cached/queued up for processing elsewhere in the code, but it was never the original intent to have them removed before they were processed. The fix was simply to also match the trader ID when the package removal takes place.
Possibly related to #401 #425
2024-02-06 20:08:14 -05:00
Refringe
6714d2d172
Forgot Instance of Parent Update
...
Updates the `replaceIDs` method call in the `LocationGenerator` class to be inline with the changes in the parent commit.
2024-02-06 18:50:42 -05:00
Refringe
42dabc057b
Improved replaceIDs
Method in ItemHelper
...
- Implemented deep cloning of input Items to prevent mutation.
- Reordered parameters: Items (required) now precede PMC data (optional).
- Updated method calls to bring them inline with these changes.
2024-02-06 18:39:06 -05:00
Refringe
c29482394b
(More) Simple Parameter Reassignment Issues
...
Addresses some of the simple linting errors regarding the reassignment of function parameters.
2024-02-06 18:35:11 -05:00
Dev
d8fe911464
Cleanup dynamic loot selection, armors have their children stored in loose loot json, use existing code to pull children out instead of generating it
2024-02-06 23:17:41 +00:00
Dev
cb10ec4148
When generating armors for static loot, try and use default preset first before generating randomly
2024-02-06 23:00:39 +00:00
Dev
1101927768
Improve fence price calculation code. Prices now take into account removed item mods + mod durability
2024-02-06 20:44:40 +00:00
Dev
b40e41bd3d
Improve sellChance logic
...
Two changes:
Calcualte the quality of an item and its mods, not just root item
Calcualte the average price of an offer using item + mods, not just root item
2024-02-06 15:52:22 +00:00
Dev
5f873e73b8
Move handbook override code into HandbookHelper.hydrate()
- changes now apply to ragfair
2024-02-06 12:52:56 +00:00
Dev
62f51be3aa
Improve readability of valid item check
2024-02-06 12:18:41 +00:00
Dev
7bc9fdbe95
Add system to override handbook price, add christmas gift items small/med/large
2024-02-06 12:16:26 +00:00
Dev
72345abb4a
Force plates to spawn in armor items found inside PMC backpacks
2024-02-06 10:53:08 +00:00
Dev
ddac44f79d
Divide roubles calculated inside calculateCostOfScavInventoryAndMailMoneyToPlayer()
by half
2024-02-06 10:33:59 +00:00
Dev
023697ed74
Partial fix for items flagged as being never lost on death coming back as insurance.
...
Items will not return but plates inside them still do
2024-02-06 10:10:56 +00:00
Dev
c6de12e6f8
Rename variables/comments for clarity
2024-02-06 09:49:51 +00:00
Refringe
807ba04967
Resolves Bot Generation Error
...
- Resolves an issue in bot generation caused by a missing parameter when calling the `shouldModBeSpawned` method.
- Adds a optional chaining operator within a condition to safeguard against undefined errors.
Contributed by: barlog_m
Thank you! :D
2024-02-05 19:16:36 -05:00
Refringe
cd6e40b66c
Error Message Propagation Issue
...
Resolves an issue where the error message in `getItemsToListOnFleaFromInventory` did not propagate as expected due to the pass-by-value behaviour in JavaScript. The solution was to refactor the method to return an object that includes both the items and the error message.
2024-02-05 19:03:26 -05:00
Refringe
3a2b24b9b8
Simple Parameter Reassignment Issues
...
Addresses some of the more simple linting errors regarding the reassignment of function parameters.
2024-02-05 19:03:26 -05:00
Refringe
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
b7d74f1dec
Add system to flag weapon slot ids as required.
...
Applies to stocks/recievers for PMCs
recievers for exusec/raider
2024-02-05 22:02:03 +00:00
Dev
32862866aa
Remove some debug logging
2024-02-05 19:53:59 +00:00
Dev
d36593ca57
Rework fence service to handle armor/weapons separately,
...
made config work with a weapon/equipment min/max value
Improve price filtering system to work with weapons/equipment
2024-02-05 19:52:46 +00:00
Dev
3653ab9f83
Apply a duribility price modifier to items sold on flea
2024-02-05 19:49:42 +00:00
Dev
ce27f58664
FIx weapons/armors not showing on fence
2024-02-05 18:21:02 +00:00
Dev
422b7878ab
Add getMatchingPreset()
and add workaround for silenced DVL choosing wrong barrel mods
2024-02-05 15:36:05 +00:00
Dev
a04a05996d
Adjust calculateFenceStandingChangeFromKills()
to take into account rep loss when fence rep between 6 and 8 or rep > 8
2024-02-05 14:44:31 +00:00
Dev
bf5f3316b1
Rename cloned variables to help with readability
2024-02-05 14:43:46 +00:00
Dev
183e71370a
Reworked buyItem()
to use addItemsToStash()
to ensure it performs a space check prior to adding any items to stash
2024-02-05 14:07:21 +00:00
Dev
2f673d12b9
Improve weapon/equipment item purchase filtering
2024-02-05 11:38:04 +00:00
Dev
0f6b34605b
Prevent duplicate equipment builds occuring when renaming an existing build
2024-02-05 09:13:37 +00:00
Dev
946172d20c
Add additional helmet soft inserts to getSoftInsertSlotIds()
2024-02-05 09:02:58 +00:00
Dev
a2668a9618
Rework insurance to not duplicate items + still return soft_inserts
...
Added missing groin_back to `itemRequiresSoftInserts()`
2024-02-04 22:41:11 +00:00
Dev
d9bcb3fce8
Fix deleting an item from mail before receiving all kills server
2024-02-04 19:51:19 +00:00
Dev
9fa0bf53e5
Rework sell all scav gear button to send money as mail
2024-02-04 19:27:35 +00:00
Dev
63603f5d9a
Reduce grizzly count added to PMC secure to 1 + morphine to 2
2024-02-04 14:43:37 +00:00
Dev
cfe470029f
Refactor insurance item checking code into 2 functions to allow checking if any items were lost before sending Insurance lost
mail
2024-02-04 10:19:57 +00:00
Dev
afce41d68b
Improve lost insurance message system, only send lost insurance when an insured item was lost
2024-02-04 09:52:56 +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
2c4278cd96
Show debug message as warning + fix incorrect prapor quest assort ids
2024-02-04 09:12:27 +00:00
Dev
f2ed957579
Expand server version debug logging
2024-02-04 09:04:12 +00:00
Dev
4d88b2a94a
Prevent developer profile changes bleeding into non-dev accounts
2024-02-03 23:40:20 +00:00
Dev
3dacbc98b2
Remove redundant .some()
call
2024-02-03 23:11:36 +00:00
Dev
d362e17e1b
prevent failQuest()
from failing when no repeatable quest is found
2024-02-03 23:10:42 +00:00
Dev
714386c793
Update generateEquipment()
to return true when it adds item
2024-02-03 20:29:31 +00:00
Dev
3c371a6c16
Add search criteria filtering to required search
...
Pull out`isDisplayableOffer` from`passesSearchFilterCriteria`
2024-02-03 20:23:26 +00:00
Dev
36d6e56d89
Improve comments
2024-02-03 19:47:39 +00:00
Dev
747510e5d2
Remove bleeds/breaks after 30 mins offline
2024-02-03 19:45:42 +00:00
Dev
1a9dc1ea2b
Cleanup of setHideoutAreasAndCraftsTo40Secs
to more central location
2024-02-03 19:42:49 +00:00
Dev
ec9a877cd4
Force item limits to be used with special loot items
2024-02-03 17:34:08 +00:00
Dev
fcd7e463aa
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-02-03 17:00:04 +00:00
Dev
34d761a14f
Fix edge case when getModPoolForSlot()
gets default handguard for mp5 when the reciever is set to the mp5sd. Now uses correct default template
2024-02-03 16:59:54 +00:00
CWXDEV
27927dd456
Fix dev profiles on creation not having correct "shortened" crafting times
...
new call only happens when a creation of profile happens
2024-02-03 16:39:20 +00:00
Dev
b6a57553de
Enhance profile template initial trader standing system to be per trader
2024-02-03 15:53:28 +00:00
CWXDEV
06ce2c090e
Fix Required Search
2024-02-03 15:26:15 +00:00
Dev
5e1da93a69
Allow seasonal events to trigger after profile creation
2024-02-03 14:39:37 +00:00
Dev
164bf08b08
FIx armor filtering code to correctly return non-armored rigs when requested
2024-02-03 14:00:47 +00:00
Dev
8d2eaf2485
Copy over stackobject count from original reward
2024-02-03 12:47:52 +00:00
Dev
f7651fe003
fix colliding var names
2024-02-03 12:18:11 +00:00
Dev
0a6a866ae8
Correctly clone and remap default preset before returning
2024-02-03 12:15:20 +00:00
Dev
e3cf4c3c92
Fix starting quest armor rewards not showing correctly
2024-02-03 11:41:30 +00:00
Dev
12a9cb5ded
Fix processReward()
incorrectly trying to add mods to armor items without slots
...
Add `itemHasSlots` to itemHelper and consolodate its use across code
2024-02-03 11:00:30 +00:00
Dev
47bedcb526
improve filtering of required item
searches on flea - Fixes locked items being shown in search results
...
Improve type usage inside `getRequiredItemsById()`
2024-02-03 10:33:11 +00:00
Kaeno
1c00c2bb13
Keep bonus.value from text_bonus bonuses
2024-02-02 20:11:09 +00:00
Refringe
69a1723646
Fixes Linting Issues
...
- Reorders imports
- Removes unnecessary `else` control statements
- Simplifies some logic
- Converts key access to dot notation
- Converts Array.forEach loops to for...of loops
2024-02-02 15:00:21 -05:00
Refringe
90492f3aa2
Formatting
...
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00
Dev
5136d69050
Implement flea required searching
2024-02-02 19:23:08 +00:00
Dev
ca02aa6a50
Fix stackable hideout crafts not being added to stash in correct format
2024-02-02 17:31:52 +00:00
Dev
83c3cd5f8b
Remove unused function
2024-02-02 17:22:49 +00:00
Dev
796d63b3e2
Fix fence item not being removed after purchase
2024-02-02 17:22:12 +00:00
Dev
e6e77d49a5
Cleanup of fence offer generation, no longer errors when buying items from high level fence offer page
2024-02-02 17:15:28 +00:00
Dev
034ac83a10
Improve handling of buying less than max stacksize from fence
2024-02-02 15:56:37 +00:00
Dev
8dab47b3fd
Fix selling to trader an amount above stack size causing currency to not stack
2024-02-02 15:35:02 +00:00
Dev
8d59ab7c77
Replace use of dialogueHelper.addDialogueMessage inside sendInsuredItems() with MailSendService.sendMessage()
2024-02-02 11:57:10 +00:00
Kaeno
e0b5d43fd5
Fix fence generating items with same IDs causing Fence Trader to break client
2024-02-01 21:02:39 +00:00
Dev
ded87b3881
Show first 7 characters of commit server was built against in version label
2024-02-01 16:58:23 +00:00
Dev
31942b96eb
Add marksman rifles to elimination dailies
...
Add weapon filtering based on range requirement of elimination quest:
> 50 = no pistols/shotguns
< 20 = no DMR/MarksmanRifles
2024-02-01 14:37:02 +00:00
Dev
a38cf7fa69
Remove redundant else from toggleItem()
2024-02-01 13:58:06 +00:00
Dev
5e94e3fef0
Cleanup of getExaminedItemTpl()
2024-02-01 13:53:36 +00:00
Dev
6032573815
Comment improvements
2024-02-01 13:31:36 +00:00
Dev
5f500655be
openRandomLootContainer()
Remove item after contents have successfully been added to stash
2024-02-01 13:26:18 +00:00
Dev
3587becf76
Update openRandomLootContainer()
to use addItemsToStash()
2024-02-01 13:23:03 +00:00
Dev
704b337a3c
removeResourceFromArea()
Pass found item in slot directly to addToStash requst for small optimisation
2024-02-01 12:53:30 +00:00
Dev
d920dceb53
Remove redundant returns from various hideout functions used inside takeProduction()
2024-02-01 12:47:48 +00:00
Dev
3bf44b7863
Update handleScavCase()
to use addItemsToStash()
2024-02-01 12:42:02 +00:00
Dev
d564a7a992
Comment improvements
2024-02-01 12:35:18 +00:00
Dev
16cb48ad70
Improvements to handleRecipe()
...
Cleaner handling of stackable rewards
Moved task condition counter lookup to own function
2024-02-01 12:31:48 +00:00
Dev
44560991b0
Improve handleRecipe()
...
Better handling of item rewards that need to be split into root + child (ammo boxes)
Use `addItemsToStash()`
move `recipe.isEncoded` check to earlier in function
make use of `getItem()` inside `splitStack()` instead of direct db access
2024-02-01 11:23:32 +00:00
Dev
92d949b445
Comment improvements
2024-02-01 10:24:10 +00:00
Dev
8c99b25df0
Rename interface to IOwnerInventoryItems
2024-02-01 09:58:20 +00:00
Dev
1e4d07937b
Update getBTC()
to make use of new function
2024-02-01 09:58:04 +00:00
Dev
406c59789a
Add interface
2024-02-01 09:50:50 +00:00
Dev
8d8baec766
Add new addItemsToStash()
function to InventoryHelper
2024-02-01 09:48:46 +00:00
Dev
69735b5037
Check inventory has space before adding bitcoins from craft
2024-01-31 23:39:01 +00:00
Kaeno
23ceca5279
Blacklist Quest Items from Scav Case
2024-01-31 22:52:55 +00:00
Dev
95dd27038d
improve accuracy of daily quest system
...
Keep completed dailies inside "activeQuests" array until dailies are refreshed
Adjust post-raid quest handling to ensure previously completed/failed quests keep their original status
2024-01-31 14:38:18 +00:00
Dev
a45cc3052e
Fix issue with choosing a default mod for a weapon when the bot doesnt have the default mod in their mod pool already - would result in missing vital mods causing a fallback to a default weapon preset
2024-01-30 21:14:15 +00:00
Dev
9616f9b34b
Improve armor slot compatibility checking
2024-01-30 16:32:03 +00:00
Dev
81960a23fe
Fix bitcoins being returned in bundles instead of individually
2024-01-30 13:24:46 +00:00
Dev
491a5204bb
optimisation: only update the current profiles hideout data
2024-01-30 12:16:58 +00:00
Dev
d0af930dc9
Fix not being able to collect bitcoins
...
Improved handling of server/client sync when clicking 'get iems' to reduce chance of `no bitcoins to collect` error
2024-01-30 12:16:27 +00:00
Dev
55154c8b1a
improve block checking logic to be dynamic based on pool size
2024-01-29 23:02:09 +00:00
Dev
f3ec237674
Fix issue with weapon mod generation flagging mod as incompatible even though it passes compatibility checks
...
Stop trying to fit a mod to a weapon after 8 blocked attempts
Created streamlined mod compatability checker function
2024-01-29 22:41:08 +00:00
Dev
58d620d424
Fix weapon mod generation choosing a default mod only to keep it flagged as incompatible
2024-01-29 21:27:36 +00:00
Dev
bf7e214b77
Add nullguard to updateFuel()
when generator slot has no items array
2024-01-29 16:40:58 +00:00
Dev
099e2cd6f3
Update air filters to correctly calculate time they were being used since last hideout update tick
2024-01-29 16:05:32 +00:00
Dev
9b45d40c2b
Improve dogtag bonus function for HoF area + allow any side dogtag to be used
2024-01-29 15:56:35 +00:00
Dev
ad0489a9e7
Cleanup of updateFuel()
...
Make function calculate drain rate for the whole period since last update ran, not just the interval period in config
Look up max fuel storage of item instead of assuming its expeditionary or the other fuel container
Reduce nesting by inventing an if
2024-01-29 15:55:43 +00:00
Dev
a9517bb1cc
Remove redundant return statements from RagfairOfferGenerator
2024-01-29 11:22:04 +00:00
Dev
330b1ebf28
declare repeatableQuests
as const not let inside removeOrphanedQuests()
2024-01-29 11:12:57 +00:00
Dev
2bb8965c80
Remove redundant else from updateBitcoinFarm()
2024-01-29 11:11:44 +00:00
Dev
079651045d
Remove return type from updateWaterFilters()
2024-01-29 11:10:26 +00:00
Dev
4cc7813320
Replace skillType
bonus property with enum
2024-01-29 10:48:53 +00:00
Dev
e88a661e7e
Convert hideout area bonus property + Bonus type property into an enum and update code that uses altered property
2024-01-29 10:42:02 +00:00
Dev
dbc6bd9a0b
Improve reorderHideoutAreasWithResouceInputs()
debug messaging
2024-01-29 10:25:14 +00:00
Dev
e579cac907
improve applyPlayerUpgradesBonuses()
debug messaging
2024-01-29 09:59:22 +00:00
Dev
8fe2508e00
Improve addItemToStash()
debug messaging
2024-01-29 09:54:20 +00:00
Dev
8b691e10a9
Improve server locale handling
2024-01-27 23:33:31 +00:00
Dev
215e8f1c4b
Create new SNOW
event separte from new years
2024-01-27 23:08:21 +00:00
Dev
8ec94a1322
Skip gifter when removing christmas items
2024-01-27 22:39:57 +00:00
Dev
5ffa186b0e
Build fix
2024-01-27 22:38:16 +00:00
Dev
023bf7ac3f
Removed return type from generateId()
2024-01-27 21:01:57 +00:00
Dev
88179f1c4c
Remove return type for generateInventoryID()
2024-01-27 20:31:20 +00:00
Dev
8cf9cb8e15
Fix issue with getDynamicOfferPriceForOffer()
not seeing presets correctly after ragfair rework
2024-01-27 20:00:18 +00:00
Dev
ccb610dda6
Add config property forceOnlyArmoredRigWhenNoArmor
+ wire it up
2024-01-27 18:52:36 +00:00
Dev
734d821630
Improve mod item filtering code
2024-01-27 18:12:13 +00:00
Dev
8ca0c5d82b
Remove faceshield from headwear section
2024-01-27 17:08:01 +00:00
Dev
b3f2e3e2a5
Stop PMCs being genered as usec with side of bear
2024-01-27 16:19:26 +00:00
Dev
30efd8b720
Only add location property to mag cartridge stacks when more than 1 is added
2024-01-27 15:03:15 +00:00
Dev
b6327b7d0d
Build fix
2024-01-27 09:03:39 +00:00
Dev
ac78ce1b82
Make name consistent
2024-01-26 22:40:30 +00:00
Dev
26ebe6cfca
Add modUrl for mod data
2024-01-26 22:37:40 +00:00
Dev
89b16cf7c1
remove 2 lint errors
2024-01-26 17:57:42 +00:00
Dev
59bc9cb3e0
Move bot hands/head/voice over to weighted lists
2024-01-26 17:57:13 +00:00
Dev
3764d923fd
Linting
2024-01-26 15:56:53 +00:00