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

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

Previous topic - Next topic

Madman666

#90
Using centipedes as pack muffalos. Glorious! I'll be testing it as soon as i get to my home PC. 1.0 added mechanoid internal systems (organs) in the latest patches, so i am curious to see, how that ll work out.

Also, dunno if you'll be interested in something like that, but i've got an idea of a mechanoid upgrade - vanometric engine. It more or less makes a single mech you install it on have endless source of energy. Crafted from vanometric power cell obviously. When the mech dies - it drops vanometric engine back, same way it drops AI core. Since vanometric power cell is only quest reward - you won't be able to spam infinitely-powered mechs, buut this will really make those power cells even precious then they already are. And you ll have to choose what do you want more - free endless power source or one bad ass self-recharching mechanoid security, you can easily bring with you on futher missions.

Roolo

I did quite a lot of playtesting this week and found there are some small bugs, I'll list them so you guys know that I'm aware of them:
- One type of failed hacking event may crash the game in case a scyther is hacked.
- Sometimes mechs still attempt to engage enemies after they've been ordered to go back to a platform.
- Small compatibility issue with Giddy-up! Ride and Roll.
- When a platform with a mechanoid on it is on fire, it causes errors.
- Somehow an activated mechanoid was resting on a platform which shouldn't be happening.
Expect fixes soon!

Quote from: Canute on July 19, 2018, 11:43:56 AM
QuoteWe still need a way to repair mechanoids on the go.
Sorry i can't help testing, since 1.0 isn't released yet.

But what do you think to craft Mech repair kit.
Then add a surgery to mech's that need these repair kit, and restore the torso+leg body part(s). Other missing part keep missing.
So the mech is able to move at his own and can reach the station at the base later.

Ofcouse you could redesign some Centiped's into a full mobile recharge&repair station. Together with a vario power cell it won't need a recharge itself anymore and be able to recharge other mech's too.
Ofcouse it still need part's for the repairs and the centipede don't got any weapons.
Yeah, it'll probably some solution like those repair kits. Not sure if I'll make it a surgery, but I'll consider all options when I'm implementing it.

Making centipedes into a full repair/ recharge station is a pretty cool idea. However, I'm not sure if I want to go that far with the mod. Doing that properly would imply a large development effort, and I've already spent quite some time on this mod. I could also do a halve baked version instead, with which I mean just a modification that ensures all mechs in a small radius from the modified centipede are healed and recharged, but I don't think that's really convincing.

Quote from: Madman666 on July 19, 2018, 11:49:54 AM
Using centipedes as pack muffalos. Glorious! I'll be testing it as soon as i get to my home PC. 1.0 added mechanoid internal systems (organs) in the latest patches, so i am curious to see, how that ll work out.

Also, dunno if you'll be interested in something like that, but i've got an idea of a mechanoid upgrade - vanometric engine. It more or less makes a single mech you install it on have endless source of energy. Crafted from vanometric power cell obviously. When the mech dies - it drops vanometric engine back, same way it drops AI core. Since vanometric power cell is only quest reward - you won't be able to spam infinitely-powered mechs, buut this will really make those power cells even precious then they already are. And you ll have to choose what do you want more - free endless power source or one bad ass self-recharching mechanoid security, you can easily bring with you on futher missions.

I really like this idea, gives a nice late-game option and should be relatively easy to implement. There's one downside though. The vanometric power cell is pretty large. Putting it inside a centipede might, with some effort, be believable, but with a scyther it'll certainly be a bit weird. What I could do to make it less immersion-breaking is adding an option to extract a "vanometric power cell core" from the power cell. You can then implant this much smaller core in the mechanoid. As I like the idea, I might implement it when I have some time to spare, but I'll do some higher priority things first.



Canute

QuoteMaking centipedes into a full repair/ recharge station is a pretty cool idea. However, I'm not sure if I want to go that far with the mod. Doing that properly would imply a large development effort, and I've already spent quite some time on this mod. I could also do a halve baked version instead, with which I mean just a modification that ensures all mechs in a small radius from the modified centipede are healed and recharged, but I don't think that's really convincing.
Maybe use jecstools.
An ability of these centipede to repair and consume fuel.
And a passive ability to recharge all mech's in range.
Similar to some of the Rim of Magic abilities.


