Commit Graph

272 Commits

Author SHA1 Message Date
Dev
af50cb7869 FIx getProfileTraderPurchase() failing when trader doesnt exist in profile 2024-01-20 20:37:41 +00:00
Dev
ceba6b3064 Move isItemInStash into inventoryHelper
Cleanup of variable names
2024-01-20 20:15:03 +00:00
Dev
4bca0b7747 Migrate giveProfileMoney() to use addItemToStash() 2024-01-20 20:06:15 +00:00
Dev
80fdaf65e6 Finalise fence changes 2024-01-20 17:56:19 +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
Kaeno
812a6a6884 Fix function removing daily/weekly quests from profile on profile load 2024-01-19 16:41:35 +00:00
Dev
c8fa31184f Prevent gifter bot being added twice 2024-01-18 12:20:28 +00:00
Dev
bb741f681d Store and process secure container loot items for bots
Give gifter more items
2024-01-18 12:07:32 +00:00
snowythefox811
f6192f1891 Added The ability to have enhancements on armored rigs and helmets. (!200)
Added the vest and headwear classes to be eligible for armor enhancement

Co-authored-by: Snow <Notarealemail@email.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/200
Co-authored-by: snowythefox811 <snowythefox811@noreply.dev.sp-tarkov.com>
Co-committed-by: snowythefox811 <snowythefox811@noreply.dev.sp-tarkov.com>
(cherry picked from commit 35eb9feebf)
2024-01-18 09:08:22 +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
33d1395dea Add debug logging to getSortedMoneyItemsInInventory() 2024-01-16 17:24:28 +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
cff4a45291 Resolve fence selling helmets that lack inserts 2024-01-15 12:41:54 +00:00
Dev
0d059fbaf4 Remove ancient profile fix 2024-01-15 10:07:57 +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
72fdada5d7 Add vistor shot damage to those listed on flea/fence - 25% chance a damaged helmet can have a visor with bullet hits
Improved `FenceService.addModsToArmorModSlots()` to not break when it cant find a default plate tpl
2024-01-13 20:47:59 +00:00
CWXDEV
f7bdded54d remove orphaned quests to stop softlocking quest screen. 2024-01-12 21:59:38 +00:00
Dev
bf7dac25ae Allow fence to strip items from listed weapons that're not raid-modadble, players can sell broken guns to him from menu 2024-01-12 13:33:11 +00:00
Dev
c5806aadb8 Allow fence to list items with missing required items 2024-01-12 13:30:22 +00:00
Dev
d92f30d281 Fix insurance return all child items of an item (ammo in mags/chamber) 2024-01-12 12:32:04 +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
6a8e261af1 Fix typo 2024-01-11 12:48:10 +00:00
Dev
dc1e172df0 Handle generating a fence armor item and a default plate is not found
Add extra plates to pool

Centralise plate-related checks into itemhelper
2024-01-10 14:47:09 +00:00
Dev
a9c36ec205 Fix issue with armors as quest rewards not being sent with soft inserts
Centralised a soft insert check into `ItemHelper`

Add extra base types to `generateGearPool()` in equipment bot pool service
2024-01-09 16:49:59 +00:00
Dev
154578dd44 Update randomisation config to specifiy its for weapon mods + add equipment mod adjustment system
Adjust PMCs to use more gear mods at higher levels
2024-01-09 16:15:31 +00:00
Dev
f3964639bd Rename mods to weaponMods and add new object equipmentMods
regenerate bot jsons to include this new data (includes correct inclusion of equipment slot "TacticalVest" which was previously missing)

