Git Product home page Git Product logo

knowyourenemypatcher's Introduction

trawzified

Software engineer primarily specialized in .NET, I enjoy playing/modding games and messing around with Linux. Primarily working on Wabbajack and maintaining WabbaBot.

Find me on

  • Discord: trawzified
  • Steam

knowyourenemypatcher's People

Contributors

cacophony-wj avatar drunkender avatar erri120 avatar noggog avatar theskyses avatar tr4wzified avatar velgus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

knowyourenemypatcher's Issues

An item with the same key has already been added

This is the same issue that was reported in issue #20 but it's still happening to me after updating to the latest version. I have verified that line 186 in my local copy of Program.cs was changed to "set" (instead of "add"). If I move KnowYourEnemyPatcher to the first in the Synthesis list, the problem goes away.

Here is the error (same as before on exact same item):

System.ArgumentException: An item with the same key has already been added. Key: 0F2595:Skyrim.esm
at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value)
at Noggog.Cache2.Add(TObject item) in D:\a\CSharpExt\CSharpExt\Noggog.CSharpExt\Containers\Cache.cs:line 113 at KnowYourEnemyMutagen.Program.RunPatch(IPatcherState2 state) in C:\Users\Glanzer\AppData\Local\Temp\Synthesis\ae5a4sfy.5ne\Git\3bi0unqc.trp\Runner\KnowYourEnemyMutagen\Program.cs:line 158
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_02.<<AddPatch>b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 94 --- End of stack trace from previous location --- at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, ModKey exportKey) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 456 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 404 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<<InternalRun>b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 378 Synthesis.Bethesda.Execution.CliUnsuccessfulRunException: Error running solution patcher at Synthesis.Bethesda.Execution.Patchers.SolutionPatcherRun.Run(RunSynthesisPatcher settings, CancellationToken cancel) at Synthesis.Bethesda.Execution.Runner.Run[TKey](String workingDirectory, ModPath outputPath, String dataFolder, IEnumerable1 loadOrder, GameRelease release, IEnumerable1 patchers, IRunReporter1 reporter, CancellationToken cancellation, ModPath sourcePath, PersistenceMode persistenceMode, String persistencePath)

Looking at the output, I do notice that it says "Add" instead of "Set" for the offending line. The item in question is a SPELL so shouldn't line 149 in the Program.cs also be changed to "Set"?

if (spellModified) state.PatchMod.Spells.Add(modifiedSpell);

Vigilant Error

Hey, hoping you can help. Been getting this error when running the patcher:

