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
Dev
ae6bb7a43b
Small cleanup of preset handling code in addItem()
2024-01-13 15:00:31 +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
3ef7e3218e
Update loot data
2024-01-10 23:07:06 +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
9a4231d8b8
Rename function profileHelper.removeCompletedQuestConditionFromProfile() to removeQuestConditionFromProfile
2024-01-10 12:37:34 +00:00
Dev
297bc2786a
Improve armor quest rewards
...
Attempt to return the armor preset found in globals.json first as this has default plates, if that fails construct item outselves based on mods _requried properties
2024-01-10 10:04:09 +00:00
Dev
443d8da7f7
FIx server error when passing failed quest data to client
2024-01-09 18:46:44 +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
5ffccddf94
Nullguard against missing properties
2024-01-08 21:17:23 +00:00
Dev
0997c21ba3
Remove debug code
2024-01-08 17:39:28 +00:00
Dev
6dc4604a77
Update inventoryHelper.addItem()
to account for items with children that have a upd object
...
This whole function is in dire need of a rewrite, its awful
2024-01-08 12:41:52 +00:00
Dev
507e8eeaa7
Improve comments
2024-01-08 11:35:20 +00:00
Dev
0b3ad5bbd8
Only send failed quest trader messages for non-repeatable quests
2024-01-07 23:51:28 +00:00
Dev
009055ad24
Add missing aid
value to IUserDialogInfo
2024-01-06 13:49:48 +00:00
Dev
4e21239de3
Improve accuracy of view profile
2024-01-06 13:40:00 +00:00
Dev
d3afe0b6f3
Fix issue with completing a quest
...
Altered `addTimeLockedQuestsToProfile()` to not fail when checked quest has no `target` property
Altered `getNewlyAccessibleQuestsWhenStartingQuest()` to check all statuses of quest, not just first
2024-01-06 09:11:04 +00:00
Dev
9dbd3d1acf
Updated server handling of quests/repeatable quests to match 0.14 changes - this will break profiles
2024-01-05 19:52:21 +00:00
Dev
3979e6ef61
Add handling for quest failing while player is at menu
2024-01-05 15:27:28 +00:00
Dev
c5bb09cce5
Persist achievement data from client into server profile on raid end
2024-01-04 17:17:11 +00:00
Dev
628d817348
Show error when missing caliber data in drawAmmoTpl()
2024-01-02 15:01:27 +00:00
Dev
c39e331423
Replace conditionCounters
array with with TaskConditionCounters
dictionary
2023-12-30 21:59:51 +00:00
Dev
eca799d606
Use correct dictionary for storing data in profile TaskConditionCounters
instead of BackendCounters
2023-12-30 21:30:54 +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
9e55a52965
update quest objects and implement get achievemetns
2023-12-27 17:15:38 +00:00
Dev
db70e8e4bc
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
# project/src/controllers/DialogueController.ts
2023-12-27 11:24:49 +00:00
Dev
6caf97d7ee
Flag items given as FiR
...
Fix weapon preset reqeust not returning more than 1 item
2023-12-25 13:22:31 +00:00
Alex
0ade8f4b9c
Added configs and simplification to ChatBot ( !180 )
...
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/180
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-25 08:38:42 +00:00
Alex
26a6553eaa
Add customizable chat bots and chat commands ( !179 )
...
* Use ICommandoCommand interface to register a new command for Commando! Our new and shiny chat bot that takes care of all your commanding needs
* Use IDialogueChatBot to register you new chatty friend bot!
* If you are feeling lazy, you can also use the ISptCommand and register a command that will use "spt" prefix
* spt give command has been added! Feeling like cheating today? hehe use "spt give tplId quantity" and get a new shiny item on your inbox!
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/179
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-24 19:54:27 +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
8853159b55
Fix player offers being expired before checking if they were sold
2023-12-18 22:32:46 +00:00