EnemyInteractionsFix
Enemy Interactions 1.2.0 rebuilt for the current KillPlayer signatureEnemy Interactions (fix)
Unofficial fix build of Enemy Interactions 1.2.0 by Gemumoddo / Wet-Boys. All credit for the mod itself goes to them; this only repairs one hook that the latest game update broke.
Do not install this alongside Gemumoddo-EnemyInteractions. It uses the same plugin GUID (com.gemumoddo.enemyinteractions), so BepInEx will only load one of them.
What was broken
PlayerControllerB.KillPlayer gained a trailing bool setOverrideDropItems parameter. The mod's on-kill hook still declared the old six-argument signature, so MonoMod rejected it and the whole plugin failed during Awake:
InvalidOperationException: Parameter #0 of hook for Void KillPlayer(UnityEngine.Vector3, Boolean,
CauseOfDeath, Int32, UnityEngine.Vector3, Boolean) doesn't match, must be
GameNetcodeStuff.PlayerControllerB or related
Because it threw before any hook was registered, nothing in the mod ran — no on-kill emotes, no random enemy emotes.
What changed
Only EnemyKillHooks.OnKillPlayer: the orig delegate is now
Action<PlayerControllerB, Vector3, bool, CauseOfDeath, int, Vector3, bool>, the new parameter is
accepted, and it is passed straight through to orig. No behaviour changes.
Lmao
THIS DOES NOTHING WITHOUT MODS THAT ADD THEIR EMOTES TO THE LISTS (At the moment, the only two that I know of that do this are BadAssCompany and NekiyManEmotes)
Enemies can now emote randomly, that's all.
Working on adding more functionality in the future, but a more general AI handler will be required
Emote Devs
If any mod wants to add their own emotes to this, the current process is just
EmoteOptions.onKillEmotes.Add(new EnemyEmote("com.weliveinasociety.badasscompany__Default Dance", 30));
or
EmoteOptions.intermittentEmoteList.Add(new EnemyEmote("com.weliveinasociety.badasscompany__Gangnam Style", 1));
onKillEmotes will trigger when a player dies
intermittentEmoteList will be played on enemies every few minutes
EnemyEmotes have a string for the emote name and a float for the max time the emote will play (primarily used for looping emotes you only want to play for a few seconds)
