DrakiaXYZ
97994fc0a6
Handle IsAlwaysSpawn
in the same way we handle spawnpointsForced
to allow single spawn restrictions ( !231 )
...
Also move the relaxation key single spawn limit to Streets instead of shoreline
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/231
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-18 09:03:37 +00:00
qe201020335
a7ae3c3c67
Fix ProbabilityObjectArray.draw
returning undefined
when the pool is initially empty ( !227 )
...
It now returns an empty array if the pool is initially empty.
This function does not guarantee the number of elements returned because it will break out the loop early if the pool is exhausted.
Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/227
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-02-16 10:12:15 +00:00
Dev
7bc867a8f7
Replace labsAccessCardChancePercent
with lootItemsToAddChancePercent
inside playerscav.json
...
Fixed scav generation on profile generation always using fence rep 0
Added small % chance to add red flare to pscav
2024-02-16 09:59:43 +00:00
Dev
2965709535
Fix ammo packs not showing on fence
2024-02-15 23:34:04 +00:00
qe201020335
a1d82af41f
Fix dynamic loot generation not respecting spawn point's IsAlwaysSpawn
field ( !226 )
...
A similar field can also be seen in static container generation which the value is respected
Also Limited the amount of random draws to avoid going over the `desiredSpawnpointCount`
- Consider a potential mod that changes every spawn point's `IsAlwaysSpawn` to true, then there is absolute no point for the generator to draw them again and only to have them removed during dedupe
Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/226
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-02-15 09:09:35 +00:00
Dev
d5217928c2
Add 40% chance armors with plates do not have them whem listed on flea - mimics live behaviour
2024-02-14 11:12:20 +00:00
Dev
2e3f624131
Update PMC encyclopedia post-raid
...
Update scav encyclopedia during generation to be pmc encyclopedia
Remove redundant return statements from function
2024-02-13 12:20:30 +00:00
DrakiaXYZ
bf60fb7ea9
Fix flea armor not having proper random durability ( !223 )
...
Clone flea items prior to passing them off to the createSingleOfferForItem method
This change results in more armor on the flea having 100% durability, and less having identical non-max durability values
Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/447
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/223
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-13 08:34:55 +00:00
Dev
575f467f78
Tie random weapon reward to rouble reward
...
Prevents daily quests from choosing high-level weapons as a reward for low level dailies
2024-02-11 19:22:00 +00:00
Dev
71f308c288
Cleanup of default presets being added to container code
2024-02-11 15:06:03 +00:00
Dev
baa2da9b8e
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-02-11 14:59:33 +00:00
Dev
bba30d616b
Fix durability filtering on flea not working for helmets / armors
...
Updated `getItemQualityModifierForOfferItems()` to return root items quality modifer when its a weapon
Fixed `getItemQualityModifierForOfferItems()` assuming quality started at 1
2024-02-11 14:59:25 +00:00
Kaeno
a4f1cb23d9
Temporary fix for containers having missing items. due to Armor not being generated correctly
2024-02-11 14:45:01 +00:00
Dev
5ec01d51c7
swap let to const
2024-02-11 12:16:08 +00:00
Dev
9819ac3737
Mimic live behaviour for ammo box locarion values
2024-02-11 12:12:27 +00:00
Kaeno
882c1d6082
Allow Scavs to examine items and retain their Encyclopedia (Examined Items)
2024-02-10 14:17:33 +00:00
Dev
973b74bd98
Add ability to control weapon/equipment current durability
...
Fixed non-armored rigs not showing
Blacklist mk-18
2024-02-10 09:57:44 +00:00
DrakiaXYZ
9573290778
Fix daily quest weapon rewards ( !219 )
...
The rewardItem.target has to be set after the item IDs are regenerated, so it gets the new root item ID
Resolves: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/470
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/219
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-02-10 08:54:12 +00:00
Dev
5a8317b8a1
Correctly pass item rotation when calling fillContainerMapWithItem()
...
Removed unused legacy function `placeItemInInventoryLegacy()`
Dont return stash layout as result in `fillContainerMapWithItem()`
Added small optimisation to `fillContainerMapWithItem()`, check if all slots of failled before trying to fit item
2024-02-09 15:13:49 +00:00
Dev
596785eda9
Added support for ammo box hydration on fence
2024-02-08 21:31:46 +00:00
Dev
c097914e45
Add system to ignore armor plate slots when removing plates not suitable for flea
2024-02-08 16:53:14 +00:00
Dev
7d97bc4945
Correctly generate ammo boxes for dynamic/static/bot loot with one stack of cartridges. It seems the 0.14 client update now handles ammo boxes having a single stack and properly splits the ammo inside it
2024-02-08 16:01:38 +00:00
Dev
810cd8abd6
Improve flea offer item durability randomisation
...
Expanded `condition` config system to separate out current and max durability
Added missing armor config settings
Rewrote weapon durability method `randomiseWeaponDurabilityValues()` to do work similar to `randomiseArmorDurabilityValues()`
Fixed various items being classified as ARMORED_EQUIPMENT and using the wrong category config values
Moved ARMORED_EQUIPMENT to bottom of config so its chosen last, fixes vests being flagged as wrong item
2024-02-08 14:52:09 +00:00
Dev
15bf71b16f
Move daily money reward into its own function
2024-02-07 20:56:54 +00:00
Dev
cc2e820290
Move ammo stack size calcualtion into its own function
2024-02-07 20:51:12 +00:00
Dev
98b592f0c2
Prevent daily rewards from picking armors with soft inserts to duplciate reward count of
2024-02-07 20:43:45 +00:00
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
Refringe
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
Refringe
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
Refringe
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
Refringe
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
Refringe
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
Refringe
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
Refringe
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
OkaMoez
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: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/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
Dev
d112d0fa6e
Reworked openRandomLootContainer()
to make use of addItemToStash()
2024-01-20 22:13:47 +00:00
Dev
13ce200f80
Small optimisations applied to reateRandomLoot()
2024-01-20 18:08:09 +00:00
Dev
80fdaf65e6
Finalise fence changes
2024-01-20 17:56:19 +00:00
Dev
42b915990e
Moe majority of assort generation from FenceService
into FenceBaseAssortGenerator
...
Generate an items children and store in fence assort base
Better handle presets
Fix `removeRandomItemFromAssorts()` not removing all of an items mods from memory
Correctly calculate an items price including its children
2024-01-20 16:20:39 +00:00
OkaMoez
8b2fa7c8dd
Adjust server raid time calculations to match client ( !202 )
...
This change brings the server in raid time calculation (accelerated time/time you see when choosing a map) to parity with the client.
The time returned by `getInRaidTime()` effectively is the same, but the server can stop using `acceleration - 1` and the adjacent comment has an answer.
-----
The Tarkov client calculates current raid time via the following formula in `Session.GetCurrentLocationTime()`:
`In Raid Time = Today's Date + Connection Time + Time Since Client Connection * Acceleration`
The server currently uses the following:
`In Raid Time = Current Date and Time + Time Since Client Connection * (Acceleration - 1)`
The `Current Time` and `-1` used in the server calculation effectively cancel each other out if `acceleration > 1`. Removing both should have no effect on the calculated time (not date).
The client side using `Today's Date + Connection Time` is kinda weird. Using `acceleration = 1`, you'd see the calculated date move 2 days after 24 hours. That said, I don't see the date portion of the raid time being used, so that might not matter. Either way, I've matched the formula to avoid any edge cases causing desync.
Co-authored-by: OkaMoez <43766412+OkaMoez@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/202
Co-authored-by: OkaMoez <okamoez@noreply.dev.sp-tarkov.com>
Co-committed-by: OkaMoez <okamoez@noreply.dev.sp-tarkov.com>
(cherry picked from commit afb64c1ebf
)
2024-01-20 10:02:59 +00:00
Dev
05533bb166
Prevent no exit data killing client start
2024-01-20 00:19:52 +00:00
Dev
1c9acbbc2e
improve bot generation time
2024-01-19 19:21:51 +00:00
Dev
34b9d318a3
Pull some code out of addLootFromPool()
into its own function
2024-01-19 11:57:25 +00:00
Dev
63ca393372
Add short circuit optimisation to isItemIncompatibleWithCurrentItems()
2024-01-19 09:56:18 +00:00
Dev
f3f008e0ec
Rename function to help with clarity
2024-01-19 09:52:56 +00:00
Dev
0d4fdf11e3
include handling armors without plates
2024-01-18 23:29:07 +00:00
Dev
310762d66d
Refactor airdrop loot generation to account for armor plate changes
2024-01-18 23:25:08 +00:00
Dev
ea0d8224e6
Add loop to try multiple armor pieces to find one that's compatible with bots current loadout
2024-01-18 22:36:14 +00:00
Dev
8f12bf479a
Generate armor vest for bots first, then rig
2024-01-18 21:39:35 +00:00
Dev
bb741f681d
Store and process secure container loot items for bots
...
Give gifter more items
2024-01-18 12:07:32 +00:00
Dev
04edb19f14
Allow dogtags to be added to custom bots
2024-01-17 22:17:12 +00:00
Dev
f38d098aae
Exclude scav coop exits when choosing pmc exit
2024-01-17 16:47:53 +00:00
Dev
727a85f5fc
Improve repeatable quest exit choice code
2024-01-17 16:39:55 +00:00
Dev
d9186e0e48
Improve workaround for spawnpoint values
2024-01-17 10:45:25 +00:00
Dev
03a451115c
Temp fix to ensure dynamic loot count generator doesnt generate a negative value
2024-01-16 21:55:25 +00:00
Dev
4d1066b51a
Make use of presetHelper instead of rolling own implementation
2024-01-16 10:28:08 +00:00
Spoony
e1a8f26507
Generate ammo box Ragfair offers with cartridges ( !198 )
...
#### TL;DR
Previously, Ragfair offers involving ammo boxes weren't generated with cartridges inside of them. This copies a lot of the logic from `InventoryHelper.hydrateAmmoBoxWithAmmo()` to add ammo to offers when they are generated. Made to fix #312 .
#### Testing
Purchased various ammo boxes from Flea:
![image](/attachments/340fb349-2589-4b1a-81fa-f8d63f6f1a36)
Purchased ammo boxes are listed as full:
![image](/attachments/f52057d3-efe0-40e7-b64e-8d257a818fa5)
Unloading them produces correct ammunition:
![image](/attachments/33c71f7b-d452-473e-9705-cbad1ecc3f7d)
Co-authored-by: Spoony <Spoony@example.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/198
Co-authored-by: Spoony <spoony@noreply.dev.sp-tarkov.com>
Co-committed-by: Spoony <spoony@noreply.dev.sp-tarkov.com>
2024-01-16 10:26:48 +00:00
Dev
34628561ce
Filter repeatable explore quest map exits per side
2024-01-15 23:13:57 +00:00
Dev
2f07d6083f
Fix armor plates/visors/helmet plate inserts not having thier durability altered on ragfair
2024-01-14 22:28:53 +00:00
Dev
5005a5160a
Improve buyItem()
handling of multiple and stackable item purchases
...
rename `reparentPresets` to `reparentItemAndChildren` and move to `itemHelper`
2024-01-14 21:12:56 +00:00
Dev
303be64880
Move code to its own variable
2024-01-14 14:38:10 +00:00
Dev
72fdada5d7
Add vistor shot damage to those listed on flea/fence - 25% chance a damaged helmet can have a visor with bullet hits
...
Improved `FenceService.addModsToArmorModSlots()` to not break when it cant find a default plate tpl
2024-01-13 20:47:59 +00:00
Dev
ae6bb7a43b
Small cleanup of preset handling code in addItem()
2024-01-13 15:00:31 +00:00
Dev
6cd82ce2a6
Add location property minFillLooseMagazinePercent
...
Make static/dynamic magazine loot have chance to not have cartridges
2024-01-13 12:30:15 +00:00
Dev
48f99ecfa6
Additional changes to randomiseWeaponDurabilityValues()
...
Move chance to make changes check outside of function
Aliased ragfair config property
Aliased chosen child multipler value
Added comment to function
2024-01-13 09:15:11 +00:00
r2go
a87129c541
#284 fixed flea armors not having random values ( !193 )
...
https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/284
Probably needs some balancing since some armors are very random, some are not at all. It feels pretty realistic I think.
Any feedback is appriciated.
Co-authored-by: r2go-beep <hans@hummelusa.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/193
Co-authored-by: r2go <r2go@noreply.dev.sp-tarkov.com>
Co-committed-by: r2go <r2go@noreply.dev.sp-tarkov.com>
2024-01-13 09:03:51 +00:00
CWXDEV
22ad266b27
why the f*ck we using spaces and not tabs :reee:
2024-01-12 23:47:41 +00:00
CWXDEV
091e4fa41b
added check to make sure same item isnt used, still has an edge case, if maxRequestedAmount is too high, and we cant offer enough items, dupes will appear, but this will fix normal use
2024-01-12 23:44:58 +00:00
Dev
0440bdab70
Reworked flea armor listing code
...
Randomises plate durability
Randomises insert durability
2024-01-12 21:59:30 +00:00
Dev
98241d894f
Rework how plates are filtered from bot equipment
...
Add `filterPlatesByLevel` to bot config
2024-01-12 17:00:22 +00:00
Dev
cb18d251ba
Improve selection of items to add mods for:
...
quest rewards
bot loot gen
map loot gen
fence assort gen
Updated `removeRandomModsOfItem()` to also skip slots with a _required prop
2024-01-11 17:42:58 +00:00
Dev
dc1e172df0
Handle generating a fence armor item and a default plate is not found
...
Add extra plates to pool
Centralise plate-related checks into itemhelper
2024-01-10 14:47:09 +00:00
Dev
f59041121b
Fix plate filtering code not correctly handling when no plates of desired armor level are found
2024-01-09 23:46:57 +00:00
Dev
4078d7cc89
Fix plates not spawning on bots because of capitalisation
2024-01-09 20:16:49 +00:00
Dev
a9c36ec205
Fix issue with armors as quest rewards not being sent with soft inserts
...
Centralised a soft insert check into `ItemHelper`
Add extra base types to `generateGearPool()` in equipment bot pool service
2024-01-09 16:49:59 +00:00
Dev
f3964639bd
Rename mods
to weaponMods
and add new object equipmentMods
...
regenerate bot jsons to include this new data (includes correct inclusion of equipment slot "TacticalVest" which was previously missing)
Fix issue with PMM ammo causes generation issues
2024-01-09 15:31:56 +00:00
Dev
01e63118c6
Rename function
2024-01-09 10:58:06 +00:00
Dev
bac86262d4
Improve handling of equipment mod generation
2024-01-09 10:30:00 +00:00
Dev
15d53a2d38
Fix armor in bot backpacks having no soft inserts
...
centralise code that adds mods to equipment into one location
2024-01-08 23:27:18 +00:00
Dev
07b5ab432e
Check for empty pool when adding mods to equipment during loot generation
2024-01-08 09:40:18 +00:00
Dev
92e600e906
Improve logic for choosing an exit inside generateExplorationQuest()
2024-01-07 20:49:33 +00:00
Dev
628a3f71d8
Add comment
2024-01-07 20:20:25 +00:00
Dev
6231a56fea
Prevent duplicate items spawning in static containers
2024-01-07 20:17:07 +00:00
Dev
db13df89d9
Add plate filtering system based on bot level
2024-01-07 15:34:59 +00:00
Dev
c6135802be
Refactor equipment mod parameters
2024-01-07 14:46:25 +00:00
Dev
bd60cf51e2
Fix event system not working for events other than halloween and christmas
...
Allow events to overlap
Rename config property from `enableWinterEvent` to `forceWinterEvent`
2024-01-06 23:29:42 +00:00
Dev
9bc9d46e84
Improve function comments
2024-01-06 15:21:16 +00:00
Dev
52a5380c33
Add botRelativeLevelDeltaMin
to pmc.json to allow configuration of lowest level of pmc relative to player
2024-01-06 15:19:04 +00:00
Dev
9dbd3d1acf
Updated server handling of quests/repeatable quests to match 0.14 changes - this will break profiles
2024-01-05 19:52:21 +00:00
Dev
9eee25a175
Prevent server error when loot generator tries to find non-existent loot
2024-01-02 19:46:21 +00:00
Dev
6080c992b9
Fix snow event not spawning
2024-01-02 13:41:52 +00:00
Dev
224f921ea5
use different base class check
2024-01-01 11:33:19 +00:00
Dev
c39e331423
Replace conditionCounters
array with with TaskConditionCounters
dictionary
2023-12-30 21:59:51 +00:00
Dev
bea2a5d30a
Correctly add armor inserts into statically spawned helmets
2023-12-30 17:38:06 +00:00
Dev
81393fb629
Improve error logging in weapon gen
2023-12-30 10:45:12 +00:00
Dev
5a57895998
Fix server error when adding lootable armor to raid
2023-12-29 17:13:48 +00:00
CWXDEV
b1c3e5b310
Add builtInInserts to baseclasses and remove from flea offers
2023-12-29 15:33:43 +00:00
Dev
8e2ad5697e
Add armorColliders
type
2023-12-28 21:39:46 +00:00
Dev
e27f52c505
Added system to randomise the mods on equipment found as loose/static loot
...
controlled via config
2023-12-28 21:31:31 +00:00
Dev
17c4d6cec0
Rework on equipment generation to process mods on an item if the item supports them instead of if the bots mods array has mods
...
Add new bots to bot.json
2023-12-28 18:36:37 +00:00
Dev
7b13f69f18
Handle when no data exists for a map without killing server
2023-12-28 15:13:29 +00:00
Dev
f3fee2bc39
Update bot difficulties + fix various mod errors
2023-12-28 10:58:29 +00:00
Dev
31198120a1
Add missing param
2023-12-28 00:07:41 +00:00
Dev
06c60b9fd9
Log bot role on error
2023-12-28 00:06:45 +00:00
Dev
369a8a6cca
Begin work on updating equpiment code to handle required mods
2023-12-27 23:29:37 +00:00
Dev
c3bddbbad2
Add TaskConditionCounters to profile and favorite array
2023-12-27 19:52:35 +00:00
Dev
99eaeeb63b
Set winterEventEnabled
value on start
2023-12-27 18:55:58 +00:00
Dev
72e4d91185
fix server start error
2023-12-21 09:12:15 +00:00
Dev
b993226296
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/src/callbacks/DialogueCallbacks.ts
# project/src/callbacks/MatchCallbacks.ts
# project/src/callbacks/NotifierCallbacks.ts
# project/src/controllers/InventoryController.ts
# project/src/controllers/MatchController.ts
# project/src/routers/static/RagfairStaticRouter.ts
2023-12-21 09:07:23 +00:00
Dev
cf782a8fcb
Add endpoint client/ragfair/offer/findbyid
2023-12-19 23:52:39 +00:00
Dev
90324ed343
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
...
# Conflicts:
# project/assets/configs/core.json
# project/package.json
# project/src/generators/RagfairOfferGenerator.ts
2023-12-19 17:31:19 +00:00
Dev
799690d2a6
Clone the preset data prior to pushing into reward away - prevents preset being later modified
2023-12-17 22:42:26 +00:00
Dev
9e95e1bbac
prevent random ammo stacks going above 60
2023-12-17 22:36:47 +00:00
Dev
66630a5fc6
Improve comments
2023-12-16 21:59:30 +00:00
Dev
cc916ff419
Refactor of ammo reward calculaton for daily quests
...
No longer give random value between config min and stack max size (mods that adjust max stack size were causing very broken behaviour)
Ammo stack size is now chosen based on rouble budget for reward, capped at a count of 100
Adjust config min stack size to be 5, this still achieves goal of preventing single stack ammos like grenades but allows inclusion of ammos like patron_12x70_buckshot
2023-12-16 21:49:16 +00:00
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
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
Dev
b15c8e196e
Log total count of static items being spawned
2023-12-11 14:41:30 +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
7c2d93e87b
Handle edge case when an item is missing a min/max stack size value
2023-12-07 20:07:46 +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
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
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
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
cc488477fb
Logging improvements
2023-11-27 17:01:38 +00:00
Dev
130f120fda
Comment change
2023-11-26 22:35:26 +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
27e16e09d7
log when addLooseWeaponsToInventorySlot()
fails to add weapon to bot inventory
2023-11-24 15:26:41 +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
f727b13215
prevent collection quests requesting more than 1 ammo per repeatable quest
2023-11-19 20:29:41 +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
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
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
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
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
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
c2aaf9c6fb
Add workaround for stm-9 generating with an impossible configuration and being reset to default
2023-11-17 12:40:23 +00: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
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
00be492d5e
Resolves ESLint Naming Convention Issues
2023-11-16 10:09:01 -05: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
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
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
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
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
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
d3e5418fc8
Formatting for generator classes.
2023-11-13 11:05:05 -05:00
TheSparta
ed1557d26b
fixed suppressions/deprecatedSuppressionComment
2023-11-08 19:52:58 +00:00
TheSparta
5b46e956c4
fixed lint/complexity/useLiteralKeys
2023-11-08 19:52:56 +00:00
TheSparta
3eee163aae
fixed lint/complexity/noForEach
2023-11-08 19:51:52 +00:00
Dev
847586f073
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-07 14:44:26 +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
c7dfc5b9cf
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-05 12:39:20 +00:00
Dev
8ee176b9d8
Handle when fillCamora()
cannot find camora slots in weapons modPool
2023-11-04 20:11:09 +00:00
Dev
24894643de
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-04 10:43:06 +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
981da646b0
Add 2023 haloween event system
...
Event bots are generated from their base type, then their role is updated before being sent to the client e.g. peacefullZryachiyEvent becomes bossZryachiy for generation, then back to peacefullZryachiyEvent
2023-11-02 15:02:18 +00:00
Dev
0a85f6f319
Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2023-11-02 09:00:14 +00:00
Dev
b1842e1c49
When generating a specific location condition for an elimination quest, don't add weapon requirement props to it - unnecessary
...
Clean up kill condition generation method comments/param names
Replace magic strings with objects
2023-11-01 13:29:47 +00:00
Dev
90b76eab68
Correctly check when difficulty is not a number
2023-11-01 11:36:13 +00:00
Dev
37b7712602
Rename function getAllSeasonalEventItems()
to getInactiveSeasonalEventItems()
2023-11-01 11:35:05 +00:00
Dev
220a89b915
Default value to false if not found intead of letting it be undefined
2023-10-29 20:45:35 +00:00
Dev
8223124882
Sort mod_barrel
after mod_handguard
to prevent weapon gen errors with certain combinations of barrel + gas blocks causing all handgaurds to be incompatible
...
Also force gas block to be processed AFTER barrel + handguard
2023-10-29 16:35:03 +00:00
Dev
fd7e59d1d2
Adjust servers handling of item stacks, when item has a StackMaxSize
value of 1, use that instead of items db property StackMaxRandom
2023-10-28 19:39:45 +01:00
Dev
f4fce0612e
Force handguards that take a sub-handguard to set handguard spawn chance to 100% - fixes split handguards appearing without the lower part
...
Only adds lower when weapon has no launcher attached
Adjust sub stock adding code to trigger when stock has a subslot that starts with `mod_stock`, this means `mod_stock_akms` and `mod_stock_000` will be included
2023-10-26 20:31:05 +01:00
Dev
90efc36360
Fix incorrect value names in getEliminationKillCount
2023-10-24 17:06:02 +01:00
Dev
657dd358c2
Give method an access type protected
2023-10-24 15:12:18 +01:00
Dev
1cf63ad1ad
Split pmc kill requirement for elimination into separate min/max counts from other bot types
2023-10-24 15:01:31 +01:00
Dev
c3777af231
Add guards to dynamic spawn point generation
...
Rename some variables for clarity
2023-10-24 11:15:23 +01:00
Dev
7b0298cda2
Adjsut 2 bot gen errors to be warnings
2023-10-23 19:19:05 +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
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
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
480967ab9a
Incldue m4a1 with gas block item in modIsFrontOrRearSight()
check
2023-10-17 20:45:40 +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
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
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
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
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
45788e1489
Fix scav case erroring on item generation
2023-10-13 09:28:04 +01:00
Dev
29ffe86caa
Remove redundant item added check from value check
2023-10-12 13:25:13 +01:00