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
a06e0d1641
Improve flea handling of quality filtering for offers with child objects like armors/plates/weapons
2024-02-08 11:45:12 +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
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
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
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
c6de12e6f8
Rename variables/comments for clarity
2024-02-06 09:49:51 +00: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
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
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
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
193161f786
Fix preset buy searches not filtering items based on search criteria/player level
2024-02-04 09:31:00 +00:00
Dev
4d88b2a94a
Prevent developer profile changes bleeding into non-dev accounts
2024-02-03 23:40:20 +00:00
Dev
d362e17e1b
prevent failQuest()
from failing when no repeatable quest is found
2024-02-03 23:10:42 +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
b6a57553de
Enhance profile template initial trader standing system to be per trader
2024-02-03 15:53:28 +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
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
83c3cd5f8b
Remove unused function
2024-02-02 17:22:49 +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
Dev
d920dceb53
Remove redundant returns from various hideout functions used inside takeProduction()
2024-02-01 12:47: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
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
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
81960a23fe
Fix bitcoins being returned in bundles instead of individually
2024-01-30 13:24:46 +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
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
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
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
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
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
734d821630
Improve mod item filtering code
2024-01-27 18:12:13 +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
e8013321ce
improve flea result filtering to allow weapon presets to show when searching for 1 build item but ignore presets when searching for mulitple
2024-01-25 15:09:10 +00:00
Dev
9b47c3b50e
Fix being unable to buy items via equipment preset menu
2024-01-25 14:40:28 +00:00
Dev
2c50139dba
Round armor/weapon durability values to 2 DP
2024-01-25 09:30:50 +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
4ce26ea870
Refactor of RagfairAssortGenerator
and associated code that touches it
2024-01-23 14:17:01 +00:00
Dev
27bc7cfa6e
Fixed armors being listed with plates above the allowed level on flea
2024-01-23 11:42:47 +00:00
CZPZ
1551a5e793
feature: add probability for extra rep gain on pmc kills as pscav ( !204 )
...
Feel free to rename everything.
We can also use the new function from randomutil and replace code block below on InsuranceController.ts
```
const maxRoll = 9999;
const conversionFactor = 100;
const returnChance = this.randomUtil.getInt(0, maxRoll) / conversionFactor;
const traderReturnChance = this.insuranceConfig.returnChancePercent[traderId];
const roll = returnChance >= traderReturnChance;
```
I killed 2 PMCs with 100% chance and gained 0.07 rep (rounding issue probably somewhere else)
![image](/attachments/00f00922-eb18-4fdc-8958-129b680af704)
Some JS problems :S
![image](/attachments/dcbeb1d1-2ee3-4809-890e-e19fe3190840)
Implements: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/150
Co-authored-by: alimoncul <alimoncul@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/204
Co-authored-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
Co-committed-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
2024-01-21 17:39:37 +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
80b549a2d5
Migrate getBTC()
to use addItemToStash()
2024-01-20 20:26:55 +00:00
Dev
ceba6b3064
Move isItemInStash
into inventoryHelper
...
Cleanup of variable names
2024-01-20 20:15:03 +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
a1f043d088
Fix issie with BuyRestrictionCurrent
value persisting between profiles
2024-01-20 00:19:13 +00:00
Dev
4fd37e3a92
Fix all items being free
2024-01-19 22:49:31 +00:00
Dev
cdb5baac4b
Improve variable names
2024-01-19 12:10:51 +00:00
Dev
63ca393372
Add short circuit optimisation to isItemIncompatibleWithCurrentItems()
2024-01-19 09:56:18 +00:00
Dev
c96b177416
Disable use of sorting table when buying from flea/trader/fence - fixes client error
2024-01-19 09:08:11 +00:00
Dev
15be241dbf
FIx premature exiting of loop
2024-01-16 19:00:21 +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
fbee59fede
When choosing an item to add to a bot, check if the item being added would block an item already equipped
2024-01-16 13:14:48 +00:00
Dev
0166e30dd1
Reduce instances of IItemEventRouterResponse
being passed into a function and then returned, its an object and passed by ref, no need to return it
...
Reduce instances of `IItemEventRouterResponse` being reassigned in a function
Rename `getMoney` to `giveProfileMoney`
2024-01-16 12:21:42 +00:00
Dev
9daa706325
Use correct buycount when buying from fence
2024-01-16 12:08:30 +00:00
Dev
818bb7e37a
Refactored flea purchase code
2024-01-16 11:47:40 +00:00
Dev
4d1066b51a
Make use of presetHelper instead of rolling own implementation
2024-01-16 10:28:08 +00:00
Dev
825db77b1f
Move trader purchases over to new system
...
Fix callback errors not being propigated into client error message
FIx incorrect offer id being passed into `buyItem`
Update callbacks to accept a `buyCount` parameter - solves trader purchase limits being exeeded prematurely
Exit addItemToStash early if warning/error found in output
2024-01-15 14:25:17 +00:00
Dev
cff4a45291
Resolve fence selling helmets that lack inserts
2024-01-15 12:41:54 +00:00
Dev
1d9ff8ace8
Improve buyItem()
to also support putting fence purchases through addItemToStash()
2024-01-14 22:30:05 +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
47a84e508b
Fix some quests failing twice (chemical part 4), reducing rep twice as much as it should
...
Quest failure is handled by client now, no need to find and fail quests in server on quest completion
Move `getQuestsFailedByCompletingQuest()` to questHelper
2024-01-14 12:29:58 +00:00
Dev
4efb75ea58
Fix typo
2024-01-14 10:27:45 +00:00
Dev
41d491dd16
Show error when quest not found in db
2024-01-14 10:27:26 +00:00
Dev
8b03faca89
Fix ragfair offers not saving upd properties
...
Create replacement for `addItem()`, only used for ragfair purchases currently - goal is to fully remove `addItem()`
Dont show warning when generating armor without a default plate on fence
2024-01-14 10:09:43 +00:00
Dev
bf148dba4a
First pass at implementing Place of fame dogtag bonus, bonus is slight out from what is shown on client (0.0x out)
2024-01-13 16:41:06 +00:00
Dev
46ec7bf3ba
Improve handling of presets when adding to player inventory
...
Presets now have all child items FiR status set
2024-01-13 15:01:29 +00:00