Dev
250b9dca3f
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server
2023-10-23 19:29:35 +01:00
Dev
7b0298cda2
Adjsut 2 bot gen errors to be warnings
2023-10-23 19:19:05 +01:00
TheSparta
7aee78eb49
Fixes Insured items on secured containers ( !158 )
...
This PR fixes both https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/174 and https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/175 .
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/158
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-23 16:45:40 +00:00
Dev
69ee8983b2
Improve logging text
2023-10-22 13:14:38 +01:00
Dev
3c709311d8
Correctly save statusTimer values into profile
2023-10-21 21:24:14 +01:00
Dev
ec7d3e1699
Fix bad injection
2023-10-21 20:22:11 +01:00
Dev
54d47585f2
Show sessionid/profile id when profile data is saved
2023-10-21 20:19:45 +01:00
Dev
018b0a8f70
Fix profile creation error
2023-10-21 20:13:29 +01:00
Dev
573d91a9c2
Persist ConditionCounters
data between pscav runs
...
Move values around to help with readability
2023-10-21 18:23:58 +01:00
Dev
de2f70fb79
Remove replaced repeatable quest from PMC and scav profile
2023-10-21 17:39:44 +01:00
Dev
3f07fc1bfc
Cleanup of async method names
...
Add method comments
Reduction of code complexity inside `executeModsAsync()`
Add error message when loaded mod has no `main` property
2023-10-20 12:23:19 +01:00
Dev
33d3e6ce05
move log to correct place
2023-10-19 22:55:53 +01:00
Dev
234cd0b833
Randomise standing loss for dailies
2023-10-19 21:49:38 +01:00
Dev
83590dcc25
Get id if not found in profile
2023-10-19 21:44:10 +01:00
Dev
20b9a39cda
Add missing IDs to json and pass throughout code
2023-10-19 21:36:17 +01:00
Dev
fa2a8c6513
Add missing id property to accept quest client response
2023-10-19 21:06:09 +01:00
Dev
11ae41dcff
Fix missing text
2023-10-19 20:59:06 +01:00
Dev
489189bd81
Add missing properties to templates
2023-10-19 20:51:16 +01:00
Dev
79dc3cca1b
Correct mistake in sending repeatable data to client on quest accept
2023-10-19 20:43:42 +01:00
Dev
d97beda4b7
Rework how repeatable quests are replaced
2023-10-19 20:04:47 +01:00
Dev
57b1fe0733
Improve bad replacement quest error messaging
2023-10-19 19:30:23 +01:00
TheSparta
418d9f2a8f
Import path alias on the whole project ( !157 )
...
- Ability to use @spt-aki path alias on the whole project.
- Swapped all imports from relative paths, for imports using the path alias.
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/157
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-19 17:21:17 +00:00
Dev
5af4abab91
Handle critical errors on mod load better - show player error in console instead of closing it on error
2023-10-19 15:25:52 +01:00
Dev
6589bcc0a2
Show human readable error when two mods have conflciting load order requirements
...
Improve cyclic error message text
2023-10-19 15:18:07 +01:00
Dev
2507837198
When launcher requests profiles and the exp is null, fall back to 0
- Fixes profile killing launcher listing ability
...
Use properties without quotes
Update nullguard to use Nullish coalescing
2023-10-19 11:37:07 +01:00
Dev
14c0b73482
Log build date on server start
2023-10-19 11:25:41 +01:00
Dev
e8d3fb805e
updates to modLoadOrder
2023-10-18 17:36:36 +01:00
TheSparta
6231d73109
Implemented loadBefore and loadAfter ( !156 )
...
This PR adds the ability to set `loadBefore` and `loadAfter` on a mod's package.json, this allows for modders to define an array of mods their current mod needs to load before or after.
Examples:
if we have <u>__MOD1__</u> that has `loadAfter` = `[ "MOD2" ]` the loading order would be:
1 - MOD2
2 - MOD1
if we have <u>__MOD2__</u> that has `loadBefore` = `[ "MOD1" ]` the loading order would also be:
1 - MOD2
2 - MOD1
Begone zzzzzz, name your mods the way you want to.
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/156
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-18 14:44:29 +00:00
Dev
1adeed29ef
Transfer ConditionCounter and quest status changes incurred during scav raid into pmc profile
...
Only add quests to scav profile when its a pickup/exploration/elimination quest
2023-10-17 22:04:19 +01:00
Dev
480967ab9a
Incldue m4a1 with gas block item in modIsFrontOrRearSight()
check
2023-10-17 20:45:40 +01:00
Dev
99cb77d3cf
Save scav quests into scav profile when accepting them
2023-10-17 16:31:21 +01:00
Dev
650a3173c8
Implement Pickup
quests for scav
...
It seems like these are scav-only
2023-10-17 16:28:48 +01:00
Dev
f70cbcced7
Set quest side to scav when generated for fence
2023-10-16 18:33:09 +01:00
Dev
4b70bfb60d
Improve sourcemap handling in modCompilerService
2023-10-16 18:25:14 +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
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
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
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
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
0b50385b84
Fix error on death because extract is undefined
2023-10-14 10:31:01 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
14c6104b65
FIx dialogs not showing
2023-08-04 18:58:00 +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
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
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
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
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
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
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
831dec7e55
Check for and remove dialogs with the key "undefined"
2023-08-01 23:16:06 +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
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
a912f7c9cd
When bsg flea blacklsit is disabled, set all items as sellable on flea
2023-07-31 15:41:10 +01:00
Dev
59b2fc3602
Typo fix
2023-07-30 19:29:19 +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
a514a94b45
Improve wording + Add missing properties from config
2023-07-29 10:16:03 +01:00
Dev
b25342d2f5
Log error when RAID_CONFIGURATION values cannot be found inside getBotDifficulty()
2023-07-28 17:11:18 +01:00
Dev
5a435b363a
25206
2023-07-28 10:01:14 +01:00
Dev
32b32e627b
Force afaks into PMCs secure container
2023-07-27 15:01:08 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ea270a95a5
Move hard coded gameversion/account type values into bot config
2023-07-11 11:58:26 +01:00
Dev
7bb93cdcaf
Add clarifying comment
2023-07-10 22:25:59 +01:00
Dev
503551c27e
Refactor getClientQuests
2023-07-10 15:48:49 +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
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
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
bf4e42b211
Add per bottype loot N values
...
Made bosses share same value as PMCs
2023-07-05 18:44:35 +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
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
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
Dev
7ad1fc3996
Add FiR config and wire up + cleanup of openRandomLootContainer()
2023-06-20 17:19:53 +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
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
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
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
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
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
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
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
e7ccddad2d
23399 JSON changes
2023-05-27 10:34:47 +01: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
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
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
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
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
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
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
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
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
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
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
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
e626c4d3de
FIx: Trim whitespace around generated bot name
2023-03-24 14:57:51 +00:00
Dev
70e82cbe4e
Fix: don't error when leaving raid early
2023-03-23 20:18:53 +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
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
8115b62e73
Fix: add nullguards to getResponse()
2023-03-18 09:19:20 +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
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
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
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
1137912d51
Feature: Add system that allows PMCs to send text messages to player post-raic. Can be positive or negative ( !40 )
...
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/40
2023-03-08 13:26:32 +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
17dcf6a45f
Feature: Stub out /client/match/group/invite/cancel-all
endpoint ( !36 )
...
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/36
2023-03-07 12:56:44 +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
bf061774d0
Fix: ensure static weapon generation chooses a compatible caliber + add edge case handling for pp-9 Klin ammo caliber typo ( !26 )
...
Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/26
2023-03-06 09:57:04 +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