Commit Graph

1262 Commits

Author SHA1 Message Date
Dev
db296499e9 Fix profile ids being prepended with pmc/scav killing game load 2023-12-27 22:01:30 +00:00
Dev
8bd4a31c1e Remove more code 2023-12-27 20:32:22 +00:00
CWXDEV
488bc9dbf3 fix buildscallbacks 2023-12-27 20:22:53 +00:00
Dev
b6813141fd Changes to get closer to main menu 2023-12-27 20:19:17 +00:00
Dev
01127d651e Fix app context 2023-12-27 20:08:57 +00:00
Dev
6d601f85cd Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2023-12-27 19:52:44 +00:00
Dev
c3bddbbad2 Add TaskConditionCounters to profile and favorite array 2023-12-27 19:52:35 +00:00
CWXDEV
07aadc3654 add new skills to profiles 2023-12-27 19:43:15 +00:00
Dev
dccb356f62 Add missing property 2023-12-27 19:12:42 +00:00
Dev
99eaeeb63b Set winterEventEnabled value on start 2023-12-27 18:55:58 +00:00
Dev
083622ce3b update JSONs 2023-12-27 18:53:10 +00:00
Dev
b7a62557ab update core json version 2023-12-27 18:37:17 +00:00
Dev
b76d5b142c Add achievement files 2023-12-27 18:34:35 +00:00
Dev
9e55a52965 update quest objects and implement get achievemetns 2023-12-27 17:15:38 +00:00
Dev
87b177586e Add new properties to IGlobals 2023-12-27 16:30:26 +00:00
Dev
6679cf5557 update jsons again 2023-12-27 16:14:34 +00:00
Dev
5eaca29a50 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/assets/configs/bot.json
#	project/assets/database/locations/shoreline/base.json
#	project/assets/database/locations/tarkovstreets/base.json
#	project/assets/database/templates/handbook.json
#	project/assets/database/templates/items.json
2023-12-27 16:08:54 +00:00
Dev
80b459969a Add starter quests 2023-12-27 16:07:12 +00:00
Dev
89c4dfde35 Update JSONs 2023-12-27 15:59:43 +00:00
Dev
b70ef6df39 Stub out various endpoints 2023-12-27 15:05:07 +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
40b999d04c Update version 2023-12-27 10:56:24 +00:00
Dev
f9a1d117ea prevent client/quest/list handler from showing quests from traders who no longer exist 2023-12-26 16:26:15 +00:00
Dev
538a5f2807 Fix Czech locale not being picked up correctly 2023-12-26 15:55:50 +00:00
Dev
51895033c3 Disable daily scav pickup quests as they're broken, needs investigation and fixing before introducing them again 2023-12-26 13:09:38 +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
ea2257c2fb Add function to allow addition of custom weapons to PMCs 2023-12-24 16:06:18 +00:00
Alex
66f04f194a Added config to compress profile (zero to none performance difference on high end CPUs) and debug time measurements for load/save times (!178)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/178
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2023-12-22 09:27:15 +00:00
TheSparta
4f8670c657 Reworked LinkedList and Queue
- Reworked LinkedList and Queue
- Written tests for LinkedList and Queue
2023-12-21 22:27:19 +00:00
Dev
c7572fdaf2 Improve accuracy of total game time 2023-12-21 22:12:55 +00:00
TheSparta
a2f0b4584f Updated dependencies 2023-12-21 19:02:07 +00:00
Dev
8b287267d5 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0 2023-12-21 10:21:08 +00:00
Dev
f451920fb7 Show error when item not found in player inventory when handing over items for quest 2023-12-21 10:15:57 +00:00
Dev
956397864c Fix items disappearing after repair 2023-12-21 09:31:07 +00:00
Dev
72e4d91185 fix server start error 2023-12-21 09:12:15 +00:00
Dev
b993226296 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
# Conflicts:
#	project/src/callbacks/DialogueCallbacks.ts
#	project/src/callbacks/MatchCallbacks.ts
#	project/src/callbacks/NotifierCallbacks.ts
#	project/src/controllers/InventoryController.ts
#	project/src/controllers/MatchController.ts
#	project/src/routers/static/RagfairStaticRouter.ts
2023-12-21 09:07:23 +00:00
Dev
0de6f201fe Fix exploit where FiR status was preserved when merging non FiR items into a FiR stack 2023-12-20 19:48:26 +00:00
Dev
b5a3f2fe32 Additional tye improvements 2023-12-20 00:27:27 +00:00
Dev
6930267d8b Add various missing types 2023-12-20 00:17:27 +00:00
Dev
cf782a8fcb Add endpoint client/ragfair/offer/findbyid 2023-12-19 23:52:39 +00:00
Dev
1bb2f0e568 Adjust how fuel is listed on flea 2023-12-19 21:16:24 +00:00
Dev
63073cfdda Adjust weather weights to lower chance of rain 2023-12-19 18:32:58 +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
c2cd9ff895 Fix code error in clearValues() 2023-12-19 17:21:22 +00:00
Dev
8a964aef29 improve IScavRaidTimeLocationSettings comments 2023-12-19 13:23:27 +00:00
Dev
2f3202b921 Skip insured items in special slots being returned on death 2023-12-18 23:08:27 +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
Dev
ffcc6ae71f Force front/rear sights on PMCs 2023-12-17 22:43:48 +00:00
Dev
799690d2a6 Clone the preset data prior to pushing into reward away - prevents preset being later modified 2023-12-17 22:42:26 +00:00
Dev
9e95e1bbac prevent random ammo stacks going above 60 2023-12-17 22:36:47 +00:00
Dev
f322663530 Adjust knight spawn chance on woods 2023-12-17 17:15:42 +00:00
Blurr
0fb1c33edb Added missing AmmoTypes (!177)
Had them to hand from a recent mod, so gathered might as well add them. All hashes were originally gathered from https://db.sp-tarkov.com/

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/177
Co-authored-by: Blurr <blurr@noreply.dev.sp-tarkov.com>
Co-committed-by: Blurr <blurr@noreply.dev.sp-tarkov.com>
2023-12-17 14:24:28 +00:00
Dev
f0c11ba28c update version string 2023-12-17 14:12:10 +00:00
Dev
2befcd9fd3 Add additional gifts 2023-12-17 13:41:06 +00:00
Dev
d8e22637ad Update flea prices 2023-12-17 12:31:03 +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
66630a5fc6 Improve comments 2023-12-16 21:59:30 +00:00
Dev
cc916ff419 Refactor of ammo reward calculaton for daily quests
No longer give random value between config min and stack max size (mods that adjust max stack size were causing very broken behaviour)

