Commit Graph

1081 Commits

Author SHA1 Message Date
Dev
9ef63a11a4 Remove killa from streets 2023-10-16 22:02:02 +01:00
Dev
f70cbcced7 Set quest side to scav when generated for fence 2023-10-16 18:33:09 +01:00
Dev
b8738474e5 Rename cz to cs 2023-10-16 18:30:55 +01:00
Dev
4b70bfb60d Improve sourcemap handling in modCompilerService 2023-10-16 18:25:14 +01:00
Dev
6d19452455 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-10-16 15:12:38 +01:00
Dev
b6edf71fc3 Reduce our custom item spawn chances by an order of magnitude 2023-10-16 15:08:00 +01:00
TheSparta
fe6865b2f0 Added sourcemap generation for typescript mods (!155)
This PR makes it so typescript generates inline sourcemaps when transpiling mods to javascript.

This will make it so stacktraces originating in the mod source code point to the typescript files, lines and columns.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/155
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-15 16:15:34 +00:00
Dev
04235ca024 Reward more items for daillies/weeklies
Cleanup of `generateReward` item reward pool generation into its own function + return an easier array to work with
2023-10-15 11:46:33 +01:00
Dev
dc7f568819 Add missing rouble values and remove extra 0 2023-10-15 11:19:06 +01:00
Dev
7bc0d3f383 Prevent distance + melee kill quest combination 2023-10-15 10:49:23 +01:00
Dev
f155f5f0d0 Improve code comments 2023-10-15 10:44:12 +01:00
Dev
d44bda96cf make use of isbaseclasses to check for bad items instead of a non-optimal loop 2023-10-15 10:43:27 +01:00
Dev
fdd328b07a use function that only gets static price for daily rewards instead of function that falls back to flea price - improve price consistency 2023-10-15 10:39:35 +01:00
Dev
18c68fa353 make daily rewards found in raid 2023-10-15 10:38:50 +01:00
Dev
f23c8d484e Fix peacekeeper rewarding dollars instead of euros 2023-10-15 10:33:52 +01:00
Dev
cd74f05558 Cleanup of daily reward code doing the same item check multiple times 2023-10-15 10:28:52 +01:00
Dev
870f9a5092 Update daily reward scales 2023-10-15 10:14:46 +01:00
Dev
fbb1d7eb2f Adjust daily reward spread 2023-10-15 08:35:09 +01:00
TheSparta
1ab7c5946e Fixed stacktraces and source maps on the built exe (!153)
This PR fixes a long standing issue where stacktraces in the built executable didn't have line and column numbers, so you were left wondering where exactly in a given function an error occurred.

This also fixes source maps being generated but not actually included in the executable, this fix results in `source-map-support` actually doing it's job, so now stacktrace paths point to the typescript files, line and column number, instead of the transpiled javascript line and column number.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/153
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-15 07:31:16 +00:00
Kaeno
e327f8101a Revert accidental debug setting for max repeatable quests (!154)
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/154
2023-10-15 06:34:41 +00:00
Dev
3546e0c6cb Update flea prices 2023-10-14 17:02:09 +01:00
Dev
5a0e16634e Fixed seasonal event items not appearing on flea during event
Don't rely on globals event value for event check, store event bools on SeasonaleventService class construction

Remove dupe function `getSeasonalEventItemsToBlock(), rely on `getAllSeasonalEventItems()`
2023-10-14 16:52:48 +01:00
Dev
11b885539d Fix halloween icons not loading 2023-10-14 16:05:12 +01:00
Dev
a9a1b3e07b Remove dupe mod slots from usec 2023-10-14 15:47:23 +01:00
Dev
3628fc41d3 Allow PMCs to respond to commands 2023-10-14 14:10:24 +01:00
Dev
7ad291fe4c Set lockedMoveCommands to true for new profiles 2023-10-14 14:01:21 +01:00
Dev
5dd2e10211 Configure additional scav property values on generation 2023-10-14 13:29:27 +01:00
Dev
79b9b2a7aa Update various property values on scav generation 2023-10-14 13:18:07 +01:00
Dev
f4359211ec Increase change of nosler ammo on scav 2023-10-14 12:30:17 +01:00
Dev
a8ce1f489d Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-10-14 12:29:31 +01:00
Dev
3c9dfba79d Fix overlapping weekly range data
Reduce range requirements for all quests
2023-10-14 12:20:20 +01:00
Kaeno
f0ab464613 add new gift to gifts.json (!152)
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/152
2023-10-14 10:50:52 +00:00
Dev
933e7512a6 Adjust daily rouble/item reward values
Disable melee requirement from daily scav quest
2023-10-14 11:44:02 +01:00
Dev
0b50385b84 Fix error on death because extract is undefined 2023-10-14 10:31:01 +01:00
Dev
f5b3377d12 Point local debug config to correct command 2023-10-14 10:10:10 +01:00
Refringe
7948e3473c Refactor of InsuranceController & New ItemHelper Methods (!151)
This commit is my second go-around at refactoring the `InsuranceController`, attempting to improving the code's modularity, maintainability, and efficiency while squashing a few bugs along the way.

1. **InsuranceController.ts**
    - Removed `ITemplateItem` import, as it is no longer used.
    - Introduced the `adoptOrphanedItems` method to manage orphaned items in the insurance list.
        - Since "normal" items are individually rolled for deletion, and can be nested within one another, there are situations where a parent item is deleted, leaving its children orphaned. This method moves those orphaned children from their missing parent into the root of the insurance container.
    - Overhauled `findItemsToDelete` method to improve its efficiency and readability:
        - Divided the original monolithic method into smaller, specialized methods like `populateItemsMap`, `populateParentAttachmentsMap`, `processRegularItems`, and `processAttachments`.
        - Changed the return type to `Set<string>` for better performance.
        - Introduced `EnrichedItem` interface (a simple extension of the `Item` interface) to add additional item data, like `name` and `maxPrice` to `Item` objects as they're processed throughout the class. This is done in place of repeatedly querying for this data, or complicating return types.
        - Enhanced logging capabilities to debug the item deletion process. Due to the *current* lack of testing available I've stepped up the amount of debug logging that is done. This will hopefully help us find issues in the future.
    - Modified the `rollForItemDelete` method, now renamed to `rollForDelete`, to include more detailed logging, return a boolean directly, and changed the `insuredItem` parameter to be optional.
    - Added new methods for dealing with some of the particulars that arise from item adoption and creating item maps.
    - Improved inline comments and documentation for better code maintainability.

2. **ItemHelper.ts**
    - Added the `isRaidModdable` method to check if an item is *actually* modifiable in-raid, which takes into account not just the item, but the item that it's attached to.
    - Added the `getAttachmentMainParent` method to fetch the main parent item of a given attachment, useful for item hierarchy traversal. For example, if you pass it an item ID of a suppressor, it will traverse up the muzzle brake, barrel, upper receiver, and return the gun that the suppressor is ultimately attached to, even if that gun is located within other multiple containers.
    - Added the `isAttachmentAttached` method to check if an item is an attachment that is currently attached to its parent.

**Fixes:**
 - Resolved an issue that caused item attachments from being property grouped together for deletion rolls. This issue prevented valuable attachments from being taken first.
 - Resolved an issue that caused child items being orphaned when their parent was removed due to an insurance roll. Probable cause of the bug that made the client spaz out and send repeated insurance packages to the profile---Though I'm still unable to reproduce.
 - Probably more...

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/151
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-committed-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
2023-10-14 09:05:49 +00:00
TheSparta
723f8db572 Updated dependencies + A few other things (!150)
Initially this was going to be an update to dependencies but it seems i got a little carried away!

Anyways this PR removes 2 unused dependencies (`jshint` and `utf-8-validate`), and 2 other, `del` and `fs-extra` that were replaced by the built-in `fs/promises`.

It also renames all `tsconfig` and `Dockerfile` files, in a way that when viewed in a file tree sorted alphabetically they will be next to each other.

It also updates the typescript target to `ES2022`, and changes moduleResolution from `Node` to `Node10` (this isn't an update, they are the same thing but `Node` is now deprecated).

It also adds the `node:` discriminator to every import from built-in modules.

It also has major changes to the build script, `del` and `fs-extra` were only being used in the build script, it's now using `fs/promises` instead, cleaned up the code from some functions, adds better documentation to a few functions, and renames some gulp tasks and npm scripts to better represent what they actually do.

And finally it updates dependencies, except for `atomically` which can't be updated unless the project switches to ESM.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/150
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-14 09:01:41 +00:00
Dev
8c972908d2 Fix daily bolt action requirement id being incorrect
Removed incorrec sniper rifle requirement from daily weapon category pool
2023-10-14 09:56:32 +01:00
Dev
87e2948806 Remove scripts content from imported mods package data 2023-10-14 09:48:24 +01:00
Dev
035fce63c3 Make use of Set data structure inside createRandomLoot() to improve performance via .has instead of .includes 2023-10-13 20:18:39 +01:00
Dev
292791aca4 make itemHasBaseClass() more robust against bad input 2023-10-13 16:54:17 +01:00
Dev
8e377594da Split up code inside validateQuestAssortUnlocksExist() to improve readability 2023-10-13 09:45:47 +01:00
Dev
45788e1489 Fix scav case erroring on item generation 2023-10-13 09:28:04 +01:00
Dev
38371f47fb Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-10-13 09:13:27 +01:00
Dev
1bce472cf5 Adjust rogue/raider/follower weapon dura values 2023-10-13 09:13:07 +01:00
ElRabbito
1e0b768786 Fixing playerscav.json error causing exceptions when karma is below -5 (!149)
That error caused game freeze because of server exception after played scav death or after successful extraction of played scav

Co-authored-by: ElRabbito <you@example.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/149
Co-authored-by: ElRabbito <elrabbito@noreply.dev.sp-tarkov.com>
Co-committed-by: ElRabbito <elrabbito@noreply.dev.sp-tarkov.com>
2023-10-12 19:51:10 +00:00
Dev
10b4c5bcd6 Add streets coop extract 2023-10-12 20:45:53 +01:00
Dev
3c3fd56e65 Send gift to player after taking coop extract 2023-10-12 20:04:50 +01:00
Dev
3598418f6e Disable filtering out healing items from backpack loot 2023-10-12 14:33:09 +01:00
Dev
8c2233a0a1 Adjust follower weapon durability down based on feedback 2023-10-12 13:50:59 +01:00
Dev
a59a8a3fc4 Add additional ranking of daily pmc quest: 16-40
Adjust values to be somewhere between 1-15 and previous 16-100
adjusted 16-100 (now 41-100) values to be harder
2023-10-12 13:44:05 +01:00
Dev
dfc46068d2 Add machine gun as possible weapon category for kill quests
Adjust weapon category chances
2023-10-12 13:41:45 +01:00
Dev
29ffe86caa Remove redundant item added check from value check 2023-10-12 13:25:13 +01:00
Dev
db619a30b3 Add boss item blacklist and wire into:
airdrops
scav cases
sealed weapon containers
daily quests

Default boss item filter to on
2023-10-12 11:00:04 +01:00
Dev
4a570b438f Remove broken MarksmanRifle from weapon category, is already handled by DMR
Add Bolt actions to weapon category
Increased item reward count for scav daily
2023-10-12 10:07:19 +01:00
Dev
d430159a3c Daily quests adjustments:
Added a new range for weekly elimination, intead of having two, `1-15, 16+`, we have` 1-15, 16-40, 17+`
weekly elimination kill count requirements went way up
body part targeting is lower for low level weeklies, no change at high level
disabled specific weapon requirement for all elimination quests
level 1-15 weekly quests will target scavs more
2023-10-12 09:57:14 +01:00
Dev
d71d636578 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-10-12 09:54:43 +01:00
Dev
c468e267db Adjust raider and rogue weapon durability values based on feedback 2023-10-12 09:42:39 +01:00
Refringe
52172f2953 InsuranceController Quality and Maintainability (!148)
This pull request aims to refactor the InsuranceController class to improve its code quality and maintainability. The changes include restructuring methods, adding detailed comments, and enhancing the overall logic for processing insured items.

Specific changes include:

- Updating the `findItemstoDelete()` method (and the entire class, really) to keep track of which items are tagged using a Set. This *ensures* that an item can only be attempted to be deleted once, as Sets cannot contain duplicates.

- Changing the method in which we remove insurance packages from the profile. We were iterating over them using a `for` in reverse order and then removing them with a splice and the current index. On paper this should work, but funny things were happening... Sometimes. I've created a new method that removes packages from a profile by matching against the package systemData date, time, and location. This should give us a specific insurance package (as we don't have an ID to use). In addition to this we're fetching a new instance of the profile to edit, instead of modifying packages that are being iterated over as they're being iterated over.

-----

I was unable to reproduce the issue where insurance packages were not being removed from the profile, but hopefully these simplified approaches lead to less funny business.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/148
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-committed-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
2023-10-12 08:38:22 +00:00
Dev
968911e3de Refactored repeatable quest system
Moved quest generation code into its own class
Moved shared methods used by controller and generator into helper class
2023-10-11 17:43:57 +01:00
Dev
0986bd0932 Make separate bossKill min/max properties + adjust various difficulty values 2023-10-11 17:05:06 +01:00
Dev
c2a6ca678e Add support for daily quests to request specific weapon kill requirements on elimination quests 2023-10-11 17:04:18 +01:00
Dev
67324edd9c merge stomach/chest target areas into one based on live feedback
Remoev dupe tagillas
Add missing bosses
2023-10-11 14:39:38 +01:00
Dev
af82c50a0c Remove knight from boss target pool for repeatables - not seen in live dailies 2023-10-11 14:17:49 +01:00
Dev
22bbf3eeab Add new bosses to repeatable quests pool
Adjust reward values up
2023-10-11 14:14:45 +01:00
Dev
b614d28736 Add streets to repeatable quests map pool 2023-10-11 14:04:25 +01:00
Dev
bf23722f78 Add Radio repeater to scavcase reward blacklist 2023-10-11 11:42:31 +01:00
Dev
ad33405e75 Adjust Raider weapon durabilities based on feedback from live 2023-10-11 10:57:16 +01:00
Dev
2f2e7c2e32 Variable rename to aid in readability 2023-10-11 10:47:54 +01:00
Dev
a19e322373 Remove debug logging inside addMissingHideoutBonusesToProfile() 2023-10-11 09:01:45 +01:00
Dev
68a8d34489 Protect against a missing upd object inside changeItemStack() 2023-10-10 22:37:38 +01:00
Dev
57dbfb36f7 Remove gp-34 from pmc weapon mod pool + update weapons to allow for gp-25 launcher 2023-10-10 22:19:47 +01:00
Dev
498cd0f01a Update map loot JSONs 2023-10-10 20:34:01 +01:00
Dev
b10a683650 Update bot JSONs 2023-10-10 18:46:10 +01:00
Dev
0c840db50b Update JSONs 2023-10-10 18:21:12 +01:00
Dev
f67c4293d8 Merge used profile mods onto a single record for each mod by name, choosing newest 2023-10-10 17:01:29 +01:00
Dev
76d8b944d5 Store `AvailableAfter value in statusTimer of timelocked quest
Send locked quest to client when requested
Delete `availableAfter` property when accepting a quest
2023-10-10 16:18:55 +01:00
Dev
8edc43e9de Do not send timelocked quests to client until timer is passed 2023-10-10 14:46:23 +01:00
Dev
117c965948 Version update 2023-10-10 13:24:35 +01:00
chomp
0b67a9a0e9 0.13.5.0 (!147)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/147
2023-10-10 11:03:20 +00:00
ghost114514
fa6568a174 updated Chinese locale (!131)
Signed-off-by: bili@育碧苏联Ubisoviet
server strings are translated. player chat message WIP

