[1.0](WIP) What The Hack?! - Mechanoid hacking

Started by Roolo, May 31, 2018, 04:03:57 PM

Previous topic - Next topic

rawrfisher

#240
Musta linked the wrong log

System.NullReferenceException: Object reference not set to an instance of an object
at WhatTheHack.Harmony.IncidentWorker_Raid_TryExecuteWorker.SpawnHackedMechanoids (System.Collections.Generic.List`1<Verse.Pawn>&,RimWorld.IncidentParms) <IL 0x00184, 0x00612>
at (wrapper dynamic-method) RimWorld.IncidentWorker_Raid.TryExecuteWorker_Patch0 (object,RimWorld.IncidentParms) <IL 0x00196, 0x00625>
at RimWorld.IncidentWorker_RaidEnemy.TryExecuteWorker (RimWorld.IncidentParms) [0x00003] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Game\Storyteller\Incidents\Workers\Map\PawnsArrive\Hostile\IncidentWorker_RaidEnemy.cs:24
at RimWorld.IncidentWorker.TryExecute (RimWorld.IncidentParms) [0x00003] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Defs\DefTypes\IncidentDef.cs:279
at RimWorld.Storyteller.TryFire (RimWorld.FiringIncident) [0x0002f] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Game\Storyteller\Storyteller.cs:119
at RimWorld.Storyteller.StorytellerTick () [0x0004d] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Game\Storyteller\Storyteller.cs:110
at Verse.TickManager.DoSingleTick () [0x00201] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:340

UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:68)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:341)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)
(Filename: C:/Dev/RimWorld/Assets/Scripts/Verse/Utility/Debug/Log/Log.cs Line: 68)



Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.ThinkNode_TraitBehaviors.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x00001] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\ThinkNodes\ThinkNodes_Traits.cs:18
  at Verse.AI.ThinkNode_Priority.TryIssueJobPackage (Verse.Pawn pawn, JobIssueParams jobParams) [0x0002a] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:68)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:22)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:515)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:143)
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:303)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)
(Filename: C:/Dev/RimWorld/Assets/Scripts/Verse/Utility/Debug/Log/Log.cs Line: 68)


These errors are at the bottom if you viewed it in full but it defaults to a truanted version of the report.   This brings back to a point I had about the opening errors adding like 5000 lines to my logs. 

https://git.io/fALWC
Updated log  This one was truncated too so you need to click the view full log button
Screenshot is of event triggering errors and game breaking lag with em

Also mechs spawned by raids do not have a power bar and wander aimlessly where spawned in.  Rebooting seems to fix this tho

[attachment deleted due to age]
Professional jerk
Want something broken let me know

Roolo

#241
Update:

- All the upgrade modules are now crafted at the mechanoid workshop (which still has a placeholder sprite) instead of being created from raw materials directly when being installed.
- Added items for all the modules. Both the repair arm and repair module have a custom  sprite, but the turret module, and the self-destruct module still use a placeholder sprite.
- Fixed error when enemy hacked mechs arrive in a raid, causing the raid to be cancelled.


The items probably need some more finetuning. Didn't give much attention yet to things like market value, mass etc.. Also I didn't have time this day to finish the sprites of the turret module and the self-destruct module so they use the prosthethic sprite now. I'll add sprites for those soon. 

@Madman666. Glad to hear you're giving the maintenance mechanic a try :)
@Rawrfisher. Thanks for your reports again. The issue should be fixed in the last update.

InventorRaccoon

Seems to be a bug where mechanoids cannot be disassembled at machining tables. No pawns will ever go and disassemble even with corpses available and it's impossible to force them to as the menu to do so doesn't appear.

rawrfisher

#243
Quote from: InventorRaccoon on August 23, 2018, 08:05:54 PM
Seems to be a bug where mechanoids cannot be disassembled at machining tables. No pawns will ever go and disassemble even with corpses available and it's impossible to force them to as the menu to do so doesn't appear.
I Tried to replicate this error but I did not have any luck.  Can you provide any logs so I can take a quick look to see what mods you use?

Roolo I am gonna be testing compatability with rimsenal mods if I can stay at the computer long enough to actually get a facility built -__-

Btw theres a mech from the feral pack with a body size of 4.0 if you can think of any oddities to add to something of that size

Not sure if the update took but I still am encountering mechs not having a power bar when the targeting hacked is applied until a reboot.
Also I tried using add headriff and it killed a mech by applying targeting hacked to whole body

Professional jerk
Want something broken let me know

Roolo

Small update, some important fixes:

- Fixed backup battery hediff not being added when a mechanoid is hacked, resulting in faulty behaviour untill the game is reloaded.
- Fixed mechanoid workshop conflicting with the machining workshop.


Quote from: InventorRaccoon on August 23, 2018, 08:05:54 PM
Seems to be a bug where mechanoids cannot be disassembled at machining tables. No pawns will ever go and disassemble even with corpses available and it's impossible to force them to as the menu to do so doesn't appear.
This is fixed in the update I just released. Thanks for reporting.

Quote from: rawrfisher on August 23, 2018, 08:19:09 PM

[...]

Btw theres a mech from the feral pack with a body size of 4.0 if you can think of any oddities to add to something of that size

Not sure if the update took but I still am encountering mechs not having a power bar when the targeting hacked is applied until a reboot.
Also I tried using add headriff and it killed a mech by applying targeting hacked to whole body


- Body size 4.0 shouldn't be a problem, in the worst case it'll look a bit ugly on the platforms. At least it means you should be able to install turrets on them :).

- I just fixed the issue involving the missing power bar.  I found out I totally forgot to make sure the newly added backup battery hediff is added after a mech is hacked. I missed this in the last update because it wasn't clear to me earlier that you were talking about two separate issues, I just thought you meant the enemy mechs in raids didn't have a power bar (which was also the case before the previous update).

rawrfisher

#245

========== OUTPUTING STACK TRACE ==================

0x00007FFDE57BA388 (KERNELBASE) RaiseException
0x00007FFDB9C91158 (mono) set_vprintf_func
0x00007FFDB9C9117C (mono) set_vprintf_func
0x00007FFDB9DA925A (mono) mono_set_break_policy
0x00007FFDB9DA92B0 (mono) mono_set_break_policy
0x00007FFDB9DA9399 (mono) mono_set_break_policy
0x00007FFDB9DAB466 (mono) mono_walk_stack
0x00007FFDB9DAAEE6 (mono) mono_walk_stack
0x00007FFDB9DAB838 (mono) mono_debugger_run_finally
0x00007FFDB9DC636A (mono) mono_set_defaults
0x00007FFDB9DB2709 (mono) mono_jit_thread_attach
0x00007FFDB9DC4067 (mono) mono_set_defaults
0x00007FFDE9415678 (ntdll) RtlInitializeCriticalSection
0x00007FFDE93B692A (ntdll) RtlWalkFrameChain
0x00007FFDE944DC1E (ntdll) KiUserExceptionDispatcher
0x000000000647A66F (Mono JIT Code) System.Collections.Generic.List`1<object>:Add (object)
0x00000000E90A924E (Mono JIT Code) WhatTheHack.Harmony.IncidentWorker_Raid_TryExecuteWorker:SpawnHackedMechanoids (System.Collections.Generic.List`1<Verse.Pawn>&,RimWorld.IncidentParms)
0x000000003229993D (Mono JIT Code) (wrapper dynamic-method) RimWorld.IncidentWorker_Raid:TryExecuteWorker_Patch0 (object,RimWorld.IncidentParms)
0x000000007FE013B5 (Mono JIT Code) RimWorld.IncidentWorker_RaidEnemy:TryExecuteWorker (RimWorld.IncidentParms)
0x000000007FD92465 (Mono JIT Code) RimWorld.IncidentWorker:TryExecute (RimWorld.IncidentParms)
0x000000007FD923AF (Mono JIT Code) RimWorld.Storyteller:TryFire (RimWorld.FiringIncident)
0x0000000030559D58 (Mono JIT Code) RimWorld.Storyteller:StorytellerTick ()
0x000000002FF57751 (Mono JIT Code) Verse.TickManager:DoSingleTick ()
0x0000000030576E5C (Mono JIT Code) Verse.TickManager:TickManagerUpdate ()
0x0000000030576BA7 (Mono JIT Code) Verse.Game:UpdatePlay ()
0x0000000000D57DCE (Mono JIT Code) Verse.Root_Play:Update ()
0x00000000064408CB (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007FFDB9DB5CE3 (mono) mono_set_defaults
0x00007FFDB9D0849D (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D1A5EA4)
0x00007FF78D1A5EA4 (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D1A117A)
0x00007FF78D1A117A (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D3A9BC7)
0x00007FF78D3A9BC7 (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D3ACAD5)
0x00007FF78D3ACAD5 (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78CE1BC8F)
0x00007FF78CE1BC8F (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D0383AB)
0x00007FF78D0383AB (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78CBCB9DB)
0x00007FF78CBCB9DB (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78CBCBBCA)
0x00007FF78CBCBBCA (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78CBDF989)
0x00007FF78CBDF989 (RimWorldWin64)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D586A3C)
0x00007FF78D586A3C (RimWorldWin64)
0x00007FFDE7853034 (KERNEL32) BaseThreadInitThunk
0x00007FFDE9421431 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

**** Crash! ****


Somthing differnt  Gonna try reinstalling the mod to see if it fix's the CTD

Nope didnt fix it and seems that auto saving is disabled too -_-
Professional jerk
Want something broken let me know

Canute

When i saw a
"  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D3A9BC7)"
at a B18 game i would say it is either the Out of memory problem.
Or the Issue with Unity-engine, i can't find the proper topic about it.

I don't think you use the B19 32bit version or ? :-)

rawrfisher

#247
Quote from: Canute on August 25, 2018, 04:13:57 AM
When i saw a
"  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D3A9BC7)"
at a B18 game i would say it is either the Out of memory problem.
Or the Issue with Unity-engine, i can't find the proper topic about it.

I don't think you use the B19 32bit version or ? :-)

B19 64bit. 
Error resolved when I reverted back to a previous version


Got ThingsListAt out of bounds: (23, 0, 400)
Verse.Log:Error(String, Boolean)
Verse.Log:ErrorOnce(String, Int32, Boolean)
Verse.ThingGrid:ThingsListAt(IntVec3)
WhatTheHack.Harmony.GenGrid_Standable:Postfix(Boolean&, IntVec3, Map)
Verse.GenGrid:Standable_Patch1(IntVec3, Map)
Verse.ThingUtility:InteractionCellWhenAt(ThingDef, IntVec3, Rot4, Map)
Verse.Thing:get_InteractionCell()
Verse.Pawn:get_InteractionCell()
Verse.AI.GenPath:ResolvePathMode(Pawn, TargetInfo, PathEndMode&)
Verse.ReachabilityImmediate:CanReachImmediate(IntVec3, LocalTargetInfo, Map, PathEndMode, Pawn)
Verse.Reachability:CanReach(IntVec3, LocalTargetInfo, PathEndMode, TraverseParms)
Verse.<ClosestThingReachable>c__AnonStorey0:<>m__0(Thing)
Verse.GenClosest:ClosestThing_Global(IntVec3, IEnumerable, Single, Predicate`1, Func`2)
Verse.GenClosest:ClosestThingReachable(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Single, Predicate`1, IEnumerable`1, Int32, Int32, Boolean, RegionType, Boolean)
RimWorld.JobGiver_Work:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

I never bothered with this error but it might be worth a look
https://git.io/fAmlQ an output log. 

Just waiting for the hammer to come after me for being a pest


[HugsLib][ERR] What the hack?! caused an exception during SettingsHandle.CustomDrawer: System.NullReferenceException: Object reference not set to an instance of an object
  at WhatTheHack.GUIDrawUtility.CustomDrawer_MatchingPawns_active (Rect wholeRect, HugsLib.Settings.SettingHandle`1 setting, System.Collections.Generic.List`1 allPawns, HugsLib.Settings.SettingHandle`1 filter, Int32 filterCount, System.String yesText, System.String noText) [0x00000] in <filename unknown>:0
  at WhatTheHack.Base+<>c__DisplayClass18_0.<DefsLoaded>b__6 (Rect rect) [0x00000] in <filename unknown>:0
  at HugsLib.Settings.Dialog_ModSettings.DrawHandleEntry (HugsLib.Settings.SettingHandle handle, Rect parentRect, System.Single& curY, Single scrollViewHeight) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.Settings.Dialog_ModSettings:DrawHandleEntry(SettingHandle, Rect, Single&, Single)
HugsLib.Settings.Dialog_ModSettings:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)