Ammo stack size is now chosen based on rouble budget for reward, capped at a count of 100

Adjust config min stack size to be 5, this still achieves goal of preventing single stack ammos like grenades but allows inclusion of ammos like patron_12x70_buckshot
2023-12-16 21:49:16 +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
d2f6a16312 Fix issue spotted by Shibdib where player flea offers aren't taking into account globals time listing value 2023-12-16 15:11:11 +00:00
Dev
64334339b3 Fix flea not showing correct categories until unlock level + 1 2023-12-15 23:45:04 +00:00
Dev
5b886038e9 Change warning logging into debug inside adjustWeighting() 2023-12-15 19:45:40 +00:00
Dev
f815839ed8 make getUpdateableTraders() public 2023-12-15 15:26:23 +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
TheSparta
d1dc04cbec Fixed missed method rename
- getAllSeasonalEventItems got renamed getInactiveSeasonalEventItems
2023-12-15 14:10:33 +00:00
TheSparta
75fd744321 missed some node version refs 2023-12-15 14:06:02 +00:00
TheSparta
865dbf1b13 Updated to node v20.10.0 2023-12-15 13:59:45 +00:00
TheSparta
24a15fc573 Updated dependencies 2023-12-15 13:57:25 +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
85f48a10aa Fixed quest item appearing multiple times for Beyond the Red Meat Part 2 2023-12-14 21:19:31 +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
bda6d66e92 Log names of files being serialsied 2023-12-13 22:16:21 +00:00
Dev
6900505b73 Add 64f69b4267e11a7c6206e010 - Chef's diary to single spawn list, fixes Beyond The RedMeat P1 multi-spawn issue 2023-12-13 22:00:25 +00:00
Dev
9e6c12a9b2 Log file being deserialized 2023-12-13 20:02:44 +00:00
Dev
3e2253aaef Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-12-13 10:18:01 +00:00
Dev
75f2fef43a Increase chance of gifter bot spawning on maps during christmas 2023-12-13 10:14:52 +00:00
Rev
c26b6b83a7 Update Dockerfile.docs (!174)
* Upgrade Node version from 14 to 18 and also add `alpine` as well for smaller image and faster build
* Update Nginx image to use stable version and also `alpine` as well for smaller image and faster build

