Dev
b34edb0d3b
Adjustments to profile saving logging logic
...
Bundle up profile save time and display in one line + do not log to file
Don't log when each profile is saved
Do not log to file how much fuel is left in generator
2024-02-10 10:07:40 +00:00
Dev
fbd371b5c7
Fix code that would detete majority of quest progress from profile
2024-02-09 23:18:23 +00:00
Dev
4b9f2ddbd1
Fixed 2 issues with collecting bitcoins;
...
Only check if progress was only `great than` craft time, not `great than or equal to`
Didn't take into account developer accounts have reduce craft timers
2024-02-09 22:01:19 +00:00
Dev
1cfc7f2a16
Fixed issue with server not properly handling item rotations when trying to fit an item into a container
...
Added small optimisations to skip full rows when looking for a free slot to put item in
Added small optimisation to skip looking for a free slot when entire container is full
Fixed error messages not properly being passed back up chain
2024-02-09 17:13:19 +00:00
Dev
8b6de1a7ea
Rename splitStackIntoSmallerStacks
to splitStackIntoSmallerChildStacks
2024-02-09 15:57:54 +00:00
Dev
8e80fa6350
Removed unused function hydrateAmmoBoxWithAmmo()
2024-02-09 15:48:57 +00:00
Dev
4a8c12dc59
Improve canPlaceItemInInventory()
logging
...
Increase attempts to fit into container to 3 from 2
2024-02-09 15:18:49 +00:00
Dev
5a8317b8a1
Correctly pass item rotation when calling fillContainerMapWithItem()
...
Removed unused legacy function `placeItemInInventoryLegacy()`
Dont return stash layout as result in `fillContainerMapWithItem()`
Added small optimisation to `fillContainerMapWithItem()`, check if all slots of failled before trying to fit item
2024-02-09 15:13:49 +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
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
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
Dev
6b82663ee1
Fix items with a condition property not being correctly classified by ragfair code
2023-12-18 11:18:13 +00:00
chomp
1cf8b1ec9b
flea-sell-changes ( !176 )
...
Co-authored-by: Shibdib <shibdib@noreply.dev.sp-tarkov.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/176
2023-12-17 10:36:54 +00:00
Dev
10b88b54b3
Add guard to fillMagazineWithCartridge()
to prevent bad mod data breaking server
2023-12-16 22:23:50 +00:00
Dev
7950bef43e
Make use of global values when sending player back unsold offer items + rep loss
2023-12-16 15:50:35 +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
268a9b8abd
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/callbacks/BundleCallbacks.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/helpers/InRaidHelper.ts
# project/src/loaders/PreAkiModLoader.ts
2023-12-15 14:16:15 +00:00
Dev
950d17ef1d
Add special slots to getPlayerGear()
2023-12-15 10:38:32 +00:00
Dev
ba1bdc9c5f
Clean up comments for items removed post-raid
2023-12-15 10:36:26 +00:00
Dev
fd14338f5a
Exit isItemIncompatibleWithCurrentItems()
function if item doesnt exist in db or has no _props field
2023-12-14 18:19:50 +00:00
Dev
88c4cf949c
Add comments to various functions
...
Remove redundant function `isWeaponTemplate()`
log warning message when `reparentPresets()` reassigns root item tpl
2023-12-14 15:47:01 +00:00
Dev
4eebd5feef
Change skill reward being 0 from an error to warning
2023-12-11 11:44:26 +00:00
Dev
25bfda0d56
Prevent increasing a skill to beyond the game limit of 5100 points
2023-12-11 11:43:30 +00:00
Dev
bdd9a4cd9b
Improve handling of Lightkeeper quests
...
When LK gives a time-gated quest it was being saved into the profile with a status of `Locked`, meaning it would stay there forever.
Post raid:
Check post-raid for locked quests and update them to be `AvailableAfter` + assign the unlock time to `availableAfter`
Check for quests flagged as `AvailableAfter` and have a `availableAfter` timestamp before current time, change to `AvailableForStart`
2023-12-10 13:09:54 +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
7f995de5d1
Reworked how the flea market categories are calculated, instead of trying to be smart and add/remove in a cache as offers are created, calculate the categories when needed
...
Categories:
Are now much more accurate
take into account when player is below flea unlock level
Any with a (1) and no offers have been fixed
Take into account when offers are barters + barters are filtered out
Skip items with a type of `node` during flea assort generation
2023-12-05 20:41:43 +00:00
Dev
fd40d47698
Handle when hideout crafts have null progress values, not just undefined
2023-12-03 14:50:01 +00:00
Dev
1db690afb3
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/controllers/HideoutController.ts
2023-12-03 11:13:22 +00:00
Dev
f5e5136603
Fix big that casued bots to spawn with only 1 magazine at most
2023-12-02 19:25:46 +00:00
Dev
12cb176a42
Potential fix for failed/repeatable quests keeping their subtask completed status
2023-12-02 00:10:25 +00:00
Dev
19f6bbaed4
improve weightedRandom()
handling of bad data input
...
update allowed param types, should only be arrays
2023-12-01 17:22:24 +00:00
Dev
52b91cae87
Remove useless length check
2023-12-01 16:45:31 +00:00
Dev
e1790ff7a5
Prevent getWeightedValue()
function from null error if items and weights do not match
2023-12-01 14:15:11 +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
b52ea4f1fa
Only set start time in resetQuestState()
when new status is started
2023-11-30 10:13:45 +00:00
Dev
9ed5869fa6
Reduce calls to this.timeUtil.getTimestamp()
inside getQuestReadyForProfile()
...
Set `startTime` property inside `resetQuestState()`
2023-11-30 10:09:23 +00:00
Dev
288b7cf654
Further cleanup of acceptQuest
2023-11-30 09:36:28 +00:00
Dev
a941a22305
Attempt to resolve issue where failed quests that are restarted retain their previous completed statuses until client restart
...
New function to purge completed condtions + remove status timers beyond what a newly started quest would have + add updated quest status object to `questsStatus` property on profile changes response object
2023-11-29 23:36:31 +00:00
Dev
a1d6596f8d
Fix multiple typos
2023-11-29 11:36:20 +00:00
Dev
382cf4c785
Update getMessageItemContents()
to handle when its items.data property is null
2023-11-27 18:24:02 +00:00
Dev
cc488477fb
Logging improvements
2023-11-27 17:01:38 +00:00
Dev
14e917823c
Nullguard getMessageItemContents()
when checking count of reward items
2023-11-26 22:53:09 +00:00
Dev
0b57fe3a5b
Stop addAmmoIntoEquipmentSlots()
from adding ammo if item cannot find container to add item to
2023-11-25 10:04:17 +00:00
Dev
4057301953
Nullguard prior to saving quest data to scav profile
2023-11-24 19:18:29 +00:00
Dev
3c0e6a34f2
Improve addItemWithChildrenToEquipmentSlot()
, Make it return different result when:
...
There are no containers to add item to
Unknown reason
Improved handling of when container has no space for item
Improve `ExternalInventoryMagGen.process()`, Handle edge case when a weapon with a default internal magazine but weapon uses external magazine
Improve most locations that call `addItemWithChildrenToEquipmentSlot()` to log failure reason
2023-11-24 16:05:58 +00:00
Dev
8c7b5da9ff
Rename variable for clarity
2023-11-24 15:38:37 +00:00
Dev
5a2f6b7581
Optimisation: addAmmoIntoEquipmentSlots()
, if it fails because of lack of space, break out of loop and skip trying to add remaining ammo
2023-11-24 15:35:19 +00:00
Dev
a0016ae2fa
Parse result inside getRandomizedMagazineCount()
to number before returning
2023-11-24 15:31:16 +00:00
Dev
7342849f61
Resolve getRandomizedBulletCount
returning extremely large ammo values for rotating grenade launchers
2023-11-24 15:24:46 +00:00
Dev
aa6f765a64
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
2023-11-22 14:28:30 +00:00
Dev
ddb9917c6b
Rework of post-raid scav/pmc profile handling:
...
Moved logic out of `updateProfileBaseStats()` and into separate functions for pmc/scav, left profile-agnostic code alone
new functions `updatePmcProfileDataPostRaid` and `updateScavProfileDataPostRaid`
scav - Only copy active quest progress from client profile to server scav profile
scav - dont attempt to update trader standings, none exist on scav profile
scav - dont transfer psot-raid limb damage to server profile
Update quest status values similarly to PMC quests post raid to ensure they're consistent with existing quest data in profile
Simplifies `migrateScavQuestProgressToPmcProfile`
made various warnings debug instead
2023-11-20 16:33:04 +00:00
Dev
9929cf8c33
Clone handbook data before caching it
2023-11-20 13:47:47 +00:00
Dev
1abc7e3604
Handle failing a quest while raiding as scav
2023-11-20 11:19:11 +00:00
Refringe
6cd86e67b0
Merge branch 'master' into 3.8.0
...
# Conflicts:
# project/.vscode/launch.json
# project/assets/database/locations/bigmap/base.json
# project/assets/database/locations/interchange/base.json
# project/assets/database/locations/rezervbase/base.json
# project/gulpfile.mjs
# project/package.json
# project/src/ErrorHandler.ts
# project/src/Program.ts
# project/src/callbacks/DataCallbacks.ts
# project/src/callbacks/DialogueCallbacks.ts
# project/src/callbacks/GameCallbacks.ts
# project/src/callbacks/HandbookCallbacks.ts
# project/src/callbacks/HealthCallbacks.ts
# project/src/callbacks/HttpCallbacks.ts
# project/src/callbacks/LauncherCallbacks.ts
# project/src/callbacks/LocationCallbacks.ts
# project/src/callbacks/MatchCallbacks.ts
# project/src/callbacks/ModCallbacks.ts
# project/src/callbacks/NotifierCallbacks.ts
# project/src/callbacks/PresetCallbacks.ts
# project/src/callbacks/ProfileCallbacks.ts
# project/src/callbacks/RagfairCallbacks.ts
# project/src/callbacks/TraderCallbacks.ts
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/BotController.ts
# project/src/controllers/CustomizationController.ts
# project/src/controllers/DialogueController.ts
# project/src/controllers/GameController.ts
# project/src/controllers/HealthController.ts
# project/src/controllers/HideoutController.ts
# project/src/controllers/InraidController.ts
# project/src/controllers/InsuranceController.ts
# project/src/controllers/InventoryController.ts
# project/src/controllers/LauncherController.ts
# project/src/controllers/LocationController.ts
# project/src/controllers/MatchController.ts
# project/src/controllers/QuestController.ts
# project/src/controllers/RagfairController.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/controllers/TradeController.ts
# project/src/di/Container.ts
# project/src/di/Router.ts
# project/src/generators/BotEquipmentModGenerator.ts
# project/src/generators/BotLevelGenerator.ts
# project/src/generators/BotWeaponGenerator.ts
# project/src/generators/LocationGenerator.ts
# project/src/generators/LootGenerator.ts
# project/src/generators/RepeatableQuestGenerator.ts
# project/src/generators/WeatherGenerator.ts
# project/src/generators/weapongen/InventoryMagGen.ts
# project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
# project/src/helpers/AssortHelper.ts
# project/src/helpers/BotGeneratorHelper.ts
# project/src/helpers/InRaidHelper.ts
# project/src/helpers/ProfileHelper.ts
# project/src/helpers/RagfairHelper.ts
# project/src/helpers/RagfairOfferHelper.ts
# project/src/helpers/TraderHelper.ts
# project/src/loaders/ModLoadOrder.ts
# project/src/loaders/PostDBModLoader.ts
# project/src/loaders/PreAkiModLoader.ts
# project/src/models/eft/common/IGlobals.ts
# project/src/models/eft/common/ILocationBase.ts
# project/src/models/eft/common/tables/IBotBase.ts
# project/src/models/eft/common/tables/IProfileTemplate.ts
# project/src/models/eft/common/tables/ITemplateItem.ts
# project/src/models/eft/dialog/IAcceptFriendRequestData.ts
# project/src/models/eft/dialog/IDeleteFriendRequest.ts
# project/src/models/eft/game/IGameConfigResponse.ts
# project/src/models/eft/game/IGameKeepAliveResponse.ts
# project/src/models/eft/game/IGameStartResponse.ts
# project/src/models/eft/match/IJoinMatchResult.ts
# project/src/models/eft/notifier/INotifier.ts
# project/src/models/eft/profile/GetProfileStatusResponseData.ts
# project/src/models/eft/trade/IProcessBuyTradeRequestData.ts
# project/src/models/eft/trade/IProcessSellTradeRequestData.ts
# project/src/models/enums/WildSpawnTypeNumber.ts
# project/src/models/spt/bots/BotGenerationDetails.ts
# project/src/models/spt/config/IBotConfig.ts
# project/src/models/spt/config/IBotDurability.ts
# project/src/models/spt/config/IInRaidConfig.ts
# project/src/models/spt/config/ILocationConfig.ts
# project/src/models/spt/config/IQuestConfig.ts
# project/src/models/spt/config/ISeasonalEventConfig.ts
# project/src/models/spt/server/ILocations.ts
# project/src/models/spt/utils/IUuidGenerator.ts
# project/src/routers/dynamic/BotDynamicRouter.ts
# project/src/routers/dynamic/BundleDynamicRouter.ts
# project/src/routers/dynamic/CustomizationDynamicRouter.ts
# project/src/routers/dynamic/DataDynamicRouter.ts
# project/src/routers/dynamic/HttpDynamicRouter.ts
# project/src/routers/dynamic/InraidDynamicRouter.ts
# project/src/routers/dynamic/LocationDynamicRouter.ts
# project/src/routers/dynamic/NotifierDynamicRouter.ts
# project/src/routers/dynamic/TraderDynamicRouter.ts
# project/src/routers/save_load/InsuranceSaveLoadRouter.ts
# project/src/routers/save_load/ProfileSaveLoadRouter.ts
# project/src/routers/serializers/NotifySerializer.ts
# project/src/routers/static/BotStaticRouter.ts
# project/src/routers/static/BundleStaticRouter.ts
# project/src/routers/static/ClientLogStaticRouter.ts
# project/src/routers/static/CustomizationStaticRouter.ts
# project/src/routers/static/DataStaticRouter.ts
# project/src/routers/static/DialogStaticRouter.ts
# project/src/routers/static/GameStaticRouter.ts
# project/src/routers/static/HealthStaticRouter.ts
# project/src/routers/static/InraidStaticRouter.ts
# project/src/routers/static/InsuranceStaticRouter.ts
# project/src/routers/static/ItemEventStaticRouter.ts
# project/src/routers/static/LauncherStaticRouter.ts
# project/src/routers/static/LocationStaticRouter.ts
# project/src/routers/static/MatchStaticRouter.ts
# project/src/routers/static/NotifierStaticRouter.ts
# project/src/routers/static/PresetStaticRouter.ts
# project/src/routers/static/ProfileStaticRouter.ts
# project/src/routers/static/QuestStaticRouter.ts
# project/src/routers/static/RagfairStaticRouter.ts
# project/src/routers/static/TraderStaticRouter.ts
# project/src/routers/static/WeatherStaticRouter.ts
# project/src/services/BotEquipmentFilterService.ts
# project/src/services/BotGenerationCacheService.ts
# project/src/services/BotWeaponModLimitService.ts
# project/src/services/PaymentService.ts
# project/src/services/ProfileFixerService.ts
# project/src/services/RagfairOfferService.ts
# project/src/services/RagfairTaxService.ts
# project/src/services/RepairService.ts
# project/src/services/SeasonalEventService.ts
# project/src/utils/RagfairOfferHolder.ts
# project/src/utils/TimeUtil.ts
# project/src/utils/UUidGenerator.ts
# project/src/utils/VFS.ts
# project/src/utils/collections/queue/Queue.ts
# project/src/utils/logging/AbstractWinstonLogger.ts
# project/src/utils/logging/WinstonMainLogger.ts
# project/src/utils/logging/WinstonRequestLogger.ts
# project/tests/utils/TimeUtil.test.ts
Manually resolved by Refringe.
2023-11-16 23:35:11 -05: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
00be492d5e
Resolves ESLint Naming Convention Issues
2023-11-16 10:09:01 -05:00
Refringe
0ac9e147cb
Resolved post-conflict syntax errors. Sorry!
2023-11-16 10:07:46 -05:00
Refringe
8066eb942e
Merge branch 'fix/linting-errors' into 3.8.0
...
# Conflicts:
# project/src/callbacks/DataCallbacks.ts
# project/src/callbacks/DialogueCallbacks.ts
# project/src/callbacks/GameCallbacks.ts
# project/src/callbacks/HandbookCallbacks.ts
# project/src/callbacks/HealthCallbacks.ts
# project/src/callbacks/HttpCallbacks.ts
# project/src/callbacks/InventoryCallbacks.ts
# project/src/callbacks/LauncherCallbacks.ts
# project/src/callbacks/ModCallbacks.ts
# project/src/callbacks/PresetCallbacks.ts
# project/src/callbacks/TraderCallbacks.ts
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/BotController.ts
# project/src/controllers/CustomizationController.ts
# project/src/controllers/DialogueController.ts
# project/src/controllers/GameController.ts
# project/src/controllers/HideoutController.ts
# project/src/controllers/InraidController.ts
# project/src/controllers/InsuranceController.ts
# project/src/controllers/InventoryController.ts
# project/src/controllers/LauncherController.ts
# project/src/controllers/LocationController.ts
# project/src/controllers/QuestController.ts
# project/src/controllers/RagfairController.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/controllers/TradeController.ts
# project/src/di/Container.ts
# project/src/di/Router.ts
# project/src/generators/BotEquipmentModGenerator.ts
# project/src/generators/BotGenerator.ts
# project/src/generators/BotWeaponGenerator.ts
# project/src/generators/LocationGenerator.ts
# project/src/generators/LootGenerator.ts
# project/src/generators/RepeatableQuestGenerator.ts
# project/src/generators/WeatherGenerator.ts
# project/src/generators/weapongen/InventoryMagGen.ts
# project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
# project/src/helpers/AssortHelper.ts
# project/src/helpers/BotGeneratorHelper.ts
# project/src/helpers/HttpServerHelper.ts
# project/src/helpers/InRaidHelper.ts
# project/src/helpers/TradeHelper.ts
# project/src/helpers/TraderHelper.ts
# project/src/loaders/PostDBModLoader.ts
# project/src/loaders/PreAkiModLoader.ts
# project/src/models/eft/common/tables/IProfileTemplate.ts
# project/src/models/eft/common/tables/ITemplateItem.ts
# project/src/models/eft/dialog/IAcceptFriendRequestData.ts
# project/src/models/eft/dialog/IDeleteFriendRequest.ts
# project/src/models/eft/game/IGameConfigResponse.ts
# project/src/models/eft/game/IGameKeepAliveResponse.ts
# project/src/models/eft/game/IGameStartResponse.ts
# project/src/models/eft/match/IJoinMatchResult.ts
# project/src/models/eft/notifier/INotifier.ts
# project/src/models/eft/profile/GetProfileStatusResponseData.ts
# project/src/models/eft/trade/IProcessSellTradeRequestData.ts
# project/src/models/external/HttpFramework.ts
# project/src/models/external/tsyringe.ts
# project/src/models/spt/config/ILocationConfig.ts
# project/src/models/spt/server/ILocations.ts
# project/src/routers/dynamic/BundleDynamicRouter.ts
# project/src/routers/dynamic/DataDynamicRouter.ts
# project/src/routers/dynamic/HttpDynamicRouter.ts
# project/src/routers/dynamic/NotifierDynamicRouter.ts
# project/src/routers/save_load/HealthSaveLoadRouter.ts
# project/src/routers/save_load/InraidSaveLoadRouter.ts
# project/src/routers/save_load/InsuranceSaveLoadRouter.ts
# project/src/routers/save_load/ProfileSaveLoadRouter.ts
# project/src/routers/static/BundleStaticRouter.ts
# project/src/routers/static/ClientLogStaticRouter.ts
# project/src/routers/static/DataStaticRouter.ts
# project/src/routers/static/DialogStaticRouter.ts
# project/src/routers/static/GameStaticRouter.ts
# project/src/routers/static/HealthStaticRouter.ts
# project/src/routers/static/InraidStaticRouter.ts
# project/src/routers/static/LauncherStaticRouter.ts
# project/src/routers/static/LocationStaticRouter.ts
# project/src/routers/static/MatchStaticRouter.ts
# project/src/routers/static/ProfileStaticRouter.ts
# project/src/routers/static/QuestStaticRouter.ts
# project/src/routers/static/RagfairStaticRouter.ts
# project/src/routers/static/WeatherStaticRouter.ts
# project/src/services/BotGenerationCacheService.ts
# project/src/services/BotLootCacheService.ts
# project/src/services/LocalisationService.ts
# project/src/services/ProfileFixerService.ts
# project/src/services/RagfairOfferService.ts
# project/src/services/RagfairTaxService.ts
# project/src/services/RepairService.ts
# project/src/utils/App.ts
# project/src/utils/DatabaseImporter.ts
# project/src/utils/RagfairOfferHolder.ts
# project/src/utils/collections/queue/Queue.ts
# project/tests/__factories__/ProfileInsurance.factory.ts
# project/tests/controllers/InsuranceController.test.ts
Manually resolved by Refringe
2023-11-15 22:28:43 -05:00
Refringe
622949cd83
Auto-formatting Sweep
2023-11-15 21:12:40 -05:00
Dev
909d79f415
Remove unnecessary removeMapAccessKey()
method, now handled in client
2023-11-14 17:34:44 +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
Refringe
7533d33358
Formatting Change - Operator positions are now at the start of the next line (for multi-line statements).
2023-11-13 12:29:16 -05:00
Dev
206f0d672d
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
2023-11-13 17:06:19 +00:00
Refringe
ce45862e75
Favours dot object notation whenever possible.
2023-11-13 11:51:02 -05:00
Refringe
8586447d21
Formatting for helper classes.
2023-11-13 11:10:22 -05:00
Dev
5f774bf3c8
Exit loop after deleting hideout craft
2023-11-11 20:15:46 +00:00
Dev
d2f4327871
Update updateProductionTimers()
to handle Progress
value being undefined
2023-11-10 19:18:58 +00:00
Dev
171d39d5cf
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-09 14:49:41 +00:00
TheSparta
98a793229c
fixed lint/complexity/noUselessSwitchCase
2023-11-08 19:53:00 +00:00
TheSparta
d13bcc2eba
fixed lint/style/noInferrableTypes
2023-11-08 19:52:59 +00:00
TheSparta
133c0f760d
fixed lint/suspicious/noGlobalIsNan
2023-11-08 19:52:57 +00:00
TheSparta
5b46e956c4
fixed lint/complexity/useLiteralKeys
2023-11-08 19:52:56 +00:00
TheSparta
3eee163aae
fixed lint/complexity/noForEach
2023-11-08 19:51:52 +00:00
Dev
4580c1cea8
FIx hideout crafts flaged as needFuelForAllProductionTime
not progressing
2023-11-08 16:17:14 +00:00
Refringe
0ad85b45e1
Small ItemHelper.getRandomCompatibleCaliberTemplateId()
Improvements
...
- Updated to safely access a deeply nested property.
- Updated to safely access the item `_id` and `_name` properties in the warning log.
- Updated to use the `RandomUtil.getArrayValue()` method to select a random ammo item template ID.
- Finished up some tests.
2023-11-07 22:59:04 -05:00
Dev
80afa0262c
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-07 21:22:06 +00:00
Dev
dfd1bcc589
getTemplatePrice(), when an item cannot be found in the handbook, add it with the price of 0 instead of 1
2023-11-07 21:21:34 +00:00
Dev
7941675102
getItemPrice()
if static price is 0 and dynamic price is missing, return 0 instead of undefined
2023-11-07 21:13:41 +00:00
Dev
d2736f4004
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into testing-redux
2023-11-07 20:59:14 +00:00
Dev
123df5c595
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-07 20:58:56 +00:00
Dev
203ef0c011
Centralise getting a skill from a player profile into one location profileHelper.getSkillFromProfile()
2023-11-07 15:17:38 +00:00
Dev
847586f073
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-07 14:44:26 +00:00
Dev
5a60e4dcf0
Consolodate multiple functions (incrementSkillLevel
, rewardSkillpoints
) that do the same task into one addSkillpointsToPlayer
, make them use enum for skill type instead of string
2023-11-07 11:20:25 +00:00
Dev
206509359e
Add Charisma points when insuring items
, points to reward is a total guess until data can be obtained
2023-11-07 10:40:14 +00:00
Dev
1510237b01
take into accout Charisma skill at elite level when calculating daily quest count
2023-11-07 09:58:58 +00:00
Dev
1cccb0445a
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into testing-redux
2023-11-06 13:19:15 +00:00
Dev
6de32bad6a
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-06 13:18:56 +00:00
Dev
6ba0cfa459
Fix inverted check
2023-11-06 09:24:13 +00:00
Dev
32b356d3f1
Fix isbotPmc
isBotBoss
and isBotFollower
failing when undefined values are passed in
2023-11-05 20:29:10 +00:00
Dev
5656384c8f
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into testing-redux
2023-11-05 20:25:15 +00:00
Dev
d3b7e5ef7a
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-05 20:24:28 +00:00
Dev
df6a08367b
Remove reduandant else from getRepairableItemQualityValue()
2023-11-05 13:19:10 +00:00
Dev
c527824d60
Change getRepairableItemQualityValue()
to handle max durability being lower than durability
2023-11-05 13:16:59 +00:00
Dev
7e409735d1
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into testing-redux
2023-11-05 12:39:38 +00:00
Dev
c7dfc5b9cf
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-05 12:39:20 +00:00
Dev
8f70b03284
Fix hasBuyRestrictions erroring on bad input data
...
Fix isItemTplStackable erroring on bad input data
2023-11-05 12:37:17 +00:00
Refringe
98a35f4b47
Merge branch '3.8.0' into testing-redux
2023-11-04 21:12:49 -04:00
Dev
86c519b117
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-04 10:50:13 +00:00
Dev
75958ee7d2
Replace hard coded blacklist in isValidItem()
with more appropriate call to ItemFilterService.isValidItem()
2023-11-04 10:49:52 +00:00
Dev
24894643de
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-04 10:43:06 +00:00
Dev
ab01e42271
Call getDynamicItemPrice()
correctly inside getItemPrice()
2023-11-04 10:28:33 +00:00
Dev
0a85f6f319
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-02 09:00:14 +00:00
DrakiaXYZ
ebeda336db
Implement live-like calculation of Weapon Maintenance XP ( !164 )
...
- Implement formula based on 30 weapon repairs done on live
- Return the repair amount as `repairAmount` from `repairItemByKit`
- Add an additional `repairPoints` to `RepairDetails` to return the repair points used
- Update `repairAmount` references to `repairPoints` to keep old behavior
- Add new parameter to rewardSkillPoints that applies live-like level scaling
- Only give weapon maintenance XP when using a repair kit
This implementation comes with a "Crit Fail" and "Crit Success" mechanic to account for live sometimes randomly being -4 or +4 off from my estimated values. By default the chance of each is 10%, and they can overlap and cancel each other out
Spreadsheet of live repair data:
https://docs.google.com/spreadsheets/d/1-tR4WYelhZfKZ3ZDbxr3nd73Y60E1wQRjDWONpMVSew/edit?usp=sharing
Useful columns:
C: The amount of dura attempted to be repaired, this is used in the estimated skill calculated
G: Hand entered value of how much skill gain I actually saw on live (Multiplied by 10 for readability. So "3.2" would be "32")
J: The estimated skill gain, based on the calculation included in this merge request
K: How far off the estimated skill gain was (Negative implies we guessed high and the actual result was lower)
One thing of note:
I've modified all the existing references to `repairAmount` to be the new `repairPoints` when a repair kit is used. This is to keep the existing behaviour outside of my direct changes as much as possible.
However, this seems to be incorrect in some cases (For example, buff chance is repairPoints/maxDura, but repairPoints will go down the higher your int. I'm assuming this is meant to be repairedDura/maxDura). May want to update these references to use `repairAmount` once they've been confirmed to expect the repair amount instead of repair points used.
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/164
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2023-11-02 08:56:02 +00:00
Refringe
946552199e
Merge branch '3.8.0' into testing-redux
...
# Conflicts:
# project/package.json
Manually resolved by Refringe
2023-11-02 01:56:18 -04:00
Refringe
85a227e7d5
Updates 🚀
...
- Created profileInsurance test fixture.
- Created ProfileInsurance test factory class.
- Improved many of the InsuranceController method tests by utilizing the factory and fixture. Still some left to do here.
- Adds the `date-fns` package as a development dependancy for easy date manipulation.
- Cleaned up some comments.
Bug Fixes 🐞
- Resolved an issue where `ItemHelper.getAttachmentMainParent()` was not returning null when it should have.
- Resolved an issue where `InsuranceController.populateParentAttachmentsMap()` would continue to process when the parent could not be found.
2023-11-02 01:47:28 -04:00
Dev
fc606ee540
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/database/bots/types/assault.json
# project/assets/database/bots/types/bossknight.json
# project/assets/database/bots/types/bosszryachiy.json
# project/assets/database/bots/types/followerzryachiy.json
2023-10-31 19:10:23 +00:00
Dev
6f62d0b400
Rename variable for clarity
...
Remove redundant `BlocksX` check
2023-10-29 20:44:41 +00:00
Dev
cc86ecce2b
Send correct data to client to inform it craft has been cancelled
2023-10-28 17:48:37 +01:00
Dev
ce50c88b87
Improve error message text
2023-10-28 16:16:39 +01:00
Dev
48913e8707
Update getDefaultCounters()
to return data found from live profile
2023-10-28 12:40:21 +01:00
Dev
1f90ae0bb0
Add undefined check to updateProfileBaseStats()
2023-10-25 18:13:33 +01:00
Dev
0e3d25df03
Improve getTrader()
...
Error when no profile found
Reduce returns to 1
fold two checks into one
Remove magic string reliance on TradersInfo exist check
More comments
2023-10-25 12:18:27 +01:00
Dev
a5dbfef7d0
Localise some error text
2023-10-24 16:40:34 +01:00
TheSparta
7aee78eb49
Fixes Insured items on secured containers ( !158 )
...
This PR fixes both https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/174 and https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/175 .
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/158
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-23 16:45:40 +00:00
Dev
de2f70fb79
Remove replaced repeatable quest from PMC and scav profile
2023-10-21 17:39:44 +01:00
TheSparta
418d9f2a8f
Import path alias on the whole project ( !157 )
...
- Ability to use @spt-aki path alias on the whole project.
- Swapped all imports from relative paths, for imports using the path alias.
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/157
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-19 17:21:17 +00:00
Dev
1adeed29ef
Transfer ConditionCounter and quest status changes incurred during scav raid into pmc profile
...
Only add quests to scav profile when its a pickup/exploration/elimination quest
2023-10-17 22:04:19 +01:00