0
0
mirror of https://github.com/sp-tarkov/modules.git synced 2025-02-12 17:10:44 -05:00

647 Commits

Author SHA1 Message Date
Dev
72dec65d8e Update cake + readme 2024-01-25 08:51:43 +00:00
Dev
79efcf22ce Fix class rename that kills patch 2024-01-24 22:49:10 +00:00
Dev
2fbe050a14 28476 - update mappings most classes were offset by 2 2024-01-24 11:08:16 +00:00
Dev
6b81544363 28476 - no code changes 2024-01-24 10:44:44 +00:00
Dev
c30ad2f365 make _sptPath readonly 2024-01-23 15:42:47 +00:00
Dev
060dbcd585 Add comment to SettingsLocationPatch 2024-01-23 15:42:11 +00:00
701c3a6685 Move BTR code into Aki.Custom (!66)
- Move most BTR code to Aki.Custom (Leaving debug commands in Aki.Debugging)
- Make BTR patches public to match other patches
- Disable debug BTR command patches

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#66
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-23 08:47:09 +00:00
dee1e4a76c Add BTR config, and use LocationsWithBTR setting (!65)
Depends on server change: SPT-AKI/Server#203

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#65
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:27 +00:00
136b051623 Implement BTR taxi service (!64)
- Move creation/init of the BTRManager to before the `ExtractionTimerPanel.SetTime` method, to fix BTR timer panel not functioning
- Add subserviceId to the `OnTraderServicePurchased` event
- Add BTR taxi service handling

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#64
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-20 21:43:02 +00:00
Dev
7c744a4dc0 DIsable PMCBotSpawnLocationPatch for now as its killing PMC spawns 2024-01-20 20:29:02 +00:00
879d90b71f Player will receive notifications when purchasing BTR service or when they are blacklisted from the BTR (!63)
Todo:

* Taxi service
* Improve turret aim/firing
  * Switch targets when current target out of line of sight
* Allow certain aspects to be configured from server, for example: price multipliers, wait times at each location, etc.
* Perhaps, a persisting blacklist from the BTR for several raids afterwards
* Further code refactoring

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#63
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-20 09:20:32 +00:00
e771501cd5 BTR Cover Fire service and roadkill trigger implemented (!62)
Todo:

* Taxi service
* Refinement of BTR turret aim/shooting
  * BTR should switch targets if it has no line of sight to current target
* Blacklist player from entering BTR after antagonising it
  * Perhaps make blacklist persist for 3 raids (apparently on Live?)
* Code refactor because it currently looks like doodoo

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#62
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-19 08:47:52 +00:00
Kaeno
a0f2bb9261 Added new patch to fix bots spawning on Sandbox( Ground Zero ) 2024-01-18 20:59:33 +00:00
Dev
9244abe669 Add experimental patch to make PMCs spawn at pmc spawn positions 2024-01-18 14:35:59 +00:00
Kaeno
b89af9f1ee Fixes to scav extracts. Now allowing correct extracts as we were disabling some incorrectly 2024-01-18 14:19:58 +00:00
Kaeno
a5c2e1a0a4 adjusted wildspawntype.gifter to not be hostile by default 2024-01-18 12:22:06 +00:00
Terkoiz
10164c3b1c Double sneaky fix haha 2024-01-15 20:39:43 +02:00
Terkoiz
bc190cb6f8 Sneaky fix for ambiguous reference error 2024-01-15 19:27:59 +02:00
4dee774efc Refactor trader services into its own manager in Aki.Singleplayer (!61)
I've moved trader services handling from Aki.Debugging BTR code into Aki.SinglePlayer
This simplifies some of the code, and allows a more "generic" implementation.

I've also patched the GetTraderServicesDataFromServer and TryPurchaseTraderService methods to properly utilize the TraderServicesManager for storing service state

For now, this makes Aki.Debugging depend on Aki.SinglePlayer, this can be reverted once the BTR stuff is moved

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#61
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-15 09:09:31 +00:00
f3141db764 Updated hollowed.dll from the updated AssemblyTool (!60)
Depends on SPT-AKI/SPT-AssemblyTool#4

Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: SPT-AKI/Modules#60
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-14 09:24:02 +00:00
7f5b068bb8 Fix BTR patches to work with new publicized Assembly (!59)
Should make the BTR work again.

I've also switched named methods to use "nameof" where it made sense. And removed an unnecessary method call and fixed an incorrect async on one of my patches

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#59
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-14 09:05:13 +00:00
337a0733ae Publicized assembly refactor (!58)
Depends on SPT-AKI/SPT-AssemblyTool#3

* Refactored Modules for better consistency and general readability, along with preparing the code for a publicized assembly
* Added `PublicDeclaredFlags` to `PatchConstants` to cover a set of commonly used flags to get methods post-publicizing
* Added a replacement to LINQ's `.Single()` - `.SingleCustom()` which has improved logging to help with debugging Module code. Replaced all `.Single()` usages where applicable
* Replaced most method info fetching with `AccessTools` for consistency and better readability, especially in places where methods were being retrieved by their name anyways

**NOTE:**
As a side effect of publicizing all properties, some property access code such as `Player.Position` will now show "ambiguous reference" errors during compile, due to there being multiple interfaces with the Property name being defined on the class. The way to get around this is to use a cast to an explicit interface
Example:
```cs
Singleton<GameWorld>.Instance.MainPlayer.Position
```
will now need to be
```cs
((IPlayer)Singleton<GameWorld>.Instance.MainPlayer).Position
```

Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: SPT-AKI/Modules#58
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-13 22:08:29 +00:00
bbf55a7031 Fix the EasyAssetsPatch error some users gets (!57)
- Prioritize loading the JSON manifest instead of the binary manifest

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#57
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-13 19:47:41 +00:00
0cabe9dc12 Shooting the BTR will make it retaliate. Fixed BTR turret from rotating when non-hostile (!56)
Todo:

* Make the UI notifications for BTR-related stuff appear, e.g. when BTR is about to depart
* Prevent player from entering BTR when it is hostile to the player
* Implement cover fire trader service
* Finish implementation of taxi service
* Finetune the turret machine gun shooting (it might need some pauses as it will shoot nonstop if it is aiming at you)

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#56
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-12 08:54:12 +00:00
Dev
b82ef6dd30 Fix quests not updating their status mid-raid 2024-01-10 11:54:15 +00:00
Terkoiz
319ca925f3 Sneaky README edit 2024-01-10 10:40:47 +02:00
deffa72bb2 Adjusted the setup instructions (!55)
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: SPT-AKI/Modules#55
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-01-09 16:16:32 +00:00
95503d79c2 Fix error on extract for maps without a BTRController (!54)
Missed a null check

Fixes SPT-AKI/Issues#266

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#54
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-08 16:15:50 +00:00
8be3480a6c Initial commit of BTR service code (!53)
- Reads service list from server
- Properly calculates cost of taxi and delivery service
- Only allows sending items to stash once per raid
- Enable service debug commands `debug_show_dialog_screen` and `btr_deliver_items` (Only usable in raid)
- Implements delivery of items via the BTR to stash

Does not currently implement usage of taxi service

Requires server PR: SPT-AKI/Server#187

Opening a PR at this point because the next processes can be built on top of this as separate tasks, and this is at a good usable state

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#53
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-08 08:53:35 +00:00
Dev
1e92d88339 Add randomWeather/randomTime handling 2024-01-07 13:01:49 +00:00
Dev
94e906105c Fix bad remapping 2024-01-05 10:58:36 +00:00
Dev
3060657ebf Add additional mapping: GClass1248": "AchievementModelClass 2024-01-05 09:31:46 +00:00
Dev
59f9549ced Update modules with additional remappings 2024-01-05 09:27:59 +00:00
37432541c3 Player can now talk to BTR driver (!52)
Todo:

* BTR trader services requires implementation server-side
  * Send items to player stash (2x4)
  * Provide covering fire
  * Taxi to a specific location on Streets
* Fix turret aiming at player from raid start
* Make turret shoot at enemies (including player)

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#52
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-05 08:58:15 +00:00
Dev
5fcc904a89 Small cleanup of MidRaidQuestChangePatch 2024-01-04 17:25:56 +00:00
Dev
24e820feb5 Add comments to new function 2024-01-04 17:24:11 +00:00
b94cf04971 fix ValidationUtil, remove unused field 2024-01-04 17:18:46 +00:00
b2872ad707 Feat: implement achievement popup with data being set to profile for server to save 2024-01-04 17:16:43 +00:00
Dev
581acc719f Improve VersionLabelPatch to show eft version 2024-01-04 10:11:47 +00:00
Dev
ae2b98b69e Add additional logging to patch 2024-01-04 09:25:42 +00:00
Terkoiz
2878279ce9 Experimentlal fix for LocationId patch breaking hideout 2024-01-04 11:19:11 +02:00
33e6c151af Player can now enter and exit the BTR (!51)
Todo:

* BTR Driver services
  * Send to items to player stash (2x4)
  * Provide covering fire
  * Taxi to a specific location on Streets
* BTR turns hostile if you shoot it
* BTR automatically follows a set path from raid start, stopping at locations for 90 seconds each stop

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#51
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-04 08:51:06 +00:00
e4f91a58e4 BTR Progress Update (!50)
Current progress:

* BTR spawns in, clientside BTR is synced with serverside BTR
* BTR Bot spawns in, is assigned to BTRController (GClass2911) correctly
* BTR Bot is initialized properly (invisible, makes no sound, doesn't shoot at player)

Todo:

BTR is currently missing functionality

* It needs to allow player to enter and exit
* Player should be able to interact with BTR driver/open BTR stash UI/pay money to get taxi'd to a chosen location/pay money for it to provide covering fire
* Turret should rotate to shoot player if they attack it
* It should be able to drive on its own from raid start, going from location to location, on a set path

Co-authored-by: Nympfonic <arys.steam@gmail.com>
Reviewed-on: SPT-AKI/Modules#50
Co-authored-by: Arys <arys@noreply.dev.sp-tarkov.com>
Co-committed-by: Arys <arys@noreply.dev.sp-tarkov.com>
2024-01-03 16:06:50 +00:00
a31f19755f Move setting of gameWorld.LocationId to its own patch (!49)
Since gameWorld.LocationId can be used by multiple things (And may be used by more in the future), move it to its own patch instead of as part of the BTR patch.

Target `method_3` in `BaseLocalGame` to assign it as close to where a live game would set it

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#49
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-03 08:57:57 +00:00
Dev
45d053e300 Disable OfflineSpawnPointPatch as spawns work without it 2024-01-02 14:49:58 +00:00
48622c7ecc Set gameworld LocationId property (!48)
GClass2911 expects gameWorld.LocationId to be set to instantiate the BTRView

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT-AKI/Modules#48
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-01-02 13:36:09 +00:00
Dev
9522dd6df7 Update eft version in readme 2024-01-01 17:25:17 +00:00
Dev
2c1afe4bdc Formatting fix 2024-01-01 17:24:19 +00:00
Dev
5842d71060 Update readme 2024-01-01 17:23:23 +00:00
Dev
865a1966d0 Reworked debug patch into single post-patch
Create singleton instance of 2911 if it doesnt exist
2024-01-01 17:18:11 +00:00