Co-authored-by: Your Name <you@example.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/131
Co-authored-by: ghost114514 <ghost114514@noreply.dev.sp-tarkov.com>
Co-committed-by: ghost114514 <ghost114514@noreply.dev.sp-tarkov.com>
2023-09-14 19:27:02 +00:00
gasmo
8d911ccc19 Fix ballooning recursive function (!120)
The `BotEquipmentModPoolService.generatePool()` method is recursive, but it does not check if the pool it creates already contains data for sub items when it finds them and calls itself on them. This creates substantial bloat in the function that is undetectable to end users, but causes some additional delay when it is called.

I noticed this when using a server mod that allows for less restrictions on mod combinations (as it would hit the system recursion limit and error out) but the bloat still affects vanilla - it takes ~1 minute for all the recursive calls to end, whereas this fix reduces that to <10 seconds.

To fix this, I've moved a block of code into the conditional block that checks if the item we're adding (and its' sub items) are already in the pool before it calls itself.

This is my first pull request, so let me know if I've fudged up somewhere and I'll do my best to fix it.

I submitted a previous request about this, but I removed my name from the commits so I had to delete the branch.

Co-authored-by: gasmo <burr.cameron@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/120
Co-authored-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
Co-committed-by: gasmo <gasmo@noreply.dev.sp-tarkov.com>
2023-08-18 14:17:54 +00:00
Dev
1b387f706d Revert "Update JSONs + add new params to interfaces"
This reverts commit 3bf644c0e4.
2023-08-10 16:02:33 +01:00
Dev
3bf644c0e4 Update JSONs + add new params to interfaces 2023-08-10 16:00:49 +01:00
Dev
96ef616d48 Add comments 2023-08-10 14:30:29 +01:00
Dev
91ec0144ed Esxpose two endpoints for launcher to get mod-related data 2023-08-10 14:29:09 +01:00
Dev
e591ea9e8f make setFenceAssort and setFenceDiscountAssort public 2023-08-09 22:04:35 +01:00
Dev
285f65bb8d Only remove item from fence assort if he has items to remove
Add empty assort check to remove function too
2023-08-09 19:20:41 +01:00
Dev
e6d8e281ee Improve accuracy of terragroup p6 quest assort reward price/stock count 2023-08-09 18:56:36 +01:00
Dev
240fa7a144 Update trader assort values after improving assort gen tool 2023-08-09 18:52:33 +01:00
Dev
96de45e580 Expose SPT friend nickname in core config 2023-08-09 16:01:51 +01:00
Dev
99715f90cd Update JSONs and include end of wipe gift
Add additional method to send localised messages from SYSTEM to player
2023-08-09 14:22:16 +01:00
Dev
7a1301d436 Fix request logger throwing errors when logging non-json data 2023-08-09 12:16:41 +01:00
Dev
dea27097b3 Improve server start message selection 2023-08-09 12:07:31 +01:00
Dev
643cf9a268 Regenerate item cache on game start
Fixes 'item missing from cache' errors seen when using multiple mods that add items to the game
2023-08-09 12:04:31 +01:00
Dev
b3f5ea8287 FIx null excpetion when a weapon reward is picked that has no presets
We only want the default preset, so use that function instead
2023-08-09 11:52:20 +01:00
chomp
c1a4c544bc Add JSONC support to server configs + use by modders (!112)
Replaced calls (where possible) to JSON.parse/stringify with use of `jsonUtil` functions
`VFS.ts` was tricky, it can't be updated as it'd create a circular dependency

Also add json5 to package.json for modders to have access to

Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/112
2023-08-09 10:49:45 +00:00
Dev
ba06629577 Remove comma 2023-08-08 09:08:35 +01:00
Dev
d0b3f89dd5 Add json5 support to server 2023-08-08 09:08:18 +01:00
Dev
6262d74acc Pass the location insurance was lost into sendLostInsuranceMessage()
make use of mailSendService.sendLocalisedNpcMessageToPlayer()
Make use of new `insuranceFailedLabs` array in prapors json data
2023-08-07 22:43:00 +01:00
Dev
6b4341b955 Add extra insurance failed message keys to prapor/therapist 2023-08-07 22:40:41 +01:00
Dev
ee46d1e6b8 Extend sendLocalisedNpcMessageToPlayer() to allow for custom systemData 2023-08-07 22:40:06 +01:00
Dev
dd26a94ede Nullguard against missing data from client 2023-08-07 19:42:23 +01:00
Dev
7e75f867a0 BSG flea blacklsit should be enabled by default 2023-08-07 18:29:18 +01:00
Dev
74f7ee8e77 Rework usage of filter() into some() 2023-08-07 11:17:46 +01:00
Dev
92c30dbe5d Add code to check BackendCounter values pre vs post-raid 2023-08-07 11:13:17 +01:00
Dev
b2530a6083 log not implemented message for stash row reward 2023-08-06 16:54:31 +01:00
Dev
d661f89952 Increment version number 2023-08-06 16:03:10 +01:00
Dev
7f3b3ba1e3 Update JSONs 2023-08-06 16:02:39 +01:00
chomp
6a864bffa9 Rework high flea listing price adjuster to be configurable, more item types can be added (!111)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/111
2023-08-06 11:36:07 +00:00
chomp
a962823192 Persist durability changes + faceshield hit values incurred during a raid (!110)
Fixes insured items comin back full durability

Co-authored-by: CWX <CWX@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/110
2023-08-05 17:26:16 +00:00
Dev
9dd2d3cd04 Improve nullguard code inside findAndAddRandomPresetToLoot() 2023-08-05 14:50:05 +01:00
Dev
5a3326189d Blacklsit Old hand Scythe from PMC backpacks 2023-08-05 09:09:47 +01:00
Dev
95b156b91c Add missing prereqs to TerraGroup Trail quests 2023-08-05 08:51:59 +01:00
Dev
4a1e3e9df3 Fix casing issue 2023-08-04 23:46:27 +01:00
Dev
14c6104b65 FIx dialogs not showing 2023-08-04 18:58:00 +01:00
Dev
30bd9545f5 i hate commas 2023-08-04 18:41:32 +01:00
Dev
20ce02c145 Add new event quests to quests config 2023-08-04 18:29:18 +01:00
Dev
cc88cd0e87 Fix typo 2023-08-04 18:22:44 +01:00
Dev
08c81aff26 introduce itemsDb variable inside repairItemByKit() 2023-08-04 15:59:34 +01:00
Dev
ce65ec1260 Add upd null object check to addMaxResourceToKitIfMissing() 2023-08-04 15:55:59 +01:00
Dev
1a402dde09 Add event quest 19 2023-08-04 14:52:57 +01:00
Dev
4dc290c284 Nullgaurd against mods that adjust map static data 2023-08-04 12:57:16 +01:00
Dev
2a98b0a1b9 Move trader enum checking logic into traderHelper 2023-08-04 11:19:27 +01:00
Dev
07217e9ed0 Further extension of profiel fixing code, deletes more
Clothing, active repeatable quests with bad trader/items, trader purchases from bad traders
2023-08-04 10:25:21 +01:00
Dev
281cba8db5 Prevent randomiseItemUpdProperties() running if the item being randomised has a db item with no _props data 2023-08-04 08:49:22 +01:00
Dev
e3b5ed44bf Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-08-04 08:35:08 +01:00
Dev
88f5edba61 Add small chance PMCs carry secondary weapon, mostly SMGs + small chance of fn40gl 2023-08-04 08:34:40 +01:00
Sister-Fister
07c99ec376 bot.json Missed Additions (!109)
Missed adding the new event bots to PMC's enemyType, and put bossZryachiy where appropriate.

Co-authored-by: Akrotluv <60285080+Akrotluv@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/109
Co-authored-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
Co-committed-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
2023-08-04 06:50:18 +00:00
Dev
b24abb1b2f crazy assault scav adjustments
Allow PMCs to use crazy scav brain
2023-08-03 16:51:07 +01:00
Sister-Fister
5b3980bebd Bot.JSON - Update crazyAssaultEvent & arenaFighters (!108)
Add crazyAssaultEvent to itemSpawnLimits, lootNValue.
Added crazyAssaultEvent bot equipment (NVGs/lasters/lights/faceshield) chances, armor & weapon durabilities and weaponModLimits, homebrewed values for what I thought would of been an okay compromise between cocaine huffing scav and a cocaine hugging Rogue.
Added crazyAssaultEvent bot (min:5/max:10), and arenaFighter & arenaFighterEvent (min:0/max:0) into convertIntoPmcChance.
Added (but disabled) arenaFighter, arenaFighterEvent and crazyAssaultEvent bot types to the pmcType.

Notes:
Dunno what other files I'll need to edit, but this was mostly to fix error spam I encountered on Shoreline in response to crazyAssaultEvent bots not having equipment and NLoot values. Seemed like it killed the population to, but could be unrelated.

I have NO clue how cracked the Bloodhounds/Arena and Crazy Assault AI would be in the hands of the PMC bots, although anything funny, I need to know and witness it with the Deer God, lol.

Values are obviously temporary, just things that kinda made sense to me at the time. No idea what the Crazy Assault Event was like, so...

Co-authored-by: Akrotluv <60285080+Akrotluv@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/108
Co-authored-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
Co-committed-by: Sister-Fister <sister-fister@noreply.dev.sp-tarkov.com>
2023-08-03 15:24:32 +00:00
Dev
dbf9955272 potential fix for custom trader issue 2023-08-03 15:46:50 +01:00
Dev
beb7c5069b Improve profile fixing system
Remove more modded items from profile when config set to true, warn of set to false

Handle weapon presets + messages containing modded items
2023-08-03 14:36:53 +01:00
Dev
207d72fba2 Add loot nvalue for crazyAssaultEvent bot 2023-08-03 13:45:38 +01:00
Dev
cbcd431f09 Fixed new profiles failing to start game during christmas/new years event
Add new function in dialog helper for getting dialogs frm profile - creates empty object if none found

Set gift collection time to 48 hours if none supplied
2023-08-03 12:25:09 +01:00
Dev
0c37a76ff6 Improve processFailedQuests() handling of null parameter 2023-08-03 08:38:36 +01:00
Dev
2c7973d8d9 Update placeholder quest assort unlocks with better pricing/stack limit values 2023-08-02 20:30:54 +01:00
Dev
b6af63b03e Add additional event quests 2023-08-02 20:30:18 +01:00
Dev
d7f784ec17 Fix quest name typo 2023-08-02 18:36:26 +01:00
Dev
172722a915 Cleanup code and also check if standing is 0 2023-08-02 16:15:33 +01:00
Dev
3fefe90b56 Set lightkeeper rep to 0,01 on account creation, prevents showing 2023-08-02 16:02:44 +01:00
Dev
f5eb96ed48 Refactor of hideout skill gains from area completion 2023-08-02 15:55:33 +01:00
Dev
bfec553768 Lower aks-74u average price 2023-08-02 13:34:00 +01:00
Dev
37512bc943 Add missing comma 2023-08-02 13:00:59 +01:00
Dev
0d9833f5cf Pretify en locale file 2023-08-02 12:57:38 +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
d0531e4b5c Add dynamically generated placeholders for trader assorts unlocked via quests
Price and stack count are fixed: 25k + 10
2023-08-02 12:21:13 +01:00
Dev
fbd0a26bfb Add quest items to loose loot 2023-08-02 11:29:16 +01:00
Dev
eb0f06d2aa Update JSONs
new hideout production
New keycard in items
event quest locales
2023-08-02 10:59:22 +01:00
Dev
3876e1ae15 Pull mod sorting code into its own function 2023-08-02 08:50:04 +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
177a01439b Add event quest 10/15 2023-08-02 08:01:23 +01:00
Dev
831dec7e55 Check for and remove dialogs with the key "undefined" 2023-08-01 23:16:06 +01:00
Dev
0d423d0c70 Limit to one gift, not 2 2023-08-01 22:51:21 +01:00
Dev
7cd1f9a63c Add Kappa secure container gift code 2023-08-01 22:49:18 +01:00
Dev
98454ae3a5 Remove extra comma 2023-08-01 20:16:27 +01:00
Dev
b7f89e6ceb Additional PMC responses to appeal to gen-z 2023-08-01 14:12:13 +01:00
Dev
1bf3dba1a9 Add 1% chance all PMCs in players game are named after them with random prefixes 2023-08-01 13:31:58 +01:00
Dev
82de7c097d Replace old "evil x" pmc name system with v2 2023-08-01 12:51:40 +01:00
Dev
0554e05313 Add quests: The TerraGroup Trail - Part 9/13/14 2023-08-01 08:28:13 +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
c24e8d9858 Made new developer profiles start skills at level 40 2023-07-31 16:08:25 +01:00
Dev
d8b4de4384 Add additional 20g ammo to PMCs 2023-07-31 15:42:18 +01:00
Dev
a912f7c9cd When bsg flea blacklsit is disabled, set all items as sellable on flea 2023-07-31 15:41:10 +01:00
Dev
a1159b87eb Additional ammo weight adjustments 2023-07-31 14:40:38 +01:00
Dev
935ece910c Udpate flea prices 2023-07-31 14:28:00 +01:00
Dev
93641c4791 Added additional missing quest-assort mappnigs 2023-07-31 14:21:02 +01:00
Dev
0582102a25 Update loot using additional dumps made in the past 4 months 2023-07-31 13:51:38 +01:00
Dev
aa7dc48acd Updated Korean server translations, thanks to son2688s 2023-07-31 13:25:57 +01:00
Dev
2806b79c5c Adjust ammo choices for level 51-100 PMC bots to favor higher-level ammo 2023-07-31 12:53:25 +01:00
Dev
9293dd2cd1 Add additional Caliber9x18PM ammo to PMCs 2023-07-31 12:49:19 +01:00
Dev
44a7085da5 Add additional event quest 2023-07-31 09:25:21 +01:00
Dev
0b07ef8603 Fix item not appearing 2023-07-30 21:49:35 +01:00
Dev
59b2fc3602 Typo fix 2023-07-30 19:29:19 +01:00
Dev
4eb43c8832 Update bot JSONs 2023-07-30 17:44:01 +01:00
Dev
b9c324568b Update JSONs 2023-07-30 15:45:39 +01:00
Dev
9c5b5f230f Update en locales + add quests 2023-07-30 15:36:00 +01:00
Dev
5b7199b952 Update flea prices + Add sytem for adjusting unreasonable high mod prices on flea 2023-07-30 15:22:19 +01:00
Dev
6b8fadef40 Save trader standing changes post-raid 2023-07-30 11:30:31 +01:00
Dev
bb5a2f52cf Add quest image 2023-07-29 14:38:09 +01:00
Dev
59628aea5e Build server against es2021, instead of es2020 2023-07-29 14:26:42 +01:00
Dev
7c77211f59 Update server deps 2023-07-29 14:13:00 +01:00
Dev
a514a94b45 Improve wording + Add missing properties from config 2023-07-29 10:16:03 +01:00
Dev
4400357c0e Remove unused properties 2023-07-29 09:09:38 +01:00
Dev
e3413ae778 Add additional quests: Make Amends - Buyout, Make Amends P1, TerraGroup Trial Part 2 2023-07-29 08:25:31 +01:00
Dev
4ebb9b1729 Include TerraGroup Trial quests in event quest array 2023-07-28 21:52:43 +01:00
Dev
c501712dda Update quests json, adds event quest p1 2023-07-28 21:06:05 +01:00
Dev
476296bef3 Add additional quest files to loot jsons 2023-07-28 20:59:26 +01:00
Dev
46dd52b174 Add quest item to lighthouse 2023-07-28 20:49:08 +01:00
Dev
73f4452d2b Force odobolobos n on crazy event scavs 2023-07-28 19:57:54 +01:00
Dev
31d2177b0a Regen bots 2023-07-28 19:07:22 +01:00
Dev
7d98e6d396 Update JSONs 2023-07-28 18:16:51 +01:00
Dev
267d54d214 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server 2023-07-28 17:11:54 +01:00
Dev
b25342d2f5 Log error when RAID_CONFIGURATION values cannot be found inside getBotDifficulty() 2023-07-28 17:11:18 +01:00
Nehax
0afdd29f21 FR translation typos and misspelling fixes + missing translation (!107)
Fixed a bunch of translation errors, added a missing PMC chat translation.

Co-authored-by: NehaxFr <nehaxfr@proton.me>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/107
Co-authored-by: Nehax <nehax@noreply.dev.sp-tarkov.com>
Co-committed-by: Nehax <nehax@noreply.dev.sp-tarkov.com>
2023-07-28 14:03:49 +00:00
Dev
5a435b363a 25206 2023-07-28 10:01:14 +01:00
Dev
238d79c2f2 Move bot property to correct sub object 2023-07-27 16:16:35 +01:00
Dev
32b32e627b Force afaks into PMCs secure container 2023-07-27 15:01:08 +01:00
Dev
03b5081870 Adjust heal rate for PMCs 2023-07-27 13:51:42 +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
6581896e30 Revert 999 stack size of ammo in bots secure containers + set secure stack count to 20 instead of 15 2023-07-26 22:46:19 +01:00
Dev
9b729dbbc2 More PMC names 2023-07-26 17:51:23 +01:00
Dev
904c406a33 Add extra PMC names 2023-07-26 17:46:03 +01:00
Dev
ef03d546ce Improvements to PMC gear variety + comment changes 2023-07-26 16:41:54 +01:00
Dev
76dce7a548 Nullguard across multiple dialogueController methods to prevent missing profile/dialog from killing client 2023-07-26 12:47:42 +01:00
Dev
06d39b26a9 Improvements to chat responses
Exit response code when gift code entered

Reply to additional keywords

Randomisd responses + added multiple
2023-07-26 09:38:33 +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
0a1913ab49 Fix issue with completing Sadist not failing Colleagues Part 3
Added fail state to colleagues p3
Reworked loop inside `getQuestsFailedByCompletingQuest()`  to use .some() instead
Reworked `failQuests()` to check all fail conditions instead of just the first one
2023-07-25 19:20:17 +01:00
Dev
903dbdf432 Improve emulation of live tarkov data - Remove hideout data from bots that are not pmcs or pscavs prior to being sent to client 2023-07-25 17:44:23 +01:00
Dev
b16d849280 Only add player to users inside getProfilesForMail() if they dont exist 2023-07-25 15:59:39 +01:00
Dev
8178f40b5d Comment improvements 2023-07-25 14:04:21 +01:00
Dev
38b921a7e4 Move gift checks into GiftService.sendPraporStartingGift 2023-07-25 11:17:54 +01:00
Dev
41b4bdc432 Fix bug that casued prapor to send new player gifts regardless of how old profile was
Surround gift sending code with gift recieved check first
2023-07-25 10:36:23 +01:00
Dev
1a80d3fab8 Prevent exception in gift existence check doesnt find a profile 2023-07-25 10:35:12 +01:00
Dev
fd365df8ba FIx getGameConfig() failing on profile creation 2023-07-25 10:22:12 +01:00
Dev
50629f0cf3 Add Rhino 9mm + fix data issue with MTs-255-12 12ga cylinder 2023-07-24 21:59:31 +01:00
Dev
4a491df965 Add stackObjectCount for camora slots on weapons 2023-07-24 21:44:00 +01:00
Dev
777ca0c8ef Fix issue with PMCs generating with one cartridge in magazine + no cartridge in weapon chamber 2023-07-24 21:24:55 +01:00
Dev
085bf7fcb5 Update JSONs 2023-07-24 19:06:42 +01:00
Dev
7e60ea9d79 Remove dupe items from seasonal gear 2023-07-24 18:47:26 +01:00
Dev
070b9c7ad6 Send total in game time on game start 2023-07-24 16:38:28 +01:00
Dev
848302e769 Convert post-raid player status into an enum and update usages 2023-07-24 16:30:03 +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
640def0a2e Adjust goon spawn rate to 30% from 35% 2023-07-23 19:11:54 +01:00
Dev
ab32dfd554 Improvements to gifts json - newyears 2023-07-23 12:48:06 +01:00
Dev
f4047489eb Clean up sptFriend generation code - reduce duplication 2023-07-23 12:30:15 +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
ab359a703e Blacklist quest_surgical_kit_Sanitar globally
Remove vector .45 from sealed weapon case loot as it has no presets to use
2023-07-23 11:49:13 +01:00
Dev
253fd3a42a Fix prapor gift system failure on new profile creation 2023-07-23 11:36:41 +01:00
Dev
89ab3a99a8 sealedWeaponContainer - Get random weapon preset if default preset not found 2023-07-23 11:27:04 +01:00
Dev
e4b9be3bea Fix for ragfair failed offers killing profile 2023-07-23 10:47:38 +01:00
Dev
618a41fcd9 Add system to make prapor give giffts the first and second day after starting a fresh character
Add functionality to handle gift service to use locale ids instead of raw text
2023-07-22 23:23:42 +01:00
Dev
b235bba374 Improve PMC mod variety + allow mod_hammer to be gathered dynamically 2023-07-22 20:55:40 +01:00
Dev
41ef304d97 Improve seasonal system to give gifts during event
Add additional equipment to PMCs when event is active
2023-07-22 20:07:58 +01:00
Dev
3378d2f6fb Minor update to PMC equipment 2023-07-22 20:06:55 +01:00
Dev
9e071b4ae1 Update flea prices 2023-07-22 19:06:02 +01:00
Dev
fcb8734134 Update arenafighter bot data 2023-07-22 18:58:47 +01:00
Dev
5071072092 Place fence seasonal item blocking behind config propery 2023-07-22 14:16:19 +01:00
Dev
a04113eaa1 Block seasonal items when not inside active season (christmas/halloween so far) 2023-07-22 14:11:47 +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
ab912f519f Fix issue with trader ids not being propigated to the profile 2023-07-22 13:59:21 +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
a09c813358 Add extra check for messages from traders where dialog type is defined 2023-07-22 13:32:37 +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
Dev
f3e1dd59fb Migrate quest controller to use new message service instead of dialogHelper 2023-07-22 12:56:15 +01:00
Dev
c8ea29156e Added extra promo code 2023-07-22 12:04:31 +01:00
Dev
1617617cf2 Improve localisation to reduce confusion that server mods are loaded, not client and server mods
Small comment typo fix
2023-07-22 11:46:38 +01:00
Dev
06947a0817 Further updates to bot equpiment/loot 2023-07-22 11:29:13 +01:00
Dev
d3ad5ef4c7 Regeneration of bot equipment and loot 2023-07-22 10:56:33 +01:00
Dev
de356f8f71 Fix bad ref 2023-07-21 19:37:51 +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
4092ff7c9d Add stub of gift service 2023-07-20 21:07:47 +01:00
Dev
67706f09fc Fix missing import 2023-07-20 20:51:49 +01:00
chomp
e2a1b10989 Fixed bug to when talking with another user. Player messages shows like its being send from player instead of reciever. (!105)
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/105
2023-07-20 19:27:28 +00:00
Dev
b324d6ff6e Add additional PMC names 2023-07-20 16:23:42 +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
58063ce303 Fix incorrect comment 2023-07-20 14:02:53 +01:00
Dev
78d097498c Update JSONs and add new properties to server interfaces 2023-07-20 13:53:44 +01:00
Dev
6edf331aff Use corect type 2023-07-20 13:22:47 +01:00
Dev
aa4cab49ed 24964 2023-07-20 13:11:12 +01:00
Dev
a79a5f7aec Allow modders to set item min/max stack size limits for any item on fence 2023-07-20 12:00:24 +01:00
Dev
2917c8a167 Removed polish translations at request of author 2023-07-20 09:26:42 +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
3208360196 JSON lint 2023-07-19 10:30:39 +01:00
Dev
a4164f3117 Add translation advertising 2023-07-19 10:15:22 +01:00
Dev
d001fe8fb5 Adjust the secure container ammo stack sizes for PMCs to reduce chance PMCs run out of ammo 2023-07-18 19:14:52 +01:00
Dev
3e15ab7b17 Blacklist 12.7x108mm BZT-44M cartridge from scavcase rewards 2023-07-18 18:55:06 +01:00
Dev
3cba3bfd4a Additional types added to BaseClasses 2023-07-18 17:16:23 +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
f28d6c2a6b Added comments to various config files 2023-07-18 15:45:57 +01:00
Dev
f2863025c2 Add bossZryachiy/followerZryachiy to PMC enemy type list 2023-07-18 15:45:02 +01:00
Dev
942c079284 Rename all globals.ts interfaces to improve naming consistency 2023-07-18 15:44:14 +01:00
Dev
5b3e3e33df extend MinMax for a number of interfaces 2023-07-18 15:18:01 +01:00
Dev
ca48f0e83c Add property to location config to allow adding bot min/max spawn limits for maps
Limit marksman on customs/woods/streets between 2 and 4, woods to 2 and 5
2023-07-17 14:40:54 +01:00
Dev
02d43d491c Save time spent in raid to profile 2023-07-17 09:36:10 +01:00
Dev
b7886138fc Fix JSON issue 2023-07-15 20:06:14 +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
295ed59739 Additional code comments 2023-07-15 14:49:25 +01:00
Dev
5e3d3f5bd7 Rework generateAll() to not have hardcoded skip of "base" map + moved code around + varaible rename
Made generate() private
2023-07-15 11:58:35 +01:00
Dev
7a1140c229 Extract coder into function from updateProfileBaseState + log nickname on game start 2023-07-15 11:03:54 +01:00
Dev
ee3766aad3 Add SPT friend :3 2023-07-15 11:02:48 +01:00
Dev
18054e4004 Extract code into seperate functions inside ProfileController + add logger to class 2023-07-15 11:01:29 +01:00
Dev
5d20b6b781 Further comment improvements 2023-07-15 11:00:35 +01:00
Dev
76804c0326 Replace magic string with enum 2023-07-15 10:58:35 +01:00
Dev
2b6980358c Moved keepalive code out of GameCallbacks and into its own function inside GameControler 2023-07-15 10:57:39 +01:00
Dev
c1e7c70c65 Remove unused getTemplateQuests method 2023-07-15 10:56:47 +01:00
Dev
d2c2a39075 Add comments + improve comment consistency 2023-07-15 10:56:00 +01:00
Dev
195d0e3b1d Add 'fixes' section to core.json, expose some flags for enabling spt fixes
Added flag to enable deletion of modded items from profile - default is off
Fixed issue where loop would stop checking for modded items after finding the first item
2023-07-15 10:53:08 +01:00
Dev
9288a59a77 Convert some privates to protected + some publics to protected 2023-07-15 10:45:33 +01:00
Dev
fefdb53fd6 Disable empty interface errors 2023-07-15 10:43:09 +01:00
Dev
2df0d44de5 Add mock implementation for client/friend/request/cancel endpoint
Addec comments
2023-07-14 13:03:55 +01:00
Dev
162709a5b0 Improve comments in gamecallback/controller
Move public functions to top of class
Use parameter property instead of hard coded string inside healthTreatment()
2023-07-14 12:55:32 +01:00
Dev
455bde264c Improve offraidEat
use .find() instead of iterating over every item in player inventory
Return client error if consumable item not found + localised
2023-07-14 12:53:31 +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
fd56bf040e Convert hideout craft exp magic string into config value 2023-07-12 20:12:16 +01:00
Dev
218eb35ecb Implement hallowen trader icon system
Rework DatabaseImporter.loadImages() to take additional parameter
2023-07-12 19:50:33 +01:00
Dev
1c72ca68cf Remove duplicate keys 2023-07-12 18:06:31 +01:00
Dev
e38a2328cf 24742 2023-07-12 16:11:12 +01:00
Dev
fe34afa4e3 Don't compile node binaries every build, use precompiled instead 2023-07-12 15:29:07 +01:00
props
455b002b19 Update quests.json for minor typos (!104)
Its missing minor characters that display an error in the console for the latest 3.6.0 BE version.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/104
Co-authored-by: props <props@noreply.dev.sp-tarkov.com>
Co-committed-by: props <props@noreply.dev.sp-tarkov.com>
2023-07-11 21:24:42 +00:00
Dev
ea270a95a5 Move hard coded gameversion/account type values into bot config 2023-07-11 11:58:26 +01:00
Dev
5ca2b3e890 24696 2023-07-11 10:21:24 +01:00
Dev
7bb93cdcaf Add clarifying comment 2023-07-10 22:25:59 +01:00
Dev
e1a38b9421 Add quest icon for Failed setup 2023-07-10 17:21:56 +01:00
Dev
503551c27e Refactor getClientQuests 2023-07-10 15:48:49 +01:00
Dev
ebbeb510d0 Revert seasonal event config debugging change 2023-07-10 09:30:17 +01:00
Dev
789260f1ed Change rom error to warn 2023-07-09 20:17:00 +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
d0dcfc523b Move event quest code into own function 2023-07-09 16:31:42 +01:00
Dev
a091703a84 Remove artificial level start limit from event quests 2023-07-09 15:26:02 +01:00
Dev
dba6b5f629 Allow modifcaiton of the container airdrop will use (capacity etc) 2023-07-09 14:47:02 +01:00
Dev
ad6b94d8a9 Filter out event quests from data prior to sending them to player
Rework season service to use enum instead of magic strings for event names

Add config property to control showing/hiding non-seasonal event quests from player
2023-07-09 14:45:06 +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
69d1a319aa Add Cocktail Tasting event quest - starts at level 25 2023-07-09 09:59:42 +01:00
Dev
1e4e65e46d Add event quest icon 2023-07-09 09:45:54 +01:00
chomp
6754d84484 24605 (!103)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/103
2023-07-07 20:24:42 +00:00
Dev
985b62cb3a Fix typo on bot name 2023-07-05 18:51:09 +01:00
Dev
bf4e42b211 Add per bottype loot N values
Made bosses share same value as PMCs
2023-07-05 18:44:35 +01:00
Dev
5c428f527e Update jaeger icon to match live 2023-07-04 10:56:09 +01:00
Dev
a213a18e4d Add missing quest images 2023-07-03 18:03:41 +01:00
Dev
e1e44a2319 Add L60 requirement to special equipment 2023-07-03 16:49:58 +01:00
Dev
c5823ac249 Update JSONs
Add new event quests (Hustle-Tourist)
2023-07-03 16:41:37 +01:00
Dev
7d79cda00c Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 23399 2023-07-02 15:06:16 +01:00
Dev
d6fed1aa0f Cleanup of generateContainerLoot() to improve readability 2023-07-02 15:05:32 +01:00
Andrew
a88084983e More translations for RU from EN (!102)
Also re-ordered some of the lines to match EN locales.

Co-authored-by: harmony <hattrix@yandex.ru>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/102
Co-authored-by: Andrew <hrm@noreply.dev.sp-tarkov.com>
Co-committed-by: Andrew <hrm@noreply.dev.sp-tarkov.com>
2023-07-01 20:55:04 +00:00
Dev
63ac0d6fe2 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 23399 2023-06-30 22:05:53 +01:00
Dev
a531c3d127 Update JSONs 2023-06-30 22:03:57 +01:00
Andrew
3f3a0bdd6f Translate bot responses to RU with more human-like reactions (!100)
Including a bit of typo fixes

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/100
Co-authored-by: Andrew <hrm@noreply.dev.sp-tarkov.com>
Co-committed-by: Andrew <hrm@noreply.dev.sp-tarkov.com>
2023-06-30 19:13:17 +00: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
263e5c8dd5 Include prices for ammo packs 2023-06-29 16:27:53 +01:00
Dev
eb27ff6046 Update flea prices generated with new system using standard deviation with variable upper/lower bounds 2023-06-29 12:40:40 +01:00
Dev
a2669352a1 Fix Health Care Privacy Part 1 showing wrong translation for requirement 2023-06-28 16:33:43 +01:00
Dev
61a04c344d Resolved numerous issues with quest rewards showing a broken icon due to mismatching IDs
Added additional weight when picking a quest assort unlock (money or barter)
2023-06-27 17:23:21 +01:00
Dev
567dc6e289 Add clarifying comment 2023-06-27 11:22:03 +01:00
Dev
7958ef8337 Revert airdrop container grid size to pre-event size (10x12) instead of current 10x2 2023-06-26 21:32:23 +01:00
Dev
8534a35518 Add primorsky ave appt key to handbook with placeholder price of 1 rub 2023-06-26 08:23:08 +01:00
Dev
da6cbee387 Replaced getFleaPriceForItem() check for value = 1 with undefined check + move code above undefined = 1assignment 2023-06-26 08:10:36 +01:00
Dev
28ca90b02c Convert duplicate mods into comma separated string prior to being logged in checkForDuplicateMods() 2023-06-26 07:39:22 +01:00
BALIST0N
46dc5bb36b new translations + second reading old ones (!99)
"Ton stuff etait tellement claqué au sol je l'ai vendu a Fence"

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/99
Co-authored-by: BALIST0N <balist0n@noreply.dev.sp-tarkov.com>
Co-committed-by: BALIST0N <balist0n@noreply.dev.sp-tarkov.com>
2023-06-25 13:01:48 +00:00
Dev
5938b59425 Update flea prices 2023-06-25 10:09:53 +01:00
Dev
2c1cf08ac9 Added more pmc names
Added more PMC death/kill message responses
2023-06-24 13:44:30 +01:00
Dev
09bba8f0b1 Adjusted PMC equipment weights:
level 30-50 - slightly more level 5 and 6 armor + more level 4 helmets
level 51-100 - even more level 5 and 6 armor + more level 4/5 helmets
2023-06-22 17:27:49 +01:00
Dev
4ab066e26c Add missing quest images 2023-06-21 18:22:33 +01:00
Dev
1bfac3b8c5 Add missing comma 2023-06-21 17:37:49 +01:00
Dev
7e315b172e Added thicc item case trader assort for completing special equipment 2023-06-21 13:37:19 +01:00
Dev
e97de02b40 Update quest json with dump from live 2023-06-21 13:11:48 +01:00
Dev
7ad1fc3996 Add FiR config and wire up + cleanup of openRandomLootContainer() 2023-06-20 17:19:53 +01:00
Dev
018cf9e47c Format jsons 2023-06-20 17:06:12 +01:00
Dev
c8f0fb1c33 adjust values 2023-06-20 17:00:56 +01:00
Dev
26f29e1522 Add sealed crates to airdrops 2023-06-20 16:59:15 +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
332dc140a6 Update JSON
Add Important patient quest
2023-06-19 19:00:09 +01:00
SamSWAT
7031a2754c RU translation (!98)
Some RU translation

Co-authored-by: SamSWAT <samswat@dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/98
Co-authored-by: SamSWAT <samswat@noreply.dev.sp-tarkov.com>
Co-committed-by: SamSWAT <samswat@noreply.dev.sp-tarkov.com>
2023-06-19 08:19:34 +00:00
Dev
488b9f5f1a prevent null ConflictingItems from causing isItemIncompatibleWithCurrentItems() to error 2023-06-18 15:39:20 +01:00
Dev
de1b33b963 improve getFleaPriceForItem() warning message 2023-06-17 11:47:50 +01:00
Dev
3918bf785e Make two properties optional 2023-06-16 10:18:54 +01:00
Dev
fd597395bd lint file 2023-06-15 20:24:39 +01:00
Dev
a49d33b4a5 Add arenaFighterEvent to bot.json config 2023-06-15 20:23:35 +01:00
Dev
17ae7c5f3f Increment version 2023-06-15 10:16:47 +01:00
Dev
1d47e39a13 Update flea prices 2023-06-15 10:01:44 +01:00
Dev
9d3506ef0a Update jsons
Add 2x event quests - Bloodhounds + hint (start at level 25 - not same as live)
Add arean fighters to woods/customs/shoreline
Adjust reseve bot chances
Add arean fighyer bot json data
2023-06-14 23:48:18 +01:00
Dev
b478a1cdad Add nan check to ragfair rating incrementor code 2023-06-13 19:33:42 +01:00
Dev
709817d4fe make property optional 2023-06-06 16:35:10 +01:00
Dev
408147b8b0 Remove bossZryachiy from bear PMCs on factory 2023-06-04 23:00:52 +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
e4fb8cb40d Refactor getTraderSuits() to make better use of .filter() instead of loops
Moved magic strings into object
Misc comments
2023-06-02 16:21:35 +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
d12cc4c9db Add missing difficulty property to assault scavs 2023-06-01 22:20:39 +01:00
Dev
eeeb36b730 Update italian server locale 2023-06-01 21:35:32 +01:00
Dev
86d6a0e516 Update flea prices 2023-06-01 21:25:43 +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
92c2da785b Update weapon ergo values to match live 2023-05-30 16:12:03 +01:00
Dev
bb9d3739c4 Move logging 2023-05-30 13:58:02 +01:00
Dev
22279a7353 Log sessionid on game start 2023-05-30 13:55:46 +01:00
Dev
774357c1f3 Move fence logging 2023-05-30 13:36:15 +01:00
Dev
00e1679dd9 Log fence standing changes post-raid 2023-05-30 13:35:34 +01:00
Dev
ea2898b1ef Update flea prices 2023-05-30 11:07:15 +01:00
Dev
295f144884 Update JSONs 2023-05-29 22:54:03 +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
b84d8a66c2 Ensure we hydrate the systemData object before calling addDialogueMessage() 2023-05-27 23:04:39 +01:00
Dev
a4efdf9b43 Revert "Store the location insured gear was lost on + time it was lost against insured items in profile"
This reverts commit 77508ace73.
2023-05-27 22:39:32 +01:00
Dev
72239e4434 Rename variables for clarity 2023-05-27 22:31:43 +01:00
Dev
77508ace73 Store the location insured gear was lost on + time it was lost against insured items in profile 2023-05-27 22:31:24 +01:00
Dev
1a3c107f0a Remove duplicate method that does same as storeLostGear() 2023-05-27 22:26:58 +01:00
Dev
9f0e89611b Fix missing comma 2023-05-27 21:51:51 +01:00
Dev
62f8f75cb1 remove comma 2023-05-27 20:27:37 +01:00
Dev
c489db81b1 Protect loop from undefined error inside fixBrokenOfflineMapWaves() when map has missing waves array 2023-05-27 19:03:52 +01:00
Dev
e2b1d4d0c6 null guard against a map without a base json inside fixBrokenOfflineMapWaves() 2023-05-27 19:02:30 +01:00
Dev
57d0548810 Add missing properties to streets 2023-05-27 17:15:06 +01:00
Dev
2189496070 Update dialog Ids for insurance enabled traders - Fixes insurance text showing raw guids 2023-05-27 16:40:25 +01:00
Dev
6f2b60a0aa Fix customs not allowing raids, base.json now differs between offline and live raids
("RequiredPlayerLevelMin": 0,
  "RequiredPlayerLevelMax": 100,)

vs

"RequiredPlayerLevel": 0,
2023-05-27 15:40:36 +01:00
Dev
4cf0aa2ed7 Update live prices 2023-05-27 10:39:14 +01:00
Dev
e7ccddad2d 23399 JSON changes 2023-05-27 10:34:47 +01:00
Dev
618d9636d9 Update exp values 2023-05-26 21:03:36 +01:00
Dev
646fdad4ce 23399 2023-05-26 13:28:17 +01:00
ShadowXtrex
9bd8e32bb2 ES translation typo fix and some translate corrections (!97)
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/97
Co-authored-by: ShadowXtrex <shadowxtrex@noreply.dev.sp-tarkov.com>
Co-committed-by: ShadowXtrex <shadowxtrex@noreply.dev.sp-tarkov.com>
2023-05-24 19:16:11 +00:00
Dev
17d517e4a9 Improve logging 2023-05-24 19:19:05 +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
dcc12f1fcd Fix issue with bot gen when bot config has empty equipment blacklist 2023-05-22 17:03:24 +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
2f919c795c Fix issue with scav case rewards failing + made function reward level handling more robust 2023-05-22 12:25:19 +01:00
Dev
17afc9e460 Add endpoint stubs and improve request/response objects 2023-05-20 18:37:39 +01:00
Dev
08f2bdb27e Refactor ScavCaseRewardGenerator.getScavCaseRewardCountsAndPrices() 2023-05-19 17:40:06 +01:00
Dev
dcd1da28a6 Refactor InsuranceController.processReturn() 2023-05-19 17:39:26 +01:00
Dev
52f9dbefa9 Add new properties to location data 2023-05-19 17:38:38 +01:00
Dev
f3b28d532c Refactor convertBotDifficultyDropdownToBotDifficulty() ot use switch statement 2023-05-18 17:23:28 +01:00
Dev
90d8b52a41 23122 2023-05-18 15:51:22 +01:00
Dev
65ba6c1080 Update JSONs to match live
Inertia lowered
Hideout craft changes
Handbook price changes
Recoil adjustments
heat adjustments
Updated flea prices
2023-05-16 18:40:54 +01:00
Dev
4d27efd9d1 Additional fix when purchasing clothing 2023-05-15 19:18:42 +01:00
Dev
ce63d5418b Fix error on purchasing clothing from ragman 2023-05-15 18:37:09 +01:00
Dev
9f3954cbb2 23043 2023-05-15 17:22:54 +01:00
DrakiaXYZ
b3aabf0539 Add 'Green Corridor' and 'Special Equipment' (!94)
Re-generate quests.json using a dump containing a hand written 'Green Corridor' and 'Special Equipment' quest, and my latest changes to the quest generator

There are a few cases where an 'index' was updated, this is due to my prior changes now depending on the last index in the list, and my previous changes removing some requirements. The 'index' changes should be minimal after this commit though

Custom modified quest dump:
1f7ebc2ced/0000000000resp.client.quest.list_2023-02-26_14-26-26_newquests.json

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/94
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2023-05-12 09:39:57 +00:00
DrakiaXYZ
b1cf5df2eb Update quests to closer match the Tarkov Wiki (!93)
This is a quests.json generated using my latest changes to the Quest Generator, along with some hand changed reward values (Since those are pulled from the dump). Sorry about Gitea's web interface freaking out around the Collector part of the diff.

The following are the changes applied via the Quest Generator + manual modification:
- 'Sanitary Standards - Part 2' now also requires 'Operation Aquarius - Part 2'
- 'Stirrup' now requires 'Supplier' instead of 'The Extortionist'
- 'Loyalty Buyout' now only depends on failing 'Chemical - Part 4'
- 'The Cult Part 1' now requires 'Friend from the West - Part 2' instead of 'Eagle Eye'
- 'Gunsmith Part 8' no longer requires 'Gunsmith Part 6'
- 'Gunsmith Part 8' and 'Gunsmith Part 6' names reversed
- 'The Blood of War - Part 1' now also requires 'Make ULTRA Great Again'
- 'Database - Part 1' now also requires 'Big Sale'
- 'Lend-Lease - Part 1' now requires 'Humanitarian Supplies' instead of 'Friend from the West - Part 2'
- 'Tarkov Shooter - Part 1' now requires 'Acquaintance' instead of 'Survivalist Path - Unprotected'
- 'Decontamination Service' now also requires 'Health Care Privacy - Part 5'
- 'Huntsman Path - Woods Cleaning' renamed to 'Hunstman Path - Forest Cleaning'
- 'Nostalgia' now also requires 'Spa Tour - Part 3'
- 'Survivalist Path - Junkie' now requires 'Survivalist Path - Combat Medic' instead of 'Survivalist Path - Cold Blooded'
- 'Samples' now also requires 'Friend From the West - Part 2', and has no level requirement
- 'Chemistry Closet' now also requires 'Anesthesia'
- 'Hunter' now also depends on 'Hunstman Path - Secured Perimeter', and has no level requirement
- Fixed names of 'Revision' tasks
- 'Revision - Reserve' now depends on 'Humanitarian Supplues' and 'Friend from the West - Part 2' instead of 'Eagle Eye'
- 'Documents' no longer requires 'Ice cream cones', and has no level requirement
- 'No place for renegades' no longer requires 'Ice cream cones'
- 'Back Door' now requires 'Scout' instead of 'Surplus Goods'
- 'Pest Control' now requires 'Reserve'
- 'Trophies' now requires 'The Guide' instead of 'Hunstman Path - Forest Cleaning' and level 55
- 'Energy Crisis' no longer requires 'Postman Pat Part 2' and now requires level 25
- 'Revision - Lighthouse' no longer requires 'Eagle Eye'
- 'Cease Fire!' now requires 'The Delicious Sausage'
- 'Huntsman Path - Eraser - Part 2' no longer requires 'Huntsman path Secured perimeter'
- 'Information Source' now requires 'Getting Acquainted' instead of 'Knock Knock'
- 'Getting Acquainted' now requires 'Knock Knock'
- 'The Stylish One' now requires accepting 'The Huntsman Path - Sellout'
- 'Season Vacation' no longer requires 'Pharmacist', and now requires level 17
- 'Collector' quest is implemented with the requirements listed on the wiki

- 'Silent Caliber' now requires level 30
- 'Regulated Material' now requires level 25
- 'Anesthesia' now requires level 21
- 'Colleagues Part 1' now requires level 21
- 'Rigged Game' no longer has a level requirement
- 'Bunker Part 1' now requires level 10
- 'Bunker Part 2' now requires level 11
- 'Safe Corridor' now requires level 15
- 'Escort' now requires level 60
- 'Capturing Outposts' now requires level 42
- 'Intimidator' now requires level 45
- 'Crisis' now requires level 48
- 'The Cleaner' now requires level 45
- 'Calibration' now requires level 47
- 'The Courier' now requires level 52
- 'Long Line' now requires level 45
- 'The Choice' now requires level 50
- 'Corporate Secrets' now requires level 17
- 'Long Road' now requires level 20
- Remove level requirement from 'Textile Part 2' and 'Textile Part 1', as it's implicitly level locked via loyalty requirement from 'Textile Part 1' (As per dump)

- 'No offence' no longer has a fail reward
- Update 'Huntsman Path - Trophy' XP 7100 -> 15300
- Update 'Huntsman Path - Sell-out' XP 7200 -> 18000
- Update 'Huntsman Path - Woods Keeper' XP 7300 -> 18000
- Update 'Huntsman Path - Justice' XP 7200 -> 12300
- Update 'Huntsman Path - Eraser Part 1' XP 8900 -> 18300
- Update 'Textile Part 1 - Bear' XP 0 -> 32000
- Update 'Textile Part 2 - Bear' XP 0 -> 34800
- Update 'Pest Control' XP 7400 -> 15300
- Update 'The Courier' XP 115000 -> 137000
- Update 'Stray Dogs' XP 12000 -> 30500
- Update 'Road Closed' Roubles 64000 -> 62300

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/93
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2023-05-11 13:13:03 +00:00
Dev
c969a3cb87 Allow labs access cards to be listed on flea to match live 2023-05-10 13:06:04 +01:00
Dev
5c1fd7519c Made taiga knife much rarer on cultists 2023-05-10 12:43:05 +01:00
Dev
f08ac4d2ac Fixed bug that casued bot skills to lack an Id, this could be the cause of Cultists having footsteps 2023-05-08 11:14:32 +01:00
Dev
2073efcfce Update Fr translations 2023-05-04 12:18:32 +01:00
Dev
407c319641 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into Fix 2023-05-03 12:53:38 +01:00
Dev
de5f64e5ba Update flea prices 2023-05-03 12:52:57 +01:00
Morphine
57bb8e9cd6 Update 'project/assets/database/locales/server/fr.json' (!91)
Correction of mistakes/typos/missing words/weird formulation without adding any new lines.
New lines probably added and translated to copycat the Eng version in next commit (PMC chat dialogues will be funny to do ^^)

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/91
Co-authored-by: Morphine <morphine@noreply.dev.sp-tarkov.com>
Co-committed-by: Morphine <morphine@noreply.dev.sp-tarkov.com>
2023-05-02 17:57:47 +00:00
Dev
f340e55924 Skip adding items to mod pool if item has no _props property instead of just showing error 2023-05-01 15:27:33 +01:00
Dev
8b192d26bb Quest changes:
Surplus Goods requires completion of Back Door
TerraGroup Employee requires completion of Colleagues P3 OR Sadist
2023-05-01 10:29:05 +01:00
Dev
eb6905967f Refactor of hideouthelper 2023-04-26 22:29:08 +01:00
Dev
685859d57f Refactor addOrIncrementCategory() 2023-04-24 14:19:42 +01:00
Dev
8076ed9b29 Refactor storeLostGear() 2023-04-24 14:03:41 +01:00
Dev
463e33d1b7 Refactor getNumberOfItemsNeededToFillGap 2023-04-24 13:34:40 +01:00
Dev
b563dd3f78 Refactor addPaymentToOutput() 2023-04-24 13:23:50 +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
2c3e61b413 Refactor endOfflineRaid() 2023-04-24 11:57: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
9fff59f464 FIx typo, no more pies 2023-04-23 13:44:15 +01:00
Dev
9f8bfae75d Refactor of buyClothing() 2023-04-23 12:17:18 +01:00
Dev
d284ca47d4 Refactor wearClothing() 2023-04-23 11:38:57 +01:00
Dev
31eb470a08 Make LocalisationService get keys directly from database server 2023-04-23 11:26:11 +01:00
Dev
c20a9d6e36 FIx getFleaPriceForItem() not logging when price was not found 2023-04-23 11:25:42 +01:00
Dev
9ddfeb629e Fix incorrect reference to Set data structure 2023-04-23 11:13:53 +01:00
Aria Adair
eb9af28c1b Make it possible to dynamically add bundles. (!87)
I'm experimenting around with this to allow for loading bundles from ZIP files to help with texture pack distribution, wanted to get it out in front of folks for review.

Co-authored-by: Ari <a@silversupre.me>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/87
Co-authored-by: Aria Adair <gaylatea@noreply.dev.sp-tarkov.com>
Co-committed-by: Aria Adair <gaylatea@noreply.dev.sp-tarkov.com>
2023-04-23 09:50:52 +00: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
fae6c57bfa Rename Itrader interface for clarity 2023-04-22 16:28:07 +01:00
Dev
d6bb12a3a2 Refactor InRaidHelper.deleteInventory() 2023-04-22 16:27:46 +01:00
Dev
a1e7f21a59 Update JSONs 2023-04-16 16:02:46 +01:00
Dev
4a44b004a6 Improved image import functionality to allow for image path overrides e.g. adjusting trader images
Pass routes into getImages() function
2023-04-15 14:07:56 +01:00
Dev
8b26f01d1b Adjust bot preset gen counts 2023-04-14 11:49:18 +01:00
BySempron
b0177a3ccf Spanish locales (!88)
Updating spanish locales as requested in SPT-AKI/Issues#33

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/88
Co-authored-by: BySempron <bysempron@noreply.dev.sp-tarkov.com>
Co-committed-by: BySempron <bysempron@noreply.dev.sp-tarkov.com>
2023-04-12 16:46:11 +00: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
43d9f6490c Fix: Improve orphaned item checking 2023-04-12 15:41:48 +01:00
Dev
34701d656f Update flea prices using data from tarkov.dev api 2023-04-12 13:22:19 +01:00
Dev
96da3d1c6b nullguard generatePool() function inside BotEquipmentModPoolService 2023-04-11 16:52:07 +01:00
Dev
102584e24b Workaround for bad shotgun dispersion values 2023-04-08 22:17:04 +01:00
Dev
c9a014f858 Update bot JSONs 2023-04-08 18:39:31 +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
31c00b2979 Update loot 2023-04-08 10:03:02 +01:00
Dev
942588e9d0 Remove quest prereq from Pest Control 2023-04-08 09:59:38 +01:00
Dev
c15b31e587 Update to 22617 2023-04-07 16:23:14 +01:00
Kaeno
ca931165b2 Fix: Fixed some ragfair issues (!86)
Fixed bug with removing offers from flee and item returning too quickly.
Fixed bug with error message that would show on removal of offers.
Expose property expireSeconds in ragfair.json.

Co-authored-by: Kaeno <>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/86
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Co-committed-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
2023-04-06 16:23:52 +00:00
Dev
cd563a3642 add placeholder json 2023-04-06 16:32:08 +01:00
Dev
2cd7555bbe Fix: Only return prices for items that exist in items.json
(cherry picked from commit c0aece0a2c9a84f71d8b5dd940c3e37a9017b6ed)
2023-04-06 15:38:26 +01:00
chomp
5e9e0736cc update core and WildSpawnTypeNumber.ts to match version 22561 (!85)
Co-authored-by: Kaeno <>
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/85
2023-04-05 21:08:35 +00:00
Kaeno
33195f8efb Fix: Workaround fixing marksmans not spawning on maps in function. fixBrokenOfflineMapWaves (!84)
Fix: Workaround fixing marksmans not spawning on maps in function fixBrokenOfflineMapWaves
Co-authored-by: Kaeno <>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/84
2023-03-29 19:50:02 +00:00
Dev
60c70eec60 Update JSONs 2023-03-29 18:55:35 +01:00
Dev
9c7bbeb3dc Buy 2 labs cards from therapist 2023-03-29 17:51:21 +01:00
Dev
9a419e80ef Fix: Skip item when slots property is empty during generation of items pool 2023-03-26 16:53:51 +01:00
Dev
27a0df2d92 Fix: Improve InventoryController.toggleItem() to handle items without a upd property
Rewrote loop to use .find()
Added comments + logging
2023-03-26 16:52:40 +01:00
Dev
c9c25d6fbb Fix: Adjust airdrop chances 2023-03-26 11:55:03 +01:00
Dev
43ad523dce Fix: null guard bonus check during upgradeComplete 2023-03-25 16:35:38 +00:00
Dev
32afbffcda Refactor: Move server locates into database folder so they can be accessed/edited by modders 2023-03-25 15:37:50 +00:00
Dev
82ff9dde12 Fix: use values from http.json instead of values in database/server.json
Cleanup and reordering of HttpServer.ts
2023-03-25 15:03:20 +00:00
Dev
cecf4465ed Fix: update SBiH range values 2023-03-25 14:51:41 +00:00
Dev
e626c4d3de FIx: Trim whitespace around generated bot name 2023-03-24 14:57:51 +00:00
Dev
9c3362c464 Feature: update flea prices 2023-03-24 11:40:08 +00:00
Dev
09d832e199 Feature: update russian locale (Thanks to GhostFenixx) 2023-03-24 11:29:01 +00:00
Dev
84a0b6937a Fix: Add Item_barter_electr_adv_ultralink(6389c88b33a719183c7f63b6) to airdrop blacklist 2023-03-24 08:44:00 +00:00
Dev
70e82cbe4e Fix: don't error when leaving raid early 2023-03-23 20:18:53 +00:00
Dev
c477026843 lint config 2023-03-23 15:05:00 +00:00
Dev
a5272dc596 Feature: expose profile save wait delay in config 2023-03-23 15:03:54 +00:00
Dev
a207e5778e Feature: Save profile changes on game exit 2023-03-23 14:48:10 +00:00
Dev
990c33b9c6 Feature: expose 3 variables to PMC messages: playerLevel/playerName/playerSide 2023-03-22 17:12:19 +00:00
Dev
e2074ffc7a Fix: convert BotLootCache to interface 2023-03-22 14:49:24 +00:00
CZPZ
8c37bc7837 Lint: ts files (!82)
Co-authored-by: alimoncul <alimoncul@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/82
Co-authored-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
Co-committed-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
2023-03-22 14:31:05 +00:00
chomp
d595e26ee6 Feature: Allow PMCs that kill the player to message them a positive/negative message (!81)
Store bots spawned in raid inside cache (`MatchBotDetailsCacheService`)
Clear cache after raid

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/81
2023-03-22 10:25:34 +00:00
Dev
8749e3a608 Feature: update version string 2023-03-21 21:58:09 +00:00
Dev
6d441166d9 Feature: update jsons 2023-03-21 20:33:56 +00:00
Dev
5a3052535c Feature: update loot 2023-03-21 16:23:06 +00:00
Dev
3232314dbd Fix: hotfix for difference in types between botjson skills (dict) and output (array) 2023-03-21 15:58:08 +00:00
Dev
0d5a07533d Fix: use correct values for colleagues p3 2023-03-21 15:42:08 +00:00
Dev
5e739c2a90 Fix: check for empty object when looking at key length 2023-03-21 15:31:42 +00:00
Dev
16e1293d55 Fix: error on profile creation 2023-03-21 15:22:36 +00:00
Dev
1659211080 Refactor: rewrite itemFitsInto1By2Slot to improve readability 2023-03-21 15:17:14 +00:00
Dev
a6838e9312 Refactor: improve generateSkills() function 2023-03-21 15:06:27 +00:00
Dev
415b73d674 Feature: Update incrementSkillLevel() call to replace hard coded value with value from globals 2023-03-21 14:35:29 +00:00
Dev
249730ee65 Fix: return the found quest 2023-03-21 14:22:45 +00: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
Dev
e8f53e1fcd Fix: update wildspawnpoint enum 2023-03-18 16:18:59 +00:00
Dev
79f8922e6a Feature: Update quest data file with changes from live 2023-03-18 13:09:37 +00:00
Dev
8115b62e73 Fix: add nullguards to getResponse() 2023-03-18 09:19:20 +00:00
Dev
0e1077088b Fix: Remove whitelist from gen objects 2023-03-17 18:35:12 +00:00
Dev
74a25c5e64 Feature: loot update 2023-03-17 18:23:14 +00:00
chomp
ed4dfc201d Feature: Add ability to whitelist items inside each bots generation object + filter per bot level inside bot.json equipment.randomisation section (!73)
(cherry picked from commit 253b4d0120db8245e6c2e863ab7d2fbdc5196128)

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/73
2023-03-17 18:20:16 +00:00
chomp
611b63a4cd Feature: UseapplyRandomizeDurabilityLoss config property in repairItemByKit() (!72)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/72
2023-03-17 09:12:47 +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
b44f62bb99 Feature: send launcher descriptions of profiles when calling connect() (!70)
Localise description text
Add `IConnectResponse` object for LauncherController.connect()
Move server name into core.json config

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/70
2023-03-15 14:18:55 +00:00
chomp
12c269fb57 Feature: add adjustPriceWhenBelowHandbookPrice to ragfair.json + Add comments to ragfair config (!69)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/69
2023-03-15 13:28:51 +00:00
chomp
f74031b4d5 Feature: Ensure chosen extract for repeatable quest always has a chance above 0 (!68)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/68
2023-03-14 12:39:36 +00:00
Dev
cfb9dde30d Update version 2023-03-13 19:05:16 +00:00
chomp
1edac0c696 Feature: Update jsons (!67)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/67
2023-03-13 18:59:54 +00:00
chomp
07f6eb0e20 Feature: update quests (!66)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/66
2023-03-13 17:35:43 +00:00
chomp
8b23039e7a Feature: Chance chance to send message to per victim instead of per-raid (!65)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/65
2023-03-13 15:23:34 +00:00
chomp
08b760cf4c Feature: expand PMC response system to include different message suffixes (!64)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/64
2023-03-13 14:02:39 +00:00
chomp
c81633ac38 Fix: resolve issue with handing in item to quest that allows multiple types of items to be handed in (e.g. punisher p5 - 2 types of makarov can be handed in) (!63)
Moved some error logging in handoverQuest() to separate functions
Renamed `itemHandoverMode` to `isItemHandoverQuest`

Included some additional pmc responses

Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/63
2023-03-13 09:34:04 +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
900555fa0b Fix: add barrels for aug a1 + misc a3 items to bear/usec files (!61)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/61
2023-03-11 17:24:08 +00:00
chomp
b1630b55f3 Fix: adjust shooter born in heaven requirements to be 100 meters, not 125 (!60)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/60
2023-03-11 15:52:13 +00:00
chomp
124695be25 Feature: update weight of HighCom Striker ACHHC IIIA helmets (!59)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/59
2023-03-10 17:15:31 +00:00
chomp
a79c04ad28 Feature: warn players who have botReload skill active (!58)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/58
2023-03-10 11:26:59 +00:00
chomp
457a4607f4 Feature: Add more PMC responses + lower chance for response (!57)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/57
2023-03-10 11:08:41 +00:00
chomp
d192044b68 Fix: remove redundant reward code as quests are set to ready to start, not started (!56)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/56
2023-03-09 11:53:19 +00:00
chomp
1cfd6d76bb Fix: Give dev-usec profiles starting rewards (!53)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/53
2023-03-08 22:41:57 +00:00
chomp
3a6674d39a Feature: update handbook prices (!52)
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/52
2023-03-08 22:18:56 +00:00