I have returned with yet another error
https://git.io/fAmdI  Output log as per normal
Professional jerk
Want something broken let me know

Roolo

Quote from: rawrfisher on August 25, 2018, 10:30:04 AM
Quote from: Canute on August 25, 2018, 04:13:57 AM
When i saw a
"  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF78D3A9BC7)"
at a B18 game i would say it is either the Out of memory problem.
Or the Issue with Unity-engine, i can't find the proper topic about it.

I don't think you use the B19 32bit version or ? :-)

B19 64bit. 
Error resolved when I reverted back to a previous version


Got ThingsListAt out of bounds: (23, 0, 400)
Verse.Log:Error(String, Boolean)
Verse.Log:ErrorOnce(String, Int32, Boolean)
Verse.ThingGrid:ThingsListAt(IntVec3)
WhatTheHack.Harmony.GenGrid_Standable:Postfix(Boolean&, IntVec3, Map)
Verse.GenGrid:Standable_Patch1(IntVec3, Map)
Verse.ThingUtility:InteractionCellWhenAt(ThingDef, IntVec3, Rot4, Map)
Verse.Thing:get_InteractionCell()
Verse.Pawn:get_InteractionCell()
Verse.AI.GenPath:ResolvePathMode(Pawn, TargetInfo, PathEndMode&)
Verse.ReachabilityImmediate:CanReachImmediate(IntVec3, LocalTargetInfo, Map, PathEndMode, Pawn)
Verse.Reachability:CanReach(IntVec3, LocalTargetInfo, PathEndMode, TraverseParms)
Verse.<ClosestThingReachable>c__AnonStorey0:<>m__0(Thing)
Verse.GenClosest:ClosestThing_Global(IntVec3, IEnumerable, Single, Predicate`1, Func`2)
Verse.GenClosest:ClosestThingReachable(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Single, Predicate`1, IEnumerable`1, Int32, Int32, Boolean, RegionType, Boolean)
RimWorld.JobGiver_Work:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

