Dev
3587becf76
Update openRandomLootContainer()
to use addItemsToStash()
2024-02-01 13:23:03 +00:00
Dev
704b337a3c
removeResourceFromArea()
Pass found item in slot directly to addToStash requst for small optimisation
2024-02-01 12:53:30 +00:00
Dev
d920dceb53
Remove redundant returns from various hideout functions used inside takeProduction()
2024-02-01 12:47:48 +00:00
Dev
3bf44b7863
Update handleScavCase()
to use addItemsToStash()
2024-02-01 12:42:02 +00:00
Dev
d564a7a992
Comment improvements
2024-02-01 12:35:18 +00:00
Dev
16cb48ad70
Improvements to handleRecipe()
...
Cleaner handling of stackable rewards
Moved task condition counter lookup to own function
2024-02-01 12:31:48 +00:00
Dev
44560991b0
Improve handleRecipe()
...
Better handling of item rewards that need to be split into root + child (ammo boxes)
Use `addItemsToStash()`
move `recipe.isEncoded` check to earlier in function
make use of `getItem()` inside `splitStack()` instead of direct db access
2024-02-01 11:23:32 +00:00
Dev
92d949b445
Comment improvements
2024-02-01 10:24:10 +00:00
Dev
8c99b25df0
Rename interface to IOwnerInventoryItems
2024-02-01 09:58:20 +00:00
Dev
1e4d07937b
Update getBTC()
to make use of new function
2024-02-01 09:58:04 +00:00
Dev
406c59789a
Add interface
2024-02-01 09:50:50 +00:00
Dev
8d8baec766
Add new addItemsToStash()
function to InventoryHelper
2024-02-01 09:48:46 +00:00
Dev
69735b5037
Check inventory has space before adding bitcoins from craft
2024-01-31 23:39:01 +00:00
Kaeno
23ceca5279
Blacklist Quest Items from Scav Case
2024-01-31 22:52:55 +00:00
Dev
95dd27038d
improve accuracy of daily quest system
...
Keep completed dailies inside "activeQuests" array until dailies are refreshed
Adjust post-raid quest handling to ensure previously completed/failed quests keep their original status
2024-01-31 14:38:18 +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
81960a23fe
Fix bitcoins being returned in bundles instead of individually
2024-01-30 13:24:46 +00:00
Dev
491a5204bb
optimisation: only update the current profiles hideout data
2024-01-30 12:16:58 +00:00
Dev
d0af930dc9
Fix not being able to collect bitcoins
...
Improved handling of server/client sync when clicking 'get iems' to reduce chance of `no bitcoins to collect` error
2024-01-30 12:16:27 +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
bf7e214b77
Add nullguard to updateFuel()
when generator slot has no items array
2024-01-29 16:40:58 +00:00
Dev
099e2cd6f3
Update air filters to correctly calculate time they were being used since last hideout update tick
2024-01-29 16:05:32 +00:00
Dev
9b45d40c2b
Improve dogtag bonus function for HoF area + allow any side dogtag to be used
2024-01-29 15:56:35 +00:00
Dev
ad0489a9e7
Cleanup of updateFuel()
...
Make function calculate drain rate for the whole period since last update ran, not just the interval period in config
Look up max fuel storage of item instead of assuming its expeditionary or the other fuel container
Reduce nesting by inventing an if
2024-01-29 15:55:43 +00:00
Dev
a9517bb1cc
Remove redundant return statements from RagfairOfferGenerator
2024-01-29 11:22:04 +00:00
Dev
330b1ebf28
declare repeatableQuests
as const not let inside removeOrphanedQuests()
2024-01-29 11:12:57 +00:00
Dev
2bb8965c80
Remove redundant else from updateBitcoinFarm()
2024-01-29 11:11:44 +00:00
Dev
079651045d
Remove return type from updateWaterFilters()
2024-01-29 11:10:26 +00:00
Dev
4cc7813320
Replace skillType
bonus property with enum
2024-01-29 10:48:53 +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
dbc6bd9a0b
Improve reorderHideoutAreasWithResouceInputs()
debug messaging
2024-01-29 10:25:14 +00:00
Dev
e579cac907
improve applyPlayerUpgradesBonuses()
debug messaging
2024-01-29 09:59:22 +00:00
Dev
8fe2508e00
Improve addItemToStash()
debug messaging
2024-01-29 09:54:20 +00:00
Dev
8b691e10a9
Improve server locale handling
2024-01-27 23:33:31 +00:00
Dev
215e8f1c4b
Create new SNOW
event separte from new years
2024-01-27 23:08:21 +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
8cf9cb8e15
Fix issue with getDynamicOfferPriceForOffer()
not seeing presets correctly after ragfair rework
2024-01-27 20:00:18 +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
b3f2e3e2a5
Stop PMCs being genered as usec with side of bear
2024-01-27 16:19:26 +00:00
Dev
30efd8b720
Only add location property to mag cartridge stacks when more than 1 is added
2024-01-27 15:03:15 +00:00
Dev
b6327b7d0d
Build fix
2024-01-27 09:03:39 +00:00
Dev
ac78ce1b82
Make name consistent
2024-01-26 22:40:30 +00:00
Dev
26ebe6cfca
Add modUrl for mod data
2024-01-26 22:37:40 +00:00
Dev
89b16cf7c1
remove 2 lint errors
2024-01-26 17:57:42 +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
9b09319d3d
Cleanup of cancelled player flea offer code
2024-01-26 10:49:06 +00:00
Kaeno
09a07ece66
Fix to Items not retaining upd properties when returning them from hideout area stashes
2024-01-25 23:49:35 +00:00
Dev
9520a2977e
Move variable calculation outside of loop
2024-01-25 22:38:42 +00:00
Dev
c116adc0b9
Clenaed up how PMC names are replaced during event
2024-01-25 22:17:18 +00:00
Dev
e8013321ce
improve flea result filtering to allow weapon presets to show when searching for 1 build item but ignore presets when searching for mulitple
2024-01-25 15:09:10 +00:00
Dev
9b47c3b50e
Fix being unable to buy items via equipment preset menu
2024-01-25 14:40:28 +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
fc9e3f9f59
Fix server error when generating single sptBear/sptUsec
2024-01-25 12:59:45 +00:00
Dev
9fbed0c23f
Variable cleanup of generateModsForEquipment()
and removal of duplicate call to db
2024-01-25 10:55:33 +00:00
Dev
2c50139dba
Round armor/weapon durability values to 2 DP
2024-01-25 09:30:50 +00:00
Dev
7d734a18f1
Bot wave adjustments
...
Remove gifter from streets
Remove manual waves from streets
2024-01-24 19:49:42 +00:00
Dev
a6eac990aa
Add more missing props to ITempalteItem
2024-01-24 17:29:11 +00:00
Dev
008d431cf2
Add missing props to ITemplateItem
2024-01-24 17:20:42 +00:00
Terkoiz
d2254249e6
Fixed and expanded QTE type definitions ( !206 )
...
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/206
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-24 16:35:23 +00:00
Dev
e6c3271b23
JSON update
2024-01-24 13:48:02 +00:00
Dev
3ec63ef31d
Fix issue with addChildSlotItems()
and add additional mods
2024-01-23 21:33:24 +00:00
Dev
b68164b830
Add support for sub locales - initial support for PT and ZH
2024-01-23 20:49:06 +00:00
Kaeno
7f90c52386
Corrected isinsured check
2024-01-23 20:19:53 +00:00
Dev
054aea23e0
Enhance findAndReturnChildrenAsItems
with the ability to filter out stored child objects
2024-01-23 20:00:36 +00:00
Dev
2e6574c917
Clean up imports
2024-01-23 16:49:00 +00:00
Dev
d3f9cea4c1
Fix ammobox + magazine cartridges being given to player with an incorrect FiR status, shouild match parents status
2024-01-23 15:24:02 +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
Dev
6378ac6f87
Add back CLIENT_START_TIMESTAMP saving on game start
2024-01-23 10:14:37 +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
32eb8ae35c
Refactor handleRecipe()
to use addItemToStash()
2024-01-21 20:51:00 +00:00
CZPZ
1551a5e793
feature: add probability for extra rep gain on pmc kills as pscav ( !204 )
...
Feel free to rename everything.
We can also use the new function from randomutil and replace code block below on InsuranceController.ts
```
const maxRoll = 9999;
const conversionFactor = 100;
const returnChance = this.randomUtil.getInt(0, maxRoll) / conversionFactor;
const traderReturnChance = this.insuranceConfig.returnChancePercent[traderId];
const roll = returnChance >= traderReturnChance;
```
I killed 2 PMCs with 100% chance and gained 0.07 rep (rounding issue probably somewhere else)
![image](/attachments/00f00922-eb18-4fdc-8958-129b680af704)
Some JS problems :S
![image](/attachments/dcbeb1d1-2ee3-4809-890e-e19fe3190840)
Implements: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/150
Co-authored-by: alimoncul <alimoncul@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/204
Co-authored-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
Co-committed-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
2024-01-21 17:39:37 +00:00
Dev
c68c9a72fb
Refactor handleScavCase()
to use addItemToStash()
...
blacklist soft armor inserts from scavcase rewards
2024-01-21 16:40:14 +00:00
DrakiaXYZ
e31c52e7ff
Add BTR config options ( !203 )
...
Also add the cover service entry
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/203
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-21 08:46:12 +00:00
Dev
693dc4bbb5
Fix PMCs not spawning
2024-01-20 22:50:12 +00:00
Dev
910b5e946c
Refactor removeResourceFromArea()
to use addItemToStash()
2024-01-20 22:42:15 +00:00
Dev
d112d0fa6e
Reworked openRandomLootContainer()
to make use of addItemToStash()
2024-01-20 22:13:47 +00:00
Dev
af50cb7869
FIx getProfileTraderPurchase()
failing when trader doesnt exist in profile
2024-01-20 20:37:41 +00:00
Dev
80b549a2d5
Migrate getBTC()
to use addItemToStash()
2024-01-20 20:26:55 +00:00
Dev
ceba6b3064
Move isItemInStash
into inventoryHelper
...
Cleanup of variable names
2024-01-20 20:15:03 +00:00
Dev
4bca0b7747
Migrate giveProfileMoney()
to use addItemToStash()
2024-01-20 20:06:15 +00:00
Dev
399bbb2e3b
Add framework for BTR config
2024-01-20 18:47:57 +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
a1f043d088
Fix issie with BuyRestrictionCurrent
value persisting between profiles
2024-01-20 00:19:13 +00:00
Dev
4fd37e3a92
Fix all items being free
2024-01-19 22:49:31 +00:00
Dev
134d789a0e
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-01-19 19:23:11 +00:00
Dev
1c9acbbc2e
improve bot generation time
2024-01-19 19:21:51 +00:00
Kaeno
812a6a6884
Fix function removing daily/weekly quests from profile on profile load
2024-01-19 16:41:35 +00:00
Dev
cdb5baac4b
Improve variable names
2024-01-19 12:10: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
c96b177416
Disable use of sorting table when buying from flea/trader/fence - fixes client error
2024-01-19 09:08:11 +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
6eeb8c58d6
Improve iRagfairConfig comments
2024-01-18 20:30:13 +00:00
Dev
c8fa31184f
Prevent gifter bot being added twice
2024-01-18 12:20:28 +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
snowythefox811
f6192f1891
Added The ability to have enhancements on armored rigs and helmets. ( !200 )
...
Added the vest and headwear classes to be eligible for armor enhancement
Co-authored-by: Snow <Notarealemail@email.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/200
Co-authored-by: snowythefox811 <snowythefox811@noreply.dev.sp-tarkov.com>
Co-committed-by: snowythefox811 <snowythefox811@noreply.dev.sp-tarkov.com>
(cherry picked from commit 35eb9feebf
)
2024-01-18 09:08:22 +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
43cbe45376
Make players PMC equipment id unique on profile creation
2024-01-17 15:05:01 +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
15be241dbf
FIx premature exiting of loop
2024-01-16 19:00:21 +00:00
Dev
93edb3e074
Fix player being charged multiple times
...
Fix issue with `findBarterItems()` where it would incorrectly wipe out found results each loop
2024-01-16 18:25:03 +00:00
Dev
33d1395dea
Add debug logging to getSortedMoneyItemsInInventory()
2024-01-16 17:24:28 +00:00
Dev
fbee59fede
When choosing an item to add to a bot, check if the item being added would block an item already equipped
2024-01-16 13:14:48 +00:00
Dev
0166e30dd1
Reduce instances of IItemEventRouterResponse
being passed into a function and then returned, its an object and passed by ref, no need to return it
...
Reduce instances of `IItemEventRouterResponse` being reassigned in a function
Rename `getMoney` to `giveProfileMoney`
2024-01-16 12:21:42 +00:00
Dev
9daa706325
Use correct buycount when buying from fence
2024-01-16 12:08:30 +00:00
Dev
ca1df5ee71
FIx appendErrorToOutput()
overwriting warnings instead of appending
2024-01-16 12:04:55 +00:00
Dev
818bb7e37a
Refactored flea purchase code
2024-01-16 11:47:40 +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
2787b25c8d
Items json changes
2024-01-15 23:14:15 +00:00
Dev
34628561ce
Filter repeatable explore quest map exits per side
2024-01-15 23:13:57 +00:00
Dev
825db77b1f
Move trader purchases over to new system
...
Fix callback errors not being propigated into client error message
FIx incorrect offer id being passed into `buyItem`
Update callbacks to accept a `buyCount` parameter - solves trader purchase limits being exeeded prematurely
Exit addItemToStash early if warning/error found in output
2024-01-15 14:25:17 +00:00
Merijn Hendriks
bdc505bed6
Add locales fallback ( !197 )
...
Fixes [#310 ](https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/310 )
Co-authored-by: Merijn Hendriks <merijn.d.hendriks@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/197
Co-authored-by: Merijn Hendriks <senko-san@noreply.dev.sp-tarkov.com>
Co-committed-by: Merijn Hendriks <senko-san@noreply.dev.sp-tarkov.com>
2024-01-15 12:45:24 +00:00
Dev
cff4a45291
Resolve fence selling helmets that lack inserts
2024-01-15 12:41:54 +00:00
Dev
0d059fbaf4
Remove ancient profile fix
2024-01-15 10:07:57 +00:00
Dev
1d9ff8ace8
Improve buyItem()
to also support putting fence purchases through addItemToStash()
2024-01-14 22:30:05 +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
c2f390d4ac
Make all properties of ITrader
optional
2024-01-14 15:06:43 +00:00
Dev
303be64880
Move code to its own variable
2024-01-14 14:38:10 +00:00
Dev
47a84e508b
Fix some quests failing twice (chemical part 4), reducing rep twice as much as it should
...
Quest failure is handled by client now, no need to find and fail quests in server on quest completion
Move `getQuestsFailedByCompletingQuest()` to questHelper
2024-01-14 12:29:58 +00:00
Dev
4efb75ea58
Fix typo
2024-01-14 10:27:45 +00:00
Dev
41d491dd16
Show error when quest not found in db
2024-01-14 10:27:26 +00:00
Dev
8b03faca89
Fix ragfair offers not saving upd properties
...
Create replacement for `addItem()`, only used for ragfair purchases currently - goal is to fully remove `addItem()`
Dont show warning when generating armor without a default plate on fence
2024-01-14 10:09:43 +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
bf148dba4a
First pass at implementing Place of fame dogtag bonus, bonus is slight out from what is shown on client (0.0x out)
2024-01-13 16:41:06 +00:00
Dev
46ec7bf3ba
Improve handling of presets when adding to player inventory
...
Presets now have all child items FiR status set
2024-01-13 15:01:29 +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
CWXDEV
04564d7e76
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-01-12 22:00:02 +00:00
CWXDEV
f7bdded54d
remove orphaned quests to stop softlocking quest screen.
2024-01-12 21:59:38 +00:00
Dev
0440bdab70
Reworked flea armor listing code
...
Randomises plate durability
Randomises insert durability
2024-01-12 21:59:30 +00:00
Dev
eb961b3e11
Fix saveEquipmentBuild()
not correctly setting root id to first items _id
2024-01-12 17:18:10 +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
bf7dac25ae
Allow fence to strip items from listed weapons that're not raid-modadble, players can sell broken guns to him from menu
2024-01-12 13:33:11 +00:00
Dev
c5806aadb8
Allow fence to list items with missing required items
2024-01-12 13:30:22 +00:00
Dev
3a76757957
Add various missing type properties for new map
2024-01-12 13:00:48 +00:00
Dev
d92f30d281
Fix insurance return all child items of an item (ammo in mags/chamber)
2024-01-12 12:32:04 +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
6a8e261af1
Fix typo
2024-01-11 12:48:10 +00:00
Dev
3b255f3ce4
Fix createMagazineTemplate
failing when no userbuilds.magazineBuilds
array exists
2024-01-11 11:53:19 +00:00
DrakiaXYZ
fcbd39c6b0
Remove delivered items from player insured items ( !191 )
...
This stops players from duplicating insured items via the BTR delivery service
Note: This does un-insure the item, I don't have any proof one way or the other for whether live causes the items to no longer be insured, but this was the easier solution to implement.
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/191
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-11 08:13:27 +00:00
Dev
3ef7e3218e
Update loot data
2024-01-10 23:07:06 +00:00
Dev
219086d9bb
Fix only one type of bot spawning
2024-01-10 21:08:00 +00:00
Dev
f66b2d04a9
Revert "This PR aims to resolves issue #280 ( !190 )"
...
This reverts commit e0e62d8e47
.
2024-01-10 17:43:39 +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
7ee3be1e2b
Round completeTime property to integer to prevent client error
2024-01-10 14:10:03 +00:00
Dev
c918875a38
Fix view profile not showing correctly
2024-01-10 13:53:26 +00:00
Dev
9a4231d8b8
Rename function profileHelper.removeCompletedQuestConditionFromProfile() to removeQuestConditionFromProfile
2024-01-10 12:37:34 +00:00
Dev
297bc2786a
Improve armor quest rewards
...
Attempt to return the armor preset found in globals.json first as this has default plates, if that fails construct item outselves based on mods _requried properties
2024-01-10 10:04:09 +00:00
Dev
55eae60329
Merge branch '3.8.0' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0
2024-01-10 09:14:11 +00:00
Dev
2fd2c677b7
Reduce usage of magic string inside getUserBuilds()
2024-01-10 09:13:34 +00:00
Mihai
e0e62d8e47
This PR aims to resolves issue #280 ( !190 )
...
Updated itemDelivery method in InraidController to filter out insured items from the items array using the insuranceService.
Added logic to exclude insured items from being sent as part of the delivery message to the player.
Co-authored-by: mihaicm93 <45673304+mihaicm93@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/190
Co-authored-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
Co-committed-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
2024-01-10 08:44:03 +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
443d8da7f7
FIx server error when passing failed quest data to client
2024-01-09 18:46:44 +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
154578dd44
Update randomisation config to specifiy its for weapon mods + add equipment mod adjustment system
...
Adjust PMCs to use more gear mods at higher levels
2024-01-09 16:15:31 +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
a742beeae9
Comment and property name cleanup inside removeDanglingTaskConditionCounters()
2024-01-09 12:27:08 +00:00
Terkoiz
98b0a579b3
Fixed achievement counters getting mistakenly cleaned up as stale quest counters ( !189 )
...
Fixes #273
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/189
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-09 11:57:27 +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
5ffccddf94
Nullguard against missing properties
2024-01-08 21:17:23 +00:00
Dev
878284f108
Fix issue with insurance not returning soft inserts for armors
2024-01-08 21:16:53 +00:00
Dev
e18f75a60c
Cast trader property to number before use
2024-01-08 21:14:13 +00:00
Dev
0c7cecdacd
Add variable durability loss to armor plates sold by fence
2024-01-08 17:43:19 +00:00
Dev
0997c21ba3
Remove debug code
2024-01-08 17:39:28 +00:00
Dev
6dc4604a77
Update inventoryHelper.addItem()
to account for items with children that have a upd object
...
This whole function is in dire need of a rewrite, its awful
2024-01-08 12:41:52 +00:00
Dev
507e8eeaa7
Improve comments
2024-01-08 11:35:20 +00:00
Dev
96f75fd744
Correctly remove item + children from fence assorts when running removeFenceOffer()
2024-01-08 11:34:52 +00:00
Dev
30507acd1b
Add armor to randimisation list for PMCs
2024-01-08 10:22:24 +00:00
Dev
07b5ab432e
Check for empty pool when adding mods to equipment during loot generation
2024-01-08 09:40:18 +00:00
DrakiaXYZ
3401b4094e
Initial commit of trader services structure ( !187 )
...
- Only contains BTR taxi and delivery services
- Super basic implementation, client doesn't seem to need anything except the service type for these
- Includes handling of the BTR Item Delivery service
Basic implementation can be merged and expanded on later, doesn't break anything by existing (Hopefully)
I've opted to add the routes to the `InRaid` controller/Callbacks, because it is a route only accessed within the raid. Seemed like it would be the best place for it
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/187
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-08 08:51:46 +00:00
Dev
0b3ad5bbd8
Only send failed quest trader messages for non-repeatable quests
2024-01-07 23:51:28 +00:00
Dev
5eda074dbe
Add comments
2024-01-07 23:11:18 +00:00
Dev
928e406b76
First draft of randomisd armors on fence
2024-01-07 22:11:05 +00:00
Dev
f0b9785d16
Add BTR_ITEMS_DELIVERY
to enum MessageType
2024-01-07 21:21:20 +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
9cbf87b7c3
Remove redundant writeHead()
call inside sendZLibJson()
2024-01-07 20:20:10 +00:00
Dev
6231a56fea
Prevent duplicate items spawning in static containers
2024-01-07 20:17:07 +00:00
Dev
ed82e9ed2f
Halloween event fixes
2024-01-07 19:29:42 +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
749fc75a25
Add randomWeather/randomTime to inraidConfig
2024-01-07 12:56:57 +00:00
Mihai
3c32c8cc67
Addressed build failures by initializing an array properly as '[]' instead of 'undefined,' ( !185 )
...
Co-authored-by: Mihai <mihai@something.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/185
Co-authored-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
Co-committed-by: Mihai <mihai@noreply.dev.sp-tarkov.com>
2024-01-07 07:40:16 +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
009055ad24
Add missing aid
value to IUserDialogInfo
2024-01-06 13:49:48 +00:00
Dev
4e21239de3
Improve accuracy of view profile
2024-01-06 13:40:00 +00:00
Dev
8ef405e551
Correctly implemented:
...
`client/builds/delete`
`client/builds/equipment/save`
`client/builds/weapon/save`
Updated `defaultEquipmentPresets` json data
Removed old 0.13 preset implementation files
profile-breaking change
2024-01-06 11:11:04 +00:00
Dev
d3afe0b6f3
Fix issue with completing a quest
...
Altered `addTimeLockedQuestsToProfile()` to not fail when checked quest has no `target` property
Altered `getNewlyAccessibleQuestsWhenStartingQuest()` to check all statuses of quest, not just first
2024-01-06 09:11:04 +00:00
Dev
2de4164a93
Improve comments of getQuestsFailedByCompletingQuest()
2024-01-05 22:59:01 +00:00
Dev
9fb747f5f6
Only check and remove repeatable scav quests from scav profile
2024-01-05 22:55:19 +00:00
Dev
bd373a993d
FIx handing in quests failing
2024-01-05 22:52:11 +00:00
Dev
861987406e
Handle quest failures
2024-01-05 21:14:20 +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
3979e6ef61
Add handling for quest failing while player is at menu
2024-01-05 15:27:28 +00:00
Dev
b5951a147b
Log request data when endpoint is missing
2024-01-05 14:50:27 +00:00
Dev
6da2ce2f74
Update quest data + improve quest type accuracy
2024-01-05 14:35:29 +00:00
Dev
1249b309cf
Improve accuracy when handling client/achievement/statistic
2024-01-04 21:28:47 +00:00
Dev
c5bb09cce5
Persist achievement data from client into server profile on raid end
2024-01-04 17:17:11 +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
90f82d0e03
Update map linkages
2024-01-02 19:12:11 +00:00
Dev
628d817348
Show error when missing caliber data in drawAmmoTpl()
2024-01-02 15:01:27 +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
3437b70eaf
Remove unused interfaces
2023-12-30 22:09:55 +00:00
Dev
c39e331423
Replace conditionCounters
array with with TaskConditionCounters
dictionary
2023-12-30 21:59:51 +00:00
Dev
eca799d606
Use correct dictionary for storing data in profile TaskConditionCounters
instead of BackendCounters
2023-12-30 21:30:54 +00:00
Dev
ffc3a28dc8
Fix fillMagazineWithCartridge()
failing to get a cartridge size when weapon is the rotating grenade launcher
2023-12-30 18:43:17 +00:00
Dev
bea2a5d30a
Correctly add armor inserts into statically spawned helmets
2023-12-30 17:38:06 +00:00
Dev
a194569946
Basic implementation for viewing other profiles
2023-12-30 16:41:20 +00:00
Dev
d72fd3fa24
Add base BTR trader server code
2023-12-30 11:21:19 +00:00
Dev
78c53f36d8
Improve post raid type data accuracy
2023-12-30 10:45:37 +00:00
Dev
81393fb629
Improve error logging in weapon gen
2023-12-30 10:45:12 +00:00
Dev
6a8d8258dd
Update getProfileStatus()
to make live
2023-12-29 23:24:23 +00:00
Dev
11e64eacab
Add achievement storage to profile on creation
2023-12-29 23:06:57 +00:00
Dev
22a4ba3643
make account id closer in style to live
2023-12-29 22:53:16 +00:00
Dev
ca7958afed
Implement Place of face
hideout area
...
Implement adding/removing favorite items
2023-12-29 20:22:50 +00:00
Dev
d1b9cbbfc5
Enable snow for christmas/new years
2023-12-29 19:09:03 +00:00