Fix issue with PMM ammo causes generation issues
2024-01-09 15:31:56 +00:00
Dev
a742beeae9 Comment and property name cleanup inside removeDanglingTaskConditionCounters() 2024-01-09 12:27:08 +00:00
Terkoiz
98b0a579b3 Fixed achievement counters getting mistakenly cleaned up as stale quest counters (!189)
Fixes #273

Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/189
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-09 11:57:27 +00:00
Dev
878284f108 Fix issue with insurance not returning soft inserts for armors 2024-01-08 21:16:53 +00:00
Dev
e18f75a60c Cast trader property to number before use 2024-01-08 21:14:13 +00:00
Dev
0c7cecdacd Add variable durability loss to armor plates sold by fence 2024-01-08 17:43:19 +00:00
Dev
96f75fd744 Correctly remove item + children from fence assorts when running removeFenceOffer() 2024-01-08 11:34:52 +00:00
DrakiaXYZ
3401b4094e Initial commit of trader services structure (!187)
- Only contains BTR taxi and delivery services
- Super basic implementation, client doesn't seem to need anything except the service type for these
- Includes handling of the BTR Item Delivery service

Basic implementation can be merged and expanded on later, doesn't break anything by existing (Hopefully)

I've opted to add the routes to the `InRaid` controller/Callbacks, because it is a route only accessed within the raid. Seemed like it would be the best place for it

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/187
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-08 08:51:46 +00:00
Dev
5eda074dbe Add comments 2024-01-07 23:11:18 +00:00
Dev
928e406b76 First draft of randomisd armors on fence 2024-01-07 22:11:05 +00:00
Dev
ed82e9ed2f Halloween event fixes 2024-01-07 19:29:42 +00:00
Dev
c6135802be Refactor equipment mod parameters 2024-01-07 14:46:25 +00:00
Mihai
3c32c8cc67 Addressed build failures by initializing an array properly as '[]' instead of 'undefined,' (!185)
Co-authored-by: Mihai <mihai@something.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/185
Co-authored-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
Co-committed-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
2024-01-07 07:40:16 +00:00
Dev
bd60cf51e2 Fix event system not working for events other than halloween and christmas
Allow events to overlap

Rename config property from `enableWinterEvent` to `forceWinterEvent`
2024-01-06 23:29:42 +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
8ef405e551 Correctly implemented:
`client/builds/delete`
`client/builds/equipment/save`
`client/builds/weapon/save`

Updated `defaultEquipmentPresets` json data

Removed old 0.13 preset implementation files

profile-breaking change
2024-01-06 11:11:04 +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
ca7958afed Implement Place of face hideout area
Implement adding/removing favorite items
2023-12-29 20:22:50 +00:00
Dev
d1b9cbbfc5 Enable snow for christmas/new years 2023-12-29 19:09:03 +00:00
Dev
70dcafc6ba Add new years 2023 gift 2023-12-29 17:18:28 +00:00
Dev
8c546bd1a8 Add new base classes and update name of ARMORED_EQUIPMENT 2023-12-29 15:48:25 +00:00
Dev
ec263acb96 Add armor plates to various bots
Fix rigs mods not being generated for PMCs
2023-12-28 18:57:02 +00:00
Dev
db296499e9 Fix profile ids being prepended with pmc/scav killing game load 2023-12-27 22:01:30 +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
538a5f2807 Fix Czech locale not being picked up correctly 2023-12-26 15:55:50 +00:00
Dev
ea2257c2fb Add function to allow addition of custom weapons to PMCs 2023-12-24 16:06:18 +00:00
Dev
956397864c Fix items disappearing after repair 2023-12-21 09:31:07 +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
2f3202b921 Skip insured items in special slots being returned on death 2023-12-18 23:08:27 +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
5b886038e9 Change warning logging into debug inside adjustWeighting() 2023-12-15 19:45:40 +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
bda6d66e92 Log names of files being serialsied 2023-12-13 22:16:21 +00:00
Dev
786b9013fd Log to console when seasonal event is active 2023-12-11 14:42:17 +00:00
Dev
14e94dbb8e Fix issue where scav raids would generate MORE loot the shorter the raid was 2023-12-11 14:42:04 +00:00
Dev
2cebf5f2ee Prevent giving player 0 intellet as reward after repairing item 2023-12-11 11:46:54 +00:00
Dev
12cda6acb8 getWeaponRepairSkillPoints() has a chance to return 0 due to the possibility of a critical failure, only run addSkillPointsToPlayer() if value is above 0 2023-12-10 13:18:14 +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
c015882eac Improve handling of a mail profileChangeEvents property 2023-12-07 20:16:04 +00:00
Dev
3f46cffcfe Rewrote getCategoriesFromOffers() to make use of filter.reduce instaed of a giant loop 2023-12-07 11:57:28 +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
221cd98316 Allow fixProfileBreakingInventoryItemIssues() to also fix clothing issues
Move `fixProfileBreakingInventoryItemIssues` into `ProfileFixerService`
2023-12-03 20:37:35 +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
DanW
1fdd1967e9 Change name of trainArrivalDelaySeconds to clarify its meaning (!171)
Changed the name of the new `trainArrivalDelaySeconds` setting to `trainArrivalDelayObservedSeconds` so it's more obvious that it doesn't actually control the train arrival time.

