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