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

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

Previous topic - Next topic

rawrfisher

They sometimes lose their weapons when I take them out and the weapons dont regen
Professional jerk
Want something broken let me know

Canute

You can ask the author of Misc. Robots++ if he maybe made a patch, so the mech part's from this mod can be used to construct these robots.


rawrfisher

Quote from: Canute on July 30, 2018, 08:53:48 AM
You can ask the author of Misc. Robots++ if he maybe made a patch, so the mech part's from this mod can be used to construct these robots.

He can't.  Alaestor only does XML and has basiclly retired from modding.
Haplo on the other hand can be asked since he is active in modding still
Professional jerk
Want something broken let me know

Roolo

Ok. Clear now. I guess that happens when their arm gets shot off. I'll upload a fix soon. No need to ask someone else for help for this.

rawrfisher

#124
While your at it can you look into this new error that came with the latest update?

[HugsLib][ERR] WhatTheHack caused an exception during OnPlayingStateEntered: System.MissingFieldException: Field 'Verse.RecipeDef.requireBed' not found.
  at HugsLib.HugsLibController.OnPlayingStateEntered () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.HugsLibController:OnPlayingStateEntered()
HugsLib.Patches.Game_FinalizeInit_Patch:WorldLoadedHook()
Verse.Game:FinalizeInit_Patch1(Object)
Verse.Game:LoadGame() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:486)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow(String) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Map\MapIniter\SavedGameLoaderNow.cs:39)
Verse.Root_Play:<Start>m__0() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:46)
Verse.LongEventHandler:RunEventFromAnotherThread(Action) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:455)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:367)

Forgot to mention.  Symptoms of this bug include loss of ability to draft colonists

Quote from: UnlimitedHugs on July 30, 2018, 12:16:34 PM
Quote from: rawrfisher on July 30, 2018, 11:46:42 AM
@unlimitedhugs  If you have a spare moment can you look into an error?  I have no idea what to tell the mod author lol

A game update broke one of your mods. The mod is What The Hack, the author should check their WorldLoaded function.
The bright side is that these update bugs are super easy to diagnose :)

I asked hugs about it as well and this is his response
Professional jerk
Want something broken let me know

Roolo

#125
Just released a small update. Mostly bugfixes and tweaks

Changes:
- Reworked how body part regeneration works. The base parts are regenerated first. For instance, if a mech loses an arm, its arm is regenerated first, then its hand, and then its fingers.
- Only one part regenerates at a time now
- Changed priority of the hacking work type. It is now higher than the research priority.

Fixes:
- Fixed error on startup introduced by the latest unstable build
- Fixed operations that don't require a bed/platform/hacking table not working anymore since latest unstable build
- Fixed body part regeneration sometimes regenerating parts that are not missing.

Edit: forgot to mention: Weapons lost due to missing body parts are now also regenerated when regeneration is on.

rawrfisher

Thanks for fixing that error roolo.  Now if I could keep them from going to the platforms I have turned off lol
Professional jerk
Want something broken let me know

Roolo

Quote from: rawrfisher on July 30, 2018, 03:55:04 PM
Thanks for fixing that error roolo.  Now if I could keep them from going to the platforms I have turned off lol
You can forbid them. But yeah turning them off also should work. I'll fix it. Thanks for your feedback rawfisher. You're being very helpful.

By the way, I forgot to list one change in the last update note, so I just added it (was about weapon regeneration).

rawrfisher

#128
I got plenty of time to sit and test things

More debug info lol.  This time when deconstructing mechs
Professional jerk
Want something broken let me know

Roolo

Quote from: rawrfisher on July 30, 2018, 04:54:46 PM
I got plenty of time to sit and test things

More debug info lol.  This time when deconstructing mechs

I tried reproducing this, but disassembling mechanoids doesn't give me any errors, so it may be a mod conflict.

Please share the log, just mentioning "debug info" shows up isn't helpful. Please use the Hugslib share functionality (just press ctrl+f12, or press the green "share log" button), and share the link here (make this a habit when you see such errors, is very helpful for modders like me). Please don't do it manually, hugslib will append useful information like your mod list for me which I won't receive if you do it manually.



Jdalt40

Hey Roolo, just saw this mod and thought it looked amazing. Just asking though, how does this mod interact with other mods that add in Mechanoids, for example Raiderpedes?

Roolo

Quote from: Jdalt40 on July 31, 2018, 04:33:05 AM
Hey Roolo, just saw this mod and thought it looked amazing. Just asking though, how does this mod interact with other mods that add in Mechanoids, for example Raiderpedes?

Hi Jdalt, I'm glad you like it.  Making this compatible with other mechanoid adding-mods is something I took into account as much as possible. The vanilla mechanoid variety could be better, so compatibility with other mechanoid adding mods greatly increases the potential of this mod. However, currently with 1.0 being unstable, testing this is a bit suboptimal, since most mechanoid-adding mods aren't updated yet. So you should be able to hack and use modded mechs, but please report any problems if they do occur.

Ruisuki

Roolo you mentioned in your post how b18 is playable but not being maintained does that mean all these fixes you are posting are not applicable to it?

and Jdalt i am also interested in more mech types, if you find a good balanced one lmk

Roolo

Quote from: Ruisuki on July 31, 2018, 07:59:03 AM
Roolo you mentioned in your post how b18 is playable but not being maintained does that mean all these fixes you are posting are not applicable to it?

and Jdalt i am also interested in more mech types, if you find a good balanced one lmk

Indeed, all these updates are 1.0 specific, so the B18 version is less polished than the 1.0 version, and doesn't have all the features, but I think it's still pretty stable. Do note that not every fix in the 1.0 branch corresponds to a bug in the B18 branch. Many fixes were required for 1.0 specific things, so it's not as bad as it may seem.



rawrfisher

#134
I probably should have mentioned it was just white text which often references debug info.  Its always just a footnote

Getting this error now with the update from last night.

JobDriver threw exception in initAction for pawn Pham driver=JobDriver_DoBill (toilIndex=13) driver.job=(DoBill (Job_12714338) A=Thing_Mech_Lancer1431768 B=Thing_WTH_MechanoidParts1618819 C=(250, 0, 192)) lastJobGiver=Verse.AI.ThinkNode_QueuedJob
System.MissingMethodException: Method not found: 'RimWorld.TaleRecorder.RecordTale'.
  at RimWorld.Bill_Medical.Notify_IterationCompleted (Verse.Pawn billDoer, System.Collections.Generic.List`1 ingredients) [0x00031] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Pawn\Health\Bill_Medical.cs:108
  at Verse.AI.Toils_Recipe+<FinishRecipeAndStartStoringProduct>c__AnonStorey2.<>m__0 () [0x000cf] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\DoBill\Toils_Recipe.cs:206
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x0022f] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:461
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobUtility.cs:22)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:465)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.<DoRecipeWork>c__AnonStorey1:<>m__1() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\DoBill\Toils_Recipe.cs:152)
Verse.AI.JobDriver:DriverTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:345)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:131)
Verse.Pawn:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Pawn.cs:557)
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)
Professional jerk
Want something broken let me know