Very nice! :) I assume this also means, that we'll be able to camp and sleep near rivers again? Also: since I don't have SSEDit handy, is there any chance you could say a bit about how you achieved this?
Yes. It's embarrassingly simple actually, yet effective. The calm spell archetype sets any actors aggression to 0, in this case unless the player is swimming. This does not only cause the slaughterfish to not chase you when on land but also prevents them from going above water, since the IsSwimming condition is only valid when the player is deeper than hip level in water. The only reason slaughterfish go above surface level is because of their high aggression and trying to chase the player on land. This will now never happen since the player will always be above hip level water before they would need to surface to try and reach the player.
I had some LO conflicts with this, and also wanted to apply the spell to slaughterfish from Bruma and Beyond Reach, so I made a SPID ini that distributes the spell to all creatures in the SlaughterfishRace. Here it is, in case anyone finds it useful:
Spoiler:
Show
; .: Slaughterfish Fast Travel and Submersion Fix SPID :. ; ; This Spell Perk Item Distributor (SPID) ini distributes the spell from Exalderan's mod to slaughterfish. ; The spell makes slaughterfish ignore the player until they are swimming, effectively preventing them from becoming aggressive while the player is on land. ; ; The distribution requires: ; - Slaughterfish Fast Travel and Submersion Fix (https://www.nexusmods.com/skyrimspecialedition/mods/129228) ; ; SPID distribution is helpful here because a number of popular mods touch the slaughterfish record, including e.g. SkyTEST and its many patches. ; ; Slaughterfish Calm Spell = aaaEVE_SlaughterfishCalmAbility|None|SlaughterfishRace ; ; ; ; Ceterum censeo Potentia Trium est mirabile ingenio
Damn, this is cool. I actually tried to fix it myself using scripts a long time ago, but haven't managed to make anything reliable at the time and wanted to try again later. And now you release this and without any scripts. Your implementation is simple and elegant. One imperfection is that the condition is IsSwimming (which is the only one you can use without scripts) and therefore if the water isn't deep enough to swim they won't follow you at all, but at the same time unlike po3's IsActorInWater() it prevents Slaughterfish from following you to the shore like some crocodile, and this is also not really a big problem, so i can live with it
Thank you lilebonymace, sorry i beat you to it :P Ah yes I'm still thinking about that problem with shallow water maybe I can come up with something later.
while i was taking a shower i realized there's a bigger issue. the condition on the spell checks PlayerRef, so it works correctly if only the player is involved. but what if there are followers or just random animals or NPCs that happened to get into water? slaughterfish won't care if they're in water or not, it will only check the player
Yea, but I couldn't think of enough scenarios where a follower or animal is in water but the player is not. Except if you chase an animal into the water or fear a bandit and wait on the shore for carnage to happen (wow that's evil). But I hope that is only a small inconvenience to most players. It's not that it isn't possible but I'd rather avoid periodic checks in script or cloak spells.
two more screnarios: - you get out of the water and the followers follow you but not immediately. the slaughterfish retires as soon as you get on the shore, even if the followers are still in the water - animals often just randomly get into water, as mentioned in the description of Animals Swim But yeah i quess i can live with that too since the vanilla slaughterfish behavior is far worse. Making it process all actors the same would indeed require a lot more complex and less performance-friendly method
33 comments
; .: Slaughterfish Fast Travel and Submersion Fix SPID :.
;
; This Spell Perk Item Distributor (SPID) ini distributes the spell from Exalderan's mod to slaughterfish.
; The spell makes slaughterfish ignore the player until they are swimming, effectively preventing them from becoming aggressive while the player is on land.
;
; The distribution requires:
; - Slaughterfish Fast Travel and Submersion Fix (https://www.nexusmods.com/skyrimspecialedition/mods/129228)
;
; SPID distribution is helpful here because a number of popular mods touch the slaughterfish record, including e.g. SkyTEST and its many patches.
;
; Slaughterfish Calm
Spell = aaaEVE_SlaughterfishCalmAbility|None|SlaughterfishRace
;
;
;
; Ceterum censeo Potentia Trium est mirabile ingenio
Ah yes I'm still thinking about that problem with shallow water maybe I can come up with something later.
- you get out of the water and the followers follow you but not immediately. the slaughterfish retires as soon as you get on the shore, even if the followers are still in the water
- animals often just randomly get into water, as mentioned in the description of Animals Swim
But yeah i quess i can live with that too since the vanilla slaughterfish behavior is far worse. Making it process all actors the same would indeed require a lot more complex and less performance-friendly method