I never bothered with this error but it might be worth a look
https://git.io/fAmlQ an output log. 

Just waiting for the hammer to come after me for being a pest


[HugsLib][ERR] What the hack?! caused an exception during SettingsHandle.CustomDrawer: System.NullReferenceException: Object reference not set to an instance of an object
  at WhatTheHack.GUIDrawUtility.CustomDrawer_MatchingPawns_active (Rect wholeRect, HugsLib.Settings.SettingHandle`1 setting, System.Collections.Generic.List`1 allPawns, HugsLib.Settings.SettingHandle`1 filter, Int32 filterCount, System.String yesText, System.String noText) [0x00000] in <filename unknown>:0
  at WhatTheHack.Base+<>c__DisplayClass18_0.<DefsLoaded>b__6 (Rect rect) [0x00000] in <filename unknown>:0
  at HugsLib.Settings.Dialog_ModSettings.DrawHandleEntry (HugsLib.Settings.SettingHandle handle, Rect parentRect, System.Single& curY, Single scrollViewHeight) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.Settings.Dialog_ModSettings:DrawHandleEntry(SettingHandle, Rect, Single&, Single)
HugsLib.Settings.Dialog_ModSettings:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)


I have returned with yet another error
https://git.io/fAmdI  Output log as per normal

I'll probably look into your errors tomorrow. Please don't forget to include some information about when the error happens and how it can be reproduced. The last error seems related to the mod settings, that's information you should include in your bug reports.

rawrfisher

I currently lack anymore information about the one that is the real problem.

The settings one occured when I tried to reset to default in the settings option.

Currently have what the hack disabled to test consistancy and see if it was the cause of errors that baffle the hell outta any experienced modder.
Professional jerk
Want something broken let me know

Roolo

#250
Update

- Fixed compatibility issue with latest unstable build, possibly causing crashes when raids arrive.
- Fixed error when reset is pressed in mod options while the game is running. I still recommend not resetting the mod options while the game is running, as it likely causes other problems. The underlying issue has to do something with weirdness with setting defaults for Hugslib settings. I've spent way too much time trying to solve this properly, so I'll just leave it like this, and put a note about it in the mod description. It's something really minor, with an easy workaround anyway.
- Edit (just added): Improved compatibility with mech adding mods, by allowing modifications on mechanoids that don't have the body part the modification is normally added to.
- Edit2 (also just added): Fixed "turret mounted" hediff not being removed after the turret mounted to a mechanoid is destroyed

So the latest unstable update of Rimworld broke the mod again. The timing was a bit unfortunate. Just after I left my home for a few days, Tynan released the update that broke this mod, as well as two of my Giddy-up! mods. Luckily I'm home again now, and fixing it was easy.


rawrfisher

#251
I'll see if it fixed my big issue lol

Exception ticking Spanky (at (66, 0, 221)): System.NullReferenceException: Object reference not set to an instance of an object
at WhatTheHack.Harmony.Pawn_JobTracker_DetermineNextJob.HackedPoorlyEvent (Verse.Pawn) <0x0010c>
at WhatTheHack.Harmony.Pawn_JobTracker_DetermineNextJob.Postfix (Verse.AI.Pawn_JobTracker&,Verse.AI.ThinkResult&) <0x0058c>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (object,Verse.ThinkTreeDef&) <0x0040c>
at Verse.AI.Pawn_JobTracker.CheckForJobOverride () <0x00068>
at Verse.AI.Pawn_JobTracker.JobTrackerTick () <0x00316>
at (wrapper dynamic-method) Verse.Pawn.Tick_Patch1 (object) <0x001f3>
at Verse.TickList.Tick () <0x00487>

Verse.Log:Error(String, Boolean)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Well that didnt take long :-)

Got a mech named butts and one named Beelzebub

30 raids later no issues so it seems the issue I was having got fixed.  Thanks roolo.
guessing the platform wont do anything about mechs with brain damage.


JobDriver threw exception in initAction for pawn Doctor driver=JobDriver_DoBill (toilIndex=13) driver.job=(DoBill (Job_3369022) A=Thing_Vanya_DroidGammaEX319643 B=Thing_WTH_MechanoidParts827527 C=(197, 0, 155)) lastJobGiver=RimWorld.JobGiver_Work
System.NullReferenceException: Object reference not set to an instance of an object
  at WhatTheHack.Recipes.Recipe_Hacking.ApplyOnPawn (Verse.Pawn pawn, Verse.BodyPartRecord part, Verse.Pawn billDoer, System.Collections.Generic.List`1 ingredients, RimWorld.Bill bill) [0x00000] in <filename unknown>:0
  at RimWorld.Bill_Medical.Notify_IterationCompleted (Verse.Pawn billDoer, System.Collections.Generic.List`1 ingredients) [0x00000] in <filename unknown>:0
  at Verse.AI.Toils_Recipe+<FinishRecipeAndStartStoringProduct>c__AnonStorey2.<>m__0 () [0x00000] in <filename unknown>:0
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.<DoRecipeWork>c__AnonStorey1:<>m__1()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


Another instance of above error lol

https://git.io/fAGOf 
Btw those bastions cost too bloody much to repair.  Spent over 500 parts just to repair damaged parts and another 300 just to replace a bunch of broken armor with 1 hp per part XD

https://git.io/fAGOg  Does anything stand out in this?  I saw that hedrif error and this mods the first thing that came to mind.
Professional jerk
Want something broken let me know

rawrfisher

This warrented a new post.

This is what my zanyness lead to lol

[attachment deleted due to age]
Professional jerk
Want something broken let me know

Roolo

Update:

- Added battery extension module. This module gives the mechanoid an additional 50% battery capacity, at the cost of a small movement penalty.
- Added vanometric power module. This module gives the mechanoid an infinite supply of power, also at the cost of a small movement penalty.
- Fixed: Targeting hacked poorly not adding all the needed hediffs, resulting in errors.
- Fixed: Repair module not working when a mech that was hacked before, but lost its hack due to poor maintenance, is hacked poorly.


The main thing holding a release back for this mod was B19 still being unstable. But now B19 has been released that's not an issue anymore. The only thing I'll be adding before release now is a shield belt module for melee mechs. Also I'll be doing more balancing, imminent bug fixing, and sprite drawing for the missing sprites. I hope to release the mod on Friday the 7th (no promises though). After release I'll keep adding things to the mod, but at a different pace.

@rawfisher. Thanks for your reports again. I think this update fixes most of the issues you discovered.

Roolo

Quote from: rawrfisher on August 29, 2018, 01:16:14 PM
This warrented a new post.

This is what my zanyness lead to lol

Wow, your wealth is through the roof. I found out some mods exploit the combat power property of pawns, by setting it extremely hight, to prevent some pawns from spawning naturally. The problem is that What the Hack assigns a market value to mechs, based on this combat power. So I can imagine What the Hack interacting badly with some mods, causing a wealth explosion. Therefore I've just released the following quick update:

- Fix: Only use combat power of mechanoids for determining the market value when the combat power is within a reasonable range. (to prevent wealth explosions when other mods assign very high values to combat power).