Dev
aeea8f6e49
Guard against empty RepeatableQuests
array in profile
2023-11-19 16:12:20 +00:00
Dev
fa054307dd
Update version
2023-11-19 15:08:30 +00:00
Dev
3e0e8f7666
lint
2023-11-19 15:04:12 +00:00
Dev
396b56d08d
Expose uniqueItemCount
config value for use in choosing total items to return in Completion
quests
...
Weekly quests now require more items than dailies
2023-11-19 14:58:45 +00:00
Dev
3b1c6b3fdd
Add additional items to the find and return
pool
2023-11-19 14:51:00 +00:00
Dev
1def90e9d6
Improve handling of how reward items have their stack count randomised
...
Separated out how weapons are chosen as rewards
Lowered chance of skill reward
Added additional reward types to most traders
2023-11-19 13:21:34 +00:00
Dev
8cb4833001
Fix reward creatio code giving 1 extra reward compared to what was specified
2023-11-19 10:54:06 +00:00
Dev
ee3096328e
Exit reward finding loop when reward pool is empty
2023-11-19 10:52:50 +00:00
Dev
e99c1e8ab8
Add additional item types to trader reward whitelist
2023-11-19 10:50:46 +00:00
Dev
8fe9fb9391
Adjust getWeaponRepairSkillPoints()
to never return a value below 0
2023-11-18 21:59:48 +00:00
Dev
aed65ce1cb
Rework getWeightedCompatibleAmmo()
to loop over cartridges until it finds one compatible instead of giving up after the first failure
2023-11-18 18:46:03 +00:00
Dev
eb77589606
FIx crazyassaultevent bot mod values that casued weapon generation errors
2023-11-18 18:40:37 +00:00
Dev
7ef873442e
Lowered daily max item collection requirement to 4
2023-11-18 12:34:47 +00:00
Dev
b0afad72dd
Randomise min durabiltiy value for weapon/armor collection quests to be 60 or 80%
...
rename param for clarity
2023-11-18 12:33:00 +00:00
Dev
79cb201b82
Split maxExtracts
into additional maxExtractsWithSpecificExit
for repeatable quests
2023-11-18 12:32:03 +00:00
Dev
fa1e15897a
Only heal bodypart if player chose hp healing in post-raid therapist healing screen
2023-11-18 11:33:06 +00:00
Dev
5e919f4793
Only add xp reward to repeatable quests when value is > 0
2023-11-18 11:13:36 +00:00
Dev
0abcd8b3b7
Further adjustments to daily/weekly reward xp/roubles/skill reward chance
...
Adjusted fence quest values in level increments of 10 + make fence reward Euros instead of Roubles
2023-11-17 18:39:08 +00:00
Dev
ac31a17695
Blacklist item_food_vodka_BAD
from PMCs
2023-11-17 16:57:23 +00:00
Dev
c2aaf9c6fb
Add workaround for stm-9 generating with an impossible configuration and being reset to default
2023-11-17 12:40:23 +00:00
Dev
ba2666f801
Set production
property to null when no updates are to be sent to the client
2023-11-17 11:13:14 +00:00
Refringe
083a2a798e
Removes Old Jest Tests ( !169 )
...
These should not be used. Branch `3.8.0` has newer Vitest tests configured.
Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/169
2023-11-16 22:12:51 +00:00
Refringe
4ac12ef70a
Formatting/Linting Changes ( !168 )
...
These are the formatting & linting configuration changes from the `3.8.0` branch and the changes that they make to the overall project.
The majority of these changes are from running two commands:
`npm run lint:fix`
`npm run style:fix`
This has already been run on the `3.8.0` branch and this PR should make `master` play nicer when it comes to merges going forward.
There are now four VSCode plugins recommended for server development. They've been added to the workspace file and a user should get a UI notification when the workspace is opened if they're not installed.
The four plugins are:
https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig
https://marketplace.visualstudio.com/items?itemName=dprint.dprint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=biomejs.biome
Once installed they should just work within the workspace.
Also, be sure to `npm i` to get the new dprint application.
Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/168
2023-11-16 21:42:06 +00:00
Dev
b70474133b
Fix multiple locations in code where an array for hideout areas is incorrectly accessed like a dictionary
2023-11-16 14:33:39 +00:00
Dev
15082afde2
Fix reorderHideoutAreasWithResouceInputs()
off by one error because it was checking the index instead of finding the area type
2023-11-16 14:30:08 +00:00
Dev
fce724b380
Fix water collector craft not resetting after completion of craft
2023-11-16 12:55:57 +00:00
Dev
925d9b3f07
Add fence rep gain on taking COOP extract
...
Refactored fence rep handling code for Car extracts
2023-11-16 11:38:55 +00:00
Dev
467c87b026
Fix trader repair not costing any money
2023-11-15 20:17:24 +00:00
Dev
54a81b87d6
First pass at improving accuracy of daily quest xp and rouble rewards
2023-11-15 19:46:39 +00:00
Dev
6dddeed6a8
Add 25% chance to double daily reward stack (item should be stackable and not weapon)
2023-11-15 19:43:35 +00:00
Dev
95ae543d7a
Fix typo
2023-11-15 11:21:33 +00:00
Dev
3b053b741b
Allow custom profiles to use localied descriptions
...
Fixed an inconsistently named locale key
Added logger to LauncherController
2023-11-15 11:16:56 +00:00
Dev
fcb1e2c2f3
Adjust sanitar+sanitarFollower to have more live-accurate generation values
2023-11-15 09:25:03 +00:00
Dev
8cda48cac7
Get a more accurate price for weapon preset rewards
2023-11-14 23:12:50 +00:00
Dev
c9dc0d2192
Make each trader reward different types of items
...
Prevent trader from rewarding more than 1 weapon
Fixed trader failing to find default weapon to send as reward
2023-11-14 23:05:34 +00:00
Dev
cd36e3993d
When rewarding a weapon for a repeatable quest, choose a random default preset if the chosen weapon has no defaults
2023-11-14 21:43:37 +00:00
Dev
70637679a0
Update boss spawn locations for killa, Reshala and gluhar
2023-11-14 19:25:02 +00:00
Dev
dfe8e08db6
lint gift file
2023-11-14 18:46:57 +00:00
Dev
27b7386074
Add TarkovTalk promo codes
2023-11-14 18:46:22 +00:00
Dev
909d79f415
Remove unnecessary removeMapAccessKey()
method, now handled in client
2023-11-14 17:34:44 +00:00
Dev
bb8677bc65
Rework payMoney()
to handle taking money from post-raid therapist healing
2023-11-14 17:06:11 +00:00
Dev
844cb12cc1
If offer to remove is not found, don't reduce rep loss
2023-11-14 16:09:45 +00:00
Dev
f0358f5241
Added missing locale with key ragfair-unable_to_find_offer_to_remove
2023-11-14 15:33:34 +00:00
Dev
1021a945cb
Fix insurance costing 0 roubles
2023-11-14 11:46:51 +00:00
Dev
6cf91ad923
Skip null production objects inside handleRecipe()
2023-11-13 12:01:48 +00:00
Dev
68ad264be5
Update daily reward values
2023-11-13 10:12:59 +00:00
Dev
b776d1cf20
Lint usec/bear jsons
2023-11-12 17:44:31 +00:00
Dev
9a6e783e9c
Add more modders as PMCs
2023-11-12 17:16:54 +00:00
Terkoiz
44c2fffd70
Remove banned users from the PMC name list
2023-11-12 19:07:00 +02:00
Dev
88f83e6ae3
Update flea prices
2023-11-12 10:46:28 +00:00
Dev
0666aad779
Implement Unbind
event handler
...
Occurs when player moves item from quick access panel to inventory
Small optimistion for `Bind` event, once item is found, exit loop
2023-11-12 10:10:34 +00:00
Dev
6547a767ef
Set scav daily amount to 1
2023-11-12 09:46:25 +00:00
Dev
1e5e0e067b
Update version number
2023-11-11 22:55:46 +00:00
Dev
5f774bf3c8
Exit loop after deleting hideout craft
2023-11-11 20:15:46 +00:00
Dev
8fda5395e6
FIx getFleaPriceForItem()
handing items with a price of 0 incorrectly.
...
Only show error when price returned is undefined
2023-11-10 20:11:36 +00:00
Dev
113ab255e8
Fix incorrect locale string token
2023-11-10 20:02:27 +00:00
Dev
d2f4327871
Update updateProductionTimers()
to handle Progress
value being undefined
2023-11-10 19:18:58 +00:00
Dev
37029791da
Nullguard removeQuestFromScavProfile()
accessing a null scav quest array
2023-11-10 19:13:14 +00:00
Dev
7849a730f2
Fix nullguard firing for all traders
2023-11-10 19:00:04 +00:00
Dev
ade4875362
Change warning in checkTraderRepairValuesExist()
to use nickname
2023-11-10 10:37:26 +00:00
Dev
c4c923f8dc
Update checkTraderRepairValuesExist() to not use .clone
2023-11-10 10:31:22 +00:00
Dev
21dd62269e
Log server values on start
2023-11-09 22:27:20 +00:00
Dev
4580c1cea8
FIx hideout crafts flaged as needFuelForAllProductionTime
not progressing
2023-11-08 16:17:14 +00:00
Dev
a2970be193
lint config
2023-11-08 12:08:33 +00:00
Dev
5929e873e1
Force CPSU part 2 journal quest item as single spawn
2023-11-08 12:05:57 +00:00
Dev
dfd1bcc589
getTemplatePrice(), when an item cannot be found in the handbook, add it with the price of 0 instead of 1
2023-11-07 21:21:34 +00:00
Dev
7941675102
getItemPrice()
if static price is 0 and dynamic price is missing, return 0 instead of undefined
2023-11-07 21:13:41 +00:00
Dev
1f622a0760
Add Trader Repair Value on game start
2023-11-07 20:00:02 +00:00
Dev
8fb8b66afb
Add Charisma bonus when using repair kit (50% chane of no toall durability loss on kit use)
2023-11-07 17:01:24 +00:00
Dev
203ef0c011
Centralise getting a skill from a player profile into one location profileHelper.getSkillFromProfile()
2023-11-07 15:17:38 +00:00
Dev
d10c226db0
Add Melee skill to enum
2023-11-07 15:05:59 +00:00
Dev
022c73d791
Further adjustment to daily/weekly rewards
2023-11-07 14:43:35 +00:00
Dev
7defca2ae4
Add ability for repeatable quests to reward skill points
...
Slightly increase rep gain from weekly quests
2023-11-07 14:38:13 +00:00
Dev
5a60e4dcf0
Consolodate multiple functions (incrementSkillLevel
, rewardSkillpoints
) that do the same task into one addSkillpointsToPlayer
, make them use enum for skill type instead of string
2023-11-07 11:20:25 +00:00
Dev
206509359e
Add Charisma points when insuring items
, points to reward is a total guess until data can be obtained
2023-11-07 10:40:14 +00:00
Dev
938e439c81
Use daily quest count value from globals instead of hard coding it
2023-11-07 10:20:59 +00:00
Dev
1510237b01
take into accout Charisma skill at elite level when calculating daily quest count
2023-11-07 09:58:58 +00:00
TheSparta
00fbc813ac
fix/profiler ( !166 )
...
- `run:profiler` now uses swc instead of tsc.
- Removed `tsconfig.test.json` as it was only being used for the profiler which is now using swc.
- simplified `tsconfig.json` and `tsconfig.typedef.json`, they both had `baseUrl` and `paths` set to the same values, so i just moved them to `tsconfig.base.json`
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/166
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-11-06 19:39:13 +00:00
TheSparta
a244e89abe
Skip mods that are duplicated ( !165 )
...
- Instead of loading duplicated mods, it now skips all of them.
- Changed a few localisation strings, deleted the ones that became outdated.
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/165
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-11-06 14:51:31 +00:00
Dev
4bce4b49f4
Change server logging to be grouped by day instead of per hour
2023-11-06 12:44:59 +00:00
Dev
7daaf53dff
Add transition stage for PMCs gear from level 15-22 to make the changes from no flea gear to all flea gear less abrupt
...
Add missing equipment items to bear/usec PMCs
2023-11-06 11:36:36 +00:00
Dev
6ba0cfa459
Fix inverted check
2023-11-06 09:24:13 +00:00
Dev
32b356d3f1
Fix isbotPmc
isBotBoss
and isBotFollower
failing when undefined values are passed in
2023-11-05 20:29:10 +00:00
Dev
df6a08367b
Remove reduandant else from getRepairableItemQualityValue()
2023-11-05 13:19:10 +00:00
Dev
c527824d60
Change getRepairableItemQualityValue()
to handle max durability being lower than durability
2023-11-05 13:16:59 +00:00
Dev
8f70b03284
Fix hasBuyRestrictions erroring on bad input data
...
Fix isItemTplStackable erroring on bad input data
2023-11-05 12:37:17 +00:00
Dev
84f3f0e3d5
Add additional pmc response
2023-11-05 12:21:44 +00:00
Dev
8ee176b9d8
Handle when fillCamora()
cannot find camora slots in weapons modPool
2023-11-04 20:11:09 +00:00
TheSparta
9638288381
Fix level calcualtion function
2023-11-04 17:01:24 +00:00
Dev
75958ee7d2
Replace hard coded blacklist in isValidItem()
with more appropriate call to ItemFilterService.isValidItem()
2023-11-04 10:49:52 +00:00
Dev
ab01e42271
Call getDynamicItemPrice()
correctly inside getItemPrice()
2023-11-04 10:28:33 +00:00
Dev
432f778512
Make randomiseAmmoStackSize()
and randomiseMoneyStackSize()
not purge the entire upd object
...
Always randomise the ammo stack size, not only if it doesnt have one
2023-11-04 09:08:33 +00:00
Dev
93209e4a76
Add config option to force stock to spawn on a bot during weapon generation
...
Enable it for various bot types (most bosses/raiders)
2023-11-03 17:40:00 +00:00
Dev
b808850e7e
Remove duplicate mod_magazine key
2023-11-03 17:15:42 +00:00
Dev
60b658c6f6
Correct pmc response to ensure consistency with meme-lore
2023-11-03 16:44:15 +00:00
Dev
e9be58d5f4
Update bot XP values + other bot values
2023-11-02 16:17:03 +00:00
Dev
6f48a29713
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server
2023-11-02 08:59:55 +00:00
Dev
c782b58e64
Remoev duplicate name
2023-11-02 08:59:43 +00:00
DrakiaXYZ
ebeda336db
Implement live-like calculation of Weapon Maintenance XP ( !164 )
...
- Implement formula based on 30 weapon repairs done on live
- Return the repair amount as `repairAmount` from `repairItemByKit`
- Add an additional `repairPoints` to `RepairDetails` to return the repair points used
- Update `repairAmount` references to `repairPoints` to keep old behavior
- Add new parameter to rewardSkillPoints that applies live-like level scaling
- Only give weapon maintenance XP when using a repair kit
This implementation comes with a "Crit Fail" and "Crit Success" mechanic to account for live sometimes randomly being -4 or +4 off from my estimated values. By default the chance of each is 10%, and they can overlap and cancel each other out
Spreadsheet of live repair data:
https://docs.google.com/spreadsheets/d/1-tR4WYelhZfKZ3ZDbxr3nd73Y60E1wQRjDWONpMVSew/edit?usp=sharing
Useful columns:
C: The amount of dura attempted to be repaired, this is used in the estimated skill calculated
G: Hand entered value of how much skill gain I actually saw on live (Multiplied by 10 for readability. So "3.2" would be "32")
J: The estimated skill gain, based on the calculation included in this merge request
K: How far off the estimated skill gain was (Negative implies we guessed high and the actual result was lower)
One thing of note:
I've modified all the existing references to `repairAmount` to be the new `repairPoints` when a repair kit is used. This is to keep the existing behaviour outside of my direct changes as much as possible.
However, this seems to be incorrect in some cases (For example, buff chance is repairPoints/maxDura, but repairPoints will go down the higher your int. I'm assuming this is meant to be repairedDura/maxDura). May want to update these references to use `repairAmount` once they've been confirmed to expect the repair amount instead of repair points used.
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/164
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2023-11-02 08:56:02 +00:00
Dev
d74b505a7b
Fix types generation command not working
2023-11-01 14:20:27 +00:00