Dev
d2f6a16312
Fix issue spotted by Shibdib
where player flea offers aren't taking into account globals time listing value
2023-12-16 15:11:11 +00:00
Dev
64334339b3
Fix flea not showing correct categories until unlock level + 1
2023-12-15 23:45:04 +00:00
Dev
5b886038e9
Change warning logging into debug inside adjustWeighting()
2023-12-15 19:45:40 +00:00
Dev
f815839ed8
make getUpdateableTraders()
public
2023-12-15 15:26:23 +00:00
Dev
b6e7679b03
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-12-15 14:43:30 +00:00
Dev
c394cd6c6c
Ensure all classes are exported consistently
2023-12-15 14:43:05 +00:00
Dev
268a9b8abd
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/callbacks/BundleCallbacks.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/helpers/InRaidHelper.ts
# project/src/loaders/PreAkiModLoader.ts
2023-12-15 14:16:15 +00:00
TheSparta
d1dc04cbec
Fixed missed method rename
...
- getAllSeasonalEventItems got renamed getInactiveSeasonalEventItems
2023-12-15 14:10:33 +00:00
TheSparta
75fd744321
missed some node version refs
2023-12-15 14:06:02 +00:00
TheSparta
865dbf1b13
Updated to node v20.10.0
2023-12-15 13:59:45 +00:00
TheSparta
24a15fc573
Updated dependencies
2023-12-15 13:57:25 +00:00
Dev
950d17ef1d
Add special slots to getPlayerGear()
2023-12-15 10:38:32 +00:00
Dev
ba1bdc9c5f
Clean up comments for items removed post-raid
2023-12-15 10:36:26 +00:00
Dev
85f48a10aa
Fixed quest item appearing multiple times for Beyond the Red Meat Part 2
2023-12-14 21:19:31 +00:00
Dev
fd14338f5a
Exit isItemIncompatibleWithCurrentItems()
function if item doesnt exist in db or has no _props field
2023-12-14 18:19:50 +00:00
Dev
88c4cf949c
Add comments to various functions
...
Remove redundant function `isWeaponTemplate()`
log warning message when `reparentPresets()` reassigns root item tpl
2023-12-14 15:47:01 +00:00
Dev
bda6d66e92
Log names of files being serialsied
2023-12-13 22:16:21 +00:00
Dev
6900505b73
Add 64f69b4267e11a7c6206e010 - Chef's diary
to single spawn list, fixes Beyond The RedMeat P1
multi-spawn issue
2023-12-13 22:00:25 +00:00
Dev
9e6c12a9b2
Log file being deserialized
2023-12-13 20:02:44 +00:00
Dev
3e2253aaef
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server
2023-12-13 10:18:01 +00:00
Dev
75f2fef43a
Increase chance of gifter bot spawning on maps during christmas
2023-12-13 10:14:52 +00:00
Rev
c26b6b83a7
Update Dockerfile.docs ( !174 )
...
* Upgrade Node version from 14 to 18 and also add `alpine` as well for smaller image and faster build
* Update Nginx image to use stable version and also `alpine` as well for smaller image and faster build
Co-authored-by: Rev <revaxl09@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/174
Reviewed-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Co-authored-by: Rev <rev@noreply.dev.sp-tarkov.com>
Co-committed-by: Rev <rev@noreply.dev.sp-tarkov.com>
2023-12-12 09:50:46 +00:00
XDenizX
d356070688
Added the display of the nickname of the connected player during logging. ( !173 )
...
Co-authored-by: XDenizX <denizik1@mail.ru>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/173
Co-authored-by: XDenizX <xdenizx@noreply.dev.sp-tarkov.com>
Co-committed-by: XDenizX <xdenizx@noreply.dev.sp-tarkov.com>
2023-12-12 09:49:35 +00:00
Dev
97643f6d70
Add mising m1a 10 round mag to peacekeepr l1 assorts table
2023-12-11 16:37:02 +00:00
Dev
786b9013fd
Log to console when seasonal event is active
2023-12-11 14:42:17 +00:00
Dev
14e94dbb8e
Fix issue where scav raids would generate MORE loot the shorter the raid was
2023-12-11 14:42:04 +00:00
Dev
b15c8e196e
Log total count of static items being spawned
2023-12-11 14:41:30 +00:00
Dev
2cebf5f2ee
Prevent giving player 0 intellet as reward after repairing item
2023-12-11 11:46:54 +00:00
Dev
73cfc16699
Prevent giving player 0 intellect skill points when crafting in hideout
2023-12-11 11:45:23 +00:00
Dev
4eebd5feef
Change skill reward being 0 from an error to warning
2023-12-11 11:44:26 +00:00
Dev
25bfda0d56
Prevent increasing a skill to beyond the game limit of 5100 points
2023-12-11 11:43:30 +00:00
Dev
3acd07c034
Update cleanUpCompleteCraftsInProfile()
to handle when a hideout craft is cancelled by player
...
value in kvp will be null
2023-12-10 22:31:55 +00:00
Dev
87a40b4d2a
Remove bad magazines from usec/bear bots
2023-12-10 14:09:47 +00:00
Dev
12cda6acb8
getWeaponRepairSkillPoints()
has a chance to return 0 due to the possibility of a critical failure, only run addSkillPointsToPlayer()
if value is above 0
2023-12-10 13:18:14 +00:00
Dev
bdd9a4cd9b
Improve handling of Lightkeeper quests
...
When LK gives a time-gated quest it was being saved into the profile with a status of `Locked`, meaning it would stay there forever.
Post raid:
Check post-raid for locked quests and update them to be `AvailableAfter` + assign the unlock time to `availableAfter`
Check for quests flagged as `AvailableAfter` and have a `availableAfter` timestamp before current time, change to `AvailableForStart`
2023-12-10 13:09:54 +00:00
Dev
77dba80fbd
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
# project/assets/database/locales/global/ch.json
# project/assets/database/locales/global/cz.json
# project/assets/database/locales/global/en.json
# project/assets/database/locales/global/es-mx.json
# project/assets/database/locales/global/es.json
# project/assets/database/locales/global/fr.json
# project/assets/database/locales/global/ge.json
# project/assets/database/locales/global/hu.json
# project/assets/database/locales/global/it.json
# project/assets/database/locales/global/jp.json
# project/assets/database/locales/global/kr.json
# project/assets/database/locales/global/pl.json
# project/assets/database/locales/global/po.json
# project/assets/database/locales/global/ru.json
# project/assets/database/locales/global/sk.json
# project/assets/database/locales/global/tu.json
# project/src/controllers/TradeController.ts
# project/src/generators/LocationGenerator.ts
2023-12-08 22:20:16 +00:00
Dev
18dc76ec2c
Improve handling of adding items to a bot container when the items type is incompatible with container
2023-12-08 16:27:34 +00:00
Dev
8a78e074a4
From testing, inspecting an item sets value to false, not true
2023-12-07 20:37:56 +00:00
Dev
fd55727054
Bugfixes and small optimisations
2023-12-07 20:22:35 +00:00
Dev
c015882eac
Improve handling of a mail profileChangeEvents
property
2023-12-07 20:16:04 +00:00
Dev
7c2d93e87b
Handle edge case when an item is missing a min/max stack size value
2023-12-07 20:07:46 +00:00
Dev
3f46cffcfe
Rewrote getCategoriesFromOffers()
to make use of filter.reduce instaed of a giant loop
2023-12-07 11:57:28 +00:00
Dev
ef9ecfd51d
Change warning to debug message
2023-12-06 19:18:25 +00:00
Dev
7f995de5d1
Reworked how the flea market categories are calculated, instead of trying to be smart and add/remove in a cache as offers are created, calculate the categories when needed
...
Categories:
Are now much more accurate
take into account when player is below flea unlock level
Any with a (1) and no offers have been fixed
Take into account when offers are barters + barters are filtered out
Skip items with a type of `node` during flea assort generation
2023-12-05 20:41:43 +00:00
Dev
56366068e0
Remove redundant quest item check from fence assort generation as its already handled by itemHelper.isValidItem()
2023-12-05 15:00:23 +00:00
Dev
b148977c79
Update locales - fixes The Punisher - Harvest
quest issue
2023-12-05 13:44:16 +00:00
Dev
ea9ebf695d
Update version string
2023-12-04 19:12:22 +00:00
Dev
c73a9ad9ba
Test adjustment to PMC brains on customs
2023-12-04 18:57:33 +00:00
Dev
ef769cf0d7
Cleanup of var names and comments inside addForcedLoot()
...
Prevent duplicate loot locations with same Id being added to client response
2023-12-04 16:00:44 +00:00
Dev
221cd98316
Allow fixProfileBreakingInventoryItemIssues()
to also fix clothing issues
...
Move `fixProfileBreakingInventoryItemIssues` into `ProfileFixerService`
2023-12-03 20:37:35 +00:00
Dev
fd40d47698
Handle when hideout crafts have null progress values, not just undefined
2023-12-03 14:50:01 +00:00
Dev
48de3139ae
Fix bug where setting ragfairconfig.purchasesAreFoundInRaid to true would make trader purchases on flea Found in raid
2023-12-03 12:06:52 +00:00
Dev
3d28574969
Remove unused ref to uuid generator
2023-12-03 11:43:56 +00:00
Dev
2410ddfe59
Update flea prices
2023-12-03 11:41:58 +00:00
Dev
1db690afb3
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/controllers/HideoutController.ts
2023-12-03 11:13:22 +00:00
DanW
fc8b49b313
Increase minimum Scav time for Factory ( !172 )
...
Based on tester feedback, ensure at least 5 minutes is remaining for Factory Scav raids.
If we have evidence that people can regularly spawn into Factory on live EFT with 3-4 min remaining, then maybe we should just adjust the weights instead.
Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/172
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-03 10:03:19 +00:00
Dev
044f4f9eb3
Update Skiers questassort data
2023-12-03 10:01:55 +00:00
Dev
b834cd0547
increase chance scav raid time is reduced
2023-12-02 23:01:18 +00:00
DanW
1fdd1967e9
Change name of trainArrivalDelaySeconds to clarify its meaning ( !171 )
...
Changed the name of the new `trainArrivalDelaySeconds` setting to `trainArrivalDelayObservedSeconds` so it's more obvious that it doesn't actually control the train arrival time.
`trainArrivalDelayObservedSeconds` is my first choice for naming this setting, and `trainArrivalDelayThatYouDefinitelyShouldNotChangeSoDoNotEvenThinkAboutItSeconds` is my second choice.
Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/171
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-02 19:41:27 +00:00
Dev
f5e5136603
Fix big that casued bots to spawn with only 1 magazine at most
2023-12-02 19:25:46 +00:00
Dev
12cb176a42
Potential fix for failed/repeatable quests keeping their subtask completed status
2023-12-02 00:10:25 +00:00
Dev
19f6bbaed4
improve weightedRandom()
handling of bad data input
...
update allowed param types, should only be arrays
2023-12-01 17:22:24 +00:00
Dev
52b91cae87
Remove useless length check
2023-12-01 16:45:31 +00:00
Dev
e1790ff7a5
Prevent getWeightedValue()
function from null error if items and weights do not match
2023-12-01 14:15:11 +00:00
Dev
2a3839f6de
Move trainArrivalDelaySeconds
value into config
2023-12-01 09:03:14 +00:00
DanW
1994832281
Improved check for disabling train extracts in Scav raids ( !170 )
...
Made the following changes for determining if train extracts should be disabled in Scav raids:
* When determining at what time the train will leave, include the extraction time and the delay between the train extract activating and it becoming available to board
* Fixed the variable used for determining if the extract should be disabled
* Ensure `MinTime` and `MaxTime` for extracts are never negative
Also, trains are hard, and my brain hurts.
Co-authored-by: dwesterwick <dwesterwick@yahoo.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/170
Co-authored-by: DanW <danw@noreply.dev.sp-tarkov.com>
Co-committed-by: DanW <danw@noreply.dev.sp-tarkov.com>
2023-12-01 08:37:52 +00:00
Dev
7bf5f822ee
Add 15% chance bear/usec spawn on reserve raid start
2023-11-30 15:22:10 +00:00
Dev
8ddad763be
Cleanup of handleScavCase()
2023-11-30 13:44:43 +00:00
Dev
3d01fe6211
Move TraderData
object into ItemEventRouterBase
where it will cause less confusion
2023-11-30 10:30:13 +00:00
Dev
2148eaafe5
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/QuestController.ts
# project/src/di/Container.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
2023-11-30 10:20:37 +00:00
Dev
b52ea4f1fa
Only set start time in resetQuestState()
when new status is started
2023-11-30 10:13:45 +00:00
Dev
9ed5869fa6
Reduce calls to this.timeUtil.getTimestamp()
inside getQuestReadyForProfile()
...
Set `startTime` property inside `resetQuestState()`
2023-11-30 10:09:23 +00:00
Dev
67f7eb59c5
Improve handling of profileChanges
, dont overwrite existing data when adding new objects
2023-11-30 10:02:00 +00:00
Dev
288b7cf654
Further cleanup of acceptQuest
2023-11-30 09:36:28 +00:00
Dev
a941a22305
Attempt to resolve issue where failed quests that are restarted retain their previous completed statuses until client restart
...
New function to purge completed condtions + remove status timers beyond what a newly started quest would have + add updated quest status object to `questsStatus` property on profile changes response object
2023-11-29 23:36:31 +00:00
Dev
bfee07d5fe
Fix item tag regex replacing non-english characters
2023-11-29 22:30:23 +00:00
Dev
000e48ca4c
Allow wave adjustment to be controlled via config param
...
Prevent bot wave min/max from falling below 0
2023-11-29 17:18:45 +00:00
Dev
dde5c7e8af
Move raid adjustment code into own service
...
Rename various parts of sytem to better match what it does
2023-11-29 16:52:13 +00:00
Dev
a7e003dca3
Adjust scav time weights and reduce chances
2023-11-29 15:10:08 +00:00
Dev
5d0d9e2cd9
Fix issue where OriginalSurvivalTimeSeconds
would be set to the raid time in minutes, not the survival time in seconds
2023-11-29 14:22:48 +00:00
Dev
3945de8b1f
Fix incorrect NewSurviveTimeSeconds
value being sent to client
...
Thanks to DanW
2023-11-29 13:32:55 +00:00
Dev
673cefcc00
Add PP-91-01 "Kedr-B" 9x18PM submachine gun
to PMC weapon pool
2023-11-29 13:01:36 +00:00
Dev
a1d6596f8d
Fix multiple typos
2023-11-29 11:36:20 +00:00
Dev
c801dba0b7
Fix some weapons not having their chamber loaded with a cartridge during weapon generation
...
weapons:
weapon_izhmeh_mr43_sawed_off_12g
weapon_izhmash_mp18_multi
`addCartridgeToChamber` assumed the only id a chamber could have was `patron_in_weapon` this is wrong, it can also have `patron_in_weapon_000` and `patron_in_weapon_001`
it also assumed weapons only have one chamber
Some weapons can have multiple chambers
Some weapons can have 1 chamber but have the id `patron_in_weapon_000` not `patron_in_weapon`
2023-11-29 11:35:34 +00:00
Dev
231a52f8be
Update quest assort data (includes peacekeeper ammo unlocks for new event quest)
2023-11-28 19:50:40 +00:00
Dev
d0bd178230
Add event quest: The Punisher - Harvest
2023-11-28 19:03:17 +00:00
Dev
9c2725e2fe
Add system that adjusts the loot multipliers for a scav raid based on the percentage of the raid time remaining
...
Controlled per location
Most maps are capped at 40/50% min
Added multiple config proeprties to configure how system works
Added ability to remove all AppContext values by key
During `getRaidTime()` loot % modifier values are stored in app context,
Then, during `generate()` those values are retreived and applied if found
After loot generation values are reset to their original value
2023-11-28 12:42:58 +00:00
Dev
f9cf3242c8
Add new core config entry fixProfileBreakingInventoryItemIssues
, defaults to off
...
Attempts to fix common issues that happen to profile inventory items:
Duplicate items with the same _id value
Item Tag names with non alphanumeric characters
StackObjectsCount null values
2023-11-28 11:06:08 +00:00
Dev
382cf4c785
Update getMessageItemContents()
to handle when its items.data property is null
2023-11-27 18:24:02 +00:00
Dev
cc488477fb
Logging improvements
2023-11-27 17:01:38 +00:00
Dev
58e6cc8cd7
Remove message sending code from acceptRepeatableQuest()
dailies in live do not send messages upon accepting them
2023-11-27 16:35:44 +00:00
Dev
367d453d09
lint
2023-11-27 15:07:45 +00:00
Dev
7a798d2b60
Reworked singleplayer/settings/getRaidTime
endpoint
...
Handles adjustments to train extract appearance times
Handles time needed to be alive in a raid to get a Success raid status
Added extra reduction percent weight: 30%
2023-11-27 15:02:35 +00:00
Dev
14e917823c
Nullguard getMessageItemContents()
when checking count of reward items
2023-11-26 22:53:09 +00:00
Dev
130f120fda
Comment change
2023-11-26 22:35:26 +00:00
Dev
8d32cf2d03
Store player scav brain data in config and pass to client when requested
2023-11-26 21:33:47 +00:00
Dev
ac459335c0
Add new endpoint to calcualte a reduced raid time for scavs and send the maps base.EscapeTimeLimit
value to client for PMC raids
2023-11-26 21:11:03 +00:00
Dev
1350fdb78b
Find quest in player quest array using .find
instead of .filter
2023-11-25 13:28:52 +00:00
Dev
64722bac17
Add quit exit for gameStart when resetting profile
2023-11-25 13:26:11 +00:00
Dev
eb22acc785
Handle when checking for gun wall level and linked inventory item does not exist
2023-11-25 13:25:43 +00:00
Dev
0b57fe3a5b
Stop addAmmoIntoEquipmentSlots()
from adding ammo if item cannot find container to add item to
2023-11-25 10:04:17 +00:00
Dev
4057301953
Nullguard prior to saving quest data to scav profile
2023-11-24 19:18:29 +00:00
Dev
3c0e6a34f2
Improve addItemWithChildrenToEquipmentSlot()
, Make it return different result when:
...
There are no containers to add item to
Unknown reason
Improved handling of when container has no space for item
Improve `ExternalInventoryMagGen.process()`, Handle edge case when a weapon with a default internal magazine but weapon uses external magazine
Improve most locations that call `addItemWithChildrenToEquipmentSlot()` to log failure reason
2023-11-24 16:05:58 +00:00
Dev
8c7b5da9ff
Rename variable for clarity
2023-11-24 15:38:37 +00:00
Dev
5a2f6b7581
Optimisation: addAmmoIntoEquipmentSlots()
, if it fails because of lack of space, break out of loop and skip trying to add remaining ammo
2023-11-24 15:35:19 +00:00
Dev
a0016ae2fa
Parse result inside getRandomizedMagazineCount()
to number before returning
2023-11-24 15:31:16 +00:00
Dev
0c658745eb
Add missing base class
2023-11-24 15:26:56 +00:00
Dev
27e16e09d7
log when addLooseWeaponsToInventorySlot()
fails to add weapon to bot inventory
2023-11-24 15:26:41 +00:00
Dev
7342849f61
Resolve getRandomizedBulletCount
returning extremely large ammo values for rotating grenade launchers
2023-11-24 15:24:46 +00:00
Dev
dcb579116c
Fix regression in fixIncorrectAidValue
if check
2023-11-23 20:21:02 +00:00
Dev
9ec3a6ec95
update EN locale
2023-11-22 14:29:00 +00:00
Dev
aa6f765a64
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
2023-11-22 14:28:30 +00:00
Dev
a5200e08d9
Add Zvezda assort for completing Our Own Land
(prapor l4)
2023-11-22 14:20:17 +00:00
Dev
5559b938c3
Add thicc case barter for completing special equipment
(peacekeeper l4)
2023-11-22 14:15:36 +00:00
Dev
112bbbea09
Adjust modloader-missing_package_json
locale text
2023-11-21 19:35:48 +00:00
Dev
ddb9917c6b
Rework of post-raid scav/pmc profile handling:
...
Moved logic out of `updateProfileBaseStats()` and into separate functions for pmc/scav, left profile-agnostic code alone
new functions `updatePmcProfileDataPostRaid` and `updateScavProfileDataPostRaid`
scav - Only copy active quest progress from client profile to server scav profile
scav - dont attempt to update trader standings, none exist on scav profile
scav - dont transfer psot-raid limb damage to server profile
Update quest status values similarly to PMC quests post raid to ensure they're consistent with existing quest data in profile
Simplifies `migrateScavQuestProgressToPmcProfile`
made various warnings debug instead
2023-11-20 16:33:04 +00:00
Dev
d2209114c9
Rename parameter as it can be scav or pmc profile
2023-11-20 15:07:59 +00:00
Dev
525e5cd21b
Fix length comparison not working as its an object, not an array
2023-11-20 15:05:35 +00:00
Dev
9929cf8c33
Clone handbook data before caching it
2023-11-20 13:47:47 +00:00
Dev
b55a0d03df
Add Crye Precision AVS plate carrier (Tagilla Edition)
to boss items array
2023-11-20 11:21:44 +00:00
Dev
c1219ed374
Blacklist Crye Precision AVS plate carrier (Tagilla Edition)
from scav case rewards
2023-11-20 11:20:40 +00:00
Dev
1abc7e3604
Handle failing a quest while raiding as scav
2023-11-20 11:19:11 +00:00
Dev
fc52c308bd
Lower chance of non-standard account PMCs
2023-11-20 10:38:14 +00:00
Dev
ccc017c976
Fix issue with scav case rewards being collectable twice
2023-11-20 10:22:03 +00:00
Dev
2132ea7adb
Fix issue with hideout crafts being collectable twice
2023-11-20 10:14:21 +00:00
Dev
f727b13215
prevent collection quests requesting more than 1 ammo per repeatable quest
2023-11-19 20:29:41 +00:00
Dev
89ff63f822
Update flea prices
2023-11-19 17:14:16 +00:00
Dev
aeea8f6e49
Guard against empty RepeatableQuests
array in profile
2023-11-19 16:12:20 +00:00
Dev
fa054307dd
Update version
2023-11-19 15:08:30 +00:00
Dev
3e0e8f7666
lint
2023-11-19 15:04:12 +00:00
Dev
396b56d08d
Expose uniqueItemCount
config value for use in choosing total items to return in Completion
quests
...
Weekly quests now require more items than dailies
2023-11-19 14:58:45 +00:00
Dev
3b1c6b3fdd
Add additional items to the find and return
pool
2023-11-19 14:51:00 +00:00
Dev
1def90e9d6
Improve handling of how reward items have their stack count randomised
...
Separated out how weapons are chosen as rewards
Lowered chance of skill reward
Added additional reward types to most traders
2023-11-19 13:21:34 +00:00
Dev
8cb4833001
Fix reward creatio code giving 1 extra reward compared to what was specified
2023-11-19 10:54:06 +00:00
Dev
ee3096328e
Exit reward finding loop when reward pool is empty
2023-11-19 10:52:50 +00:00
Dev
e99c1e8ab8
Add additional item types to trader reward whitelist
2023-11-19 10:50:46 +00:00
Dev
8fe9fb9391
Adjust getWeaponRepairSkillPoints()
to never return a value below 0
2023-11-18 21:59:48 +00:00
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
546ae76976
Add missing request object
2023-11-18 15:03:33 +00:00
Dev
60ead44b30
Add HealthController.healthTreatment() tests
2023-11-18 15:01:51 +00:00
Dev
0d205ed50c
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/controllers/HealthController.ts
2023-11-18 14:13:08 +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
Dev
2f122df9f6
Update SPTUSEC and SPTBEAR values
2023-11-17 09:18:30 +00:00
Refringe
5d2af422cb
Fixes InsuranceController Tests
2023-11-16 23:55:32 -05:00
Refringe
6cd86e67b0
Merge branch 'master' into 3.8.0
...
# Conflicts:
# project/.vscode/launch.json
# project/assets/database/locations/bigmap/base.json
# project/assets/database/locations/interchange/base.json
# project/assets/database/locations/rezervbase/base.json
# project/gulpfile.mjs
# project/package.json
# project/src/ErrorHandler.ts
# project/src/Program.ts
# project/src/callbacks/DataCallbacks.ts
# project/src/callbacks/DialogueCallbacks.ts
# project/src/callbacks/GameCallbacks.ts
# project/src/callbacks/HandbookCallbacks.ts
# project/src/callbacks/HealthCallbacks.ts
# project/src/callbacks/HttpCallbacks.ts
# project/src/callbacks/LauncherCallbacks.ts
# project/src/callbacks/LocationCallbacks.ts
# project/src/callbacks/MatchCallbacks.ts
# project/src/callbacks/ModCallbacks.ts
# project/src/callbacks/NotifierCallbacks.ts
# project/src/callbacks/PresetCallbacks.ts
# project/src/callbacks/ProfileCallbacks.ts
# project/src/callbacks/RagfairCallbacks.ts
# project/src/callbacks/TraderCallbacks.ts
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/BotController.ts
# project/src/controllers/CustomizationController.ts
# project/src/controllers/DialogueController.ts
# project/src/controllers/GameController.ts
# project/src/controllers/HealthController.ts
# project/src/controllers/HideoutController.ts
# project/src/controllers/InraidController.ts
# project/src/controllers/InsuranceController.ts
# project/src/controllers/InventoryController.ts
# project/src/controllers/LauncherController.ts
# project/src/controllers/LocationController.ts
# project/src/controllers/MatchController.ts
# project/src/controllers/QuestController.ts
# project/src/controllers/RagfairController.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/controllers/TradeController.ts
# project/src/di/Container.ts
# project/src/di/Router.ts
# project/src/generators/BotEquipmentModGenerator.ts
# project/src/generators/BotLevelGenerator.ts
# project/src/generators/BotWeaponGenerator.ts
# project/src/generators/LocationGenerator.ts
# project/src/generators/LootGenerator.ts
# project/src/generators/RepeatableQuestGenerator.ts
# project/src/generators/WeatherGenerator.ts
# project/src/generators/weapongen/InventoryMagGen.ts
# project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
# project/src/helpers/AssortHelper.ts
# project/src/helpers/BotGeneratorHelper.ts
# project/src/helpers/InRaidHelper.ts
# project/src/helpers/ProfileHelper.ts
# project/src/helpers/RagfairHelper.ts
# project/src/helpers/RagfairOfferHelper.ts
# project/src/helpers/TraderHelper.ts
# project/src/loaders/ModLoadOrder.ts
# project/src/loaders/PostDBModLoader.ts
# project/src/loaders/PreAkiModLoader.ts
# project/src/models/eft/common/IGlobals.ts
# project/src/models/eft/common/ILocationBase.ts
# project/src/models/eft/common/tables/IBotBase.ts
# project/src/models/eft/common/tables/IProfileTemplate.ts
# project/src/models/eft/common/tables/ITemplateItem.ts
# project/src/models/eft/dialog/IAcceptFriendRequestData.ts
# project/src/models/eft/dialog/IDeleteFriendRequest.ts
# project/src/models/eft/game/IGameConfigResponse.ts
# project/src/models/eft/game/IGameKeepAliveResponse.ts
# project/src/models/eft/game/IGameStartResponse.ts
# project/src/models/eft/match/IJoinMatchResult.ts
# project/src/models/eft/notifier/INotifier.ts
# project/src/models/eft/profile/GetProfileStatusResponseData.ts
# project/src/models/eft/trade/IProcessBuyTradeRequestData.ts
# project/src/models/eft/trade/IProcessSellTradeRequestData.ts
# project/src/models/enums/WildSpawnTypeNumber.ts
# project/src/models/spt/bots/BotGenerationDetails.ts
# project/src/models/spt/config/IBotConfig.ts
# project/src/models/spt/config/IBotDurability.ts
# project/src/models/spt/config/IInRaidConfig.ts
# project/src/models/spt/config/ILocationConfig.ts
# project/src/models/spt/config/IQuestConfig.ts
# project/src/models/spt/config/ISeasonalEventConfig.ts
# project/src/models/spt/server/ILocations.ts
# project/src/models/spt/utils/IUuidGenerator.ts
# project/src/routers/dynamic/BotDynamicRouter.ts
# project/src/routers/dynamic/BundleDynamicRouter.ts
# project/src/routers/dynamic/CustomizationDynamicRouter.ts
# project/src/routers/dynamic/DataDynamicRouter.ts
# project/src/routers/dynamic/HttpDynamicRouter.ts
# project/src/routers/dynamic/InraidDynamicRouter.ts
# project/src/routers/dynamic/LocationDynamicRouter.ts
# project/src/routers/dynamic/NotifierDynamicRouter.ts
# project/src/routers/dynamic/TraderDynamicRouter.ts
# project/src/routers/save_load/InsuranceSaveLoadRouter.ts
# project/src/routers/save_load/ProfileSaveLoadRouter.ts
# project/src/routers/serializers/NotifySerializer.ts
# project/src/routers/static/BotStaticRouter.ts
# project/src/routers/static/BundleStaticRouter.ts
# project/src/routers/static/ClientLogStaticRouter.ts
# project/src/routers/static/CustomizationStaticRouter.ts
# project/src/routers/static/DataStaticRouter.ts
# project/src/routers/static/DialogStaticRouter.ts
# project/src/routers/static/GameStaticRouter.ts
# project/src/routers/static/HealthStaticRouter.ts
# project/src/routers/static/InraidStaticRouter.ts
# project/src/routers/static/InsuranceStaticRouter.ts
# project/src/routers/static/ItemEventStaticRouter.ts
# project/src/routers/static/LauncherStaticRouter.ts
# project/src/routers/static/LocationStaticRouter.ts
# project/src/routers/static/MatchStaticRouter.ts
# project/src/routers/static/NotifierStaticRouter.ts
# project/src/routers/static/PresetStaticRouter.ts
# project/src/routers/static/ProfileStaticRouter.ts
# project/src/routers/static/QuestStaticRouter.ts
# project/src/routers/static/RagfairStaticRouter.ts
# project/src/routers/static/TraderStaticRouter.ts
# project/src/routers/static/WeatherStaticRouter.ts
# project/src/services/BotEquipmentFilterService.ts
# project/src/services/BotGenerationCacheService.ts
# project/src/services/BotWeaponModLimitService.ts
# project/src/services/PaymentService.ts
# project/src/services/ProfileFixerService.ts
# project/src/services/RagfairOfferService.ts
# project/src/services/RagfairTaxService.ts
# project/src/services/RepairService.ts
# project/src/services/SeasonalEventService.ts
# project/src/utils/RagfairOfferHolder.ts
# project/src/utils/TimeUtil.ts
# project/src/utils/UUidGenerator.ts
# project/src/utils/VFS.ts
# project/src/utils/collections/queue/Queue.ts
# project/src/utils/logging/AbstractWinstonLogger.ts
# project/src/utils/logging/WinstonMainLogger.ts
# project/src/utils/logging/WinstonRequestLogger.ts
# project/tests/utils/TimeUtil.test.ts
Manually resolved by Refringe.
2023-11-16 23:35:11 -05: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
ba443ca9a9
Fix bot generation error when crazyAssaultEvent
spawns
2023-11-16 18:43:22 +00:00
Refringe
50f8a84f5c
Rewrites a number of filter().reduce() calls to use more straight-forward for...of loop.
2023-11-16 10:18:11 -05:00
Refringe
f6ba864ea8
Removes unnecessary constructor.
2023-11-16 10:16:20 -05:00
Refringe
a4d2013ff6
Converts forEach loop to for...of loop
2023-11-16 10:15:52 -05:00
Refringe
be841a3de3
Resolves Type Issue in ProfileFixerService
...
When attempting to access a property/type that *shouldn't* exist (on purpose) it has to be cast to the type manually, else annoying type error.
2023-11-16 10:11:31 -05:00
Refringe
00be492d5e
Resolves ESLint Naming Convention Issues
2023-11-16 10:09:01 -05:00
Refringe
0ac9e147cb
Resolved post-conflict syntax errors. Sorry!
2023-11-16 10:07:46 -05: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
Refringe
8066eb942e
Merge branch 'fix/linting-errors' into 3.8.0
...
# Conflicts:
# project/src/callbacks/DataCallbacks.ts
# project/src/callbacks/DialogueCallbacks.ts
# project/src/callbacks/GameCallbacks.ts
# project/src/callbacks/HandbookCallbacks.ts
# project/src/callbacks/HealthCallbacks.ts
# project/src/callbacks/HttpCallbacks.ts
# project/src/callbacks/InventoryCallbacks.ts
# project/src/callbacks/LauncherCallbacks.ts
# project/src/callbacks/ModCallbacks.ts
# project/src/callbacks/PresetCallbacks.ts
# project/src/callbacks/TraderCallbacks.ts
# project/src/context/ApplicationContext.ts
# project/src/context/ContextVariableType.ts
# project/src/controllers/BotController.ts
# project/src/controllers/CustomizationController.ts
# project/src/controllers/DialogueController.ts
# project/src/controllers/GameController.ts
# project/src/controllers/HideoutController.ts
# project/src/controllers/InraidController.ts
# project/src/controllers/InsuranceController.ts
# project/src/controllers/InventoryController.ts
# project/src/controllers/LauncherController.ts
# project/src/controllers/LocationController.ts
# project/src/controllers/QuestController.ts
# project/src/controllers/RagfairController.ts
# project/src/controllers/RepeatableQuestController.ts
# project/src/controllers/TradeController.ts
# project/src/di/Container.ts
# project/src/di/Router.ts
# project/src/generators/BotEquipmentModGenerator.ts
# project/src/generators/BotGenerator.ts
# project/src/generators/BotWeaponGenerator.ts
# project/src/generators/LocationGenerator.ts
# project/src/generators/LootGenerator.ts
# project/src/generators/RepeatableQuestGenerator.ts
# project/src/generators/WeatherGenerator.ts
# project/src/generators/weapongen/InventoryMagGen.ts
# project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
# project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
# project/src/helpers/AssortHelper.ts
# project/src/helpers/BotGeneratorHelper.ts
# project/src/helpers/HttpServerHelper.ts
# project/src/helpers/InRaidHelper.ts
# project/src/helpers/TradeHelper.ts
# project/src/helpers/TraderHelper.ts
# project/src/loaders/PostDBModLoader.ts
# project/src/loaders/PreAkiModLoader.ts
# project/src/models/eft/common/tables/IProfileTemplate.ts
# project/src/models/eft/common/tables/ITemplateItem.ts
# project/src/models/eft/dialog/IAcceptFriendRequestData.ts
# project/src/models/eft/dialog/IDeleteFriendRequest.ts
# project/src/models/eft/game/IGameConfigResponse.ts
# project/src/models/eft/game/IGameKeepAliveResponse.ts
# project/src/models/eft/game/IGameStartResponse.ts
# project/src/models/eft/match/IJoinMatchResult.ts
# project/src/models/eft/notifier/INotifier.ts
# project/src/models/eft/profile/GetProfileStatusResponseData.ts
# project/src/models/eft/trade/IProcessSellTradeRequestData.ts
# project/src/models/external/HttpFramework.ts
# project/src/models/external/tsyringe.ts
# project/src/models/spt/config/ILocationConfig.ts
# project/src/models/spt/server/ILocations.ts
# project/src/routers/dynamic/BundleDynamicRouter.ts
# project/src/routers/dynamic/DataDynamicRouter.ts
# project/src/routers/dynamic/HttpDynamicRouter.ts
# project/src/routers/dynamic/NotifierDynamicRouter.ts
# project/src/routers/save_load/HealthSaveLoadRouter.ts
# project/src/routers/save_load/InraidSaveLoadRouter.ts
# project/src/routers/save_load/InsuranceSaveLoadRouter.ts
# project/src/routers/save_load/ProfileSaveLoadRouter.ts
# project/src/routers/static/BundleStaticRouter.ts
# project/src/routers/static/ClientLogStaticRouter.ts
# project/src/routers/static/DataStaticRouter.ts
# project/src/routers/static/DialogStaticRouter.ts
# project/src/routers/static/GameStaticRouter.ts
# project/src/routers/static/HealthStaticRouter.ts
# project/src/routers/static/InraidStaticRouter.ts
# project/src/routers/static/LauncherStaticRouter.ts
# project/src/routers/static/LocationStaticRouter.ts
# project/src/routers/static/MatchStaticRouter.ts
# project/src/routers/static/ProfileStaticRouter.ts
# project/src/routers/static/QuestStaticRouter.ts
# project/src/routers/static/RagfairStaticRouter.ts
# project/src/routers/static/WeatherStaticRouter.ts
# project/src/services/BotGenerationCacheService.ts
# project/src/services/BotLootCacheService.ts
# project/src/services/LocalisationService.ts
# project/src/services/ProfileFixerService.ts
# project/src/services/RagfairOfferService.ts
# project/src/services/RagfairTaxService.ts
# project/src/services/RepairService.ts
# project/src/utils/App.ts
# project/src/utils/DatabaseImporter.ts
# project/src/utils/RagfairOfferHolder.ts
# project/src/utils/collections/queue/Queue.ts
# project/tests/__factories__/ProfileInsurance.factory.ts
# project/tests/controllers/InsuranceController.test.ts
Manually resolved by Refringe
2023-11-15 22:28:43 -05:00
Refringe
622949cd83
Auto-formatting Sweep
2023-11-15 21:12:40 -05:00
Refringe
f283a2e6a3
Pre-merge Formatting Updates
...
These are the basic config changes that enable auto-formatting. This is being run directly within this branch to prevent a plethora of merge conflicts when `fix/linting-errors` is merged into this branch.
2023-11-15 20:33:45 -05: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
Refringe
0793df60c2
Formatting Change - Space is now given around object properties.
2023-11-13 12:38:16 -05:00
Refringe
32b47bdc18
Formatting Change - When a statement can be moved into a single line and still be under the maximum line length, it is.
2023-11-13 12:31:52 -05:00
Refringe
7533d33358
Formatting Change - Operator positions are now at the start of the next line (for multi-line statements).
2023-11-13 12:29:16 -05:00
Dev
206f0d672d
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
2023-11-13 17:06:19 +00:00
Refringe
2b826f8b1e
Conditional Code Adjustments Re:Biome
...
When multiple falsey conditions are being checked Biome recommends to check for all the truthy conditions negated. Logic remains untouched, while only using one negation. Apparently easier to comprehend.
2023-11-13 12:00:49 -05:00
Refringe
11b5c76512
Favours single line variable declarations.
2023-11-13 11:51:52 -05:00
Refringe
ce45862e75
Favours dot object notation whenever possible.
2023-11-13 11:51:02 -05:00
Refringe
e709b6c111
Reformatted imports with (only) Biome.
2023-11-13 11:43:37 -05:00
Refringe
33c3dd48e4
Disables dprint import/export sorting & adds a fix option for the linting errors.
2023-11-13 11:37:49 -05:00
Refringe
4479f68388
Formatting for utils.
2023-11-13 11:14:58 -05:00
Refringe
8576929404
Formatting for services.
2023-11-13 11:13:25 -05:00
Refringe
ca9ab9bcc8
Formatting for servers.
2023-11-13 11:12:51 -05:00
Refringe
b90fb8c8b9
Formatting for routers.
2023-11-13 11:12:17 -05:00