This patch aims to prevent the player from incorrectly receiving the incompatible ammo notification if an AI fails to shoot because of incompatible ammo. Tested with no errors, should probably be added and let users report whether it still occurs as it is hard to reliably reproduce.
Co-authored-by: Lacyway <20912169+Lacyway@users.noreply.github.com>
Reviewed-on: SPT/Modules#171
Co-authored-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Co-committed-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Patch used to stop the allocation of a new `Stopwatch` every frame for all active AI which should save some resources. The data from the stopwatch is unused so I am unsure why BSG left it there.
Co-authored-by: Lacyway <20912169+Lacyway@users.noreply.github.com>
Reviewed-on: SPT/Modules#170
Co-authored-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Co-committed-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
`InitAllExfiltrationPoints` will instantiate the list of `ScavExfiltrationPoints` in one line before `EligiblePoints` is ran, meaning the following always returned:
```cs
if (__instance.ScavExfiltrationPoints.Length > 0)
{
Logger.LogError($"ScavExfiltrationPoints has content, Do original");
foreach (var scavExit in __instance.ScavExfiltrationPoints)
{
Logger.LogError($"{scavExit.name}, {scavExit.Id}, {scavExit.Description}");
}
return true; // do original
}
```
I'm not sure if the logic was different before 3.10, but removing this ensures that the patch runs as intended. Tested both PMC and Scav raids, all is fine for me. Please test on your end as well.
Co-authored-by: Lacyway <20912169+Lacyway@users.noreply.github.com>
Reviewed-on: SPT/Modules#169
Co-authored-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Co-committed-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
This adds a patch that enforces PMC AI to be hostile towards scavs. From my testing they were not attacking random scavs and the player because the boolean failed at the attached screenshot due to PMCs being bosses and the loyalty check. Now it checks if the initial bot type of the group was a PMC Bear or USEC and then if the player it checks for is a scav, they will be forced to be an enemy (which to me seemed natural).
![image](/attachments/4a73df0f-7030-4c61-869f-0a20ba804d8b)
I've tested this on 3 raids on customs and it seems to work fine. Feel free to edit the PR if the logic is flawed, and please test the patch thoroughly to ensure my tests were not just lucky.
Thanks!
Co-authored-by: Lacyway <20912169+Lacyway@users.noreply.github.com>
Reviewed-on: SPT/Modules#168
Co-authored-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Co-committed-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
This patch ensures that the game mode is _always_ Local and PvE if the player skips the raid settings window. This way an online `GameWorld` will not be incorrectly instantiated.
**NOTE**: This might make EnablePlayerScavPatch redundant or at least parts of it.
Co-authored-by: Lacyway <20912169+Lacyway@users.noreply.github.com>
Reviewed-on: SPT/Modules#167
Co-authored-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Co-committed-by: Lacyway <lacyway@noreply.dev.sp-tarkov.com>
Parameter length changed.
Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: SPT/Modules#166
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
Client implementation of my `TraderServiceFix` mod into the SPT code base. Details on server PR, also is required to be merged with the accompanying server PR.
Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: SPT/Modules#165
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>