I tried, not possible for one reason: spells need a handmade patch! For arrow and bolt speeds, a skypatch exists that does something similar: Arrow and Bolt Tweaks by Material - SkyPatched
Any idea what this means? Stops the patcher from going any further. I checked the settings and it just has the true/false settings (kill move stagger disabled by default).
Spoiler:
Show
Starting search for paralysis magic effects! Reading settings: A:\Files\Skyrim Mod Programs\Synthesis\Data\Skyrim Special Edition\KillmoveParalysisPatcher\settings.json System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'length') at Mutagen.Bethesda.Skyrim.MagicEffectBinaryOverlay.<>c.b__285_1(ReadOnlyMemorySlice`1 s, BinaryOverlayFactoryPackage p) at Mutagen.Bethesda.Plugins.Binary.Overlay.BinaryOverlayList.BinaryOverlayListByStartIndex`1.GetEnumerator()+MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate) at KillmoveParalysisPatcher.Program.RunPatch(IPatcherState`2 state) in C:\Users\Name\AppData\Local\Temp\Synthesis\fe5eyp32.0uw\Git\3fklzxag.tom\Runner\KillmoveParalysisPatcher\Program.cs:line 30 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass15_0`2.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 103 --- End of stack trace from previous location --- at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, Nullable`1 exportKey, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 607 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass43_0.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 472 --- End of stack trace from previous location --- at Mutagen.Bethesda.Synthesis.SynthesisPipeline.HandleOnShutdown(Func`1 a) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 833 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 460 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass42_0.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 432
This sounds like a generic synthesis error 🤔 I'll investigate... The patcher failed on one of the most generic lines, which would lead me to believe there is one mod in your respective load order causing this error (I cannot reproduce this on my 1800+ plugins)... I'm afraid there isn't much I can do without identification of the mod!
If one of you was willing to help me, I could try adding more information to a debug version, so we could try and identify the root cause!
Out of interest, how do you generate a .synth file? :D I couldn't find this information on the Mutagen wiki.
Btw, there is an edge case where this patching can produce undesirable results, and that's if the last condition in the list before patching is an OR condition. In that case the effect would always apply when the subject is not in a paired animation regardless of other conditions. Of course the last condition should never be an OR condition, but mod authors are human and humans make mistakes.
What Blackread said, basically! 1. The original mod was not available on AE, and having it as a Synthesis patcher allows to be version independent. 2. Easier to see what the changes are in a plugin, just open in xEdit! With the original, you had to look into the log file.
I usually have issues with knockback\ragdoll causing issues during killmoves (Valhalla Combat) instead of paralysis. A good example is Vokrii and Summermyst having various "cause knockdown" effects. Do you know if this is possible with the way you did your patcher, or is it outside of the scope of the mod because of how some knockdown effects are triggered (e.g. Vokrii seems to use scripts for some of it).
I don't think it is applied the same, there are various magic effects added by these mods.
I would assume it IS possible to add the very same condition to those effects in xEdit:Subject.GetPairedAnimation == 0 ANDIt would probably work! (aka don't trigger said magic effect if the subject is in a paired animation)
Edit: Vookrii doing that by scripts is unfortunately unpatchable in this way (an edit of the script would work though)
Actually I noticed some of Summermyst's perks have the Stagger archetype, so I added an experimental feature to apply the condition to all effects with Stagger. Let me know!
22 comments
Arrow and Bolt Tweaks by Material - SkyPatched
Reading settings: A:\Files\Skyrim Mod Programs\Synthesis\Data\Skyrim Special Edition\KillmoveParalysisPatcher\settings.json
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'length')
at Mutagen.Bethesda.Skyrim.MagicEffectBinaryOverlay.<>c.b__285_1(ReadOnlyMemorySlice`1 s, BinaryOverlayFactoryPackage p)
at Mutagen.Bethesda.Plugins.Binary.Overlay.BinaryOverlayList.BinaryOverlayListByStartIndex`1.GetEnumerator()+MoveNext()
at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
at KillmoveParalysisPatcher.Program.RunPatch(IPatcherState`2 state) in C:\Users\Name\AppData\Local\Temp\Synthesis\fe5eyp32.0uw\Git\3fklzxag.tom\Runner\KillmoveParalysisPatcher\Program.cs:line 30
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass15_0`2.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 103
--- End of stack trace from previous location ---
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, Nullable`1 exportKey, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 607
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass43_0.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 472
--- End of stack trace from previous location ---
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.HandleOnShutdown(Func`1 a) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 833
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 460
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass42_0.d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 432
The patcher failed on one of the most generic lines, which would lead me to believe there is one mod in your respective load order causing this error (I cannot reproduce this on my 1800+ plugins)... I'm afraid there isn't much I can do without identification of the mod!
If one of you was willing to help me, I could try adding more information to a debug version, so we could try and identify the root cause!
Btw, there is an edge case where this patching can produce undesirable results, and that's if the last condition in the list before patching is an OR condition. In that case the effect would always apply when the subject is not in a paired animation regardless of other conditions. Of course the last condition should never be an OR condition, but mod authors are human and humans make mistakes.
As for the .synth file, you can open it as a text file ;)
Doesn't care about game version.
Don't think there are other reasons.
1. The original mod was not available on AE, and having it as a Synthesis patcher allows to be version independent.
2. Easier to see what the changes are in a plugin, just open in xEdit! With the original, you had to look into the log file.
There is no harm in having it at runtime, at all!
Helll yessssss.
Thank you!
I would assume it IS possible to add the very same condition to those effects in xEdit:
Subject.GetPairedAnimation == 0 AND
It would probably work! (aka don't trigger said magic effect if the subject is in a paired animation)Edit: Vookrii doing that by scripts is unfortunately unpatchable in this way (an edit of the script would work though)