Compiling
No extra data to consider
("C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Git\39b6eed6-a8c4-41b5-b1ce-66bcf123a2d7\Runner\DisplaySpellTomeLevelPatcher"): "dotnet" "build "DisplaySpellTomeLevelPatcher.csproj" --runtime win-x64 -c Release"
Compiled
Sha "9fa09c761009aeb454144ea875a529d61b069655"
Running
(""): "dotnet" "run --project "C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Git\39b6eed6-a8c4-41b5-b1ce-66bcf123a2d7\Runner\DisplaySpellTomeLevelPatcher\DisplaySpellTomeLevelPatcher.csproj" --runtime win-x64 -c Release --no-build run-patcher --DataFolderPath "D:\Steam\steamapps\common\Skyrim Special Edition\Data" --ExtraDataFolder "D:\Modding\Tools\Synthesis\Data\Skyrim Special Edition\DisplaySpellTomeLevelPatcher" --GameRelease SkyrimSE --ModKey Synthesis.esp --LoadOrderFilePath C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\Plugins.txt --LoadOrderIncludesCreationClub --OutputPath "C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\1 - DisplaySpellTomeLevelPatcher\Synthesis.esp" --PatcherName DisplaySpellTomeLevelPatcher --SourcePath "C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\1 - AOSISCSoundPatcher\Synthesis.esp""
Mutagen version: 0.29.1
Mutagen sha: 96027a70ef8714620504a0c1c65a9d38ab342999
Synthesis version: 0.18.1
Synthesis sha: 2a6a42434dbfda2dbadbb08e8ce02403a4fedefd
run-patcher --DataFolderPath "D:\Steam\steamapps\common\Skyrim Special Edition\Data" --ExtraDataFolder "D:\Modding\Tools\Synthesis\Data\Skyrim Special Edition\DisplaySpellTomeLevelPatcher" --GameRelease SkyrimSE --LoadOrderFilePath C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\Plugins.txt --OutputPath "C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\1 - DisplaySpellTomeLevelPatcher\Synthesis.esp" --PatcherName DisplaySpellTomeLevelPatcher --SourcePath "C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Workspace\Synthesis\1 - AOSISCSoundPatcher\Synthesis.esp"
Prepping state.
RecordException => zzzCHSpiderStingPerk (0CFCB7:Vigilant.esm): PerkEntryPointModifyValue did not have expected parameter type flag: 5 System.ArgumentException: PerkEntryPointModifyValue did not have expected parameter type flag: 5
at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryCreateTranslation.ParseEffects(IMutagenReadStream stream)+MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryOverlay.EffectsCustomParse(OverlayStream stream, Int64 finalPos, Int32 offset, RecordType type, Nullable1 lastParsed)
at Mutagen.Bethesda.Skyrim.Internals.PerkBinaryOverlay.FillRecordType(OverlayStream stream, Int32 finalPos, Int32 offset, RecordType type, Nullable1 lastParsed, Dictionary2 recordParseCount, RecordTypeConverter recordTypeConverter)
at Mutagen.Bethesda.Binary.BinaryOverlay.FillSubrecordTypes(OverlayStream stream, Int32 finalPos, Int32 offset, RecordTypeConverter recordTypeConverter, RecordTypeFillWrapper fill)
at Mutagen.Bethesda.Binary.BinaryOverlay.FillSubrecordTypes(IMajorRecordCommonGetter majorReference, OverlayStream stream, Int32 finalPos, Int32 offset, RecordTypeConverter recordTypeConverter, RecordTypeFillWrapper fill) at Mutagen.Bethesda.Internals.GroupMajorRecordCacheWrapper1.GetEnumerator()+MoveNext() at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext()
at Mutagen.Bethesda.Skyrim.Internals.SkyrimModCommon.EnumerateMajorRecordContexts(ISkyrimModGetter obj, ILinkCache linkCache, Type type, Boolean throwIfUnknown)+MoveNext()
at Mutagen.Bethesda.ImmutableLoadOrderLinkCacheContextCategory3.<TryResolveContext>g__AddRecords|6_0(TModGetter mod, Type type, <>c__DisplayClass6_0& ) at Mutagen.Bethesda.ImmutableLoadOrderLinkCacheContextCategory3.TryResolveContext(K key, Nullable1 modKey, Type type, IModContext4& majorRec)
at Mutagen.Bethesda.MutableLoadOrderLinkCache2.TryResolveContext(FormKey formKey, Type type, IModContext4& majorRec)
at DisplaySpellTomeLevelPatcher.Program.RunPatch(IPatcherState2 state) in C:\Users\User\AppData\Local\Temp\Synthesis\2bb878d8-510a-4adb-bb95-00e8a35c3d60\Git\39b6eed6-a8c4-41b5-b1ce-66bcf123a2d7\Runner\DisplaySpellTomeLevelPatcher\Program.cs:line 100 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_02.<b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 88
--- End of stack trace from previous location ---
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, ModKey exportKey) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 448
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 397
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 372

Error when running (maybe I have to put in a different loaction?)

System.ArgumentNullException: Value cannot be null.
at Wabbajack.Common.GameMetaData.GameLocation()
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.GetDefaultRun(GameRelease release, ModKey targetModKey)
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(String[] args, RunPreferences preferences)
Error occurred. Press enter to exit

MY installation folder of skyrim is ina different spot. Any ideas on how to resolve?

Error

Tried deleting data folder and temp folder with reinstall. No go

Reading settings: F:\ModOrganizer\Synthesis\Data\Skyrim VR\KnowYourEnemyPatcher\settings.json
*** DETECTED SETTINGS ***
patch_silver_perk: False
effect_intensity: 1
Light and Shadow detected: False
Know Your Elements detected: False


SubrecordException BlockingAndFlash.esp => zzzTBMKillTIME (000827:BlockingAndFlash.esp) => PRKE: PerkEntryPointModifyActorValue did not have expected parameter type flag: 1 Mutagen.Bethesda.Plugins.Exceptions.MalformedDataException: PerkEntryPointModifyActorValue did not have expected parameter type flag: 1
at Mutagen.Bethesda.Skyrim.PerkBinaryCreateTranslation.ParseEffects(IMutagenReadStream stream)+MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at Mutagen.Bethesda.Skyrim.PerkBinaryOverlay.EffectsCustomParse(OverlayStream stream, Int64 finalPos, Int32 offset, RecordType type, PreviousParse lastParsed) at Mutagen.Bethesda.Skyrim.PerkBinaryOverlay.FillRecordType(OverlayStream stream, Int32 finalPos, Int32 offset, RecordType type, PreviousParse lastParsed, Dictionary2 recordParseCount, TypedParseParams translationParams)
at Mutagen.Bethesda.Plugins.Binary.Overlay.PluginBinaryOverlay.FillSubrecordTypes(OverlayStream stream, Int32 finalPos, Int32 offset, TypedParseParams translationParams, RecordTypeFillWrapper fill) at Mutagen.Bethesda.Skyrim.SkyrimModMixIn.<>c__DisplayClass19_01.<EnumerateMajorRecords>b__1(Exception e) at Noggog.EnumerableExt.Catch[T](IEnumerable1 e, Action1 onException)+MoveNext() in D:\a\CSharpExt\CSharpExt\Noggog.CSharpExt\Extensions\EnumerableExt.cs:line 287 at Mutagen.Bethesda.OverrideMixIns.WinningOverrides[TMajor](IEnumerable1 mods, Boolean includeDeletedRecords)+MoveNext()
at KnowYourEnemyMutagen.Program.RunPatch(IPatcherState2 state) in C:\Users\Decapper\AppData\Local\Temp\Synthesis\0f4269a1-64dc-460b-887a-6252cd6cc042\Git\eii4pea3.ptu\Runner\KnowYourEnemyMutagen\Program.cs:line 163 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_02.<b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 99
--- 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\SynthesisPipeline.cs:line 559
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 456
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 419