Co-authored-by: Rev <revaxl09@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/174
Reviewed-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Co-authored-by: Rev <rev@noreply.dev.sp-tarkov.com>
Co-committed-by: Rev <rev@noreply.dev.sp-tarkov.com>
2023-12-12 09:50:46 +00:00
XDenizX
d356070688 Added the display of the nickname of the connected player during logging. (!173)
Co-authored-by: XDenizX <denizik1@mail.ru>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/173
Co-authored-by: XDenizX <xdenizx@noreply.dev.sp-tarkov.com>
Co-committed-by: XDenizX <xdenizx@noreply.dev.sp-tarkov.com>
2023-12-12 09:49:35 +00:00
Dev
97643f6d70 Add mising m1a 10 round mag to peacekeepr l1 assorts table 2023-12-11 16:37:02 +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
b15c8e196e Log total count of static items being spawned 2023-12-11 14:41:30 +00:00
Dev
2cebf5f2ee Prevent giving player 0 intellet as reward after repairing item 2023-12-11 11:46:54 +00:00
Dev
73cfc16699 Prevent giving player 0 intellect skill points when crafting in hideout 2023-12-11 11:45:23 +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
3acd07c034 Update cleanUpCompleteCraftsInProfile() to handle when a hideout craft is cancelled by player
value in kvp will be null
2023-12-10 22:31:55 +00:00
Dev
87a40b4d2a Remove bad magazines from usec/bear bots 2023-12-10 14:09:47 +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
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
8a78e074a4 From testing, inspecting an item sets value to false, not true 2023-12-07 20:37:56 +00:00
Dev
fd55727054 Bugfixes and small optimisations 2023-12-07 20:22:35 +00:00
Dev
c015882eac Improve handling of a mail profileChangeEvents property 2023-12-07 20:16:04 +00:00
Dev
7c2d93e87b Handle edge case when an item is missing a min/max stack size value 2023-12-07 20:07:46 +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
ef9ecfd51d Change warning to debug message 2023-12-06 19:18:25 +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
56366068e0 Remove redundant quest item check from fence assort generation as its already handled by itemHelper.isValidItem() 2023-12-05 15:00:23 +00:00
Dev
b148977c79 Update locales - fixes The Punisher - Harvest quest issue 2023-12-05 13:44:16 +00:00
Dev
ea9ebf695d Update version string 2023-12-04 19:12:22 +00:00
Dev
c73a9ad9ba Test adjustment to PMC brains on customs 2023-12-04 18:57:33 +00:00
Dev
ef769cf0d7 Cleanup of var names and comments inside addForcedLoot()
Prevent duplicate loot locations with same Id being added to client response
2023-12-04 16:00:44 +00:00
Dev
221cd98316 Allow fixProfileBreakingInventoryItemIssues() to also fix clothing issues
Move `fixProfileBreakingInventoryItemIssues` into `ProfileFixerService`
2023-12-03 20:37:35 +00:00
Dev
fd40d47698 Handle when hideout crafts have null progress values, not just undefined 2023-12-03 14:50:01 +00:00
Dev
48de3139ae Fix bug where setting ragfairconfig.purchasesAreFoundInRaid to true would make trader purchases on flea Found in raid 2023-12-03 12:06:52 +00:00
Dev
3d28574969 Remove unused ref to uuid generator 2023-12-03 11:43:56 +00:00
Dev
2410ddfe59 Update flea prices 2023-12-03 11:41:58 +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
fc8b49b313 Increase minimum Scav time for Factory (!172)
Based on tester feedback, ensure at least 5 minutes is remaining for Factory Scav raids.