`trainArrivalDelayObservedSeconds` is my first choice for naming this setting, and `trainArrivalDelayThatYouDefinitelyShouldNotChangeSoDoNotEvenThinkAboutItSeconds` is my second choice.

Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/171
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-02 19:41:27 +00:00
Dev
2a3839f6de Move trainArrivalDelaySeconds value into config 2023-12-01 09:03:14 +00:00
DanW
1994832281 Improved check for disabling train extracts in Scav raids (!170)
Made the following changes for determining if train extracts should be disabled in Scav raids:
* When determining at what time the train will leave, include the extraction time and the delay between the train extract activating and it becoming available to board
* Fixed the variable used for determining if the extract should be disabled
* Ensure `MinTime` and `MaxTime` for extracts are never negative

Also, trains are hard, and my brain hurts.

Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/170
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-01 08:37:52 +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
000e48ca4c Allow wave adjustment to be controlled via config param
Prevent bot wave min/max from falling  below 0
2023-11-29 17:18:45 +00:00
Dev
dde5c7e8af Move raid adjustment code into own service
Rename various parts of sytem to better match what it does
2023-11-29 16:52:13 +00:00
Dev
eb22acc785 Handle when checking for gun wall level and linked inventory item does not exist 2023-11-25 13:25:43 +00:00
Dev
dcb579116c Fix regression in fixIncorrectAidValue if check 2023-11-23 20:21:02 +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
d2209114c9 Rename parameter as it can be scav or pmc profile 2023-11-20 15:07:59 +00:00
Dev
aeea8f6e49 Guard against empty RepeatableQuests array in profile 2023-11-19 16:12:20 +00:00
Dev
8fe9fb9391 Adjust getWeaponRepairSkillPoints() to never return a value below 0 2023-11-18 21:59:48 +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
50f8a84f5c
Rewrites a number of filter().reduce() calls to use more straight-forward for...of loop. 2023-11-16 10:18:11 -05:00
Refringe
be841a3de3
Resolves Type Issue in ProfileFixerService
When attempting to access a property/type that *shouldn't* exist (on purpose) it has to be cast to the type manually, else annoying type error.
2023-11-16 10:11:31 -05:00
Refringe
00be492d5e
Resolves ESLint Naming Convention Issues 2023-11-16 10:09:01 -05:00
Dev
b70474133b Fix multiple locations in code where an array for hideout areas is incorrectly accessed like a dictionary 2023-11-16 14:33:39 +00:00
Dev
15082afde2 Fix reorderHideoutAreasWithResouceInputs() off by one error because it was checking the index instead of finding the area type 2023-11-16 14:30:08 +00: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
467c87b026 Fix trader repair not costing any money 2023-11-15 20:17:24 +00:00
Dev
bb8677bc65 Rework payMoney() to handle taking money from post-raid therapist healing 2023-11-14 17:06:11 +00:00
Dev
844cb12cc1 If offer to remove is not found, don't reduce rep loss 2023-11-14 16:09:45 +00:00
Dev
1021a945cb Fix insurance costing 0 roubles 2023-11-14 11:46:51 +00:00
Refringe
0793df60c2
Formatting Change - Space is now given around object properties. 2023-11-13 12:38:16 -05:00