Dev
9e70b1135c
Reverse ammo stacks in ammo boxes to fix issue with opening ammo boxes in raid - Thanks to Kaeno for investigation + fix
2024-02-11 15:15:21 +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
9819ac3737
Mimic live behaviour for ammo box locarion values
2024-02-11 12:12:27 +00:00
Refringe
115f217c02
Refactor Insurance Processing for Gear Lost in Raids
...
Notable coding Changes:
- Added `getRootItemParentID` method in `InsuranceService` to standardize the determination of the root insurance container.
- Added `IInsuranceEquipmentPkg` model for structuring insurance packages, a type used to store insurance item data before it's saved in the profile.
- Added `HashUtil` in `InsuranceController` and `InsuranceService` for generating an ID for the root insurance container in the case that the root ID cannot be found.
- Updated and normalized item map generation and usage across `InsuranceService` and `InsuranceController`.
- Updated `ItemHelper` with new methods `adoptOrphanedItems` and `generateItemsMap`, facilitating better management of item relationships and efficient item look-ups.
- Updated `InsuranceController.findItemsToDelete` and related methods to use the new `rootItemParentID` parameter to ensure that all root level items share the same parent ID.
- Updated logic in `InsuranceService` for creating insurance packages and handling orphaned items.
Uh-huh, but what would you say you do here?
- Resolves an issue that arose when `lostondeath.json` equipment configuration options were set to `false`. On death, the equipment's children items would be sent back to the player through insurance, duplicating them.
- Resolves an issue that prevented items from appearing in an insurance return even though they passed an insurance roll.
- Improved debug logging.
Remaining Oopses:
- We do not have data on items that were dropped in a raid. This means we have to pull item data from the profile at the start of the raid to return to the player in insurance. Because of this, the item positioning may differ from the position the item was in when the player died. Apart from removing all positioning, this is the best we can do.
Resolves #425
2024-02-08 15:57:04 -05:00
Dev
c097914e45
Add system to ignore armor plate slots when removing plates not suitable for flea
2024-02-08 16:53:14 +00:00
Dev
7d97bc4945
Correctly generate ammo boxes for dynamic/static/bot loot with one stack of cartridges. It seems the 0.14 client update now handles ammo boxes having a single stack and properly splits the ammo inside it
2024-02-08 16:01:38 +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
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
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
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
62f51be3aa
Improve readability of valid item check
2024-02-06 12:18:41 +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
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
0a6a866ae8
Correctly clone and remap default preset before returning
2024-02-03 12:15:20 +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
Refringe
90492f3aa2
Formatting
...
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05: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
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
30efd8b720
Only add location property to mag cartridge stacks when more than 1 is added
2024-01-27 15:03:15 +00:00
Dev
3ec63ef31d
Fix issue with addChildSlotItems()
and add additional mods
2024-01-23 21:33:24 +00:00
Dev
054aea23e0
Enhance findAndReturnChildrenAsItems
with the ability to filter out stored child objects
2024-01-23 20:00:36 +00:00
Dev
d3f9cea4c1
Fix ammobox + magazine cartridges being given to player with an incorrect FiR status, shouild match parents status
2024-01-23 15:24:02 +00:00
Dev
27bc7cfa6e
Fixed armors being listed with plates above the allowed level on flea
2024-01-23 11:42:47 +00:00
Dev
c68c9a72fb
Refactor handleScavCase()
to use addItemToStash()
...
blacklist soft armor inserts from scavcase rewards
2024-01-21 16:40:14 +00:00
Dev
42b915990e
Moe majority of assort generation from FenceService
into FenceBaseAssortGenerator
...
Generate an items children and store in fence assort base
Better handle presets
Fix `removeRandomItemFromAssorts()` not removing all of an items mods from memory
Correctly calculate an items price including its children
2024-01-20 16:20:39 +00:00
Dev
4fd37e3a92
Fix all items being free
2024-01-19 22:49:31 +00:00
Dev
93edb3e074
Fix player being charged multiple times
...
Fix issue with `findBarterItems()` where it would incorrectly wipe out found results each loop
2024-01-16 18:25:03 +00:00
Dev
cff4a45291
Resolve fence selling helmets that lack inserts
2024-01-15 12:41:54 +00:00
Dev
5005a5160a
Improve buyItem()
handling of multiple and stackable item purchases
...
rename `reparentPresets` to `reparentItemAndChildren` and move to `itemHelper`
2024-01-14 21:12:56 +00:00
Dev
cb18d251ba
Improve selection of items to add mods for:
...
quest rewards
bot loot gen
map loot gen
fence assort gen
Updated `removeRandomModsOfItem()` to also skip slots with a _required prop
2024-01-11 17:42:58 +00:00
Dev
dc1e172df0
Handle generating a fence armor item and a default plate is not found
...
Add extra plates to pool
Centralise plate-related checks into itemhelper
2024-01-10 14:47:09 +00:00
Dev
a9c36ec205
Fix issue with armors as quest rewards not being sent with soft inserts
...
Centralised a soft insert check into `ItemHelper`
Add extra base types to `generateGearPool()` in equipment bot pool service
2024-01-09 16:49:59 +00:00
Dev
bac86262d4
Improve handling of equipment mod generation
2024-01-09 10:30:00 +00:00
Dev
15d53a2d38
Fix armor in bot backpacks having no soft inserts
...
centralise code that adds mods to equipment into one location
2024-01-08 23:27:18 +00:00
Dev
628d817348
Show error when missing caliber data in drawAmmoTpl()
2024-01-02 15:01:27 +00:00
Dev
ffc3a28dc8
Fix fillMagazineWithCartridge()
failing to get a cartridge size when weapon is the rotating grenade launcher
2023-12-30 18:43:17 +00:00
Dev
90324ed343
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
# project/package.json
# project/src/generators/RagfairOfferGenerator.ts
2023-12-19 17:31:19 +00:00
Dev
10b88b54b3
Add guard to fillMagazineWithCartridge()
to prevent bad mod data breaking server
2023-12-16 22:23:50 +00:00
Dev
b6e7679b03
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-12-15 14:43:30 +00:00
Dev
c394cd6c6c
Ensure all classes are exported consistently
2023-12-15 14:43:05 +00:00
Dev
77dba80fbd
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
# project/assets/database/locales/global/ch.json
# project/assets/database/locales/global/cz.json
# project/assets/database/locales/global/en.json
# project/assets/database/locales/global/es-mx.json
# project/assets/database/locales/global/es.json
# project/assets/database/locales/global/fr.json
# project/assets/database/locales/global/ge.json
# project/assets/database/locales/global/hu.json
# project/assets/database/locales/global/it.json
# project/assets/database/locales/global/jp.json
# project/assets/database/locales/global/kr.json
# project/assets/database/locales/global/pl.json
# project/assets/database/locales/global/po.json
# project/assets/database/locales/global/ru.json
# project/assets/database/locales/global/sk.json
# project/assets/database/locales/global/tu.json
# project/src/controllers/TradeController.ts
# project/src/generators/LocationGenerator.ts
2023-12-08 22:20:16 +00:00
Dev
18dc76ec2c
Improve handling of adding items to a bot container when the items type is incompatible with container
2023-12-08 16:27:34 +00:00
Dev
2148eaafe5
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/QuestController.ts
# project/src/di/Container.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
2023-11-30 10:20:37 +00:00
Dev
a1d6596f8d
Fix multiple typos
2023-11-29 11:36:20 +00:00
Refringe
4ac12ef70a
Formatting/Linting Changes ( !168 )
...
These are the formatting & linting configuration changes from the `3.8.0` branch and the changes that they make to the overall project.
The majority of these changes are from running two commands:
`npm run lint:fix`
`npm run style:fix`
This has already been run on the `3.8.0` branch and this PR should make `master` play nicer when it comes to merges going forward.
There are now four VSCode plugins recommended for server development. They've been added to the workspace file and a user should get a UI notification when the workspace is opened if they're not installed.
The four plugins are:
https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig
https://marketplace.visualstudio.com/items?itemName=dprint.dprint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=biomejs.biome
Once installed they should just work within the workspace.
Also, be sure to `npm i` to get the new dprint application.
Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/168
2023-11-16 21:42:06 +00:00
Refringe
0793df60c2
Formatting Change - Space is now given around object properties.
2023-11-13 12:38:16 -05:00
Refringe
32b47bdc18
Formatting Change - When a statement can be moved into a single line and still be under the maximum line length, it is.
2023-11-13 12:31:52 -05:00