If we have evidence that people can regularly spawn into Factory on live EFT with 3-4 min remaining, then maybe we should just adjust the weights instead.

Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/172
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-03 10:03:19 +00:00
Dev
044f4f9eb3 Update Skiers questassort data 2023-12-03 10:01:55 +00:00
Dev
b834cd0547 increase chance scav raid time is reduced 2023-12-02 23:01:18 +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
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
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
7bf5f822ee Add 15% chance bear/usec spawn on reserve raid start 2023-11-30 15:22:10 +00:00
Dev
8ddad763be Cleanup of handleScavCase() 2023-11-30 13:44:43 +00:00
Dev
3d01fe6211 Move TraderData object into ItemEventRouterBase where it will cause less confusion 2023-11-30 10:30:13 +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
67f7eb59c5 Improve handling of profileChanges, dont overwrite existing data when adding new objects 2023-11-30 10:02:00 +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
bfee07d5fe Fix item tag regex replacing non-english characters 2023-11-29 22:30:23 +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
a7e003dca3 Adjust scav time weights and reduce chances 2023-11-29 15:10:08 +00:00
Dev
5d0d9e2cd9 Fix issue where OriginalSurvivalTimeSeconds would be set to the raid time in minutes, not the survival time in seconds 2023-11-29 14:22:48 +00:00
Dev
3945de8b1f Fix incorrect NewSurviveTimeSeconds value being sent to client
Thanks to DanW
2023-11-29 13:32:55 +00:00
Dev
673cefcc00 Add PP-91-01 "Kedr-B" 9x18PM submachine gunto PMC weapon pool 2023-11-29 13:01:36 +00:00
Dev
a1d6596f8d Fix multiple typos 2023-11-29 11:36:20 +00:00
Dev
c801dba0b7 Fix some weapons not having their chamber loaded with a cartridge during weapon generation
weapons:
weapon_izhmeh_mr43_sawed_off_12g
weapon_izhmash_mp18_multi

`addCartridgeToChamber` assumed the only id a chamber could have was `patron_in_weapon` this is wrong, it can also have `patron_in_weapon_000` and  `patron_in_weapon_001`
it also assumed weapons only have one chamber
Some weapons can have multiple chambers
Some weapons can have 1 chamber but have the id `patron_in_weapon_000` not `patron_in_weapon`
2023-11-29 11:35:34 +00:00
Dev
231a52f8be Update quest assort data (includes peacekeeper ammo unlocks for new event quest) 2023-11-28 19:50:40 +00:00
Dev
d0bd178230 Add event quest: The Punisher - Harvest 2023-11-28 19:03:17 +00:00
Dev
9c2725e2fe Add system that adjusts the loot multipliers for a scav raid based on the percentage of the raid time remaining
Controlled per location

Most maps are capped at 40/50% min

Added multiple config proeprties to configure how system works
Added ability to remove all AppContext values by key

