Commit Graph

342 Commits

Author SHA1 Message Date
Dev
f5eb96ed48 Refactor of hideout skill gains from area completion 2023-08-02 15:55:33 +01:00
Dev
946512ca6d FIx server error with not being able to find singular hiddeout craft now there are two DSP crafts 2023-08-02 12:57:08 +01:00
Dev
cda89084d3 Show error when trader id can't be found in Traders enum
Exit early when sending messages from trader if no trader supplied
2023-08-02 08:29:23 +01:00
Dev
11acbbc0f2 Add Production object if none exists prior to adding a production to it + Move functions around for consistency 2023-07-31 19:18:29 +01:00
Dev
6b8fadef40 Save trader standing changes post-raid 2023-07-30 11:30:31 +01:00
Dev
8a26d3f807 Rework items added to container code, now stops after 4 failed attempts
Don't increment cost of loot container total value if item was not placed in container
2023-07-27 13:14:09 +01:00
Dev
2d57bdb0ef Add option to force healing items into PMCs secure
Make bots heal to a 90% instead of 65%

Log when item cannot fit into container when genning bots
2023-07-27 12:15:06 +01:00
Dev
69f08d9f87 Improve comments 2023-07-25 21:14:18 +01:00
Dev
6e33a9c37e Add functionality to fail quests on server after failing them in-raid, fixes failing colleagues part 3 by completing sadist 2023-07-25 20:37:45 +01:00
Dev
9e056cf8f3 Handle failing quests post-raid if they are now failed and were not pre-raid 2023-07-25 19:50:46 +01:00
Dev
1a80d3fab8 Prevent exception in gift existence check doesnt find a profile 2023-07-25 10:35:12 +01:00
Dev
7e60ea9d79 Remove dupe items from seasonal gear 2023-07-24 18:47:26 +01:00
Dev
ad576a937a Comment improvements 2023-07-24 15:52:55 +01:00
Dev
5c6aafea51 Add enum for notification type 2023-07-24 15:19:31 +01:00
Dev
40149edeb2 axmc bot weapon generation improvements
Slight weapon variety improvement for PMCs

Only generate backpack loot if bot has backpack - reduces warnings during botgen
Move warning mesage to debug

Add sanitar medkit to pmc blacklist

Pass ur to warning message when endpoint body fails json validation

Pass sessionId into `locationController.generateAll()` to help modders when overriding function

Test - Added grizzly x5 to PMC secure containers to see if they heal more when damaged
2023-07-24 13:20:17 +01:00
Dev
c5332986eb Fixed issues with moving items to sorting table after opening sealed container
Also allow money from sold flea offers to enter sorting table

Remove unused addItem() from InventoryController

Add optional param to inventoryHelper.addItem() to allow use of sorting table, default = off
2023-07-23 12:29:00 +01:00
Dev
e84781be5f Handle moving items into sorting table when stash has no space 2023-07-23 11:51:04 +01:00
Dev
e4b9be3bea Fix for ragfair failed offers killing profile 2023-07-23 10:47:38 +01:00
Dev
c3a4caa38a Convert sptDev profiles quest starter email function to use mail send service 2023-07-22 14:02:13 +01:00
Dev
00a2fbde22 typo 2023-07-22 13:37:40 +01:00
Dev
429d357e89 Correctly parse hours into second for quest code 2023-07-22 13:35:49 +01:00
Dev
25ea9afae4 Typo 2023-07-22 13:14:40 +01:00
Dev
f2caff3c70 Migrate ragfair returnItems() to use new mail send service
Some renames + comments
2023-07-22 13:13:01 +01:00
Dev
3526b2764a Migrate quest fail to new MailSendService 2023-07-22 13:02:42 +01:00
chomp
a7b4ebe316 Rework message sending to support gift system (!106)
Co-authored-by: Kaeno <e>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/106
2023-07-21 17:08:32 +00:00
Dev
a9e6d5d0fe Stub out more of gift service + allow adjustment of sender for dialogs 2023-07-20 21:29:27 +01:00
Dev
c3232ac979 Refactor of InsuranceService
Add two methods to item helper, `getStaticItemPrice()` + `getFleaItemPrice()`

Changed how getItemPrice() works to return handbook price if its 1 rouble, not if its over 1
2023-07-20 16:04:26 +01:00
Dev
d1d3674332 Localise warning messages 2023-07-19 13:16:45 +01:00
Dev
129fe0dc97 Localise server errors 2023-07-19 11:00:34 +01:00
Dev
3768742bc8 Improvements to varous types throughout the codebase
Added quest type as enum for IQuest
Added missing values to QuestReward enum
2023-07-18 16:53:15 +01:00
Dev
942c079284 Rename all globals.ts interfaces to improve naming consistency 2023-07-18 15:44:14 +01:00
Dev
02d43d491c Save time spent in raid to profile 2023-07-17 09:36:10 +01:00
Dev
965e3efbc7 Handle additional events: ignore/set and ignore/remove
Pass full request object generateDialogueView instead of just id

