Dev
0759afb84f
Update daily system to correctly reward just weapons when traderWhitelistDetails.weaponRewardChancePercent
passes its check instead of weapons or armor
2024-02-07 20:32:24 +00:00
Dev
424e438732
Improve how daily quests calculate the price of items when choosing a reward that's inside its price boundaries
...
Items with a default preset inside globals.json now use all items inside the preset for price calculation
2024-02-07 20:15:44 +00:00
Dev
57855fd316
Add whitelist system to magazine filling function fillMagazineWithRandomCartridge()
. Fixes issues with kedr being filled with incompatible ammo
2024-02-07 14:45:43 +00:00
6714d2d172
Forgot Instance of Parent Update
...
Updates the `replaceIDs` method call in the `LocationGenerator` class to be inline with the changes in the parent commit.
2024-02-06 18:50:42 -05:00
42dabc057b
Improved replaceIDs
Method in ItemHelper
...
- Implemented deep cloning of input Items to prevent mutation.
- Reordered parameters: Items (required) now precede PMC data (optional).
- Updated method calls to bring them inline with these changes.
2024-02-06 18:39:06 -05:00
c29482394b
(More) Simple Parameter Reassignment Issues
...
Addresses some of the simple linting errors regarding the reassignment of function parameters.
2024-02-06 18:35:11 -05:00
Dev
d8fe911464
Cleanup dynamic loot selection, armors have their children stored in loose loot json, use existing code to pull children out instead of generating it
2024-02-06 23:17:41 +00:00
Dev
cb10ec4148
When generating armors for static loot, try and use default preset first before generating randomly
2024-02-06 23:00:39 +00:00
Dev
1101927768
Improve fence price calculation code. Prices now take into account removed item mods + mod durability
2024-02-06 20:44:40 +00:00
Dev
72345abb4a
Force plates to spawn in armor items found inside PMC backpacks
2024-02-06 10:53:08 +00:00
807ba04967
Resolves Bot Generation Error
...
- Resolves an issue in bot generation caused by a missing parameter when calling the `shouldModBeSpawned` method.
- Adds a optional chaining operator within a condition to safeguard against undefined errors.
Contributed by: barlog_m
Thank you! :D
2024-02-05 19:16:36 -05:00
3a2b24b9b8
Simple Parameter Reassignment Issues
...
Addresses some of the more simple linting errors regarding the reassignment of function parameters.
2024-02-05 19:03:26 -05:00
Dev
b7d74f1dec
Add system to flag weapon slot ids as required.
...
Applies to stocks/recievers for PMCs
recievers for exusec/raider
2024-02-05 22:02:03 +00:00
Dev
422b7878ab
Add getMatchingPreset()
and add workaround for silenced DVL choosing wrong barrel mods
2024-02-05 15:36:05 +00:00
Dev
bf5f3316b1
Rename cloned variables to help with readability
2024-02-05 14:43:46 +00:00
Dev
63603f5d9a
Reduce grizzly count added to PMC secure to 1 + morphine to 2
2024-02-04 14:43:37 +00:00
Dev
3dacbc98b2
Remove redundant .some()
call
2024-02-03 23:11:36 +00:00
Dev
714386c793
Update generateEquipment()
to return true when it adds item
2024-02-03 20:29:31 +00:00
Dev
ec9a877cd4
Force item limits to be used with special loot items
2024-02-03 17:34:08 +00:00
Dev
34d761a14f
Fix edge case when getModPoolForSlot()
gets default handguard for mp5 when the reciever is set to the mp5sd. Now uses correct default template
2024-02-03 16:59:54 +00:00
Dev
164bf08b08
FIx armor filtering code to correctly return non-armored rigs when requested
2024-02-03 14:00:47 +00:00
Dev
12a9cb5ded
Fix processReward()
incorrectly trying to add mods to armor items without slots
...
Add `itemHasSlots` to itemHelper and consolodate its use across code
2024-02-03 11:00:30 +00:00
69a1723646
Fixes Linting Issues
...
- Reorders imports
- Removes unnecessary `else` control statements
- Simplifies some logic
- Converts key access to dot notation
- Converts Array.forEach loops to for...of loops
2024-02-02 15:00:21 -05:00
90492f3aa2
Formatting
...
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00
Dev
31942b96eb
Add marksman rifles to elimination dailies
...
Add weapon filtering based on range requirement of elimination quest:
> 50 = no pistols/shotguns
< 20 = no DMR/MarksmanRifles
2024-02-01 14:37:02 +00:00
Kaeno
23ceca5279
Blacklist Quest Items from Scav Case
2024-01-31 22:52:55 +00:00
Dev
a45cc3052e
Fix issue with choosing a default mod for a weapon when the bot doesnt have the default mod in their mod pool already - would result in missing vital mods causing a fallback to a default weapon preset
2024-01-30 21:14:15 +00:00
Dev
9616f9b34b
Improve armor slot compatibility checking
2024-01-30 16:32:03 +00:00
Dev
55154c8b1a
improve block checking logic to be dynamic based on pool size
2024-01-29 23:02:09 +00:00
Dev
f3ec237674
Fix issue with weapon mod generation flagging mod as incompatible even though it passes compatibility checks
...
Stop trying to fit a mod to a weapon after 8 blocked attempts
Created streamlined mod compatability checker function
2024-01-29 22:41:08 +00:00
Dev
58d620d424
Fix weapon mod generation choosing a default mod only to keep it flagged as incompatible
2024-01-29 21:27:36 +00:00
Dev
a9517bb1cc
Remove redundant return statements from RagfairOfferGenerator
2024-01-29 11:22:04 +00:00
Dev
e88a661e7e
Convert hideout area bonus property + Bonus type property into an enum and update code that uses altered property
2024-01-29 10:42:02 +00:00
Dev
8ec94a1322
Skip gifter when removing christmas items
2024-01-27 22:39:57 +00:00
Dev
5ffa186b0e
Build fix
2024-01-27 22:38:16 +00:00
Dev
023bf7ac3f
Removed return type from generateId()
2024-01-27 21:01:57 +00:00
Dev
88179f1c4c
Remove return type for generateInventoryID()
2024-01-27 20:31:20 +00:00
Dev
ccb610dda6
Add config property forceOnlyArmoredRigWhenNoArmor
+ wire it up
2024-01-27 18:52:36 +00:00
Dev
734d821630
Improve mod item filtering code
2024-01-27 18:12:13 +00:00
Dev
8ca0c5d82b
Remove faceshield from headwear section
2024-01-27 17:08:01 +00:00
Dev
59bc9cb3e0
Move bot hands/head/voice over to weighted lists
2024-01-26 17:57:13 +00:00
Dev
3764d923fd
Linting
2024-01-26 15:56:53 +00:00
Dev
c116adc0b9
Clenaed up how PMC names are replaced during event
2024-01-25 22:17:18 +00:00
Dev
fd7050b0ac
Fix issue with weapon/equipment mod selection where it would ignore settings when mod slot was required
...
Fix JSON errors in bot.json
2024-01-25 13:45:42 +00:00
Dev
9fbed0c23f
Variable cleanup of generateModsForEquipment()
and removal of duplicate call to db
2024-01-25 10:55:33 +00:00
Dev
4ce26ea870
Refactor of RagfairAssortGenerator
and associated code that touches it
2024-01-23 14:17:01 +00:00
Dev
b766fa1220
Allow armor items without plates to be listed on flea
2024-01-23 12:46:29 +00:00
Dev
27bc7cfa6e
Fixed armors being listed with plates above the allowed level on flea
2024-01-23 11:42:47 +00:00
1c6b76163b
Make accelerated time calculations independent of client ( !205 )
...
Changes server accelerated time calculation to be fully independent of client calculations.
Local testing over most of a day showed time acceleration continuing through relogging as a client, and calculated times being synced to about +- 2 seconds between server and client with no drift.
-----------
In #202 I referenced the client side formula for accelerate time:
`In Raid Time = Today's Date + Location Time + Time Since Client Connection * Acceleration`
At the time I didn't know where Location Time was set and conservatively tried to match the server calculations to the client. Since then I've confirmed that it is set after calling `client/game/start` and holds the accelerated server timestamp from that call. With this in mind, I'm more confident changing the server calculations and here we are.
Previously each time you started your client, the accelerated time would start counting from your irl time at launch. This change moves that to the server, so you could leave your server running to have a more live-like experience where you won't be sure of the in raid accelerated time until you log in.
Added benefit of significantly simplifying the `getInRaidTime()` code.
Future work could be done to add save/load support to the server's timestamp to further emulate the live experience where timers won't reset to your irl time unless you wipe the data. I'd personally lean towards saving it at a server level, not a profile level, to allow multiple profiles to share a single 'wipe'.
-----------
Co-authored-by: OkaMoez <43766412+OkaMoez@users.noreply.github.com>
Reviewed-on: SPT-AKI/Server#205
Co-authored-by: OkaMoez <okamoez@noreply.dev.sp-tarkov.com>
Co-committed-by: OkaMoez <okamoez@noreply.dev.sp-tarkov.com>
2024-01-23 10:13:53 +00:00
Dev
c68c9a72fb
Refactor handleScavCase()
to use addItemToStash()
...
blacklist soft armor inserts from scavcase rewards
2024-01-21 16:40:14 +00:00