Umbreon117

Not sure if it's been mentioned, but about the "Way to repair mechs when caravaning: Why not a repair kit like the droid repair kit from the Androids mod? It's simple, and actually quite realistic.


One way to balance it is to make it take longer (by a noticeable amount) to repair stuff. And maybe make it so it can't repair super damaged stuff (Torso section at 1 hp), and can't repair super complicated stuff (Whatever acts as the brain)?

An event that you could make is a mech malfunctioning and going on a murderous rampage after being repaired wrong by it.
I'll shoot your colonists...After a long nap.

Madman666

Quote from: Roolo on July 20, 2018, 08:23:40 AM
I really like this idea, gives a nice late-game option and should be relatively easy to implement. There's one downside though. The vanometric power cell is pretty large. Putting it inside a centipede might, with some effort, be believable, but with a scyther it'll certainly be a bit weird. What I could do to make it less immersion-breaking is adding an option to extract a "vanometric power cell core" from the power cell. You can then implant this much smaller core in the mechanoid. As I like the idea, I might implement it when I have some time to spare, but I'll do some higher priority things first.

Well thats more or less what i was offering, just instead of crafting the "vanometric engine" it ll be "extracting vanometric core". I am glad you liked the idea xD

Roolo

Quote from: Umbreon117 on July 20, 2018, 09:19:49 AM
Not sure if it's been mentioned, but about the "Way to repair mechs when caravaning: Why not a repair kit like the droid repair kit from the Androids mod? It's simple, and actually quite realistic.


One way to balance it is to make it take longer (by a noticeable amount) to repair stuff. And maybe make it so it can't repair super damaged stuff (Torso section at 1 hp), and can't repair super complicated stuff (Whatever acts as the brain)?

An event that you could make is a mech malfunctioning and going on a murderous rampage after being repaired wrong by it.

This was proposed yeah. I'll take a look at how its implemented in the androids mod. Might be helpful. Thanks :). I'll make sure you can only repair with them, and not restore missing parts like you can with the platforms. Adding a failure chance with a dangerous event like that would be pretty cool and would definitely help make it not too op, but at the same time I wouldn't want it to be too punishing especially during caravanning. I'll give it some thought.

Quote from: Canute on July 20, 2018, 09:13:05 AM
QuoteMaking centipedes into a full repair/ recharge station is a pretty cool idea. However, I'm not sure if I want to go that far with the mod. Doing that properly would imply a large development effort, and I've already spent quite some time on this mod. I could also do a halve baked version instead, with which I mean just a modification that ensures all mechs in a small radius from the modified centipede are healed and recharged, but I don't think that's really convincing.
Maybe use jecstools.
An ability of these centipede to repair and consume fuel.
And a passive ability to recharge all mech's in range.
Similar to some of the Rim of Magic abilities.
I won't add an entire dependency for just  that, would be overkill. I would rather implement it myself then. Having an extra dependency has many disadvantages, and is not worth the little saved development time (if any time is saved, not sure if it is, as that really depends on how directly the tools can be applied).

Canute

I don't know how easy or complicate are to use jecstools.
But i just can speak for myself that i prolly install got jecstools anyway.
Hugslib,Alien framework, jecstool and modswitch are prolly allways at my list.
And i think most mod user will do the same.

But i think you realy should take a look into jecstools maybe you can find solution there before you create your own C# code.

Roolo

Quote from: Canute on July 20, 2018, 05:14:19 PM
I don't know how easy or complicate are to use jecstools.
But i just can speak for myself that i prolly install got jecstools anyway.
Hugslib,Alien framework, jecstool and modswitch are prolly allways at my list.
And i think most mod user will do the same.

But i think you realy should take a look into jecstools maybe you can find solution there before you create your own C# code.