Handle case when getting dialogue from profile that does not exist

Improve `getMessagePreview()`  nullguard properties that may be missing
2023-07-15 15:01:23 +01:00
Dev
7a1140c229 Extract coder into function from updateProfileBaseState + log nickname on game start 2023-07-15 11:03:54 +01:00
Dev
5d20b6b781 Further comment improvements 2023-07-15 11:00:35 +01:00
Dev
0b68fb53e0 Add return type to comment 2023-07-13 17:32:50 +01:00
Dev
5ecf16f78c Return correct type instead of any[] 2023-07-13 14:20:31 +01:00
Dev
7a16c7e998 Improvements to skill points given after performing actions:
Item crafting:
HideoutManagement skillpoints give
Intellect skillpoints given

Examining item:
Intellect given

Repairing weapon/armor
Intellect given

Cleanup of hideouthelper + reordering of functions

Flagged rewardSkillPoints() as dupe of PlayerService.incrementSkillLevel()
Flagged incrementSkillLevel() as dupe of QuestHelper.rewardsSkillPoints()
Need to decide which one wins

Added nullguards to incrementSkillLevel() + added optional multiplication by global skillprogression rate
Made it update last access timestamp
2023-07-13 10:26:47 +01:00
Dev
4b83046793 Update package versions where possible
Fix multi-type issue on ragfair tax calss
2023-07-09 19:40:05 +01:00
Dev
cad5dcd679 Add missing quest assort unlocks to questassort.json
Add function to write to console what quest assort unlocks are missing
2023-07-09 11:33:43 +01:00
Dev
0c0f48b93a Improve comments 2023-07-09 10:00:00 +01:00
Dev
d6fed1aa0f Cleanup of generateContainerLoot() to improve readability 2023-07-02 15:05:32 +01:00
Dev
d28d1a485d Add additional check to prevent trader item preset exploiting 2023-06-30 19:30:49 +01:00
Dev
343be66806 Add property to ragfair blacklist to toggle removal of damaged ammo packs 2023-06-30 14:00:08 +01:00
Dev
0c31719013 Feature: Add code to handle sealed weapon containers when opened in menu
Add handbook price for sealed containers (default of 100rub)
2023-06-20 16:07:05 +01:00
Dev
488b9f5f1a prevent null ConflictingItems from causing isItemIncompatibleWithCurrentItems() to error 2023-06-18 15:39:20 +01:00
Dev
b478a1cdad Add nan check to ragfair rating incrementor code 2023-06-13 19:33:42 +01:00
Dev
6e5f4fbce3 Refactor of rollForSale()
Adjusted function to allow for parts of an offer to succeed or fail instead of a binary sell/fail outcome
optimisation: Only calculate selltime if item will be sold
Added additional debug logging
2023-06-04 16:30:54 +01:00
Dev
48ba66f470 Improve separation of concerns by moving hideout property gathering code out of updateAreasWithResources() and into own function getHideoutProperties()
Refactored how we get bitcoin count
2023-06-02 13:54:03 +01:00
Dev
cfbe2739f9 Fix issue with insurance message being incorrect
Moved `sendLostInsuranceMessage()` to `insuranceService` + make it read correct id from locale file
2023-06-01 21:24:23 +01:00
Dev
9bf533a1b1 Add additional comments and formatting fixes 2023-06-01 10:46:16 +01:00
Dev
375cfa2495 Improve comments inside RagfairOfferHelper 2023-05-29 16:32:06 +01:00
Dev
0cd28865eb Null guard when sold item locale key not found 2023-05-29 16:20:41 +01:00
Dev
88a854c5ca Refactor processOffersOnProfile() 2023-05-29 16:12:27 +01:00
Dev
98e2af2ad4 Update sold/returned template guid, fixes #40 2023-05-29 16:05:19 +01:00
Dev
26eb1287cc Refactor sellitem() to use .find() instead of for loop
Add additional checks when sold item is not found
Replaced whitespace repalcement code with `replace()`
2023-05-24 15:51:05 +01:00
Dev
eb445b2820 Refactor doesPlayerLevelFulfilCondition() to handle more than just > 2023-05-22 16:00:09 +01:00
Dev
87c1c80a78 Handle getting quest status when player profile lacks a Quests array 2023-05-22 15:50:10 +01:00
Dev
08f2bdb27e Refactor ScavCaseRewardGenerator.getScavCaseRewardCountsAndPrices() 2023-05-19 17:40:06 +01:00
Dev
f3b28d532c Refactor convertBotDifficultyDropdownToBotDifficulty() ot use switch statement 2023-05-18 17:23:28 +01:00
Dev
eb6905967f Refactor of hideouthelper 2023-04-26 22:29:08 +01:00
Dev
cbf06fcece Refactor removeSecureContainer() 2023-04-24 12:47:29 +01:00
Dev
08be8654e4 Refactor isNicknameTaken() 2023-04-24 12:47:19 +01:00
Dev
1f5359bde4 Fix typo 2023-04-23 23:47:16 +01:00
Dev
60a11b28f2 Refactor updateWaterFilters() 2023-04-23 21:23:44 +01:00
Dev
833f17ecdb Refactor updateProductionProgress() 2023-04-23 19:47:39 +01:00
Dev
b1605b20fe Centralise time elapsed code in hideouthelper into one function 2023-04-23 19:40:42 +01:00
Dev
f52c42e8b7 Fixed bug when enabling generator for long-running generator-off crafts gaining a burst of progress as if generator was on the whole time
Refactor updateProductionProgress() to get seconds between `sptUpdateLastRunTimestamp` and now instead of crafts `StartTimestamp` and now

