Completely fixes the hostility issue in EFT 0.16 / SPT 3.11 where bots don't fight others as they should.
Originally made as an update to Please Just Fight, however it faces a core limitation in 0.16: same-faction PMC groups won’t fight each other, only engaging opposing factions. Everyone lives in a big happy family.
To fix this, the mod was fully rewritten with patches that:
Split PMC mega groups into individual ones (per bot and per spawn group setting).
Remove faction-based hostility restrictions.
Result: PMCs now engage any hostile target, including former allies, enabling true free-for-all combat, while keeping their spawn group settings.
Do note that I tend to kill everyone so there’s no distinguishing for USEC player and rogues. Kill em all.
Details: Hostility is group based. Bots are spawned into same role group, regardless of their spawn group setting (duo, trio, solo, quad…). For example, the game spawned a duo USEC squad, a trio USEC squad, and 2 solo USEC. The result is they are all added into one big USEC group that they won’t fight each other. You can set bots as enemy even within their own big group, but that would break any spawn group settings and is practically bad.
This mod was made back in June when I was still playing SPT.
3.2K Downloads
Linked to github release on June 16.
Download the Separate Hostility package.
Install like any other client side mods.
Details
-
GUID
Not Available
-
Additional Authors
-
License
-
Source Code
-
Latest Version VirusTotal Result
https://www.virustotal.com/gui/file/19333417a38ce0240236cd44a282985feb38d2c9205a1531312e18de018f34ea
hello i noticed something after a raid the bepinex console is getting spammed
this spam continues none stop until a game restart i didn notice any issues ingame just the error appreaing
“EXCEPTION: System.NullReferenceException at (wrapper managed-to-native) UnityEngine.Transform.get_position_Injected(UnityEngine.Transform,UnityEngine.Vector3&) at UnityEngine.Transform.get_position () [0x00000] in <b4e80bd296bc48ba89d931486f299d70>:0 at EFT.BifacialTransform.get_position () [0x00023] in <13b3da31885d4b8d827d4190298e367f>:0 at BotsGroup+Class267.method_2 (EnemyInfo info) [0x00011] in <13b3da31885d4b8d827d4190298e367f>:0 at System.Linq.EnumerableSorter2[TElement,TKey].ComputeKeys (TElement[] elements, System.Int32 count) [0x00010] in <a314714511a14f84b853c03efd8682b8>:0 at System.Linq.EnumerableSorter1[TElement].ComputeMap (TElement[] elements, System.Int32 count) [0x00000] in <a314714511a14f84b853c03efd8682b8>:0 at System.Linq.EnumerableSorter1[TElement].Sort (TElement[] elements, System.Int32 count) [0x00000] in <a314714511a14f84b853c03efd8682b8>:0 at System.Linq.OrderedEnumerable1[TElement].SortedMap (System.Linq.Buffer1[TElement] buffer) [0x00006] in <a314714511a14f84b853c03efd8682b8>:0 at System.Linq.OrderedEnumerable1[TElement].ToArray () [0x00025] in <a314714511a14f84b853c03efd8682b8>:0 at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable1[T] source) [0x0001f] in <a314714511a14f84b853c03efd8682b8>:0 at BotsGroup.method_9 () [0x00128] in <13b3da31885d4b8d827d4190298e367f>:0 at BotsGroup.method_8 (System.Boolean checkEnemiesOnDead) [0x00016] in <13b3da31885d4b8d827d4190298e367f>:0 at BotsGroup.method_7 () [0x0000d] in <13b3da31885d4b8d827d4190298e367f>:0 at BotsGroup.method_2 () [0x00016] in <13b3da31885d4b8d827d4190298e367f>:0 at (wrapper delegate-invoke) <Module>.invoke_void() at EFT.StaticManager.Update () [0x0001b] in <13b3da31885d4b8d827d4190298e367f>:0 2025-09-08 23:22:26.987 +02:00|0.16.1.3.35392|Error|Default|NullReferenceException
UnityEngine.Transform.get_position () (at <b4e80bd296bc48ba89d931486f299d70>:0)
EFT.BifacialTransform.get_position () (at <13b3da31885d4b8d827d4190298e367f>:0)
BotsGroup+Class267.method_2 (EnemyInfo info) (at <13b3da31885d4b8d827d4190298e367f>:0)
System.Linq.EnumerableSorter2[TElement,TKey].ComputeKeys (TElement[] elements, System.Int32 count) (at <a314714511a14f84b853c03efd8682b8>:0)<br>System.Linq.EnumerableSorter1[TElement].ComputeMap (TElement[] elements, System.Int32 count) (at <a314714511a14f84b853c03efd8682b8>:0)<br>System.Linq.EnumerableSorter1[TElement].Sort (TElement[] elements, System.Int32 count) (at <a314714511a14f84b853c03efd8682b8>:0)<br>System.Linq.OrderedEnumerable1[TElement].SortedMap (System.Linq.Buffer1[TElement] buffer) (at <a314714511a14f84b853c03efd8682b8>:0)
System.Linq.OrderedEnumerable1[TElement].ToArray () (at <a314714511a14f84b853c03efd8682b8>:0)<br>System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable1[T] source) (at <a314714511a14f84b853c03efd8682b8>:0)<br>BotsGroup.method_9 () (at <13b3da31885d4b8d827d4190298e367f>:0)
BotsGroup.method_8 (System.Boolean checkEnemiesOnDead) (at <13b3da31885d4b8d827d4190298e367f>:0)
BotsGroup.method_7 () (at <13b3da31885d4b8d827d4190298e367f>:0)
BotsGroup.method_2 () (at <13b3da31885d4b8d827d4190298e367f>:0)
EFT.StaticManager.Update () (at <13b3da31885d4b8d827d4190298e367f>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Class405:UnityEngine.ILogHandler.LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object) “
There is a funny issue where PMCs with this mod just shoots Santa on sight instead of ignoring him.
And the mod list grows ever longer
does this conflict with friendly pmcs?
this causes rogues to attack usecs on lighthouse. including your character if you are usec.
Does it work with MOAR?
Is there still a small vanilla chance with this mod that PMCs of same group will be friendly?
And groups are still possible, yeah?
I have to ask, but you did get permission to upload this yes?
I found out and downloaded this mod from GitHub a while ago. Has there been any new update or is this just an official upload to SPT hub? Thanks!
P/S: This mod works just fine, no incompatibility with SAIN or anything.
Is this mod compatible with sain?