It definitely helps a lot of modders. And it could in some cases probably save me some time as well. However, the most time consuming things I do are pretty particular and are therefore not present in a general toolset like Jecstools. Moreover, I really like being independent. If my mod contains bugs, I know I'm to blame, and I can easily fix things. Being dependent on a third party als has the consequence that if the third party (in this case Jecrell) ever stops modding, I have a problem. Also, most of the mod is already implemented without Jecstools, so adding it just for one feature wouldn't give the benefits I would have when I started with it from scratch, while I do get all the drawbacks.

Ruisuki

Those mechanoids(specially the hulk like one) looks amazing. Im not so glad about the gameplay changes, specially the melee explosive one. Seems like a recipe for frustration

Roolo

Quote from: Ruisuki on July 21, 2018, 04:02:31 AM
Those mechanoids(specially the hulk like one) looks amazing. Im not so glad about the gameplay changes, specially the melee explosive one. Seems like a recipe for frustration

This mod doesn't add any mechanoids. I think you responded to the wrong thread accidentally?

Canute

I think he just watch the pic at the first posting and didn't read that they come from
Mechanoids Extraordinaire and More Mechanoids.

Ruisuki

Quote from: Roolo on July 21, 2018, 05:01:23 AM
Quote from: Ruisuki on July 21, 2018, 04:02:31 AM
Those mechanoids(specially the hulk like one) looks amazing. Im not so glad about the gameplay changes, specially the melee explosive one. Seems like a recipe for frustration

This mod doesn't add any mechanoids. I think you responded to the wrong thread accidentally?
Yeah. This mod looks really good though I cant wait to try the finished product. Might even get me to download one of those mods that adds different types of mechs despite my aversion to them. I love how your mods are focused heavily on gameplay additions.

rawrfisher

I am trying this mod for 1.0 but I get this error when trying to place anything
Root level exception in OnGUI(): System.ArgumentNullException: Argument cannot be null.
Parameter name: type
  at System.Activator.CheckType (System.Type type) [0x00072] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:385
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:343
  at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:254
  at Verse.ThingMaker.MakeThing (Verse.ThingDef def, Verse.ThingDef stuff) [0x000c5] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\ThingMaker.cs:44
  at RimWorld.Designator_Build.DesignateSingleCell (IntVec3 c) [0x00096] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Designators\Place\Designator_Build.cs:284
  at Verse.DesignatorManager.ProcessInputEvents () [0x0006c] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Designator\DesignatorManager.cs:71
  at RimWorld.MapInterface.HandleMapClicks () [0x0002d] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MapInterface.cs:147
  at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00176] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\UIRoot_Play.cs:105
  at Verse.Root.OnGUI () [0x0004f] in C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:164
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Root:OnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:169)

Latest update seems to have broken everything lol
Professional jerk
Want something broken let me know

Roolo

#103

Update:
Fixed latest build breaking the mod entirely.


Quote from: rawrfisher on July 24, 2018, 05:31:47 AM
I am trying this mod for 1.0 but I get this error when trying to place anything
Root level exception in OnGUI(): System.ArgumentNullException: Argument cannot be null.
Parameter name: type
  at System.Activator.CheckType (System.Type type) [0x00072] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:385
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:343
  at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Activator.cs:254
  at Verse.ThingMaker.MakeThing (Verse.ThingDef def, Verse.ThingDef stuff) [0x000c5] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\ThingMaker.cs:44
  at RimWorld.Designator_Build.DesignateSingleCell (IntVec3 c) [0x00096] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Designators\Place\Designator_Build.cs:284
  at Verse.DesignatorManager.ProcessInputEvents () [0x0006c] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Designator\DesignatorManager.cs:71
  at RimWorld.MapInterface.HandleMapClicks () [0x0002d] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MapInterface.cs:147
  at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00176] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\UIRoot_Play.cs:105
  at Verse.Root.OnGUI () [0x0004f] in C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:164
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Root:OnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:169)

Latest update seems to have broken everything lol

Apperently Tynan changed a method that is used by any mod that adds custom jobs (like the mechanoid rest job in What the Hack).  This likely breaks a lot of mods (all my other mods are broken too, I'm on it :) ). I've just pushed an update that fixes the problem for What the Hack.

rawrfisher

Thanks.  I was half asleep when I sent that so sorry if it had been adressed
Professional jerk
Want something broken let me know