Store hideout craft progress as decimal for better accuracy when crafting without generator

Added code to EventOutputHolder to ensure we continue to return progress as an int
2023-04-23 19:24:00 +01:00
Dev
d411f5ce1d Refactor updateWaterFilters() 2023-04-23 14:02:46 +01:00
Dev
9ddfeb629e Fix incorrect reference to Set data structure 2023-04-23 11:13:53 +01:00
chomp
7974e4531b Refactor functions (!90)
(cherry picked from commit f6fc6e41c0)

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/90
2023-04-22 22:41:04 +00:00
Dev
2bc582d65c Refactor handbookhelper to use a set instead of record for handbook price values 2023-04-22 19:33:47 +01:00
Dev
95fbd07473 Refactor addSpawnedInSessionPropertyToitems() 2023-04-22 18:36:34 +01:00
Dev
8c3924baab Refactor calculateFenceStandingChangeFromKills() 2023-04-22 16:41:00 +01:00
Dev
c45c9185a6 Refactor inRaidHelper.removeSpawnedInSessionProeprtyFromitems() 2023-04-22 16:30:57 +01:00
Dev
d6bb12a3a2 Refactor InRaidHelper.deleteInventory() 2023-04-22 16:27:46 +01:00
Dev
70da4a632e Make getItemSize() more resilient to bad data - return 1x1 size if item not found + show error to player
Fix incorrect return type for getItemSize()
2023-04-12 15:51:52 +01:00
Dev
d39c7f30f8 Update nvgIsActiveChancePercent into 2 properties, one for day, one for night
Removed:
nvgIsActiveChancePercent
Added:
nvgIsActiveChanceDayPercent
nvgIsActiveChanceNightPercent
2023-04-08 13:30:39 +01:00
Dev
c60c67fce5 Split config of lasers/lights active status by raid day/night status, default to day if no raid found
Removed:
lightLaserIsActiveChancePercent
Added:
lightIsActiveDayChancePercent?: number;
lightIsActiveNightChancePercent?: number;
laserIsActiveChancePercent?: number;
2023-04-08 13:18:01 +01:00
Dev
1fc35881d8 Refactor: Update various functions with changes from code review 2023-03-21 14:19:49 +00:00
Dev
927273d71d Feature: Add ability to define different types of airdrop loot containers
+ Fixed a typo in `createRandomloot()` function name
+ Added more generically named`getWeightedValue()` function as future replacement for `getWeightedInventoryItem()`
+ Changed `LootRequest` into interface

Added:
Weapon/armor
Barter
Medical/Food
Mixed
2023-03-18 17:29:26 +00:00
chomp
4434b95621 Feature: reworked calculation of flea price to use the price an item can be sold to a trader for instead of the price a trader sells an item at (!71)
Disable automatic adjustment of items that are below handbook price

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/71
2023-03-15 19:06:03 +00:00
chomp
00e367ffa5 Feature: Allow modders to define custom currencies (!62)
https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/11
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/62
2023-03-11 17:38:20 +00:00
chomp
e4bc6c8d68 Feature: Improve numerous endpoints + add function for sending messages to player (!39)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/39
2023-03-07 22:25:23 +00:00
chomp
7615394e62 Fix: don't overfill magazine inside fillMagazineWithCartridge() (!33)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/33
2023-03-06 18:17:43 +00:00
chomp
e7a44330fa Fix: Additional change for wall upgrading (!31)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/31
2023-03-06 12:23:14 +00:00
chomp
e3fa31bbef Fix: workaround for old profiles with a wall at level 2 (!29)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/29
2023-03-06 12:02:21 +00:00
chomp
ef584d88d3 Fix: Move pp-9 ammo typo check into fillMagazineWithRandomCartridge() so it can be used by more than just static container weapon ammo code (!27)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/27
2023-03-06 10:08:36 +00:00
chomp
153776f7e9 Fix: workaround for broken wall (!24)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/24
2023-03-06 09:13:07 +00:00
chomp
bb6751fca7 Fix: Make wall work again (!23)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/23
2023-03-05 21:34:24 +00:00
Dev
3d849b427b Squashed 22 commits in an attempt to fix Gitea object bloat 2023-03-05 22:02:56 +02:00
Dev
e1310d74ca Add Repo 2023-03-03 15:23:46 +00:00