During `getRaidTime()` loot % modifier values are stored in app context,
Then, during `generate()` those values are retreived and applied if found
After loot generation values are reset to their original value
2023-11-28 12:42:58 +00:00
Dev
f9cf3242c8 Add new core config entry fixProfileBreakingInventoryItemIssues, defaults to off
Attempts to fix common issues that happen to profile inventory items:
Duplicate items with the same _id value
Item Tag names with non alphanumeric characters
StackObjectsCount null values
2023-11-28 11:06:08 +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
58e6cc8cd7 Remove message sending code from acceptRepeatableQuest() dailies in live do not send messages upon accepting them 2023-11-27 16:35:44 +00:00
Dev
367d453d09 lint 2023-11-27 15:07:45 +00:00
Dev
7a798d2b60 Reworked singleplayer/settings/getRaidTime endpoint
Handles adjustments to train extract appearance times
Handles time needed to be alive in a raid to get a Success raid status
Added extra reduction percent weight: 30%
2023-11-27 15:02:35 +00:00
Dev
14e917823c Nullguard getMessageItemContents() when checking count of reward items 2023-11-26 22:53:09 +00:00
Dev
130f120fda Comment change 2023-11-26 22:35:26 +00:00
Dev
8d32cf2d03 Store player scav brain data in config and pass to client when requested 2023-11-26 21:33:47 +00:00
Dev
ac459335c0 Add new endpoint to calcualte a reduced raid time for scavs and send the maps base.EscapeTimeLimit value to client for PMC raids 2023-11-26 21:11:03 +00:00
Dev
1350fdb78b Find quest in player quest array using .find instead of .filter 2023-11-25 13:28:52 +00:00
Dev
64722bac17 Add quit exit for gameStart when resetting profile 2023-11-25 13:26:11 +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
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
0c658745eb Add missing base class 2023-11-24 15:26:56 +00:00
Dev
27e16e09d7 log when addLooseWeaponsToInventorySlot() fails to add weapon to bot inventory 2023-11-24 15:26:41 +00:00
Dev
7342849f61 Resolve getRandomizedBulletCount returning extremely large ammo values for rotating grenade launchers 2023-11-24 15:24:46 +00:00
Dev
dcb579116c Fix regression in fixIncorrectAidValue if check 2023-11-23 20:21:02 +00:00
Dev
9ec3a6ec95 update EN locale 2023-11-22 14:29:00 +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
a5200e08d9 Add Zvezda assort for completing Our Own Land (prapor l4) 2023-11-22 14:20:17 +00:00
Dev
5559b938c3 Add thicc case barter for completing special equipment (peacekeeper l4) 2023-11-22 14:15:36 +00:00
Dev
112bbbea09 Adjust modloader-missing_package_json locale text 2023-11-21 19:35:48 +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
525e5cd21b Fix length comparison not working as its an object, not an array 2023-11-20 15:05:35 +00:00
Dev
9929cf8c33 Clone handbook data before caching it 2023-11-20 13:47:47 +00:00
Dev
b55a0d03df Add Crye Precision AVS plate carrier (Tagilla Edition) to boss items array 2023-11-20 11:21:44 +00:00
Dev
c1219ed374 Blacklist Crye Precision AVS plate carrier (Tagilla Edition) from scav case rewards 2023-11-20 11:20:40 +00:00
Dev
1abc7e3604 Handle failing a quest while raiding as scav 2023-11-20 11:19:11 +00:00
Dev
fc52c308bd Lower chance of non-standard account PMCs 2023-11-20 10:38:14 +00:00
Dev
ccc017c976 Fix issue with scav case rewards being collectable twice 2023-11-20 10:22:03 +00:00
Dev
2132ea7adb Fix issue with hideout crafts being collectable twice 2023-11-20 10:14:21 +00:00
Dev
f727b13215 prevent collection quests requesting more than 1 ammo per repeatable quest 2023-11-19 20:29:41 +00:00
Dev
89ff63f822 Update flea prices 2023-11-19 17:14:16 +00:00
Dev
aeea8f6e49 Guard against empty RepeatableQuests array in profile 2023-11-19 16:12:20 +00:00
Dev
fa054307dd Update version 2023-11-19 15:08:30 +00:00
Dev
3e0e8f7666 lint 2023-11-19 15:04:12 +00:00
Dev
396b56d08d Expose uniqueItemCount config value for use in choosing total items to return in Completion quests
Weekly quests now require more items than dailies
2023-11-19 14:58:45 +00:00
Dev
3b1c6b3fdd Add additional items to the find and return pool 2023-11-19 14:51:00 +00:00
Dev
1def90e9d6 Improve handling of how reward items have their stack count randomised
Separated out how weapons are chosen as rewards

Lowered chance of skill reward

Added additional reward types to most traders
2023-11-19 13:21:34 +00:00
Dev
8cb4833001 Fix reward creatio code giving 1 extra reward compared to what was specified 2023-11-19 10:54:06 +00:00
Dev
ee3096328e Exit reward finding loop when reward pool is empty 2023-11-19 10:52:50 +00:00
Dev
e99c1e8ab8 Add additional item types to trader reward whitelist 2023-11-19 10:50:46 +00:00
Dev
8fe9fb9391 Adjust getWeaponRepairSkillPoints() to never return a value below 0 2023-11-18 21:59:48 +00:00