Commit Graph

847 Commits

Author SHA1 Message Date
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
a657e66917 Update readme 2023-12-04 15:13:48 +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
2410ddfe59 Update flea prices 2023-12-03 11:41:58 +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
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 gunto 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