Error Message

Hi there,

i get an error message and can't figure out what it means. Probably a user error, because it worked in the past. Would appreciate your help.

System.ArgumentException: An item with the same key has already been added. Key: 0F2595:Skyrim.esm
at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value)
at Noggog.Cache2.Add(TObject item) in D:\a\CSharpExt\CSharpExt\Noggog.CSharpExt\Containers\Cache.cs:line 103 at KnowYourEnemyMutagen.Program.RunPatch(IPatcherState2 state) in C:\Users\fredd\AppData\Local\Temp\Synthesis\l3g1w2iq.tys\Git\nkpls1kc.kxw\Runner\KnowYourEnemyMutagen\Program.cs:line 149
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass12_02.<<AddPatch>b__0>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 88 --- End of stack trace from previous location --- at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, ModKey exportKey) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 448 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 397 at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass36_0.<<InternalRun>b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\SynthesisPipeline.cs:line 372 Synthesis.Bethesda.Execution.CliUnsuccessfulRunException: Error running solution patcher at Synthesis.Bethesda.Execution.Patchers.SolutionPatcherRun.Run(RunSynthesisPatcher settings, CancellationToken cancel) at Synthesis.Bethesda.Execution.Runner.Run[TKey](String workingDirectory, ModPath outputPath, String dataFolder, IEnumerable1 loadOrder, GameRelease release, IEnumerable1 patchers, IRunReporter1 reporter, CancellationToken cancellation, ModPath sourcePath, PersistenceMode persistenceMode, String persistencePath)

Too many masters

As the title says, i'm getting an error that i don't know it's supposed to happen in synthesis, the same error occurs on know your armor patcher:

Mutagen.Bethesda.Plugins.Exceptions.TooManyMastersException: Know your enemy.esp has too many masters on masters list. 313 >= 254.
at Mutagen.Bethesda.Plugins.Masters.MasterReferenceCollection.SetTo(IEnumerable1 masters) at Mutagen.Bethesda.Plugins.Binary.Translations.ModHeaderWriteLogic.ConstructWriteMasters(IModGetter mod) at Mutagen.Bethesda.Plugins.Binary.Translations.ModHeaderWriteLogic.PostProcessAdjustments(MutagenWriter writer, IModGetter mod, IModHeaderCommon modHeader) at Mutagen.Bethesda.Plugins.Binary.Translations.ModHeaderWriteLogic.WriteHeader(BinaryWriteParameters param, MutagenWriter writer, IModGetter mod, IModHeaderCommon modHeader, ModKey modKey) at Mutagen.Bethesda.Skyrim.SkyrimModCommon.WriteParallel(ISkyrimModGetter item, Stream stream, BinaryWriteParameters param, ParallelWriteParameters parallelParam, ModKey modKey) at Mutagen.Bethesda.Skyrim.SkyrimModMixIn.WriteToBinaryParallel(ISkyrimModGetter item, String path, BinaryWriteParameters param, ParallelWriteParameters parallelParam, IFileSystem fileSystem) at Mutagen.Bethesda.Skyrim.SkyrimMod.Mutagen.Bethesda.Plugins.Records.IModGetter.WriteToBinaryParallel(FilePath path, BinaryWriteParameters param, IFileSystem fileSystem, ParallelWriteParameters parallelWriteParams) at Mutagen.Bethesda.Synthesis.SynthesisPipeline.Run(RunSynthesisMutagenPatcher args, Nullable1 exportKey, IFileSystem fileSystem) in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 617
at Mutagen.Bethesda.Synthesis.SynthesisPipeline.<>c__DisplayClass43_0.<b__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.<b__1>d.MoveNext() in D:\a\Synthesis\Synthesis\Mutagen.Bethesda.Synthesis\Pipeline\SynthesisPipeline.cs:line 432

Update required

Know Your Enemy got a rather big update a few days ago and the current patcher doesn't work properly with the latest version of the mod. Hoping this gets updated.

Know Your Enemy is now ESL so the formids changed

Hi tr4wzified, looks like version 9.2.0 of kye was converted to ESL so the formids changed. Looks like you've segregated all the formids in your patcher into individual files here so it should just be a matter of updating the formids in those files, right? Thanks for your help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.