Works with 1.9.1. But not to the mod's intention. You get no injury as long as the mech has head armor. But once that's gone any damage to internal structure will hurt the mechwarrior.
This behavior doesn't change no matter what value you set in the mod's config file. Hope someone can update this mod and make it work as intented.
This doesn't show up in my list when i load the game. Ive tried putting both folders in the mods folder and it still doesn't work. I have to assume the latest only works with having all the DLC. Shame.
Little bit of feedback: I'm using latest version of the mod and updated modtek to 7.6.5 to make it work, i think it works too well :tongue: My Warhammer was kicked in the head by an enemy Assassin, clean 45 points of armor - gone. No head injury whatsoever. haven't touched any numbers in the config file. It's default.
Tested a little bit more: Damage to the head armor (no matter the amount) doesn't cause any injuries. Damage to head structure, on the other hand, does.
I'm finding this game pretty much unplayable without a headshot mod. I have no interest in playing a scenario perfectly just to have the last vehicle alive knock out my pilot for a month because a single machine gun bullet scratched the paint of his 90 ton death machine. For me it takes all the fun out of the game.And it happens all the time.
The mod here worked great. I liked how you could set a damage threshold for head hits, so they were weren't triggered by LRM's, SRM's, and machine guns but were triggered by larger hits.But if that's not possible, I'd still like to see a mod that simply removes head hits from the game. It wouldn't be optimal but it would be so much better than vanilla.
I have the same problem. Not working. Survivable arms mod has same issue.
Here is the exception thrown in the log
2019-12-02T15:45:55 FYLS [LOG] Loaded assembly RM_LessHeadInjuries (v1.0.0.0) 2019-12-02T15:45:55 FYLS [LOG] Invoking 'LessHeadInjuries.Init(String modDir, String modSettings)' using parameter dictionary 2019-12-02T15:45:55 FYLS [ERROR] Error: While invoking 'LessHeadInjuries.Init', an exception occured: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Exception from HarmonyInstance "Battletech.realitymachina.LessHeadInjuries" ---> System.Exception: Parameter "totalDamage" not found in method BattleTech.Mech.DamageLocation(System.Int32, BattleTech.WeaponHitInfo, BattleTech.ArmorLocation, BattleTech.Weapon, System.Single, System.Single, System.Int32, BattleTech.AttackImpactQuality, BattleTech.DamageType) at Harmony.MethodPatcher.EmitCallParameter (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Reflection.MethodInfo patch, System.Collections.Generic.Dictionary`2[TKey,TValue] variables, System.Boolean allowFirsParamPassthrough) [0x00490] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.MethodPatcher+<>c__DisplayClass19_0.<AddPrefixes>b__0 (System.Reflection.MethodInfo fix) [0x00001] in <1b23547042994e96b8b6361dbe3791d9>:0 at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00024] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 at Harmony.MethodPatcher.AddPrefixes (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.Dictionary`2[TKey,TValue] variables, System.Reflection.Emit.Label label) [0x0002b] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.List`1[T] postfixes, System.Collections.Generic.List`1[T] transpilers) [0x00123] in <1b23547042994e96b8b6361dbe3791d9>:0 --- End of inner exception stack trace --- at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.List`1[T] postfixes, System.Collections.Generic.List`1[T] transpilers) [0x0030d] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.PatchFunctions.UpdateWrapper (System.Reflection.MethodBase original, Harmony.PatchInfo patchInfo, System.String instanceID) [0x00028] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.PatchProcessor.Patch () [0x000d8] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.HarmonyInstance.<PatchAll>b__9_0 (System.Type type) [0x0002c] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x0001b] in <1b23547042994e96b8b6361dbe3791d9>:0 at Harmony.HarmonyInstance.PatchAll (System.Reflection.Assembly assembly) [0x00007] in <1b23547042994e96b8b6361dbe3791d9>:0 at LessHeadInjuries.LessHeadInjuries.Init (System.String modDir, System.String modSettings) [0x00012] in <5a7bb1bcc88b4b5e81e9296e899b727d>:0 at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 --- End of inner exception stack trace --- at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <d7ac571ca2d04b2f981d0d886fa067cf>:0 at BattleTech.ModSupport.Utils.AssemblyUtil.InvokeMethodByParameterNames (System.Reflection.MethodInfo method, System.Collections.Generic.Dictionary`2[TKey,TValue] paramsDictionary) [0x00156] in <8ae34bafd4064ac19cc10687dd7b28c8>:0 at BattleTech.ModSupport.ModLoader.LoadAssemblyAndCallInit (ModDef modDef) [0x001be] in <8ae34bafd4064ac19cc10687dd7b28c8>:0
I came here to report this as well. If I try to use it without ModTek (in the users... folder) it sometimes doesn't even show up in the mod menu. With ModTek (and in the game folder/mod) it consistently tells me this and Survivable Arms failed to load. Ammo Cookoffs doesn't have this problem.
It seems like with 1.8 the headshots are back with a vengeance. It seems like it's right back to how it was near the game's release without the mod. If it were easy to find the values to adjust, I'd just do it myself!
If this mod is not going to be updated, perhaps someone could let us know which files need editing to achieve this effect. I have looked in a bunch and cant find anything that governs head damage.
75 comments
It doesn't load into my game, so just wondering if this is the issue or there's another reason.
Thanks
This behavior doesn't change no matter what value you set in the mod's config file. Hope someone can update this mod and make it work as intented.
I'm using latest version of the mod and updated modtek to 7.6.5 to make it work, i think it works too well :tongue:
My Warhammer was kicked in the head by an enemy Assassin, clean 45 points of armor - gone. No head injury whatsoever.
haven't touched any numbers in the config file. It's default.
Tested a little bit more:
Damage to the head armor (no matter the amount) doesn't cause any injuries.
Damage to head structure, on the other hand, does.
The mod here worked great. I liked how you could set a damage threshold for head hits, so they were weren't triggered by LRM's, SRM's, and machine guns but were triggered by larger hits.But if that's not possible, I'd still like to see a mod that simply removes head hits from the game. It wouldn't be optimal but it would be so much better than vanilla.
Here is the exception thrown in the log
2019-12-02T15:45:55 FYLS [LOG] Loaded assembly RM_LessHeadInjuries (v1.0.0.0)
2019-12-02T15:45:55 FYLS [LOG] Invoking 'LessHeadInjuries.Init(String modDir, String modSettings)' using parameter dictionary
2019-12-02T15:45:55 FYLS [ERROR] Error: While invoking 'LessHeadInjuries.Init', an exception occured: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Exception from HarmonyInstance "Battletech.realitymachina.LessHeadInjuries" ---> System.Exception: Parameter "totalDamage" not found in method BattleTech.Mech.DamageLocation(System.Int32, BattleTech.WeaponHitInfo, BattleTech.ArmorLocation, BattleTech.Weapon, System.Single, System.Single, System.Int32, BattleTech.AttackImpactQuality, BattleTech.DamageType)
at Harmony.MethodPatcher.EmitCallParameter (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Reflection.MethodInfo patch, System.Collections.Generic.Dictionary`2[TKey,TValue] variables, System.Boolean allowFirsParamPassthrough) [0x00490] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.MethodPatcher+<>c__DisplayClass19_0.<AddPrefixes>b__0 (System.Reflection.MethodInfo fix) [0x00001] in <1b23547042994e96b8b6361dbe3791d9>:0
at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00024] in <d7ac571ca2d04b2f981d0d886fa067cf>:0
at Harmony.MethodPatcher.AddPrefixes (System.Reflection.Emit.ILGenerator il, System.Reflection.MethodBase original, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.Dictionary`2[TKey,TValue] variables, System.Reflection.Emit.Label label) [0x0002b] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.List`1[T] postfixes, System.Collections.Generic.List`1[T] transpilers) [0x00123] in <1b23547042994e96b8b6361dbe3791d9>:0
--- End of inner exception stack trace ---
at Harmony.MethodPatcher.CreatePatchedMethod (System.Reflection.MethodBase original, System.String harmonyInstanceID, System.Collections.Generic.List`1[T] prefixes, System.Collections.Generic.List`1[T] postfixes, System.Collections.Generic.List`1[T] transpilers) [0x0030d] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.PatchFunctions.UpdateWrapper (System.Reflection.MethodBase original, Harmony.PatchInfo patchInfo, System.String instanceID) [0x00028] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.PatchProcessor.Patch () [0x000d8] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.HarmonyInstance.<PatchAll>b__9_0 (System.Type type) [0x0002c] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x0001b] in <1b23547042994e96b8b6361dbe3791d9>:0
at Harmony.HarmonyInstance.PatchAll (System.Reflection.Assembly assembly) [0x00007] in <1b23547042994e96b8b6361dbe3791d9>:0
at LessHeadInjuries.LessHeadInjuries.Init (System.String modDir, System.String modSettings) [0x00012] in <5a7bb1bcc88b4b5e81e9296e899b727d>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <d7ac571ca2d04b2f981d0d886fa067cf>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <d7ac571ca2d04b2f981d0d886fa067cf>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <d7ac571ca2d04b2f981d0d886fa067cf>:0
at BattleTech.ModSupport.Utils.AssemblyUtil.InvokeMethodByParameterNames (System.Reflection.MethodInfo method, System.Collections.Generic.Dictionary`2[TKey,TValue] paramsDictionary) [0x00156] in <8ae34bafd4064ac19cc10687dd7b28c8>:0
at BattleTech.ModSupport.ModLoader.LoadAssemblyAndCallInit (ModDef modDef) [0x001be] in <8ae34bafd4064ac19cc10687dd7b28c8>:0