Ludeon Forums

RimWorld => Mods => Unfinished => Topic started by: Roolo on May 31, 2018, 04:03:57 PM

Title: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on May 31, 2018, 04:03:57 PM
Note: this is the "work in progress thread". The mod is already finished now, and therefore this thread is outdated. If you want to discuss this mod, please go to the up-to-date thread (https://ludeon.com/forums/index.php?topic=44082)

I'm proud to present the project I've been working on for some time. and I can really use some helping hands to get the testing done properly. The project is named:

(https://i.imgur.com/4Qsag6p.png)

In-game screenshot:
(https://i.imgur.com/iXPXVMH.png)

Dependencies
Hugslib, make sure Hugslib loads before What The Hack does.

Download
1.0 unstable version (https://github.com/rheirman/WhatTheHack)
B18 version (no longer maintained, read the note below) (https://github.com/rheirman/WhatTheHack/tree/B18)
Just download from the respective branch directly. I'll create a proper release page when 1.0 officially releases.

Can be added to existing saves.
Want full compatibility with Combat extended? Download the  Combat Extended compatibility patch for B18 (https://github.com/rheirman/WhatTheHack_Patch_CE) (A patch for 1.0 will follow when CE 1.0 is released).

Note about the B18 version
Since the release of Rimworld 1.0 unstable, I've switched focus to the 1.0 version, and the B18 version is no longer maintained. It is however pretty complete already, but just not as polished as the 1.0 version and not all features are included (most of them are though).

The mod adds the following things:
- The hacking table can be used to hack the targeting system of mechanoids, making them target your enemies instead of your colony! Beware though, hacking is very dangerous, all sorts of things can go wrong. Also, when mechanoids are hacked, the connection they have to the hive and with that the infinite supply of power is lost, making them dependent on their internal backup battery.
- That brings us to the mechanoid platform, which is needed to charge hacked mechanoids. Moreover, this platform can be used to store mechanoid parts in. When mechanoids have a direct power supply, their internal mechanites are activated, which use the mechanoid parts in the platform to repair the mechanoid.
- Mechanoid parts are besides their use for repairs and maintenance, also needed during the hacking process. Mechanoid parts can be gathered by disassembling mechanoids.
- Many upgrades can be applied to hacked mechs, including mounted turrets, repair modules, a self destruct option and more.
- With the mechanoid control belt your colonists can control mechanoids directly from a distance, given that their locomotion system is hacked.
- Research AI implanting, and you'll be able to implant an AI persona core in a hacked mechanoid, this'll give you direct control for combat purposes!
- Using the portable charging platform and some chemfuel, you can supply mechanoids with power during caravan trips.
- Should work with any mechanoids added by other mods.

How to hack mechanoids
1. Research micro electronics basics and at least basic hacking.
2. Build a hacking table
3. Build some mechanoid platforms (one for each mechanoid)
4. Gather mechanoid parts by destroying and disassembling mechanoids. Bigger mechanoids give more parts.
5. Go to the health tab of the mechanoid, click Modifications-> Add bill -> Hack mechanoid targeting device.
6. The mechanoid will be hauled automatically to the hacking table, and any pawns with a minimum crafting and intellectual of 5 assigned to hacking, will start a modification job, given there are at least 10 mechanoid parts in store.
7. If the hacking is successfull, your pawns will carry the mechanoid to a free mechanoid platform.
8. Make sure the platform has power (so the mechanoid charges), and mechanoid parts (so the mechanoid is repaired). That's it. When the mechanoids are charged and repaired, you can activate them, so they'll wreak havoc among your enemies.
9. For full controll over your mechanoids there are two option:
- Research "hacking and controlling locomotion systems". Issue a "hack locomotion system" bill in the mechanoid health tab, craft a mechanoid controlling belt at a machining table, and use colonists wearing such a belt to control mechanoids directly!
- Research "AI implanting", and issue a implant AI bill in the mechanoids health tab. If the modification is done, the mechanoid can be drafted at any time. This is the most powerful option, but requires an AI Persona Core (which can be retrieved after the mechanoid dies by disassembling the mechanoid).

Isn't this all hugely overpowered?
It's really my goal to make this as balanced as possible. For instance:
- Enemy advanced factions also use hacked mechanoids in battle! What factions can use mechanoids and which types of mechanoids, can be configured in the mod options.
- The mechanoid parts required to repair your mechanoids are a way of limiting the amount of times you can use mechanoids, making you think twice about using them in a battle, or saving them for a more pressing situation.
- The hacks applied to Mechanoids need to be regularly maintained by your colonists. This requires mechanoid parts, and running out can result in dangerous situations.
- Hacking is dangerous (you'll find out why), it's really a risk-reward thing.
- Power limits the time a mechanoid can be used continiously, and recharging costs time.

Current issues (PLEASE HELP ME FIND MORE)
This is still a work in progress, so don't expect thing to be flawless. But still, it's nearing completion, so it shouldn't be a buggy mess either. Current know issues are:
- Uninstalling a portable platform while a mechanoid is charging on it doesn't cancel the "linked to platform" job properly

Things I want to add

Before release:
- Balance probably needs some tweaking, and player input will be valuable in this process.
- Improve the sprites a little, maybe make them rotatable
- More mod options. Make almost any parameter tweakable + make the mechanoids each faction can use configurable.
- Fix everything in the "current issues" list.

After release (depending on how long it takes until Rimworld 1.0 is finished, some of these items might be finished before the release)
- Adding upgrades to the mechanoid controller belt so it can be used to temporarily hack the targeting and the locomotion system. Chance of success using these devices could depend on intelligence of the using pawn. (this may still be added before the release, but I'm not sure)
- Make mechanoid weapons replaceable

How can you help me?
- Playtesting. All the time I have for Rimworld basically goes to modding, so I barely have any time for actually playing the game. So just playing the game and reporting problems to me is very valuable for me.
- Feedback. Let me know what you think and let me know what can be improved.
- Art. If you want to offer help in improving/creating sprites, let me know.
- Donating coffee. Besides the cafeïne boost, it gives a huge boost in motivation when someone appreciates my work enough to donate.
(https://i.imgur.com/6F80CHF.png) (https://ko-fi.com/I2I75ZMH)

Reporting issues
Clearly descibe what happens, and how to reproduce the behaviour. Also check if errors pop up, and if they do, please use the Hugslib error reporting feature by pressing ctrl+f12.

Credits
- malistaticy: For creating an improved version of the hacking table sprite.
- Orion: For creating and giving me permission to use the advanced mechanoid chip sprite, which was part of the amazing More Mechanoids (https://steamcommunity.com/sharedfiles/filedetails/?id=846222458), but is no longer used in that mod.


- One more thing: Guess what the new Giddy-up mod is going to be ^^
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Chicken Plucker on May 31, 2018, 04:08:15 PM
Nice Roolo! This is very awesome! I can't wait to see it finalized
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Kori on May 31, 2018, 06:29:03 PM
Sounds very good, I'll join the test! :)

When I use CE, will they pick up ammunition?
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 01, 2018, 12:48:28 AM
Glad you guys like it.

Quote from: Kori on May 31, 2018, 06:29:03 PM
Sounds very good, I'll join the test! :)

When I use CE, will they pick up ammunition?

Great! I've not yet looked at CE compatibility so they won't pick up ammo and I'm not sure what happens when you use it with CE right now as I don't know how CE handles ammo for mechanoids. I'll look into it.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Kori on June 01, 2018, 02:33:55 AM
Great, thank you!
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 01, 2018, 06:03:46 AM
This is nothing short of absolutely amazing. Your Giddy Up series are already a gem and now this! I'll gladly participate in the testing and offer any feedback nessecary. Thank you for all your hard work and amazing ideas, Roolo!
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Umbreon117 on June 01, 2018, 09:55:12 AM
Yeeeeesss...I can finally get my revenge by making those worthless robots fight among themselves for my own amusement!...I mean what?
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 02, 2018, 07:39:24 AM
Update:

- Finished a patch for CE that ensures mechanoids automatically pick up ammo when activated. Download it here https://github.com/rheirman/WhatTheHack_Patch_CE. I must say, when considering balance, using mechanoids with CE is a whole different story as CE makes mechanoids POWERFUL AS HELL. It will balance out a bit when I've implemented that enemy raiders also use hacked mechanoids.
- Added alerts. Players get notified when mechanoids have very low power, or when they don't have enough mechanoid platforms.

edit:
- Hacked mechanoids now spawn in enemy raids of advanced factions (at least with techlevel spacer)
- Fixed problem that hacking table worked despite being out of power.


Quote from: Kori on May 31, 2018, 06:29:03 PM
Sounds very good, I'll join the test! :)

When I use CE, will they pick up ammunition?
The answer to your question is yes now (if you have the patch installed of course) :)
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Kirby23590 on June 02, 2018, 02:19:05 PM
Looks cool!

I'm going try this out now.

having Scythers and Centipedes or using Hounds from Mechanoids Extraordinaire as my bodyguards for the colony is very cool and useful at the same time!
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 02, 2018, 02:33:21 PM
Its amazing! Raids having mechs is very nice for sure. I have so many factions from mods, i rarely get any mechs incoming, so its very damn nice to have some come with pirates and other advanced factions (by the way will they come with modded factions?). An influx of plasteel is also welcome. Those scythers like blowing off limbs too much, its costs a fortune making prosthetics. God, I'll have so much fun with it now!

As for feedback: it feels kinda harsh for mechs to cost an AI core only to control one unit without being able to get it back if the unit is destroyed. While mechs are really harsh when they come at you (mainly because they cripple\oneshot your people too easily), when you pit them against raiders late game (and you can't really get to hacking fast enough to start using them mid game) they mostly underperform without your control over them all (without CE). Raiders just shoot them to pieces. Scythers are effective, but too brittle and without cover drop fast. Centipedes are a really damn nice meatshields with suppressive fire-stunlocking abilities, but their incredible laziness makes them really hard to rely on even with control.

A bit of a suggestion: I think the method with which you can get control needs to be revised. Like constructing a broadcasting tower with couple AI cores, which allows you control as long as its powered and intact. And if power turns off, tower is destroyed - mechs that were active at that point revert to their bloodthirsty ways.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 02, 2018, 07:52:08 PM
Quote from: Madman666 on June 02, 2018, 02:33:21 PM
Its amazing! Raids having mechs is very nice for sure. I have so many factions from mods, i rarely get any mechs incoming, so its very damn nice to have some come with pirates and other advanced factions (by the way will they come with modded factions?). An influx of plasteel is also welcome. Those scythers like blowing off limbs too much, its costs a fortune making prosthetics. God, I'll have so much fun with it now!

As for feedback: it feels kinda harsh for mechs to cost an AI core only to control one unit without being able to get it back if the unit is destroyed. While mechs are really harsh when they come at you (mainly because they cripple\oneshot your people too easily), when you pit them against raiders late game (and you can't really get to hacking fast enough to start using them mid game) they mostly underperform without your control over them all (without CE). Raiders just shoot them to pieces. Scythers are effective, but too brittle and without cover drop fast. Centipedes are a really damn nice meatshields with suppressive fire-stunlocking abilities, but their incredible laziness makes them really hard to rely on even with control.

A bit of a suggestion: I think the method with which you can get control needs to be revised. Like constructing a broadcasting tower with couple AI cores, which allows you control as long as its powered and intact. And if power turns off, tower is destroyed - mechs that were active at that point revert to their bloodthirsty ways.

Thanks for your feedback and your kind words!  I forgot to mention in the last update post that the AI cores are retrievable from dead mechanoids with implanted AI now, so that partly resolves your issue.  But I still agree that  using the AI core is suboptimal. The tower idea is really nice, but a one time investment that gives full control might be a bit too much, even if the investment is high, especially since I want to keep the mechs with the default AI in game as they add a nice strategic element IMO. Maybe i should limit the amount of mechs that can be controlled with a tower? An alternative idea that I had was to not use AI persona cores, but a custom item instead, that can be retrieved from either quests or enemy hacked mechanoids that have implanted AI (with a small chance that enemy hacked mechs have implanted AI). Either way, now that AI is retrievable the issue isn't as big as it was, so I'll focus on some other things first, but it will get some more love at some point. Let me know if you have more feedback!

Edit: and to answer your question, yes they also come with modded faction, as long as their tech level is high enough. I'll add mod options later so you can also disable/ enable them for certain factions manually.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 03, 2018, 12:39:22 AM
Oh, so you can retrieve cores now! Yeah its fine then. I thought you just lose them immediately the mech dies. With towers I agree - having them be a one time built solution seems a bit much. I kinda like the idea of a custom item AI chips, dropping randomly from enemy mechs though. Making them one time use (destroyed upon mech death) and allowing for a really expensive endgame crafting recipe that uses Research stat to craft and takes time comparable to crafting a full power armor set would be nice. It would make Researchers more useful lategame and also won't allow for overusing mechs, since the time and resources it costs would be a limiting factor.

Another way would be to add an operation you could perform on downed mechs allowing you to salvage AI chip parts instead of hacking it, so you have a choice - to have some dumb soldiers, or sacrifice several potential dumb mechs to assemble a full chip and get 1 fully controlled, which will drop its chip on death. That would be rather neat too.

And the drop chance for AI chips from friendly and hostile mechs you can make an adjustable option. If i come think up of something else - i'll be sure to suggest it.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Kori on June 03, 2018, 01:29:03 AM
Quote from: Roolo on June 02, 2018, 07:39:24 AM
The answer to your question is yes now (if you have the patch installed of course) :)

Great, thanks! :)
It's good that we can retrieve the AI cores now, though custom items you can get from quests, enemy mechs or very expensive from trading or crafting sounds good as well, maybe even a little bit better.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 03, 2018, 03:22:42 AM
I didn't manage it yet to capture some mechanoids.
But maybe craft 2 lower kind of AI chip, which give the Mechanoid's worser abilities.
And the AI core give the best abilities. Don't forget these core can turn a MAI into a high skilled Pawn.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 03, 2018, 03:47:12 AM
Thanks again guys for the feedback! Yeah I think adding a lower tier chip while keeping the retrievable persona cores is the way to go. Inspired by your ideas, I have a nice purpose in mind for this new lower tier chip. It would be neat if, put in a lore friendly way, it does not override AI, but instead hacks the locomotion system. Given that, remote controllers can be crafted, and colonists can be assigned a job to take direct control over a mech using the controller. This makes the colonists occupied while controlling the mech, and the controller would have a maximum range, potentially requiring the colonist to expose himself to danger. Implanting AI would still work as it is now, having the advantage no colonist is required for control.

Hacking the locomotion system also makes a lot of sense when we add Giddy-up to the mix.

Edit: and Madman, I really like the salvage chips idea  (which can only be done with non-killed mechs, and gives some extra chips). I'll probably implement that.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 03, 2018, 05:05:02 AM
I think having colonists follow mechs with a remote somewhat eliminates the point of having mechs, if you still stick fleshy dudes out to be shot. RW is harsh, you can get oneshot through a power armor with one unlucky brainstrike, so the main point is to have mechs take the hit. Raiders are kinda smart in later updates, always prioritizing people over mechs and turrets. If you are gonna replace weapons with mech-remotes - i feel i won't use that anytime soon. If however it will go into accessory slot and you can actually create mixed armored strike teams bolstered by mech meatshields - i am up for that.

And I would definitely use mechs with AI cores, since they are retriavable and some nice mods actually let you craft them (even though its crazy expensive).

If you ever decide to let us actually modify and upgrade mechs - like change\upgrade their weapons, add more armor and integrate movement\targeting modules - that would also a welcome change. This mod has crazy amount of potential, while already being so awesome. Future looks so bright.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 03, 2018, 05:45:31 AM
Quote from: Madman666 on June 03, 2018, 05:05:02 AM
I think having colonists follow mechs with a remote somewhat eliminates the point of having mechs, if you still stick fleshy dudes out to be shot. RW is harsh, you can get oneshot through a power armor with one unlucky brainstrike, so the main point is to have mechs take the hit. Raiders are kinda smart in later updates, always prioritizing people over mechs and turrets. If you are gonna replace weapons with mech-remotes - i feel i won't use that anytime soon. If however it will go into accessory slot and you can actually create mixed armored strike teams bolstered by mech meatshields - i am up for that.

And I would definitely use mechs with AI cores, since they are retriavable and some nice mods actually let you craft them (even though its crazy expensive).

If you ever decide to let us actually modify and upgrade mechs - like change\upgrade their weapons, add more armor and integrate movement\targeting modules - that would also a welcome change. This mod has crazy amount of potential, while already being so awesome. Future looks so bright.

Yeah, the range of the remote should be large enough to keep your colonists out of combat range in most situations, but small enough to make it force the players to sometimes make risky decisions. And it will definitely be put in accessory slot. And like you put it so nicely the goal is indeed to have  "mixed armored strike teams bolstered by mech meatshields". Note that a nice thing about this is that your less battle hardened colonists can be assigned as the controllers, giving them an extra purpose.

About the mech modifications/upgrades, I definitely see the potential with that and it's something I'm definitely interested in looking into in the future, maybe as a separate add-on.

Plenty of possibilities to expand on this project to say the least :)
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 03, 2018, 05:51:27 AM
Whats more is there to say? You made my day :) Some people that suck ass at shooting now can pretend to be useful by holding a nintendo gamepad, while mechs do all the hard work. AWESOME.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 03, 2018, 05:55:08 AM
Oh, actually remotes bring me another idea - a remote hacking tool! Since enemies bring mechs now - why don't use a remote tool to scramble their AI making them revert to being "hive" mechs shooting anything human in sight! That would be even more cool
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 03, 2018, 06:20:59 AM
Quote from: Madman666 on June 03, 2018, 05:55:08 AM
Oh, actually remotes bring me another idea - a remote hacking tool! Since enemies bring mechs now - why don't use a remote tool to scramble their AI making them revert to being "hive" mechs shooting anything human in sight! That would be even more cool

I would also love to see that. And for non hacked mechs this scrambling device could temporarily hack them. I'd make the range of this device pretty short, so it's really a high risk/high reward thing. Maybe use the intelligence (research) stat to determine the chance of success. But this will be a post-release thing, let's first get all the basics finished. But I'll put it on the list later this day (on mobile now)
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 03, 2018, 01:04:19 PM
Cool stuff. And yeah either it needs to be a really hard to craft expensive one-time use tool (like insanity lances) or it needs to have other serious drawbacks, like short range.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 03, 2018, 01:07:50 PM
QuoteThis makes the colonists occupied while controlling the mech,
Hehe, that is the designated job for violent pawn's ! :-)

But what's about rideable Mechanoids together with the controller ?
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 03, 2018, 04:26:36 PM
Quote from: Canute on June 03, 2018, 01:07:50 PM
QuoteThis makes the colonists occupied while controlling the mech,
Hehe, that is the designated job for violent pawn's ! :-)

But what's about rideable Mechanoids together with the controller ?

So what I think that makes sense is that I add a modification called "on-board controller". This modification can be applied to mechanoids that have their locomotion system hacked. The on-board controller allows riders to control the mechanoid while keeping their hands free.

I've actually already played around a bit with mechanoid mounting (got a rough version working today). The rider firing while the mech is firing while on the move using run and gun is a devastating sight to behold :). By the way, mechanoid riding won't be part of this mod but will be a distinct Giddy-up mod that depends on both What the hack and Giddy-up Core.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 04, 2018, 01:36:51 PM
Wow, your mod makes for a strange synergy with Plucker's faction mods. Pirates bring tanks and APCs now since those are added as mechanoids, funny.

I wonder if an option can be added, that lets you choose what types of mechs pirates and other factions can bring with them.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 04, 2018, 05:11:16 PM
Hehe, would be interesting if Tribe's could bring their Centipeds :-)
yeah yeah i know they don't have the tech to hack them, but maybe some shaman found a way with magic. :-)
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 02:15:09 AM
Quote from: Madman666 on June 04, 2018, 01:36:51 PM
Wow, your mod makes for a strange synergy with Plucker's faction mods. Pirates bring tanks and APCs now since those are added as mechanoids, funny.

I wonder if an option can be added, that lets you choose what types of mechs pirates and other factions can bring with them.

That funny :). Yeah, it would be good to have such an option. I'll think about how to create a nice user interface for that without spending too much time. I can probably re-use the animal selector from Giddy-up, and put a layer on top of it which let you select the faction.

Quote from: Canute on June 04, 2018, 05:11:16 PM
Hehe, would be interesting if Tribe's could bring their Centipeds :-)
yeah yeah i know they don't have the tech to hack them, but maybe some shaman found a way with magic. :-)


Yeah, why not :). Not as a default, but I don't want to limit people that come up with creative ways to justify tribal warlords with minigun wielding metal death machines.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 05:56:29 AM

I just added the mechanoid control belt and mechanoid locomotion hacking!
- Added item: "mechanoid chip", a rare item that drops randomly when disassembling mechanoid. (credits for the sprite go to Orion, with his permission, I took the sprite from More Mechanoids, in which it is no longer used.
- Added research item: "hacking and controlling locomotion systems".
- After researching this, you can do the following:
  - Hack the locomotion system of a mechanoid. This does nothing directly, but opens up the possibility to manually control mechanoids with the mechanoid control belt
  - The mechanoid control belt is an item that can be crafted at the machining table. When a pawn equips it, it gets the option to control mechanoids (with a hacked locomotion system) from a distance. The pawn controlling the mechanoid will automatically follow the mechanoid to stay in the belts maximum range, while keeping distance. If you want to reposition your pawn, you can draft the pawn and move it (losing the connection to the mechanoid temporarely, but regaining it when the pawn is undrafted).

TODO:
- Add some visual feedback on the maximum range of the belt.
- Add mod options to configure the range of the belt and the distance the pawn should keep from the mechanoid.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 05, 2018, 09:22:26 AM
When a hacked mechanoid from another faction enter your base area, you are geting the msg. that you don't got enough Plattforms.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 10:34:33 AM
Quote from: Canute on June 05, 2018, 09:22:26 AM
When a hacked mechanoid from another faction enter your base area, you are geting the msg. that you don't got enough Plattforms.

Ok thanks for reporting. When I implemented the warning I didn't take account the hacked enemy mechanoids yet (as that was implemented later). I'll add a check.
Title: Re: [B18](WIP) What The Hack!? - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 11:57:47 AM
Oops, I accidently pushed code this afternoon that makes mechanoids non-aggressive when activated, so hence the following update. It also fixes some important issues present in the latest update. 


- Fixed mechs not being aggressive when activated (no more sweet puppy mechs :) )
- Fixed warning that you don't have enough mechanoid platforms popping up when enemy hacked mechs arrive
edit:
- Fixed pawn bugging out when controlled mech dies or is downed
- Colonists that are controlling a mechanoid no longer flee from combat while busy controlling.

Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 05, 2018, 04:02:55 PM
Just a question, what skill is important to hack a mechanoid ?
I would say crafting since it is required
, but it could be intellectual too.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 04:11:14 PM
Quote from: Canute on June 05, 2018, 04:02:55 PM
Just a question, what skill is important to hack a mechanoid ?
I would say crafting since it is required
, but it could be intellectual too.

It's crafting only. I agree that both make sense. I chose crafting because the name (crafting) in the job section is more appropriate. If I picked intellectual, the "medicine" job would have to be assigned, and I don't think that makes sense. Picking crafting as requirement and intellectual as success factor influencer would be too confusing I think.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 05, 2018, 04:21:54 PM
Ok, but then the chance to hack are very low.
My skill 18/19 crafter allways failed so far.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 05, 2018, 04:56:11 PM
Quote from: Canute on June 05, 2018, 04:21:54 PM
Ok, but then the chance to hack are very low.
My skill 18/19 crafter allways failed so far.

Ok, I suppose it could use tweaking then. Succesfactor is set to 1.0, which means it shouldn't be too hard. I'll check if medicine skill isn't used somewhere under the hood. How many times did you try by the way?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 06, 2018, 02:26:33 AM
Until a disaster happen and the scyther died. At last 5-6 times.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 06, 2018, 02:40:10 AM
Damn, that must some crappy random. At least i hope it was random, 6 fails in a row seems way too harsh.

On a sidenote, I wish you could make it rather be Intellectual skill, not Crafting. Most jobs concentrate on crafting from tailoring a pair of pants to assembling a minigun. Researchers on the other hand just get utterly useless once you have nothing to research. I mean a godlike Intellectual pawn sweeping the floor and washing dog vomit as a main job... seems a bit too like reality, no?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 02:54:19 AM
It's supposed to be hard, but not that hard. In my tests I had roughly a 70% success rate, but that was at lvl 20 and I don't know how it scales down. It could be that you were really unlucky, or that I was particularly lucky when testing. But still, I think even 70% is slightly too low at max skill level. Either way, I should more thoroughly test this at multiple skill levels. I'll make sure it's more balanced when I get home later this day.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 03:52:08 AM
Quote from: Madman666 on June 06, 2018, 02:40:10 AM
Damn, that must some crappy random. At least i hope it was random, 6 fails in a row seems way too harsh.

On a sidenote, I wish you could make it rather be Intellectual skill, not Crafting. Most jobs concentrate on crafting from tailoring a pair of pants to assembling a minigun. Researchers on the other hand just get utterly useless once you have nothing to research. I mean a godlike Intellectual pawn sweeping the floor and washing dog vomit as a main job... seems a bit too like reality, no?

Yeah I agree the intellectual skill is underused, especially late game. I guess I could use the "doctor" designation which depends on intellect. Not entirely appropriate, but you could see it as a mechanoid doctor. Another option is the following:

In real life you would need both intellectual capacity to perform the thinking, but also some crafting skill, to carefully open up the mechanoid and connect the right wires etc. So we can use crafting as minimum requirement and as job designation, and intellectual as skill that determines chance of success and the skill that is trained. So like I said before, this will likely confuse players. But what I could do is show a warning when a crafter with low intellectual skill attempts to hack. With that the player should understand what's going on. With this option I'd lower the crafting requirement to 6 since otherwise it would be too harsh

And yet another option is to use a new designation called "hacking", which depends on intellectual. But this would maybe add too much clutter and requires more time to implement.

What would you guys prefer?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 06, 2018, 04:20:21 AM
I finaly hacked a Scyther. But the crafter broke 2 other before.

QuoteYeah I agree the intellectual skill is underused, especially late game.
Does that mean i need my crafter to train intel, or my research need to craft ?
But Rim of Magic allready need these both skill for the enchanting/scribing.
You can made a requirement of crafting skill to start the operation and Intellectual for succes chance.
But please mention this somewhere in a description or maybe learning helper (even when i never read these).

Edit:
It is possible to give Mech's missing parts back ?
Like Scyther install blade's on lost arms ?
Or is there another way to fix this ?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 04:33:35 AM
Quote from: Canute on June 06, 2018, 04:20:21 AM
I finaly hacked a Scyther. But the crafter broke 2 other before.

QuoteYeah I agree the intellectual skill is underused, especially late game.
Does that mean i need my crafter to train intel, or my research need to craft ?
But Rim of Magic allready need these both skill for the enchanting/scribing.
You can made a requirement of crafting skill to start the operation and Intellectual for succes chance.
But please mention this somewhere in a description or maybe learning helper (even when i never read these).

What I meant is that I'm thinking of three options:

1. Use the "doctor" designation, and only use intellect for the minimum skill requirement and for the training.
2. Use crafting to assign the job and as a minimum skill requirement, and intellectual to determine the chance of success and as a skill that is learned while hacking. And make it really clear that this works this way (not only in the mod description, but also in-game)
3. Use a separate new "hacking" desgination instead of doctor, also depending fully on intellect.

To answer your question "Does that mean i need my crafter to train intel, or my research need to craft?"
Only if we choose option 2. In that case, your researcher should have some (but not a lot) crafting skill.

So my question to you guys is:
What option do you prefer? 1, 2, or 3, or something else?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 06, 2018, 04:53:17 AM
I vote for 2.
I think this "hack" isn't a pure remotely over Wifi hack, which just require the knowledge over the software.
I think the operator need to bypass some hardware security/encrypting node before he can start to reprogram the targeting/locomation routines.
That would explain why he is in need of parts/chips for this process ! :-)

BUT , just got an idea.
With the Mech. controller belt, it should be possible to temp. hack a free mechanoid.
Like override the targeting or locomotion system. Based on the Intellectual skill are the succes chances. Skill 20  = 90%  Skill 10 = 50%.
Ofcourse the hive will counter the hack, so each x ticks there will be a new check for a succesful hack, but with increased difficult.
You can't perma control a mech at this way, but cause trouble at the mechanoid attack.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 06, 2018, 04:56:14 AM
I am fine with options 1 and 3, where 3 is more immersive i guess, as for 2 - it can also be fine with a little rebalance. If the job requires two skills, its success rate should be increased then, as its much harder to find, recruit and train a suitable pawn.

As an option 4 i can offer using Crafting skill to create new item - wiring kit, that will be used as a "medicine" when hacking operation is performed. Hacking itself will be like in option 3 - new kind of job depending on Intellectual skills only. You can then use those "wiring kits" to also fix your damaged mechs and etc. Could be quite immersive.

As for idea suggested above - i quite like it, and agree with hacking checks increasing in difficulty, but i hope the range on that type of hack will be sufficient. Mechanoid don't screw around and eat limbs for breakfast.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 06:39:17 AM
Thanks for the feedback you both, it's really helpful! I think I'll go for option 2, with some re-balancing (I way going to do a re-balance anyway).

Quote
BUT , just got an idea.
With the Mech. controller belt, it should be possible to temp. hack a free mechanoid.
Like override the targeting or locomotion system. Based on the Intellectual skill are the succes chances. Skill 20  = 90%  Skill 10 = 50%.
Ofcourse the hive will counter the hack, so each x ticks there will be a new check for a succesful hack, but with increased difficult.
You can't perma control a mech at this way, but cause trouble at the mechanoid attack.

Adding items that can be used to  temporarily hack mechs from a distance was already on my list, but using the existing controller belt, and the existing types of hacks is an excellent addition! I can add extra research that allows you to upgrade the software in the controller belt to enable these two types of hacks. Except from being temporarily, they should work the same as the permanent "hardware hacks", so you'd have to hack the targeting first, and after that you can try to hack the locomotion system.

Quote
As an option 4 i can offer using Crafting skill to create new item - wiring kit, that will be used as a "medicine" when hacking operation is performed. Hacking itself will be like in option 3 - new kind of job depending on Intellectual skills only. You can then use those "wiring kits" to also fix your damaged mechs and etc. Could be quite immersive.

I considered adding such an item, but eventually decided to keep things simpler, by letting players use the mechanoid parts directly as a "medicine" (for hacking operations only). On the one hand, I like the idea of adding an intermediate item because of the added immersion. On the other hand, what I dislike is the added complexity of introducing another step in the process, and that it requires me to do more coding/sprite drawing. Using mech parts or a new wiring kit to let your pawn repair mechs would be nice, but has proven very annoying to implement (I gave it a try), because the logic that determines what medicine can be used on which pawn type, is hard-coded in an enum, and cannot be patched directly. So to make this work, I'd have to patch all the code that calls this logic, which isn't compatibility friendly, and also just annoying/ugly to do. That's why I decided to go for the approach in which the mechanoid platforms handle the repairing, and I started to like this new mechanic, since it makes mechanoids even more distinct, and can - with some fantasy - still be immersive.

Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 06, 2018, 08:22:16 AM
Ah, ok, coding ugliness. Got it. Well thats fine, I am ok with mech platforms repairing mechs on their own.

Actually i got one more thing on my mind - i keep several downed mechs in my killbox area while i am researching hacking and they kinda started to annoy me\get in the way of things. I also don't wanna just shut them down. Could we get some way of transporting downed mechs to a zone of some kind?
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 12:40:53 PM
Quote from: Madman666 on June 06, 2018, 08:22:16 AM
Ah, ok, coding ugliness. Got it. Well thats fine, I am ok with mech platforms repairing mechs on their own.

Actually i got one more thing on my mind - i keep several downed mechs in my killbox area while i am researching hacking and they kinda started to annoy me\get in the way of things. I also don't wanna just shut them down. Could we get some way of transporting downed mechs to a zone of some kind?

Good one, I'll see if I can implement that without spending too much time.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 06, 2018, 03:17:21 PM
Update:


- Rebalanced hacking. Should be a lot easier now (while there's still a reasonable chance that it fails).
- Hacking now uses the intellectual skill when success chance is determined and for assigning experience, and has a minimum crafting skill requirement of 6.
- Already hacked mechanoids from other factions can now be hacked like normal mechanoids.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 07, 2018, 10:13:31 AM
Such a Modify spot for mechanoids would realy be helpful.
Just like a crafting spot, but is needed for all modify but not hacking operations on mechanoids.

And the repair/restore ability of the recharge station, to restore all these lost legs and arms. But with scyther arm's it could be exploided, when the station restore it, and you remove the blade after it.
The Robot station from Misc. Robots got a similar function. Same to Recharge station for the Misc. MAI.  If you need some ideas.

Another thing, weapon exchange for hacked mechanoids. Currently i look at the weapon's before i try to hack them.
Mosttimes all sycther with Suprior or better weapons allways got a lost leg.
The best it would be, if you can extract the weapon, and install any owned weapon at the mech.
Similar to the Turret weapon base from Misc.  Objects.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Madman666 on June 07, 2018, 10:25:46 AM
I guess you should only get fixing\repairing operations available for your own hacked mechanoids, not removing parts to avoid exploitation. And removing blades should also make an enemy downed mech unable to be hacked and only disassembled\shut down.

As for weaponry - Ideally would be an ability to arm mechs with weapons of your choosing. Uninstalling the mech weapons would be kinda too powerful though, same as with scyther blades. Mech weapons if detached from main body should be lost (except for miniguns). And instead you could install any human wielded weapon if you don't like the quality of a mech's own gun.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 08, 2018, 05:40:32 AM
Good points. Yes, regaining limbs should be made possible. This is really a missing thing right now, and should be added before release.

QuoteI guess you should only get fixing\repairing operations available for your own hacked mechanoids, not removing parts to avoid exploitation. And removing blades should also make an enemy downed mech unable to be hacked and only disassembled\shut down.
Good idea, this is a good way to resolve the issue since it's really easy to implement (which is always important, sint it gives me more time to implement fun things :) ). To make it a bit more immersive/less arbitrary, I could allow hacking on mechs with part removes, but if players do that, the state of the mech is stored, and limbs that were removed before the hack will never regrow (and a warning making this clear shows up when the mech is hacked).

Weapon replacement would be a nice thing to have. I'll probably add that post release, since I don't want to stall the release for too long. This isn't trivial to implement because we'd like to restrict certain weapons to mechs only, and maybe even certain mech types.

Talking about the release. I'm aiming for next week on Friday. This'll give me enough time to test things more extensively and finish the last things I want to finish before release. I updated the original post so you can see what will be in the initial release, and what will be added post-release.







Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 08, 2018, 09:12:13 AM
QuoteTo make it a bit more immersive/less arbitrary, I could allow hacking on mechs with part removes, but if players do that,
That shouldn't be a problem, if you increase the fuel use if the station repair missing limbs.

You can increase the fuel tank from 10 to 50, and increase the generell fuel need by 50-100%
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 10, 2018, 02:56:07 AM
What do you think about to craft Adv. mech. chips out of Mech. Parts ?
I have ton's of part's but i am lacking of chips.
10 part + 100 silver -> 1 chip at the component assembly bench.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 10, 2018, 01:00:17 PM
Quote from: Canute on June 10, 2018, 02:56:07 AM
What do you think about to craft Adv. mech. chips out of Mech. Parts ?
I have ton's of part's but i am lacking of chips.
10 part + 100 silver -> 1 chip at the component assembly bench.

I do like the idea of making the component assembly bench more useful than it is. And it's also nice  if there are more ways to spend mechanoid parts. On the other hand I do want to keep the advanced mechanoid chips hard to obtain. I'll consider it. What I am going to for certain is decreasing the drop rate of the parts, as they shouldn't pile up like they do now, as they're supposed to be a valuable resource.

Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Arkalon on June 11, 2018, 11:04:51 AM
This seem amazing, I'll keep a very close look on it, good luck, keep up the good work !
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 14, 2018, 05:15:31 PM
Thanks Arkalon! :)

Update:

- Mechanoid body part regeneration is now possible at mechanoid platforms.
  - Regenerating costs a lot of mechanoid parts (5x more than normal repairs), and can be toggled off at the platform so you can prioritize normal repairs.
- Doubled capacity of mechanoid platforms.
- Decreased drop rate of mechanoid parts
- Fixed problem involving colonists trying to tend with mechanoid parts, causing errors.

Todo:
Regenerating mech parts can now still be exploited. I'll fix this later.

By the way, releasing tomorrow won't happen yet. I didn't take into account that I have a wedding I have to attend then. Moreover, last week has been quite busy IRL. Still, release will be pretty soon.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Canute on June 15, 2018, 03:40:28 AM
Just double the capacity ? But it could be enough to repair some missing parts. We will see.
Currently i play with Lord of Rim's so no fast feedback.

About the release, hey didn't you said you don't want kid's for the next 2 years ? Then you don't need a honeymoon and you can work the night ! :-))
You arn't a comerical so you don't need to have deadlines for your mods, beside to made your fan's happy.
Didn't you watch StarTrek TNG when Scotty explained Geordi he never should tell the captain the real time he might need to the repairs. He should say he need twice so much, so when a captain want it faster (like they mosttimes do) you still have timebuffer and lucking good if you made it intime. ! :-)
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: mrsebseb on June 15, 2018, 04:41:49 AM
I haven't tried the latest version properly yet. Didn't actually mean to have it active for this as I have WAY too many mods right now, but I randomly got this error on world generation:

Error in WorldGenStep: System.NullReferenceException: Object reference not set to an instance of an object
at WhatTheHack.Harmony.Pawn_HealthTracker_MakeDowned.Postfix (Verse.Pawn_HealthTracker) <0x0007c>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.MakeDowned_Patch3 (object,System.Nullable`1<Verse.DamageInfo>,Verse.Hediff) <0x00a3b>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.CheckForStateChange_Patch3 (object,System.Nullable`1<Verse.DamageInfo>,Verse.Hediff) <0x0052e>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.AddHediff_Patch2 (object,Verse.Hediff,Verse.BodyPartRecord,System.Nullable`1<Verse.DamageInfo>) <0x00269>
at RimWorld.AgeInjuryUtility.GenerateRandomOldAgeInjuries (Verse.Pawn,bool) <0x00786>
at (wrapper dynamic-method) Verse.PawnGenerator.GenerateInitialHediffs_Patch1 (Verse.Pawn,Verse.PawnGenerationRequest) <0x00035>
at Verse.PawnGenerator.TryGenerateNewNakedPawn (Verse.PawnGenerationRequest&,string&,bool) <0x0070c>
at (wrapper dynamic-method) Verse.PawnGenerator.GenerateNewNakedPawn_Patch1 (Verse.PawnGenerationRequest&) <0x0021d>
at (wrapper dynamic-method) Verse.PawnGenerator.GeneratePawnInternal_Patch1 (Verse.PawnGenerationRequest) <0x00aaa>
at (wrapper dynamic-method) Verse.PawnGenerator.GeneratePawn_Patch1 (Verse.PawnGenerationRequest) <0x000c1>
at Verse.PawnGenerator.GeneratePawn (Verse.PawnKindDef,RimWorld.Faction) <0x0020b>
at RimWorld.Faction.GenerateNewLeader () <0x00294>
at RimWorld.FactionGenerator.NewGeneratedFaction (RimWorld.FactionDef) <0x0037e>
at RimWorld.FactionGenerator.GenerateFactionsIntoWorld () <0x00087>
at RimWorld.Planet.WorldGenStep_Factions.GenerateFresh (string) <0x00048>
at (wrapper dynamic-method) RimWorld.Planet.WorldGenerator.GenerateWorld_Patch2 (single,string,RimWorld.Planet.OverallRainfall,RimWorld.Planet.OverallTemperature) <0x002c2>

Verse.Log:Error(String)
RimWorld.Planet.WorldGenerator:GenerateWorld_Patch2(Single, String, OverallRainfall, OverallTemperature)
RimWorld.Page_CreateWorldParams:<CanDoNext>m__0()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()


Regenerating the world a few times, the error went away
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 15, 2018, 05:29:01 AM
Quote from: Canute on June 15, 2018, 03:40:28 AM
Just double the capacity ? But it could be enough to repair some missing parts. We will see.
Currently i play with Lord of Rim's so no fast feedback.

About the release, hey didn't you said you don't want kid's for the next 2 years ? Then you don't need a honeymoon and you can work the night ! :-))
You arn't a comerical so you don't need to have deadlines for your mods, beside to made your fan's happy.
Didn't you watch StarTrek TNG when Scotty explained Geordi he never should tell the captain the real time he might need to the repairs. He should say he need twice so much, so when a captain want it faster (like they mosttimes do) you still have timebuffer and lucking good if you made it intime. ! :-)

Haha, yeah I'll keep that in mind. It's not my own wedding by the way, and i can't remember saying that but it's definitely true that I wouldn't want kids for the coming two years. But if I do some day, I'll make sure that they learn how to mod, so I'll have my own team of Roolo's.

Quote from: mrsebseb on June 15, 2018, 04:41:49 AM
I haven't tried the latest version properly yet. Didn't actually mean to have it active for this as I have WAY too many mods right now, but I randomly got this error on world generation:

Error in WorldGenStep: System.NullReferenceException: Object reference not set to an instance of an object
at WhatTheHack.Harmony.Pawn_HealthTracker_MakeDowned.Postfix (Verse.Pawn_HealthTracker) <0x0007c>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.MakeDowned_Patch3 (object,System.Nullable`1<Verse.DamageInfo>,Verse.Hediff) <0x00a3b>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.CheckForStateChange_Patch3 (object,System.Nullable`1<Verse.DamageInfo>,Verse.Hediff) <0x0052e>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.AddHediff_Patch2 (object,Verse.Hediff,Verse.BodyPartRecord,System.Nullable`1<Verse.DamageInfo>) <0x00269>
at RimWorld.AgeInjuryUtility.GenerateRandomOldAgeInjuries (Verse.Pawn,bool) <0x00786>
at (wrapper dynamic-method) Verse.PawnGenerator.GenerateInitialHediffs_Patch1 (Verse.Pawn,Verse.PawnGenerationRequest) <0x00035>
at Verse.PawnGenerator.TryGenerateNewNakedPawn (Verse.PawnGenerationRequest&,string&,bool) <0x0070c>
at (wrapper dynamic-method) Verse.PawnGenerator.GenerateNewNakedPawn_Patch1 (Verse.PawnGenerationRequest&) <0x0021d>
at (wrapper dynamic-method) Verse.PawnGenerator.GeneratePawnInternal_Patch1 (Verse.PawnGenerationRequest) <0x00aaa>
at (wrapper dynamic-method) Verse.PawnGenerator.GeneratePawn_Patch1 (Verse.PawnGenerationRequest) <0x000c1>
at Verse.PawnGenerator.GeneratePawn (Verse.PawnKindDef,RimWorld.Faction) <0x0020b>
at RimWorld.Faction.GenerateNewLeader () <0x00294>
at RimWorld.FactionGenerator.NewGeneratedFaction (RimWorld.FactionDef) <0x0037e>
at RimWorld.FactionGenerator.GenerateFactionsIntoWorld () <0x00087>
at RimWorld.Planet.WorldGenStep_Factions.GenerateFresh (string) <0x00048>
at (wrapper dynamic-method) RimWorld.Planet.WorldGenerator.GenerateWorld_Patch2 (single,string,RimWorld.Planet.OverallRainfall,RimWorld.Planet.OverallTemperature) <0x002c2>

Verse.Log:Error(String)
RimWorld.Planet.WorldGenerator:GenerateWorld_Patch2(Single, String, OverallRainfall, OverallTemperature)
RimWorld.Page_CreateWorldParams:<CanDoNext>m__0()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()


Regenerating the world a few times, the error went away

Thanks for reporting. Should be easy to fix. It's still weird the code that makes pawns downed is called when the world generated. Had a similar issue when I created RunAndGun.
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Roolo on June 17, 2018, 07:27:45 AM
Rimworld 1.0 unstable has just been released. This leaves me to a choice: finish WhatTheHack B18 quickly and update it to 1.0 when the time comes, or be patient and wait with releasing until 1.0 is oficially released.

If I were to pick the first option, the release would be next friday, as stalling it any further won't be any good: unfortunately this is a few days before a very important exam I really have to pass. Not very convenient. That in addition to the fact many players will be waiting with installing new mods until 1.0 releases, made me decide to go for the other option: releasing when v1.0 pops up. This will give me some extra time to get the mod fleshed out really well, and also give me some room to update my other mods to 1.0 (especially Giddy-up! Caravan won't be easy since they really changed the caravanning system).
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - NEED TESTERS + FEEDBACK!!!
Post by: Nilokka on June 20, 2018, 09:16:45 AM

I like this mod very much! Excellent work Roolo :D
Title: Re: [B18](WIP) What The Hack?! - Mechanoid hacking - 1.0 version available
Post by: Roolo on June 28, 2018, 03:47:31 PM
Thanks Nilokka :)

I'm finally done getting WhatTheHack working for Rimworld 1.0 experimental. Rimworld 1.0 was a bit of a setback for this project since a lot of things changed that broke the mod. But it's all fixed now.

The master branch now contains the 1.0 version. I've created a separate branch for the B18 version, which can be found here: https://github.com/rheirman/WhatTheHack/tree/B18

The 1.0 version also comes with many (mostly small) changes. The mod should now feel much more balanced. Here's a small changelog (probably has some things missing):


- Increased power consumption of active mechs
- Decreased mech repair speed
- Reworked how hacking success chance is determined - should also feel much more balanced now, and it's easier for me to balance now.
- Added special "hacking" work type, that can be designated in the work tab. Depends on both crafting and intellectual. Intellectual is the base stat that determines chance of succes, but when crafting is below level 12, a small per level penalty is applied.
- Mechs can be downed again (isn't possible in vanilla anymore)
- Re-added mech shutdown operation
- Fixed problem with regrowing body parts not working properly.
- Toned down drop chance of mechanoid parts a bit.
- Renamed most defs (this breaks B18 saves)
- Made pawns move a bit closer to the mechs when controlling them.
- Fixed problems occuring when controlled mechs die





Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on June 28, 2018, 04:14:56 PM
Feedback on the new release is much appreciated by the way :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on June 28, 2018, 04:33:59 PM
Good. I am so glad your mod adapted successfully to 1.0. I was a bit worried when Tynan disabled mechanoids being downed. I want some centipede tanks to watch my deep drills for me with all the insects they tend to spawn now.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 1m.f1ckl3 on June 30, 2018, 01:44:50 PM
If you still need an artist I'd be happy to help  :D
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on June 30, 2018, 02:48:20 PM
Quote from: 1m.f1ckl3 on June 30, 2018, 01:44:50 PM
If you still need an artist I'd be happy to help  :D

Yes, I could definitely use one. I'm not a disaster in drawing but I'm quite slow, due to a lack of experience. I still need a nice banner for the mod. Would you be interested in creating one? Could you show me some of your work in a PM? Doesn't have to be Rimworld related.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Lucky_D20 on July 01, 2018, 12:58:55 AM
Quote from: Roolo on June 28, 2018, 04:14:56 PM
Feedback on the new release is much appreciated by the way :)
I'm using the 1.0 and so far it is working on vanilla Mechanoids. But the ones from the Rimsenal Federation mod do not work. I even tried changing the body def from Brain to ArtificialBrain, still no luck. https://gist.github.com/HugsLibRecordKeeper/62a7993eac8711764eaffa4434f804d3
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 01, 2018, 08:39:09 AM
Quote from: Lucky_D20 on July 01, 2018, 12:58:55 AM
Quote from: Roolo on June 28, 2018, 04:14:56 PM
Feedback on the new release is much appreciated by the way :)
I'm using the 1.0 and so far it is working on vanilla Mechanoids. But the ones from the Rimsenal Federation mod do not work. I even tried changing the body def from Brain to ArtificialBrain, still no luck. https://gist.github.com/HugsLibRecordKeeper/62a7993eac8711764eaffa4434f804d3

Thanks for reporting. Getting this mod working for mechs without artificial brains is high on my to-do list, so I'll take a look at Rimsenal compatibility while I'm working on that.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 04, 2018, 01:07:38 PM

Update:
- Added mod option that allows you to configure which mechanoids each faction is able to hack. By default, all lower tech factions (including modded ones) have every mechanoid disabled, and the higher tech factions (at least spacer) have it enabled for any mech.
- Greatly improved general compatibility with other mechanoid adding mods. At least the mechanoids from Rimsenal are now compatible.
- Fixed conflict with several mods (including Zombieland) that called HealthTracker.MakeDowned on world generation.
- Fixed conflict with mods that don't have a default job defined for the mechanoids they add, resulting in the mechanoid leaving the map when activated after hacking.
- Added support for mechanoids with other brains than artificial brains.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 05, 2018, 03:00:47 PM
I just finished creating the thumbnail as I couldn't find anyone to do it for me ^^. It took me ages to create it but I'm quite happy with how it turned out:

(https://i.imgur.com/4Qsag6p.png)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on July 05, 2018, 04:15:00 PM
How big are you, that this pic can fit on your thumbnail ? :-)
I would suggest to smooth the text a bit, except you like the rough look of it (looks retro style).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 05, 2018, 04:22:53 PM
Quote from: Canute on July 05, 2018, 04:15:00 PM
How big are you, that this pic can fit on your thumbnail ? :-)
I would suggest to smooth the text a bit, except you like the rough look of it (looks retro style).

^^. I don't know why I keep calling it a thumbnail. Banner would be more suited I guess, although my thumbnails are unnaturally big. The text is pixelly at purpose. The font is called "terminal". I thought it's quite suitable for a hacking related mod.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 05, 2018, 06:01:58 PM
This is damn amazing, @Roolo. That pic is epic and contents of your mod even more so. I am really damn glad about mechanoid options for factions. I wanted to try and use some mechs pretty much from the point i started playing RW and now you gave me such a possibility. Thank you :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on July 06, 2018, 03:50:30 AM
Quote from: Roolo on July 05, 2018, 04:22:53 PM
^^. I don't know why I keep calling it a thumbnail. Banner would be more suited I guess, although my thumbnails are unnaturally big.
I guess you use the wrong term for it.
Thumbnails are normaly a small preview pic of the original picture. To give the user a feeling of the picture/video before he will click on it and load the 100 times bigger one.
Back at the day's you don't got flatrates and loading a megabyte still takes minutes.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 10, 2018, 02:27:47 PM
So currently most high priority things on the list of things I wanted implemented before release have been finished, and I can start thinking about the post-release list (I can just start implementing them, and having them finished before release after all). The post-release list includes the following:
Quote
- Add mechanoid consumables, for instance small charge packs, that can be used to charge mechanoids on the go
- Make caravanning possible with mechanoids (for this the consumables will be handy)

Now I'm really thinking about these features, some problems start to arise. One thing is that I really don't want to trivialize the charging at platforms mechanic. So I wouldn't want charge packs to completely replace that. One way of preventing this, is making them really expensive, and make them charge the mechanoids really fast (to make it up for the fact they are so expensive). This way they are more a emergency situation thing, and not something you would use continually. While I like this idea, it does have implications for caravanning. Since they would be the only item that makes caravanning possible, it would make caravanning with mechanoids really expensive, which seems a bit too restrictive in my opinion.

A solution would be to add a portable mechanoid charging platform, which has a large battery in it. You'd charge it in your base, and a mechanoid can last a couple of days with it and would charge itself automatically while the caravan is moving. This platform wouldn't be a normal consumable, instead think of it as a bedroll for mechanoids. One large disadvantage of this option is that it'll be a lot of effort to implement it, while it also doesn't seem as convenient as consumables. 

Do you guys happen to have ideas that aren't too complex (so can be implemented in a reasonable amount of time), don't trivialize the platforms, while keeping caravanning viable?


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 10, 2018, 02:41:13 PM
Damn, sending out teams with mechanoid bodyguards! Holy crap. This is amazing.

So with the off topic ceaseless amazement done - i really like the portable platform idea, based on solar energy, maybe? So it slowly recharges in day hours of travel and at night, when caravan stops it wll charge mechs depleting what it managed to store during the day. That would be damn cool to have.

Consumables would probably be way easier to implement but... Yeah. RW is full of expensive things lately, even turrets eat steel, so having one more resource sink might not be too great (i'd still use the mechs anyway, its to nice to pass up). Could you perhaps code a kind of consumble that you can produce once, then use to charge mechanoids, while returning an empty battery, which you could then fill up again? It would require you to make several batteries using resources once, but after that you can reuse them... Something like that.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 10, 2018, 02:58:15 PM
Quote from: Madman666 on July 10, 2018, 02:41:13 PM
Damn, sending out teams with mechanoid bodyguards! Holy crap. This is amazing.

So with the off topic ceaseless amazement done - i really like the portable platform idea, based on solar energy, maybe? So it slowly recharges in day hours of travel and at night, when caravan stops it wll charge mechs depleting what it managed to store during the day. That would be damn cool to have.

Consumables would probably be way easier to implement but... Yeah. RW is full of expensive things lately, even turrets eat steel, so having one more resource sink might not be too great (i'd still use the mechs anyway, its to nice to pass up). Could you perhaps code a kind of consumble that you can produce once, then use to charge mechanoids, while returning an empty battery, which you could then fill up again? It would require you to make several batteries using resources once, but after that you can reuse them... Something like that.

I love the solar panel idea. I might implement that. Doesn't make things easier to implement, but when I'm happy with the idea, I'm willing to spend more effort into it ^^.

Rechargeable batteries like you propose would also be a nice addition, but might be a bit too much effort to implement since I wouldn't be able to use the existing game mechanics that much (as opposed to non-rechargeable batteries), while it would also have a larger tendency to trivialize the charging platform mechanic.   

I'll probably go for the solar-powered portable charging platforms, in combination with the emergency batteries (likely non-rechargeable) that are consumable. I think they form a good combination. Just in case your mechs run out of power for whatever reason during the caravan trip, you can have some emergency batteries ready. And of course the batteries can be useful in other (emergency) situations.

Thanks for the ideas and your enthusiasm, it's really helpful :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on July 10, 2018, 04:34:02 PM
I have an idea: Replaceable batteries.

You can take the batteries out of a remote. And recharge them if they are rechargeable batteries. Why not make it so that the mech batteries can be replaced?

There can be two types of batteries. One that doesn't recharge but is cheaper (mid game), and one that does but costs more (maybe late-mid to late game)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 11, 2018, 07:38:23 AM
Quote from: Umbreon117 on July 10, 2018, 04:34:02 PM
I have an idea: Replaceable batteries.

You can take the batteries out of a remote. And recharge them if they are rechargeable batteries. Why not make it so that the mech batteries can be replaced?

There can be two types of batteries. One that doesn't recharge but is cheaper (mid game), and one that does but costs more (maybe late-mid to late game)

Could you clarify a bit how these batteries would differ from the consumable batteries discussed the last few posts? Do you mean that instead of being consumable, they should be installable as body parts?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on July 11, 2018, 09:15:41 AM
Quote from: Roolo on July 11, 2018, 07:38:23 AM
Could you clarify a bit how these batteries would differ from the consumable batteries discussed the last few posts? Do you mean that instead of being consumable, they should be installable as body parts?
I wasn't trying to figure out a way they could be installed, but that could be one way of doing it. No idea how hard that would be though. In the end they would just have to be replaceable, as that is the point of the idea.

As for the batteries: Consumable batteries sound that they are a "Eat this and bam full charge". I was thinking that the rechargeable batteries would go into a recharge station, and would take X amount of time to recharge. The larger the battery, the larger the charge time. Non-rechargeable batteries would either be broken down for parts or just destroyed. This would mean that you could always have a mech up and running around doing mech things if you really wanted it to, and could afford the cost.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on July 11, 2018, 09:18:18 AM
Since all hacked mechanoids need to recharge from time to time, they got internal batteries. And they are rechargeable.
I don't think the internal batteries arn't easy accessable for a fast exchange.
And i don't assume that you don't want add mechanoid body modfications, like to lightweight Centipedes so they can act as packmount for caravan's or added Solarpanel/Vario power cell to be a mobile recharger.

So my suggestion to add these mobile recharger.
Low tech, solar ones, just deliver power for one mech (or one centi or 2 scyther). Pretty heavy so a packmount is needed.
Med. tech, chemfuel generator, same weight but can charge 4-5 mechs at once.
High tech, Vario power cell, lightweight can charge 2-3 mech's at once.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 11, 2018, 10:18:29 AM
Quote from: Umbreon117 on July 11, 2018, 09:15:41 AM
Quote from: Roolo on July 11, 2018, 07:38:23 AM
Could you clarify a bit how these batteries would differ from the consumable batteries discussed the last few posts? Do you mean that instead of being consumable, they should be installable as body parts?
I wasn't trying to figure out a way they could be installed, but that could be one way of doing it. No idea how hard that would be though. In the end they would just have to be replaceable, as that is the point of the idea.

As for the batteries: Consumable batteries sound that they are a "Eat this and bam full charge". I was thinking that the rechargeable batteries would go into a recharge station, and would take X amount of time to recharge. The larger the battery, the larger the charge time. Non-rechargeable batteries would either be broken down for parts or just destroyed. This would mean that you could always have a mech up and running around doing mech things if you really wanted it to, and could afford the cost.

Ok, I understand what you mean now. It wasn't clear to me the batteries were intended to be used with the to be added portable charging platform. I do like the idea, but it might be a bit too time consuming to implement it properly, especially with rechargeable batteries. Canute just proposed a chemfuel version. This would be similar to your idea, but simpler to execute, while still immersive enough in my opinion.

Quote from: Canute on July 11, 2018, 09:18:18 AM
Since all hacked mechanoids need to recharge from time to time, they got internal batteries. And they are rechargeable.
I don't think the internal batteries arn't easy accessable for a fast exchange.
And i don't assume that you don't want add mechanoid body modfications, like to lightweight Centipedes so they can act as packmount for caravan's or added Solarpanel/Vario power cell to be a mobile recharger.
9
So my suggestion to add these mobile recharger.
Low tech, solar ones, just deliver power for one mech (or one centi or 2 scyther). Pretty heavy so a packmount is needed.
Med. tech, chemfuel generator, same weight but can charge 4-5 mechs at once.
High tech, Vario power cell, lightweight can charge 2-3 mech's at once.

I like the idea of using existing power sources. The chemfuel and vario power cell based approaches are nice additions. I probably won't create 3 versions, as it's a lot of work and one (or maybe two) versions would be enough to satisfy most player needs. I'm starting to feel more for a fuel based version (like chemfuel) as opposed to the solar one, since the solar one has the following issue: 
Mechs probably charge at night when the caravan is resting, however, there's no sun at night (obviously). So to make it work, the platform would need a battery which is charged during day, and depleted at night. Of course this'll work, but introduces some side issues, and is much more time consuming to implement and balance then just a thing that consumes chemfuel from time to time.

A vario power cell version would be a nice high tier option, and seems simple to implement, so if I have the time, I might add it as a second option.

Helpful ideas guys :) I'm glad I posted my request for suggestions. I think I have enough to work with for the time being. 










Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on July 11, 2018, 11:43:04 AM
(not quoting because deleting all that on this kindle would be annoying)


Roolo:
Fair enough. I actually like Canute's a fair bit better.

Also, the Android mod has a "Solarpanel Duster" (I think it was a Duster) that auto recharges the Android or droid that wears it. Would it be a good idea or a bad one to do something similar in the sense that you could give them something that recharges them, but isn't a battery?

Basically a backpack-like generator that powers their battery as long as it is fueled or gets energy from the sun.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 11, 2018, 02:51:48 PM
Quote from: Umbreon117 on July 11, 2018, 11:43:04 AM
(not quoting because deleting all that on this kindle would be annoying)


Roolo:
Fair enough. I actually like Canute's a fair bit better.

Also, the Android mod has a "Solarpanel Duster" (I think it was a Duster) that auto recharges the Android or droid that wears it. Would it be a good idea or a bad one to do something similar in the sense that you could give them something that recharges them, but isn't a battery?

Basically a backpack-like generator that powers their battery as long as it is fueled or gets energy from the sun.

I like the idea, but I also see some problems. What I really like is that it's a really convenient way to charge your mechanoids on the go, while also being immersive. The problems I see is that it should be balanced really well to not trivialise/replace the mechanoid platforms that currently exist. I like the idea that mechs cannot be used all the time, but players have to think: Will I use my mechanoids for this threat, or will I spare them (their energy, and their undamaged state) for a bigger threat. It will be challenging to keep this principle with such a backpack.

Another problem is that since they are mechanoids, they don't have the apparel system humanoids have. Of course, with some coding effort I can add that for mechanoids too, but it does make things mor time consuming. An then there's the issue with centipedes, or many other mechanoids added by other mods (which I'd like to support to the full extent), the backpack that looks good on the scyther/lancer, will look odd at least on a centipede (and most modded mechanoids).

So while the idea is by itself a good one and definitely works for the android mod, I don't think I want to go through the trouble of solving the issues I just mentioned.   

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 11, 2018, 03:20:51 PM
Teaser for next Giddy-up mod called Giddy-up! Battle Mechs (which depends on What The Hack):
(https://i.imgur.com/9ZMtoMZ.gif)

Version with sound and better quality:
https://youtu.be/kkqXQTo1PFQ
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 11, 2018, 03:33:32 PM
Damn, this is crazy good :D Though, i am kinda hesistant from using run and gun, since it kinda gives raiders more advantages than you (immediate shots instead of seek cover -> shoot mostly). Also i hope having centipedes with you on a caravan won't make it crawl... Since even a guy with a peg leg can make travel speed next to non-existent.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 11, 2018, 04:04:27 PM
Quote from: Madman666 on July 11, 2018, 03:33:32 PM
Damn, this is crazy good :D Though, i am kinda hesistant from using run and gun, since it kinda gives raiders more advantages than you (immediate shots instead of seek cover -> shoot mostly). Also i hope having centipedes with you on a caravan won't make it crawl... Since even a guy with a peg leg can make travel speed next to non-existent.

Thanks :). Well, no need to use Run and Gun if you don't want to. I think it depends on your playstyle if Run and Gun makes the game easier or harder. For me, it makes the game slightly easier (and much more interesting) because I don't play very large colonies, and Run and Gun makes various positional tactics viable for me (kiting, surrounding enemy positions, keeping distance from melee pawn, retreating while firing and more). I can imagine with very large colonies these tactics aren't as viable as they are for smaller ones.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 11, 2018, 04:15:36 PM
The problem is i kinda want to :) as i really love the variety it brings in tactics wise. But, as you've noticed, i like to play big colonies, like real big and with raids getting obscene in quantity it becomes a real mess, if all those raiders also start shooting on the run. In small scale combat like caravans however it actually is real interesting to play with. So now I am torn if i fear it more than i want it, or the opposite, heh.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: InventorRaccoon on July 13, 2018, 01:58:57 PM
A suggestion: AI implanted mechanoids should not randomly wander while drafted, so that you can keep them in one position.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 13, 2018, 03:56:56 PM
Quote from: InventorRaccoon on July 13, 2018, 01:58:57 PM
A suggestion: AI implanted mechanoids should not randomly wander while drafted, so that you can keep them in one position.

Thanks for the feedback, I'll make sure this is fixed.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 19, 2018, 11:19:47 AM
I just pushed a relatively big update:

Caravanning with mechanoids!
- Added a portable charging platform for mechanoids. This charging platform is chemfuel based and not as efficient as the normal mechanoid platforms, and cannot be used for repairing. However, you can install uninstall it at any time, and moreover, it can be used to supply mechanoids with power during caravanning.
- Caravanning is now possible with mechanoids, and the caravan dialog provides useful information regarding how many days of fuel the caravan has, and how this is calculated.
- Slow mechanoids (centipedes) do slow down the caravan, but they provide extra carrying capacity, which lowers the impact of their slow movement speed. (I'll probably increase their carrying capacity further in the future when I do another round of polishing).

Some QOL additions:
- You can now forbid mechanoid platforms, and mechanoids won't use forbidden platforms.
- Target fuel level of platforms can now be set, this prevents the problem that if you build a bunch of platforms, your pawns will bring will store all mechanoid parts inside it.
- Whether a platform's repair funcion is enabled can now be toggled.

Fixes/tweaks:
- Increased building costs a bit
- Fixed body part regeneration not working as intended
- Probably forgot to mention some things


Upcoming:

- Some way to repair mechanoids while caravanning.
- Fix for mechanoids randomly walking when drafted.
- edit: add actual inventory to mechanoids so pawns bring goods to the mechanoids when forming the caravan. Right now the pawns are just able to carry more when there are mechanoids in the caravan, which works, but isn't as immersive as it could be. 

So caravanning is now possible. It may still need some polishing, and I didn't have a lot of time to test things very thoroughly yet, (so feel free to help with that :) ). We still need a way to repair mechanoids on the go. I think i'll add consumables for that. Something like a mechanite capsule, containing fully charged mechanites and parts (that normally are present in the normal platforms). Also adding a repair function to the just added portable platform has the problem that it already has chemfuel as fuel, and the game doesn't really allow me to use two types of fuel without heavy modification. Moreover, I kinda like the fact the normal platforms have an edge over the portable ones due to the fact they also repair.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 20, 2018, 08:23:40 AM
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.


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 20, 2018, 01:22:42 PM
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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 20, 2018, 03:03:23 PM
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).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 20, 2018, 05:51:24 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on July 21, 2018, 05:39:23 AM
I think he just watch the pic at the first posting and didn't read that they come from
Mechanoids Extraordinaire and More Mechanoids.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Ruisuki on July 23, 2018, 12:54:07 AM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 24, 2018, 06:40:29 AM

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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 24, 2018, 09:52:24 AM
Thanks.  I was half asleep when I sent that so sorry if it had been adressed
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 24, 2018, 11:27:31 AM
Quote from: rawrfisher on July 24, 2018, 09:52:24 AM
Thanks.  I was half asleep when I sent that so sorry if it had been adressed

No need to apologize. I wasn't aware of the problem until you reported it, so you helped me  (and probably a bunch of other players).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 24, 2018, 05:00:41 PM
oh?  I'm used to being late to the party lol

Btw do you accept mod requests?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 25, 2018, 02:38:43 PM
Quote from: rawrfisher on July 24, 2018, 05:00:41 PM
oh?  I'm used to being late to the party lol

Btw do you accept mod requests?

Well, you can always ask. The chance won't be big that I'll fulfill the request, since I'm pretty limited time-wise and I have plenty of ideas myself. But yeah, you can always try :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 25, 2018, 03:55:11 PM
I just wanna make retractable bridges lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 25, 2018, 05:54:59 PM
Quote from: Roolo on July 25, 2018, 02:38:43 PM
Well, you can always ask. The chance won't be big that I'll fulfill the request, since I'm pretty limited time-wise and I have plenty of ideas myself. But yeah, you can always try :)

Can you share some of those ideas? I d love to know what are you up to, once you re done with mechanoid hacking. After such amazing mods like Giddy Up and this one, i sure wanna know what ll be next! :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: DaBlupp on July 25, 2018, 08:52:03 PM
Hey Roolo, I sadly can't get the mod to work, I am getting this error:

https://git.io/fN0df

Edit: It's a very long error log, did I do something wrong?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 26, 2018, 03:07:47 AM
Quote from: rawrfisher on July 25, 2018, 03:55:11 PM
I just wanna make retractable bridges lol

Cool idea. Though you have a bigger chance of seeing it implemented when posting your request on the general mods page. https://ludeon.com/forums/index.php?board=12.0

Quote from: Madman666 on July 25, 2018, 05:54:59 PM
Quote from: Roolo on July 25, 2018, 02:38:43 PM
Well, you can always ask. The chance won't be big that I'll fulfill the request, since I'm pretty limited time-wise and I have plenty of ideas myself. But yeah, you can always try :)

Can you share some of those ideas? I d love to know what are you up to, once you re done with mechanoid hacking. After such amazing mods like Giddy Up and this one, i sure wanna know what ll be next! :)

I'm afraid I have to be secretive about this. I don't want to rise any expectations I might end up not fulfilling. I know it sounds lame, but this really helps making modding not stressful for me. So like you're used of me, you'll only get to know my ideas when they have (almost) become reality.

Quote from: DaBlupp on July 25, 2018, 08:52:03 PM
Hey Roolo, I sadly can't get the mod to work, I am getting this error:

https://git.io/fN0df

Edit: It's a very long error log, did I do something wrong?

I just tested it with the latest Rimworld build and everything still works fine for me. Apperently the WhatTheHack assembly isn't loaded in your case. Are you sure you have the latest version of WhatTheHack and Rimworld?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on July 26, 2018, 04:48:02 PM
Well thats too bad, but oh well. Its you, so i know if it does get posted it ll be something absolutely amazing, so good luck and keep it up :D
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 27, 2018, 07:29:00 AM
Thanks again Madman for your kind words.

Another update, mostly small things and fixes:
- Mechs don't wander around while drafted anymore so you can properly position them now.
- Added warning when a caravan runs out of fuel for mechanoids.
- Fix possible game crash caused by one type of hacking failed event.
- When you deactivate a drafted mech, it will automatically undraft, this prevents that it gets in a bugged state.
- You now cannot draft a mech that is low on power while auto-charge is enabled for that mech (this would lead to immediate undrafting, likely confusing the player).
- Fixed reservation problem occuring when multiple mechs go to a platform simultaniously.
edit: I just also added the following :
- Mechanoid parts and advanced mechanoid chips can be bought from exotic good traders now (both orbital and caravan).
- Increased market value but decreased sellpricefactor of both mechanoid parts and chips
- Slightly decreased drop chance of advanced mechanoid chips.
- Decreased cost per body part recovery (5->4).



I also released an update for Giddy-up! Ride and Roll, so it doesn't conflict with What the Hack anymore.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on July 27, 2018, 09:33:06 AM
Quote from: Roolo on July 27, 2018, 07:29:00 AM
Thanks again Madman for your kind words.


- You now cannot draft a mech that is low on power while auto-charge is enabled for that mech (this would lead to immediate undrafting, likely confusing the player).
Maybe make a notification pop up in the top left when they try, so they don't think something is bugging out.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 27, 2018, 10:14:57 AM
Quote from: Umbreon117 on July 27, 2018, 09:33:06 AM
Quote from: Roolo on July 27, 2018, 07:29:00 AM
Thanks again Madman for your kind words.


- You now cannot draft a mech that is low on power while auto-charge is enabled for that mech (this would lead to immediate undrafting, likely confusing the player).
Maybe make a notification pop up in the top left when they try, so they don't think something is bugging out.

That's already there :). The button is greyed out , and if you click it anyway you get a notification.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 27, 2018, 12:46:53 PM
Could you move the hack priority above research? 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 28, 2018, 09:40:54 AM
Quote from: rawrfisher on July 27, 2018, 12:46:53 PM
Could you move the hack priority above research?

Yeah that's probably a good idea since hacking is something you do occasionally as opposed to researching. I'll change it soon
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 28, 2018, 04:34:53 PM
Thanks.  Now if only my lancers had weapons lol

Would it be possible to allow construction of scrap mechanoids?  I have a few ideas how to do it but I dont know what kind of limitations the engine has
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 30, 2018, 02:06:59 AM
Quote from: rawrfisher on July 28, 2018, 04:34:53 PM
Thanks.  Now if only my lancers had weapons lol

Would it be possible to allow construction of scrap mechanoids?  I have a few ideas how to do it but I dont know what kind of limitations the engine has

Not really clear what you mean with "scrap mechanoids" , but I assume you mean  the construction  of mechanoids from  scrap mechanoid parts. The engine wouldn't be a problem and rarely ever has limitations when you know how to program. My time does have limitations though, so I have to keep the scope of the mod limited and focused. Going for constructable mechs is not what I want to achieve with this mod, and other mods already exist that do this. One mod for one purpose is really the way I work and allows people to get what they want without getting overloaded with other things they didn't ask for.

QuoteNow if only my lancers had weapons lol

They have charge lances? At least, they should have. What do you mean exactly?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 30, 2018, 08:47:44 AM
They sometimes lose their weapons when I take them out and the weapons dont regen
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 30, 2018, 08:55:20 AM
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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 30, 2018, 09:16:20 AM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 30, 2018, 10:38:31 AM
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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 30, 2018, 02:19:33 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 30, 2018, 04:41:38 PM
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).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 31, 2018, 03:08:36 AM
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.


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 31, 2018, 06:35:05 AM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on July 31, 2018, 08:49:54 AM
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.


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 31, 2018, 09:35:37 AM
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)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Spino on July 31, 2018, 06:36:34 PM
Woah, how long has this been a thing?
You take a break from Rimworld and when you come back you randomly learn that someone's created a mod adding something that you've literally always wanted.
Looks fantastic, Roolo, will definitely try it out once Tynan blesses us with a stable release of 1.0.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on July 31, 2018, 08:37:49 PM
Try it on B18.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 01, 2018, 11:15:03 AM
Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
I probably should have mentioned it was just white text which often references debug info.  Its always just a footnote

Ok, yeah now the mod is in active development some log messages will slip trough now and then. When I'm doing the final release, I'll do another sweep to make sure they are all removed.

Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
Getting this error now with the update from last night.
[..]

I cannot reproduce this error. In what situation do you get the error exactly? Are you still getting it or was it only when you loaded your save?

Quote from: Spino on July 31, 2018, 06:36:34 PM
Woah, how long has this been a thing?
You take a break from Rimworld and when you come back you randomly learn that someone's created a mod adding something that you've literally always wanted.
Looks fantastic, Roolo, will definitely try it out once Tynan blesses us with a stable release of 1.0.

Thanks Spino. This mod will go very well with your Mechanoids Extraordinaire mod, so I'm looking forward to stable 1.0 when your mod is updated. I'd be glad to refer to your mod when I'm releasing What the Hack.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 01, 2018, 11:38:14 AM
Quote from: Roolo on August 01, 2018, 11:15:03 AM
Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
I probably should have mentioned it was just white text which often references debug info.  Its always just a footnote

Ok, yeah now the mod is in active development some log messages will slip trough now and then. When I'm doing the final release, I'll do another sweep to make sure they are all removed.

Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
Getting this error now with the update from last night.
[..]

I cannot reproduce this error. In what situation do you get the error exactly? Are you still getting it or was it only when you loaded your save?


I get it when I have a colonist trying to hack mechanoids.  Will try a new game to see if it fix's the error but yes this was on an exsisting save

https://git.io/fNokF  Might provide a bit more information?

Tested on new game and error still shows.  Probably a mod conflict if you cant reproduce
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 01, 2018, 02:59:47 PM
Quote from: rawrfisher on August 01, 2018, 11:38:14 AM
Quote from: Roolo on August 01, 2018, 11:15:03 AM
Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
I probably should have mentioned it was just white text which often references debug info.  Its always just a footnote

Ok, yeah now the mod is in active development some log messages will slip trough now and then. When I'm doing the final release, I'll do another sweep to make sure they are all removed.

Quote from: rawrfisher on July 31, 2018, 09:35:37 AM
Getting this error now with the update from last night.
[..]

I cannot reproduce this error. In what situation do you get the error exactly? Are you still getting it or was it only when you loaded your save?


I get it when I have a colonist trying to hack mechanoids.  Will try a new game to see if it fix's the error but yes this was on an exsisting save

https://git.io/fNokF  Might provide a bit more information?

Tested on new game and error still shows.  Probably a mod conflict if you cant reproduce
Likely a mod conflict indeed. I'm still curious to what mod is conflicting so if you manage to find out, please let me know.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 01, 2018, 04:42:54 PM
I SHOULD have the answer for you in about 3 hours

Update:  When full nuclear on this damn bug 
Without anything else installed I get this  https://pastebin.com/4rR7Mcva
With just hugslib I get this https://pastebin.com/2RA340A1
Having issues getting output logs today...
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: vandal on August 01, 2018, 09:01:31 PM
how do you figure out the cause of the mod conflict?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 01, 2018, 09:07:19 PM
Quote from: vandal on August 01, 2018, 09:01:31 PM
how do you figure out the cause of the mod conflict?

First you figure out what mod is causeing it by removing mods 1 at a time and trying to replicate the error.

In this case I was unable to find the offending mod.

https://pastebin.com/vmMSGmdV

In this example log what the hack is the offending mod and it is likly an edge case error.  BTW Roolo I keep forgetting to report this error  8)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: vandal on August 01, 2018, 10:27:01 PM
Quote from: rawrfisher on August 01, 2018, 09:07:19 PM
Quote from: vandal on August 01, 2018, 09:01:31 PM
how do you figure out the cause of the mod conflict?

First you figure out what mod is causeing it by removing mods 1 at a time and trying to replicate the error.

In this case I was unable to find the offending mod.

https://pastebin.com/vmMSGmdV

In this example log what the hack is the offending mod and it is likly an edge case error.  BTW Roolo I keep forgetting to report this error  8)
isnt it possible that the conflict can be resolved by simply reordering the position of a mod instead of removing it though? I had pick up and haul issues where I could no longer load items into my inventory after updating to the latest version of dubs hygiene. i simply moved it up toward to the top of the list and i can now.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 01, 2018, 10:48:20 PM
I tried reordering first.  Did not help at all. 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 02, 2018, 03:55:43 AM
Quote from: rawrfisher on August 01, 2018, 09:07:19 PM
Update:  When full nuclear on this damn bug 
Without anything else installed I get this  https://pastebin.com/4rR7Mcva
With just hugslib I get this https://pastebin.com/2RA340A1
Having issues getting output logs today...

Please make a habit of providing the complete log, and not just 1 error. Using ctrl+f12 or pressing the green "share" button is much more useful for me than just a small error snippet. Hugslib by itself shouldn't have errors, maybe you got errors because you removed a mod from an existing save? Either way, this is hard for me to judge since you didn't provide the full log.

Quote from: rawrfisher on August 01, 2018, 09:07:19 PM
[..]
In this case I was unable to find the offending mod.

https://pastebin.com/vmMSGmdV

In this example log what the hack is the offending mod and it is likly an edge case error.  BTW Roolo I keep forgetting to report this error  8)

Again, please share the full log using the Hugslib share functionality. Also, please clarify when this happens exactly (and also make a habit of this). Just some contextual information can really speed up the debugging process, as it can narrow down many things, especially for hard to track bugs.
Edit: If you don't know what's causing it or when it's happening, that's also worth mentioning.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 02, 2018, 06:54:46 AM
New update. Mostly fixes and tweaks

- Fixed: Mechanoids recharging much slower than intended during world map travel using the portable platform.
- Fixed: Social tab of caravans bugging out when certain mechanoids are part of the caravan.
- Mechanoids that are part of a caravan are now automatically activated by pawns forming a caravan.
- Hacked Mechanoids can no longer be ordered to drop their weapon.
- Increased Centipede carrying capacity.
- Fixed translation error on Caravan Dialog.
- Fixed possible error in Caravan Dialog when your game failed to properly load some items (which can happen when Unstable is updated).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 02, 2018, 03:30:48 PM
Ya nailed most the issues I had lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 03, 2018, 03:14:26 AM
I did a lot of playtesting again and I updated the "current issues" part on the original post. Mostly small issues that are easy to fix. Please let me know if you find any other issues!

Quote from: rawrfisher on August 02, 2018, 03:30:48 PM
Ya nailed most the issues I had lol

Glad to hear that.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 03, 2018, 07:24:13 AM
Just hope to find more mech varierty as well one of these days. 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 03, 2018, 11:04:34 AM
Update, fixed most issues on the current issues list on the OP.

- Added: skill gain from hacking (both intellectual and crafting). Failed hacks still give half the skill gain, and harder to hack mechanoids (see next point) give more skill gain (for the initial hack).
- Added: Combat power of a mech influences the hacking difficulty. This is capped at a 50% difficulty increase for mechs with 1000 combat power (no such mechs exist in vanilla), and scales linearly with combat power.
- Changed: Repair and regenerate were deactivated for platform by default, are now activated by default.
- Fixed: It's not possible to drop goods from the inventory of mechs. Should only be impossible for weapons.
- Fixed: Mechanoids getting treated with normal medicines during world map travel, which didn't actually heal them but caused errors when they return to their platform.
- Fixed: Error in split caravan dialog resulting in mechanoids not being shown there.
- Fixed: Due to an issue in the last update it's possible to perform the more advanced hacks before basic hacking is done.
- Fixed: It's possible to perform multiple of the same hacks on a mech (also accidentally introduced in one of the last updates).
- Fixed: Only uninstalled portable platforms are counted as valid charging platforms in the caravan reform dialog.


Quote from: rawrfisher on August 03, 2018, 07:24:13 AM
Just hope to find more mech varierty as well one of these days. 
Don't worry, there are some really nice mechanoid adding mods for B18, and the authors of some of those mods already mentioned they are going to update them when the final 1.0 version hits. I also hope that the What the Hack mod encourages other modders to create more mechanoids.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 03, 2018, 03:48:50 PM
I wonder if the polars mechs would be compatable.  Those things are EVIL!!!
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 03, 2018, 03:57:11 PM
Quote from: rawrfisher on August 03, 2018, 03:48:50 PM
I wonder if the polars mechs would be compatable.  Those things are EVIL!!!
If they're not, I'll make sure they are :) At least when that mod is updated to 1.0
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 03, 2018, 05:39:15 PM
Just make sure you have a specal platform for the giant death machine they add.
Thing is the size of 4 platforms and has the power to destroy a base in a single attack
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 04, 2018, 11:08:11 AM
Quote from: rawrfisher on August 03, 2018, 05:39:15 PM
Just make sure you have a specal platform for the giant death machine they add.
Thing is the size of 4 platforms and has the power to destroy a base in a single attack

I might, but adding another platform for just one type of mech added by another mod, just to make it look nicer is a lot of work for little gain. Sprite drawing is something that's really time consuming for me, so if someone else provides a nice sprite I'd be much more willing to create a specific platform for the Bastion.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 05, 2018, 05:31:00 PM
https://steamcommunity.com/sharedfiles/filedetails/?id=1467211785
Should be a screenshot showing a minor issue

Wasnt able to confirm till now but Could you take some time to gloss over the portable charging stations?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 12:59:41 AM
Quote from: rawrfisher on August 05, 2018, 05:31:00 PM
https://steamcommunity.com/sharedfiles/filedetails/?id=1467211785
Should be a screenshot showing a minor issue

Wasnt able to confirm till now but Could you take some time to gloss over the portable charging stations?

Ok so your mech died because a part started regenerating. Shouldn't happen. I hoped I fixed it when I implemented that only 1 part regenerates at a time.  Apparently in vanilla a heavily damaged part contributes more to a pawns total damage than a completely missing part, which is counterintuitive IMO.

QuoteWasnt able to confirm till now but Could you take some time to gloss over the portable charging stations?
Could you specify what you mean with this? Is anything wrong with them? Or aren't you aware they were already added? In the last case, please take a look at the research tab :).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: malistaticy on August 06, 2018, 06:56:13 AM
Just finished a B18 game with this mod, had so much fun with it :D
Some feedback:
Early-game I always felt low on parts, but by the mid-lategame i was swimming in parts, and I never even touched the advanced parts (Maybe a way to break down advanced mechanoid parts into normal ones + increasing scarcity of standard part drops would help even things out on both fronts?)
A way to assign weapons for mechanoids to use would be nice
Mechanoid belt works okay, but it seems like the whole concept is rough around the edges, I could never get much use out of it
Colonist mechanoids seem underpowered, a small tribal raid can make short work out of a 3-4 mechanoid squad, partially due to the aformentioned lack of being able to supply new charge lances, this makes them more of a diversionary asset more than an actual combat aid (could be used for baiting perfect mortar strikes I suppose)
A way to improve and augment mechanoids (reinforced armor, faster motors, improved aiming, etc) to add more depth would be great

those are just some ideas I had while playing, I was also using combat extended in this playthrough (I won't be upgrading to 1.0 until CE updates, hehe) and I felt that it could have more interaction between the two once CE updates. Maybe an upgrade that allows mechanoids to act as a replacement for the binoculars? I always found it a pain to pull out the designated "spotter colonist" to sit out in the open for 3 in game hours to refresh the binocular target.

Great mod, can't wait to see what's becoming of it once i upgrade to 1.0.

Also, here's a new hacking bench sprite since i saw that you were asking for new sprites, I didn't make a side or back view because I don't know if you'd like to use it. If you would, feel free to ask, I'd be happy to improve this one and make the rest of them

(https://i.imgur.com/3ZzF0Am.png)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 08:13:52 AM
Quote from: malistaticy on August 06, 2018, 06:56:13 AM
Just finished a B18 game with this mod, had so much fun with it :D
Some feedback:
Early-game I always felt low on parts, but by the mid-lategame i was swimming in parts, and I never even touched the advanced parts (Maybe a way to break down advanced mechanoid parts into normal ones + increasing scarcity of standard part drops would help even things out on both fronts?)
A way to assign weapons for mechanoids to use would be nice
Mechanoid belt works okay, but it seems like the whole concept is rough around the edges, I could never get much use out of it
Colonist mechanoids seem underpowered, a small tribal raid can make short work out of a 3-4 mechanoid squad, partially due to the aformentioned lack of being able to supply new charge lances, this makes them more of a diversionary asset more than an actual combat aid (could be used for baiting perfect mortar strikes I suppose)
A way to improve and augment mechanoids (reinforced armor, faster motors, improved aiming, etc) to add more depth would be great

those are just some ideas I had while playing, I was also using combat extended in this playthrough (I won't be upgrading to 1.0 until CE updates, hehe) and I felt that it could have more interaction between the two once CE updates. Maybe an upgrade that allows mechanoids to act as a replacement for the binoculars? I always found it a pain to pull out the designated "spotter colonist" to sit out in the open for 3 in game hours to refresh the binocular target.

Great mod, can't wait to see what's becoming of it once i upgrade to 1.0.

Also, here's a new hacking bench sprite since i saw that you were asking for new sprites, I didn't make a side or back view because I don't know if you'd like to use it. If you would, feel free to ask, I'd be happy to improve this one and make the rest of them

(https://i.imgur.com/3ZzF0Am.png)

Thanks for your really helpful feedback! A lot of re-balance has been done in the 1.0 version of the mod, so some of your points may have been fixed already.

QuoteEarly-game I always felt low on parts, but by the mid-lategame i was swimming in parts, and I never even touched the advanced parts (Maybe a way to break down advanced mechanoid parts into normal ones + increasing scarcity of standard part drops would help even things out on both fronts?)
I experienced the same as you get so I toned down the drop rate, and made exotic goods traders sell them too in the 1.0 version, now it's much better I think (I'd still love to hear feedback about this from someone playing the 1.0 version). I do think it would make sense if the advanced chips would be used for part regeneration, making them more important, but then I'd have to figure out a way to have two types of fuel in the platform. I'll look into that at least. Adding a bill for breaking down part is a good idea I think, I might add that.

QuoteA way to assign weapons for mechanoids to use would be nice
Yeah, this is definitely something I'd like to add.

QuoteMechanoid belt works okay, but it seems like the whole concept is rough around the edges, I could never get much use out of it
Could you specify a bit what you experienced as rough? Any suggestions to improve it? Personally for me it's a good way to make my colonists that are incapable of violence more useful.

QuoteColonist mechanoids seem underpowered, a small tribal raid can make short work out of a 3-4 mechanoid squad, partially due to the aformentioned lack of being able to supply new charge lances, this makes them more of a diversionary asset more than an actual combat aid (could be used for baiting perfect mortar strikes I suppose)
The 1.0 version adds weapon regeneration, solving the problem of losing charge lances. Also, mechanoids were changed and buffed quite a bit in Rimworld 1.0, so I don't think they're that weak anymore.

QuoteA way to improve and augment mechanoids (reinforced armor, faster motors, improved aiming, etc) to add more depth would be great
Yeah, this is a nice next big step for the mod, and I plan to do something like that in the future. Maybe as a separate addon, I still have to think about it.

Quotethose are just some ideas I had while playing, I was also using combat extended in this playthrough (I won't be upgrading to 1.0 until CE updates, hehe) and I felt that it could have more interaction between the two once CE updates. Maybe an upgrade that allows mechanoids to act as a replacement for the binoculars? I always found it a pain to pull out the designated "spotter colonist" to sit out in the open for 3 in game hours to refresh the binocular target.
Adding CE specific things is a lot of work which will only help a minority of the players, I won't go into that.

QuoteAlso, here's a new hacking bench sprite since i saw that you were asking for new sprites, I didn't make a side or back view because I don't know if you'd like to use it. If you would, feel free to ask, I'd be happy to improve this one and make the rest of them
I love it! Fits the Rimworld style much better than the current sprite. Ireally like how you took the ideas from the original sprite, and made a much more polished version based on it. Great work! I'd love to see a side and back view and I'll definitely incorporate them into the mod. If you happen to have time to also give the basic mechanoid parts your magic touch, it would be much appreciated (don't feel pressured though;) ). Of course you'll be credited in the mod's description. 


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: malistaticy on August 06, 2018, 08:55:23 AM
Thanks for the response
I'm sure I'll love the 1.0 version once I get around to installing it and my must-have mods are all updated

While I agree that the mechanoid belt is a good way to make non-violent pawns useful in combat, the mechanoids I try to place behind cover with it tend to walk to the cover and then just change courses completely, often behind less effective cover. I assume this is the main reason the AI core modification is an option, but I have yet to use that

I'll definitely draw up a couple more sprites!
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 09:01:13 AM
Quote from: malistaticy on August 06, 2018, 08:55:23 AM
Thanks for the response
I'm sure I'll love the 1.0 version once I get around to installing it and my must-have mods are all updated

While I agree that the mechanoid belt is a good way to make non-violent pawns useful in combat, the mechanoids I try to place behind cover with it tend to walk to the cover and then just change courses completely, often behind less effective cover. I assume this is the main reason the AI core modification is an option, but I have yet to use that

I'll definitely draw up a couple more sprites!

Ok, so that's the problem. Luckily that's solved in the 1.0 version. Mechs retain their position when drafted there. Good luck with the sprites, and thanks a lot for your help!
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 06, 2018, 09:41:48 AM
Quote from: Roolo on August 06, 2018, 12:59:41 AM
Quote from: rawrfisher on August 05, 2018, 05:31:00 PM
https://steamcommunity.com/sharedfiles/filedetails/?id=1467211785
Should be a screenshot showing a minor issue

Wasnt able to confirm till now but Could you take some time to gloss over the portable charging stations?

Ok so your mech died because a part started regenerating. Shouldn't happen. I hoped I fixed it when I implemented that only 1 part regenerates at a time.  Apparently in vanilla a heavily damaged part contributes more to a pawns total damage than a completely missing part, which is counterintuitive IMO.

QuoteWasnt able to confirm till now but Could you take some time to gloss over the portable charging stations?
Could you specify what you mean with this? Is anything wrong with them? Or aren't you aware they were already added? In the last case, please take a look at the research tab :).

They dont seem to work in caravans for me.  No error logs or anything just not charging the mechs.   

As for the missing parts.  They do not contribute at all unless they are bleeding.  I have noticed this time and time again during heated battles where I have only a few pawns vrs a giant zerg raid
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 10:08:39 AM
Quote from: rawrfisher on August 06, 2018, 09:41:48 AM
They dont seem to work in caravans for me.  No error logs or anything just not charging the mechs.

For me it works fine.

1. Did you load chemfuel in the caravan? In the top right of the caravan dialog you see: days of fuel (mechanoids), was that more than 0 when your caravan departed? You should also get a warning when you leave with a caravan without fuel.
2. Did you bring a portable platform for each mech?


Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 06, 2018, 10:23:33 AM
Quote from: Roolo on August 06, 2018, 10:08:39 AM
Quote from: rawrfisher on August 06, 2018, 09:41:48 AM
They dont seem to work in caravans for me.  No error logs or anything just not charging the mechs.

For me it works fine.

1. Did you load chemfuel in the caravan? In the top right of the caravan dialog you see: days of fuel (mechanoids), was that more than 0 when your caravan departed? You should also get a warning when you leave with a caravan without fuel.
2. Did you bring a portable platform for each mech?

Yes.  I tried it with 2 mechs departing with 4 platforms and 3000 chemfuel
https://git.io/fN1gU output log for reference to modlist
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 01:51:17 PM
Quote from: rawrfisher on August 06, 2018, 10:23:33 AM
Quote from: Roolo on August 06, 2018, 10:08:39 AM
Quote from: rawrfisher on August 06, 2018, 09:41:48 AM
They dont seem to work in caravans for me.  No error logs or anything just not charging the mechs.

For me it works fine.

1. Did you load chemfuel in the caravan? In the top right of the caravan dialog you see: days of fuel (mechanoids), was that more than 0 when your caravan departed? You should also get a warning when you leave with a caravan without fuel.
2. Did you bring a portable platform for each mech?

Yes.  I tried it with 2 mechs departing with 4 platforms and 3000 chemfuel
https://git.io/fN1gU output log for reference to modlist

What does the "days of fuel (mechanoids)" section say in the caravan dialog, and on the world map with your caravan? If it's 0, can you show me what popup description is shown when you hover your mouse over it?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 02:28:16 PM
I found some more bugs and they were serious enough  to justify another quick update:

- Added new sprite for hacking table. Thanks a bunch malistaticy for drawing it!
- Fixed sieges with mechanoids not working properly (errors were thrown and raiders wouldn't start building)
- Fixed error popping when enemy pawns are downed.
- Adjusted spawn rate of mechanoid parts.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: ChJees on August 06, 2018, 04:18:58 PM
It seems like someone put the mod up on Steam Workshop.
Were they given permission?

https://steamcommunity.com/sharedfiles/filedetails/?id=1468270839
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 06, 2018, 04:31:05 PM
Quote from: ChJees on August 06, 2018, 04:18:58 PM
It seems like someone put the mod up on Steam Workshop.
Were they given permission?

https://steamcommunity.com/sharedfiles/filedetails/?id=1468270839

Not at all. I just requested him to remove this immediately.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 06, 2018, 04:35:32 PM
Quote from: Roolo on August 06, 2018, 02:28:16 PM
I found some more bugs and they were serious enough  to justify another quick update:

- Added new sprite for hacking table. Thanks a bunch malistaticy for drawing it!
- Fixed sieges with mechanoids not working properly (errors were thrown and raiders wouldn't start building)
- Fixed error popping when enemy pawns are downed.
- Adjusted spawn rate of mechanoid parts.


I was wondering about that bug with the sieges.  as for your question it says days of fuel 100

Latest update was a full version change gonna see if anything still works

Seems your mod isnt affected by the latest update.  On a different note would it be possible to have haulers automaticlly haul mechs to a hacking table?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 07, 2018, 03:49:18 AM
Quote from: rawrfisher on August 06, 2018, 04:35:32 PM
Quote from: Roolo on August 06, 2018, 02:28:16 PM
I found some more bugs and they were serious enough  to justify another quick update:

- Added new sprite for hacking table. Thanks a bunch malistaticy for drawing it!
- Fixed sieges with mechanoids not working properly (errors were thrown and raiders wouldn't start building)
- Fixed error popping when enemy pawns are downed.
- Adjusted spawn rate of mechanoid parts.


I was wondering about that bug with the sieges.  as for your question it says days of fuel 100

Latest update was a full version change gonna see if anything still works

Seems your mod isnt affected by the latest update.  On a different note would it be possible to have haulers automaticlly haul mechs to a hacking table?

Ok, so if I understand you correctly, when you hover over the needs/power in your caravan you can see it going down (pretty rapidly) instead of up, right? The bar moves pretty slowly and that tab doesn't have green arrows representing increase, so it's good if you really look at the numbers. My questions may seem too obvious, but I have to be 100% sure it's really not working before I'm going to spend time on fixing things. Looking at your mod list, there are no obvious suspects.

QuoteOn a different note would it be possible to have haulers automaticlly haul mechs to a hacking table?
Yes, this is high on my todo list. I'm going to fix this while I'm implementing that all hacks take place on the hacking table (as opposed to on the platforms).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 07, 2018, 09:31:42 AM
I dont know about rapidly but yes it goes down not up.  Fuel is not consumed at all.  Dont worry about it.  If other people encounter this problem they might be able to help out more then me on this. 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 09, 2018, 11:46:32 AM
Update:

- Changed version from 1.0 to 0.19
- When you add a hack/modification bill to a mechanoid, pawns will automatically haul the mechs to the nearest hacking table.
- Platforms can no longer be used to perform modifications on, instead the hacking table is used.
- Renamed: remove from hacking table -> clear hacking table and clear hacking table now also clears the queued bills from the mechanoid (to prevent pawns from hauling them to the table again immediately)
- Possible fix for 10 jobs in tick error that can happen when using the mech controller belt.
- Fixed error popping op when you right click things when having a mechanoid selected that is directly controllable.
- When you select a pawn with an activated mechanoid controller belt, its radius is now shown, also when you select the controlled mechanoid.
- edit, forgot to mention: removed right click option "carry to hacking table" since the same can be achieved by adding a bill.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 09, 2018, 11:55:12 AM
You might wanna review AI core use for mechanoid control - it seems psychic ships no longer drop those cores. Its now annoyingly enough - quest only. So if you're unlucky, you might not get more than 1.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 09, 2018, 12:01:20 PM
Quote from: Madman666 on August 09, 2018, 11:55:12 AM
You might wanna review AI core use for mechanoid control - it seems psychic ships no longer drop those cores. Its now annoyingly enough - quest only. So if you're unlucky, you might not get more than 1.

You can call friendly factions now to ask them for a quest to retrieve such a core. Before you're able to do that, the controller belts are a good option. I want to keep direct control something exclusive.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 09, 2018, 01:02:30 PM
Great to see you posting again. 
May have an error report to send your way later once I determine if its an edge case mod conflict or just bad luck on my part

__result.Job.defGotoWander
Verse.Log:Message(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:49)
WhatTheHack.Harmony.Pawn_JobTracker_DetermineNextJob:Postfix(Pawn_JobTracker&, ThinkResult&)
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:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
Verse.Pawn:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Pawn.cs:559)
AIRobot.X2_AIRobot:Tick()
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)
  I think you missed some debug logs  8)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 09, 2018, 06:12:49 PM
Quote from: Roolo on August 09, 2018, 12:01:20 PM
You can call friendly factions now to ask them for a quest to retrieve such a core. Before you're able to do that, the controller belts are a good option. I want to keep direct control something exclusive.

And if you don't like caravanning, you're out of luck? Oh, well.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 10, 2018, 04:04:57 AM
Quote from: rawrfisher on August 09, 2018, 01:02:30 PM
Great to see you posting again. 
May have an error report to send your way later once I determine if its an edge case mod conflict or just bad luck on my part

__result.Job.defGotoWander
Verse.Log:Message(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:49)
WhatTheHack.Harmony.Pawn_JobTracker_DetermineNextJob:Postfix(Pawn_JobTracker&, ThinkResult&)
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:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
Verse.Pawn:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Pawn.cs:559)
AIRobot.X2_AIRobot:Tick()
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)
  I think you missed some debug logs  8)

Ok thanks for your post, no need to worry about those debug messages, as long as they don't spam your log multiple times per second (slowing down your game). I'll probably miss them a few times more while the mod is still in the WIP stage. When I'm releasing the mod I'll make sure that I won't forget any of them.

Quote from: Madman666 on August 09, 2018, 06:12:49 PM
Quote from: Roolo on August 09, 2018, 12:01:20 PM
You can call friendly factions now to ask them for a quest to retrieve such a core. Before you're able to do that, the controller belts are a good option. I want to keep direct control something exclusive.

And if you don't like caravanning, you're out of luck? Oh, well.

Yes indeed. If players choose to ignore a large part of the game, they'll have to accept they cannot get all content. I actually like that it's possible to get the cores with caravan quests. This way it's risk and reward. The alternatives are "grind and reward" (being able to craft it with an expensive recipe with easily obtainable ingredients) or "RNG and reward" (making it a very rare drop on your map, or making it craftable with rare ingredients).

Edit: There is one alternative, also Risk and Reward, but on your own map, which I would also consider a fine solution. That is being able to summon a threat (for instance a special mech ship) to your map, and get the core as a reward. However, such an event would be a huge implementation and balancing effort, while I already like the current solution, so I'm not going to do that.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 10, 2018, 05:10:22 AM
Errr... It was risk and reward on your own map, when psychic ship was dropping it, but for some reason Tynan decided to kill last remaining threat type, that still dropped some worthwhile rewards aside from manhunters (i expect that one to be nerfed into oblivion as well soon). Can't comprehend, why fix break whats not broken.

I like those ways you mentioned. Plenty of mods offer a way to craft those cores and that is somewhat boring, so i see no need to implement that yet again. It would be extremely nice to have it be ultra rare drop from end game enemy raids with special hacked mechanoids for one (i mean if they get so many people, they might have brought a mech with advanced control hack, which drops ai cores on death) and as alternative - that option to somehow trigger a mech battleship to drop would be a really interesting way to try and get the core.

I am not against having caravan option for getting AI cores, but i really dislike the fact, that now its the only option. Variety is the key to interesting and unrepetitive gameplay. I understand your reasons for not wanting to implement those things, so i'll just rely on Sparkling Worlds mod or something for AI crafting recipe then.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 10, 2018, 05:38:05 AM
Quote from: Madman666 on August 10, 2018, 05:10:22 AM
Errr... It was risk and reward on your own map, when psychic ship was dropping it, but for some reason Tynan decided to kill last remaining threat type, that still dropped some worthwhile rewards aside from manhunters (i expect that one to be nerfed into oblivion as well soon). Can't comprehend, why fix break whats not broken.

I like those ways you mentioned. Plenty of mods offer a way to craft those cores and that is somewhat boring, so i see no need to implement that yet again. It would be extremely nice to have it be ultra rare drop from end game enemy raids with special hacked mechanoids for one (i mean if they get so many people, they might have brought a mech with advanced control hack, which drops ai cores on death) and as alternative - that option to somehow trigger a mech battleship to drop would be a really interesting way to try and get the core.

I am not against having caravan option for getting AI cores, but i really dislike the fact, that now its the only option. Variety is the key to interesting and unrepetitive gameplay. I understand your reasons for not wanting to implement those things, so i'll just rely on Sparkling Worlds mod or something for AI crafting recipe then.

Yeah, I could add it back to the fallen ships, but I won't do that because I think adding a 4k wealth buff to psychic ship parts would make my mod way too intrusive, and I want to make it vanilla friendly, even if vanilla has its limitations. Whether raids give enough rewards is an interesting discussion, but it's not my mod's task to fix that (I'm not implying you said I should add it back, I'm just explaining why that's not a solution).

And sure, variety is always a good thing. But if I were to cater for every situation where more variety would improve the mod, I'd never finish it. Therefore it's good you realise there's always the alternative option to install another mod that lets you craft the AI core, or lets you attain it in a different way. This is a perfectly fine solution IMO.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 10, 2018, 12:31:39 PM
I began implementing a mechanoid upgrade system. I think I'll add a new bench on which parts can be created which can be used to upgrade mechs, but I still need a sprite for that (any volunteers? :) ). Right now, just raw resources are used (like plasteel, mechanoid parts, etc). Some upgrades will just give static buffs (an example would be extra plasteel plating (more armour at cost of movement speed)). However, I'll definitely also add "active upgrades" which add abilities, and have in fact implemented the first one already:

Update:

- Added repair module (WIP version). See description below
- Did a lot of coding to support an upgrade system for mechanoids. From now on, additional mech upgrades can be added pretty quickly.
- Fixed mechanoid on which an operation just took place not being hauled automatically to a platform.
- Rebalanced mechanoid. Buffed repair rate but it no longer scales with healthfactor. Mechs that take a lot of damage (centipedes) are more costly to maintain now, while cost for the lighter mechs is lowered.

The repair module can be loaded with mechanoid parts, and is capable of very rapidly drawing a large amount of power from the internal battery, and redirecting it the the mech's internal mechanites. This activates the mechanites, which can repair damage consuming the parts, while slowing down the mechanoid temporarily.

So with this module you can load mechanoid parts into mechs, and the mechs with the module get an ability "self repair", which can be activated if the mechanoid is activated, has enough power, and enough parts. Activating it instantly consumes a large amount of power. Repairing using this is quicker than on the platforms, but also more expensive in terms of mechanoid parts. The module still needs some more polishing, but the basic principles work. I'll add another thing called "repairing arm", which can replace a mechanoid's arm, and gives mechs with a repair module the ability to repair other mechs using the same principle.

Expect more possible mechanoid upgrades in the near future.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 10, 2018, 02:51:26 PM
Your mod made a noticable impact on misc robots lol.  Can load mech parts onto the robots from misc robots and I think they can even be hacked lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 10, 2018, 03:16:30 PM
Woooow, yeah, damn, this is heaps better, than anything to do with AI cores. I am really looking forward to what upgrades and abilities you will add. I will also try to help with a table sprite, once i get home, though no promises - i am not exactly brilliant at it :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: InventorRaccoon on August 10, 2018, 05:58:04 PM
Suggestion for a more specific mechanoid upgrade: add a shield belt to Scythers.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 10, 2018, 06:19:49 PM
Would have to be a custom sheild belt.  Vanilla one is worthless against anything high power or rapid fire
Maybe not super high capacity but around 300 or so or tie it to some form of battery system
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 11, 2018, 03:29:42 AM
Quote from: rawrfisher on August 10, 2018, 02:51:26 PM
Your mod made a noticable impact on misc robots lol.  Can load mech parts onto the robots from misc robots and I think they can even be hacked lol

Hmm interesting. Maybe too much compatibility? :P Let me know if this results in any things getting broken. As long as that's not the case, I'm fine with it.

Quote from: Madman666 on August 10, 2018, 03:16:30 PM
Woooow, yeah, damn, this is heaps better, than anything to do with AI cores. I am really looking forward to what upgrades and abilities you will add. I will also try to help with a table sprite, once i get home, though no promises - i am not exactly brilliant at it :)

I really appreciate that you're willing to help with the sprite! Try to make sure it's somewhat consistent with the existing sprites. I recommend looking at the new hacking table sprite created by malistaticy for inspiration. It captures the essense of the mod:
(https://i.imgur.com/3ZzF0Am.png)
If you want to go for something that's a bit easier, you can also try to draw the repair module upgrade sprite (the sprite you see when the item is on the ground, and not yet installed). Would also really help me! You can reach me at Discord at any time when you have questions while you're drawing (just search for Roolo).

Quote from: InventorRaccoon on August 10, 2018, 05:58:04 PM
Suggestion for a more specific mechanoid upgrade: add a shield belt to Scythers.
How do you do that, reading my mind :) This was exactly one of the upgrades I had planned. It'll work not only for scythers, but for any mech without a ranged weapon, so also for some non-vanilla mechs.

Quote from: rawrfisher on August 10, 2018, 06:19:49 PM
Would have to be a custom sheild belt.  Vanilla one is worthless against anything high power or rapid fire
Maybe not super high capacity but around 300 or so or tie it to some form of battery system

I have to disagree with this one. Mitigating at least 100-150 damage like the vanilla shield belts is already enough to completely save a scyther from getting downed or killed. Increasing it further would only make things very overpowered and unbalanced.

The idea of the modifications is not to create overpowered god-like machines, but to add more variety within the mechs you have and to make them more interesting. Of course you do get benefits by installing the upgrades, but they always come at some cost (more power consumption/movement penalty/part consumption etc.). The benefits should outweigh the costs, but you do have to make some choices, for instance by specialising some mechs.

Also, take in mind that I do like symmetry in my mods. So you'll likely see some of the upgrades being used by enemy hacked mechs too in the future, in which case you're probably glad I'm not implementing 300+ damage shields.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 11, 2018, 04:43:19 AM
Thats a really nice sprite by @malistaticy! I'll try to cook up something of similar quality and style, but honestly dunno if i can measure up, so its a bit early thanking me just yet. Lets see what i can do first.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 08:26:55 AM
I have to disagree roolo.
It don't matter the capacity you get enough things slamming into it the shield is gonna go down quite fast.  300 is far more reasonable then you think.  Now if I had said 1000 I could see your point That is a bit excessive but even medium raids can break a 300 capacity shield in a matter of seconds using just vanilla weapons.  The mechs from the gunners mod which I use can deal 50 damage a shot and close up to a centipede with a mini gun or charge blaster can break a 300 shield in 1 volley sometimes.  Imagine what would happen to a shield with 150 capacity against a group of enemies with sub machine guns focusing it. 
I know we will not agree on this since we play entirely different types of games on here.

I'll leave that random wall of vomit up but my point is large groups can take out a shield fast if its capacity is in the range you mentioned.  I do agree a 300 would be excessive against smaller raids or for someone playing medium.  Personally I play merciless mode and have some odd bug that heavily inflates my colony wealth.  Looking forward to a debate on this since it will definitely be more entertaining then my normal routine.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on August 11, 2018, 09:06:55 AM
Quote from: rawrfisher on August 11, 2018, 08:26:55 AM
I have to disagree roolo.
It don't matter the capacity you get enough things slamming into it the shield is gonna go down quite fast.  300 is far more reasonable then you think.  Now if I had said 1000 I could see your point That is a bit excessive but even medium raids can break a 300 capacity shield in a matter of seconds using just vanilla weapons.  The mechs from the gunners mod which I use can deal 50 damage a shot and close up to a centipede with a mini gun or charge blaster can break a 300 shield in 1 volley sometimes.  Imagine what would happen to a shield with 150 capacity against a group of enemies with sub machine guns focusing it. 
I know we will not agree on this since we play entirely different types of games on here.

I'll leave that random wall of vomit up but my point is large groups can take out a shield fast if its capacity is in the range you mentioned.  I do agree a 300 would be excessive against smaller raids or for someone playing medium.  Personally I play merciless mode and have some odd bug that heavily inflates my colony wealth.  Looking forward to a debate on this since it will definitely be more entertaining then my normal routine.
Those are large raids though. However, maybe having an "upgrade" that costs a good amount more resources than the normal shield belt would be useful?...You could also have a mech only shield belt, since I imagine that the mechs could power a better shield, considering they have a power core unlike us puny humans.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 09:54:35 AM
Quote
Those are large raids though. However, maybe having an "upgrade" that costs a good amount more resources than the normal shield belt would be useful?...You could also have a mech only shield belt, since I imagine that the mechs could power a better shield, considering they have a power core unlike us puny humans.

That would be a valid option.  Having researchable tiers of shield belt upgrades would be reasonable.   My examples would also be more tword endgame as umbreon pointed out.  Early on it don't really make sense for the large capacity since raids are almost never that big.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 11, 2018, 10:51:25 AM
Ugh, as i thought i suck at spriting. All I managed for now is this:

(https://i101.fastpic.ru/big/2018/0811/d6/316c78c577d54b2f420501f7b562a8d6.png)

Probably looks too out of style though...

Yup, its atrocious, no matter how you look at it. I'll polish it some more.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 02:13:11 PM
https://steamcommunity.com/sharedfiles/filedetails/?id=1472926333&searchtext=

Could you add support for the mechs from this mod?

I can load em with parts but not hack them even with the researchs available
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 11, 2018, 03:55:01 PM
Quote from: rawrfisher on August 11, 2018, 09:54:35 AM
Quote
Those are large raids though. However, maybe having an "upgrade" that costs a good amount more resources than the normal shield belt would be useful?...You could also have a mech only shield belt, since I imagine that the mechs could power a better shield, considering they have a power core unlike us puny humans.

That would be a valid option.  Having researchable tiers of shield belt upgrades would be reasonable.   My examples would also be more tword endgame as umbreon pointed out.  Early on it don't really make sense for the large capacity since raids are almost never that big.

It would be a valid option but i'd rather go for more variety than for multiple levels of the same thing. One great way to upscale to late game is to just to hack more mechs. It might even be a better idea to have more cheap mechs than a few expensive ones. So plenty of options for the late gamers IMO. It's a nice idea but my time is limited and I have to make choices.

Quote from: Madman666 on August 11, 2018, 10:51:25 AM
Ugh, as i thought i suck at spriting. All I managed for now is this:

(https://i101.fastpic.ru/big/2018/0811/d6/316c78c577d54b2f420501f7b562a8d6.png)

Probably looks too out of style though...

Yup, its atrocious, no matter how you look at it. I'll polish it some more.

It's a good first attempt and has a nice retro look. But indeed it doesn't fit exactly with the other sprites. I do really like the concept of it though. I certainly wouldn't call it atrocious. But the different parts look a bit like different sprites coming from different sources which makes it a bit incoherent. You can also try to create a repair module sprite if you want something easier by the way. Anyhow, I really appreciate your effort. It's already useful as it is as a source of inspiration.

Quote from: rawrfisher on August 11, 2018, 02:13:11 PM
https://steamcommunity.com/sharedfiles/filedetails/?id=1472926333&searchtext=

Could you add support for the mechs from this mod?

I can load em with parts but not hack them even with the researchs available

Yes, I'll definitely do that. Thanks for reporting.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 04:46:38 PM
Quote from: Madman666 on August 11, 2018, 10:51:25 AM
Ugh, as i thought i suck at spriting. All I managed for now is this:

(https://i101.fastpic.ru/big/2018/0811/d6/316c78c577d54b2f420501f7b562a8d6.png)

Probably looks too out of style though...

Yup, its atrocious, no matter how you look at it. I'll polish it some more.

Could you upload that as a retexture of the high tech research bench? Vanilla sux lol

As for the mod.  Theres 1 mech in it that i swear is able to take out 200 tribles on its own lol. Tho its cost in parts the way you have it set will be insanely high
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 11, 2018, 05:40:04 PM
Quote from: Roolo on August 11, 2018, 03:55:01 PM
It's a good first attempt and has a nice retro look. But indeed it doesn't fit exactly with the other sprites. I do really like the concept of it though. I certainly wouldn't call it atrocious. But the different parts look a bit like different sprites coming from different sources which makes it a bit incoherent. You can also try to create a repair module sprite if you want something easier by the way. Anyhow, I really appreciate your effort. It's already useful as it is as a source of inspiration.

Welp, i ll try to rework it part by part, so it might look a bit better. I am kind of slow though, so if someone offers a better version by that time, thats fine as well. Might use it for something else. Will try making the module, once i am done with the table (or if i admit i suck at it and give up eventually :P).

Quote from: rawrfisher on August 11, 2018, 04:46:38 PM
Could you upload that as a retexture of the high tech research bench? Vanilla sux lol

I really don't like how it looks for now, so i won't be making side and back versions of it, until i decide it looks at least somewhat adequate. Once i am done - i might post it as a png, so you can replace vanilla research bench with it. I don't find that bench unattractive enough to varrant a waste of effort to replace it though.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 05:53:25 PM
I'm used to a 1x3 version of the bench from the hi tech facilities mod but its not compatible with the current unstable
As for how misc robots plays with this mod the haulers chase my builder bot around trying to load it with parts lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 11, 2018, 06:08:47 PM
Quote from: rawrfisher on August 11, 2018, 05:53:25 PM
I'm used to a 1x3 version of the bench from the hi tech facilities mod but its not compatible with the current unstable
As for how misc robots plays with this mod the haulers chase my builder bot around trying to load it with parts lol

It's odd the mechs from that mod can be loaded with parts. You should only be able to load parts on a mech when it has a repair module installed. Are you also able to load parts on vanilla mechs without any repair module installed?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 06:19:19 PM
Yes.  I didnt think anything of it at first either.  Anything that is a mechanoid can have parts loaded into it.  Was able to do it before having any research at all.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 11, 2018, 06:31:35 PM
Quote from: rawrfisher on August 11, 2018, 06:19:19 PM
Yes.  I didnt think anything of it at first either.  Anything that is a mechanoid can have parts loaded into it.  Was able to do it before having any research at all.

I'll take a look at it when I'm home. That's definitely not how it should work. Might be a mod conflict.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 11, 2018, 07:01:03 PM
Gonna try getting an output log for ya but the thing keeps either timing out or throwing out of memory errors

Gonna do some toying around on my end to see if I can address issues with memory usage

XML Verse.ThingDef defines the same field twice: comps.

Field contents: 40.010.0WTH_MechanoidPartstruetrue10.0.

Whole XML:

<ThingDef ParentName="RPP_Bot_I" Class="AIRobot.X2_ThingDef_AIRobot"><thingClass>AIRobot.X2_AIRobot</thingClass><category>Pawn</category><selectable>true</selectable><tickerType>Normal</tickerType><altitudeLayer>Pawn</altitudeLayer><useHitPoints>false</useHitPoints><hasTooltip>true</hasTooltip><soundImpactDefault>BulletImpact_Metal</soundImpactDefault><statBases><Flammability>1.0</Flammability><LeatherAmount>0</LeatherAmount><PsychicSensitivity>0</PsychicSensitivity><ToxicSensitivity>0</ToxicSensitivity><Mass>15</Mass><ComfyTemperatureMin>-110</ComfyTemperatureMin><ComfyTemperatureMax>110</ComfyTemperatureMax><MeatAmount>0</MeatAmount><MarketValue>850</MarketValue><MoveSpeed>3.00</MoveSpeed></statBases><inspectorTabs><li>ITab_Pawn_Health</li><li>ITab_Pawn_Needs</li><li>ITab_Pawn_Gear</li><!--
<li>ITab_Pawn_Character</li>
<li>ITab_Pawn_Training</li>
<li>ITab_Pawn_Guest</li>
<li>ITab_Pawn_Prisoner</li>
<li>ITab_Pawn_Social</li>
--></inspectorTabs><comps><li><compClass>CompAttachBase</compClass></li></comps><drawGUIOverlay>true</drawGUIOverlay><race><thinkTreeMain>X2_AIRobot</thinkTreeMain><thinkTreeConstant>X2_AIRobotConstant</thinkTreeConstant><fleshType>Mechanoid</fleshType><!-- <foodType>OmnivoreRoughAnimal</foodType> --><foodType>None</foodType><intelligence>ToolUser</intelligence><makesFootprints>false</makesFootprints><nameCategory>HumanStandard</nameCategory><wildness>0.1</wildness><mateMtbHours>0</mateMtbHours><ageGenerationCurve><points><li>(0,100)</li><li>(1,50)</li><li>(5,50)</li><li>(20,0)</li></points></ageGenerationCurve><lifeExpectancy>5</lifeExpectancy><lifeStageAges><li><def>MechanoidFullyFormed</def><minAge>0</minAge><soundWounded>Pawn_Mech_Centipede_Wounded</soundWounded><soundDeath>Pawn_Mech_Centipede_Death</soundDeath><soundCall>Pawn_Mech_Centipede_Call</soundCall></li></lifeStageAges><soundMeleeHitPawn>Pawn_Melee_MechanoidBash_HitPawn</soundMeleeHitPawn><soundMeleeHitBuilding>Pawn_Melee_MechanoidBash_HitBuilding</soundMeleeHitBuilding><soundMeleeMiss>Pawn_Melee_MechanoidBash_Miss</soundMeleeMiss><body>AIRobot</body><baseBodySize>0.6</baseBodySize><baseHungerRate>0.5</baseHungerRate><baseHealthScale>0.6</baseHealthScale></race><tools><li><label>left manipulator</label><capacities><li>Blunt</li></capacities><power>4</power><cooldownTime>1.6</cooldownTime><linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup><chanceFactor>1.0</chanceFactor></li><li><label>right manipulator</label><capacities><li>Cut</li></capacities><power>4</power><cooldownTime>1.6</cooldownTime><linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup><chanceFactor>0.8</chanceFactor></li><li><label>head</label><capacities><li>Blunt</li></capacities><power>3</power><cooldownTime>2.5</cooldownTime><linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup><ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable><chanceFactor>0.2</chanceFactor></li></tools><recipes><li>WTH_HackMechanoid</li><li>WTH_ImplantAI</li><li>WTH_HackLocomotion</li><li>WTH_ShutDownMechanoid</li><li>WTH_RepairModule</li></recipes><comps><li Class="CompProperties_Refuelable"><fuelConsumptionRate>40.0</fuelConsumptionRate><fuelCapacity>10.0</fuelCapacity><fuelFilter><thingDefs><li>WTH_MechanoidParts</li></thingDefs></fuelFilter><consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed><targetFuelLevelConfigurable>true</targetFuelLevelConfigurable><initialConfigurableTargetFuelLevel>10.0</initialConfigurableTargetFuelLevel></li></comps><uiIconPath>Things/Pawn/Humanlike/UI/IconHuman</uiIconPath><verbs><li><verbClass>Verb_MeleeAttackDamage</verbClass><defaultCooldownTime>1.45</defaultCooldownTime><meleeDamageBaseAmount>1</meleeDamageBaseAmount><meleeDamageDef>Blunt</meleeDamageDef><linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup></li></verbs><allowLearning>false</allowLearning><robotSkills><li><skillDef>Medicine</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Cooking</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Plants</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Construction</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Mining</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Crafting</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Social</skillDef><level>4</level><passion>Minor</passion></li></robotSkills><defName>RPP_Bot_Crafter_I</defName><label>Crafter Bot</label><description>A Tier 1 amateur-class unit capable of smithing, tailoring, and crafting.</description><robotWorkTypes><li><workTypeDef>Smithing</workTypeDef><priority>1</priority></li><li><workTypeDef>Tailoring</workTypeDef><priority>3</priority></li><li><workTypeDef>Crafting</workTypeDef><priority>2</priority></li></robotWorkTypes><destroyedDef>RPP_Bot_Crafter_I_disabled</destroyedDef></ThingDef>
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\SaveLoad\DirectXml\DirectXmlToObject.cs:210)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
Verse.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset) (at C:\Dev\RimWorld\Assets\Scripts\Verse\SaveLoad\DirectXml\DirectXmlLoader.cs:123)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Mods\LoadedModManager.cs:235)
Verse.LoadedModManager:LoadAllActiveMods() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Mods\LoadedModManager.cs:51)
Verse.PlayDataLoader:DoPlayLoad() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\PlayDataLoader.cs:92)
Verse.PlayDataLoader:LoadAllPlayData(Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\PlayDataLoader.cs:32)
Verse.Root:<Start>m__1() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:58)
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)


Spams log on reboot
Each instance is related to misc robots
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 12, 2018, 02:33:31 AM
Quote from: rawrfisher on August 11, 2018, 07:01:03 PM
Gonna try getting an output log for ya but the thing keeps either timing out or throwing out of memory errors

Gonna do some toying around on my end to see if I can address issues with memory usage

XML Verse.ThingDef defines the same field twice: comps.

Field contents: 40.010.0WTH_MechanoidPartstruetrue10.0.

Whole XML:

<ThingDef ParentName="RPP_Bot_I" Class="AIRobot.X2_ThingDef_AIRobot"><thingClass>AIRobot.X2_AIRobot</thingClass><category>Pawn</category><selectable>true</selectable><tickerType>Normal</tickerType><altitudeLayer>Pawn</altitudeLayer><useHitPoints>false</useHitPoints><hasTooltip>true</hasTooltip><soundImpactDefault>BulletImpact_Metal</soundImpactDefault><statBases><Flammability>1.0</Flammability><LeatherAmount>0</LeatherAmount><PsychicSensitivity>0</PsychicSensitivity><ToxicSensitivity>0</ToxicSensitivity><Mass>15</Mass><ComfyTemperatureMin>-110</ComfyTemperatureMin><ComfyTemperatureMax>110</ComfyTemperatureMax><MeatAmount>0</MeatAmount><MarketValue>850</MarketValue><MoveSpeed>3.00</MoveSpeed></statBases><inspectorTabs><li>ITab_Pawn_Health</li><li>ITab_Pawn_Needs</li><li>ITab_Pawn_Gear</li><!--
<li>ITab_Pawn_Character</li>
<li>ITab_Pawn_Training</li>
<li>ITab_Pawn_Guest</li>
<li>ITab_Pawn_Prisoner</li>
<li>ITab_Pawn_Social</li>
--></inspectorTabs><comps><li><compClass>CompAttachBase</compClass></li></comps><drawGUIOverlay>true</drawGUIOverlay><race><thinkTreeMain>X2_AIRobot</thinkTreeMain><thinkTreeConstant>X2_AIRobotConstant</thinkTreeConstant><fleshType>Mechanoid</fleshType><!-- <foodType>OmnivoreRoughAnimal</foodType> --><foodType>None</foodType><intelligence>ToolUser</intelligence><makesFootprints>false</makesFootprints><nameCategory>HumanStandard</nameCategory><wildness>0.1</wildness><mateMtbHours>0</mateMtbHours><ageGenerationCurve><points><li>(0,100)</li><li>(1,50)</li><li>(5,50)</li><li>(20,0)</li></points></ageGenerationCurve><lifeExpectancy>5</lifeExpectancy><lifeStageAges><li><def>MechanoidFullyFormed</def><minAge>0</minAge><soundWounded>Pawn_Mech_Centipede_Wounded</soundWounded><soundDeath>Pawn_Mech_Centipede_Death</soundDeath><soundCall>Pawn_Mech_Centipede_Call</soundCall></li></lifeStageAges><soundMeleeHitPawn>Pawn_Melee_MechanoidBash_HitPawn</soundMeleeHitPawn><soundMeleeHitBuilding>Pawn_Melee_MechanoidBash_HitBuilding</soundMeleeHitBuilding><soundMeleeMiss>Pawn_Melee_MechanoidBash_Miss</soundMeleeMiss><body>AIRobot</body><baseBodySize>0.6</baseBodySize><baseHungerRate>0.5</baseHungerRate><baseHealthScale>0.6</baseHealthScale></race><tools><li><label>left manipulator</label><capacities><li>Blunt</li></capacities><power>4</power><cooldownTime>1.6</cooldownTime><linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup><chanceFactor>1.0</chanceFactor></li><li><label>right manipulator</label><capacities><li>Cut</li></capacities><power>4</power><cooldownTime>1.6</cooldownTime><linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup><chanceFactor>0.8</chanceFactor></li><li><label>head</label><capacities><li>Blunt</li></capacities><power>3</power><cooldownTime>2.5</cooldownTime><linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup><ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable><chanceFactor>0.2</chanceFactor></li></tools><recipes><li>WTH_HackMechanoid</li><li>WTH_ImplantAI</li><li>WTH_HackLocomotion</li><li>WTH_ShutDownMechanoid</li><li>WTH_RepairModule</li></recipes><comps><li Class="CompProperties_Refuelable"><fuelConsumptionRate>40.0</fuelConsumptionRate><fuelCapacity>10.0</fuelCapacity><fuelFilter><thingDefs><li>WTH_MechanoidParts</li></thingDefs></fuelFilter><consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed><targetFuelLevelConfigurable>true</targetFuelLevelConfigurable><initialConfigurableTargetFuelLevel>10.0</initialConfigurableTargetFuelLevel></li></comps><uiIconPath>Things/Pawn/Humanlike/UI/IconHuman</uiIconPath><verbs><li><verbClass>Verb_MeleeAttackDamage</verbClass><defaultCooldownTime>1.45</defaultCooldownTime><meleeDamageBaseAmount>1</meleeDamageBaseAmount><meleeDamageDef>Blunt</meleeDamageDef><linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup></li></verbs><allowLearning>false</allowLearning><robotSkills><li><skillDef>Medicine</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Cooking</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Plants</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Construction</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Mining</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Crafting</skillDef><level>4</level><passion>Minor</passion></li><li><skillDef>Social</skillDef><level>4</level><passion>Minor</passion></li></robotSkills><defName>RPP_Bot_Crafter_I</defName><label>Crafter Bot</label><description>A Tier 1 amateur-class unit capable of smithing, tailoring, and crafting.</description><robotWorkTypes><li><workTypeDef>Smithing</workTypeDef><priority>1</priority></li><li><workTypeDef>Tailoring</workTypeDef><priority>3</priority></li><li><workTypeDef>Crafting</workTypeDef><priority>2</priority></li></robotWorkTypes><destroyedDef>RPP_Bot_Crafter_I_disabled</destroyedDef></ThingDef>
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\SaveLoad\DirectXml\DirectXmlToObject.cs:210)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
Verse.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset) (at C:\Dev\RimWorld\Assets\Scripts\Verse\SaveLoad\DirectXml\DirectXmlLoader.cs:123)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Mods\LoadedModManager.cs:235)
Verse.LoadedModManager:LoadAllActiveMods() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Mods\LoadedModManager.cs:51)
Verse.PlayDataLoader:DoPlayLoad() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\PlayDataLoader.cs:92)
Verse.PlayDataLoader:LoadAllPlayData(Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\PlayDataLoader.cs:32)
Verse.Root:<Start>m__1() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:58)
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)


Spams log on reboot
Each instance is related to misc robots

Ok there we have the conflict. Its because both what the hack and misc bots try to make mechs potentially refuelable. I'll make sure it's fixed the next update.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 12, 2018, 04:12:02 AM
@Madman666. I just realized I didn't mention that the bench where you create upgrades doesn't need to be as big as the hacking table, as no mechs need to be placed on it. So 3x1 will probably be fine, and anything bigger could annoy the player because of how much space it needs then. I'm sorry I only realized this after you created the first version of the sprite.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on August 12, 2018, 07:53:00 AM
Quote from: Roolo on August 12, 2018, 04:12:02 AM
@Madman666. I just realized I didn't mention that the bench where you create upgrades doesn't need to be as big as the hacking table, as no mechs need to be placed on it. So 3x1 will probably be fine, and anything bigger could annoy the player because of how much space it needs then. I'm sorry I only realized this after you created the first version of the sprite.
To be fair, it probably wouldn't look too bad if it was just shrunk down to a 1x3 size.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 12, 2018, 10:32:44 AM
On the note of the hacking table I cant rotate it -_-
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 12, 2018, 11:18:14 AM
Update:


- Fixed problem resulting in every mech requiring mechanoid parts to be loaded.
- Fixed conflict with Misc robots.
- Reorganized research tree + added repair arm research.
- Added unfinished repair arm mech upgrade, which can be used to transfer mechanoids charged by the repair module, healing them. See notes below.

Both the repair arm and the repair module are still in a very rough and not well tested state. I recommend not using them yet, unless you're really curious. Normally I don't push things that are that unfinished, but I was a bit short on time, and wanted to get those fixes out.

Quote from: Umbreon117 on August 12, 2018, 07:53:00 AM
Quote from: Roolo on August 12, 2018, 04:12:02 AM
@Madman666. I just realized I didn't mention that the bench where you create upgrades doesn't need to be as big as the hacking table, as no mechs need to be placed on it. So 3x1 will probably be fine, and anything bigger could annoy the player because of how much space it needs then. I'm sorry I only realized this after you created the first version of the sprite.
To be fair, it probably wouldn't look too bad if it was just shrunk down to a 1x3 size.

Well, the larger dimensions are 3x5, which isn't the same dimension ratio as 1x3, so things will look stretched if you just resize it.

Quote from: rawrfisher on August 12, 2018, 10:32:44 AM
On the note of the hacking table I cant rotate it -_-

Like I said before, new sprites are needed for this. malistaticy may be working on them though, so maybe rotation is possible in the near future.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 12, 2018, 11:32:46 AM
Kay, it needs to be 3x1 tile sized, got it. Don't sweat it, that you didn't warn me in time - i am doing it out of interest, curiosity and for training, so it will be useful to me either way. I guess i'll just remake it anew.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 12, 2018, 12:33:11 PM
Roolo if you have a chance next update can you remove those debug logs lol  They make it a nightmare to find error logs
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 12, 2018, 12:57:01 PM
Quote from: rawrfisher on August 12, 2018, 12:33:11 PM
Roolo if you have a chance next update can you remove those debug logs lol  They make it a nightmare to find error logs

Just removed them. If you redownload now they should be gone.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 12, 2018, 01:00:00 PM
Any word on compatability with gunner's mod?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 13, 2018, 01:46:48 PM
Update:

- Fixed problem with newly spawned mechs being refuelable with parts without having a repair module installed
- Fixed problem with parts loaded into a repair module not being loaded from saves properly.
- Added "activating ability job", this makes sure abilities cannot be activated instantly, and makes sure pawns walk to one another when it is required for the ability.
- Both repair and self repair abilities use the newly added job type.
- Repair can now only be applied to pawns with damage.
- Refactored mech operation code. Operations with dependencies on other operations are now possible. 
- Repair arms can now only be installed on mechs with a repair module (made possible with the previous point).


Both the repair module and the repair arms are much more polished now. They probably still need some minor tweaking but you can try them out without problems now. 

Quote from: rawrfisher on August 12, 2018, 01:00:00 PM
Any word on compatability with gunner's mod?

I'll look into that soon. The other things had higher priority.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 14, 2018, 02:53:25 PM
I wonder whats stronger.  10 centipides or 2 of that explosive auto cannon mech from the gunners mod

TryMakePreToilReservations() returned false for a non-queued job right after StartJob(). This should have been checked before. curJob=WTH_CarryToHackingTable (Job_1769439) A=Thing_Mech_Scyther263126
Verse.Log:Warning(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:59)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:322)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
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)

lol Yellow text spamming log while haulers act like statues
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 15, 2018, 04:06:37 AM
Quote from: rawrfisher on August 14, 2018, 02:53:25 PM
I wonder whats stronger.  10 centipides or 2 of that explosive auto cannon mech from the gunners mod

TryMakePreToilReservations() returned false for a non-queued job right after StartJob(). This should have been checked before. curJob=WTH_CarryToHackingTable (Job_1769439) A=Thing_Mech_Scyther263126
Verse.Log:Warning(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:59)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:322)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
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)

lol Yellow text spamming log while haulers act like statues

Ctrl+f12 + some contextual information please. I quote myself:

Quote from: Roolo on August 02, 2018, 03:55:43 AM
Quote from: rawrfisher on August 01, 2018, 09:07:19 PM
[..]

Please make a habit of providing the complete log, and not just 1 error. Using ctrl+f12 or pressing the green "share" button is much more useful for me than just a small error snippet. Hugslib by itself shouldn't have errors, maybe you got errors because you removed a mod from an existing save? Either way, this is hard for me to judge since you didn't provide the full log.

Quote from: rawrfisher on August 01, 2018, 09:07:19 PM
[..]

Again, please share the full log using the Hugslib share functionality. Also, please clarify when this happens exactly (and also make a habit of this). Just some contextual information can really speed up the debugging process, as it can narrow down many things, especially for hard to track bugs.
Edit: If you don't know what's causing it or when it's happening, that's also worth mentioning.

I appreciate your quick debug reports, but please be considerate with my time and report them properly. Properly reported bugs can be fixed much more quickly, which saves time I can then spend on adding features to the mod.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 15, 2018, 10:24:01 AM
Hauler bug occurs when setting large numbers of mechs to be hacked and only having 1 or 2 benches.  Easy enough to work around and can be considered trivial. 
My load order was changed significantly since those reports due to addressing another conflict unrelated to this mod. 
I often have to revise my posts as I continue testing to see what I did to mess up.  Will provide output log if requested
https://git.io/fNAd4  Current output log
https://git.io/fNAx6  Log at time of issue with haulers.  This is before fixing a storyteller bug that broke the save.
Main different is I updated 12 mods and added a couple new ones

I know this might not be useful now but I havnt had issues with the haulers since.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 15, 2018, 11:50:55 AM
Just pushed another update. It includes important fixes and some new things:

- Added "self destruct option" upgrade module. Description: A simple upgrade, consisting of two mortar shells and a wire that short circuits when activated. A plasteel casing prevents that the explosives go off unintentionally. Let your mechs go with a bang!
- Re-organised the research tree. (Picture below)
- Added mechanoid workshop with placeholder sprite (just a recoloured vanilla machine bench). Using this bench the mechanoid upgrades and the mechanoid controller belt can be constructed. Moreover, it can be used to scrap advanced mechanoid chips to retrieve mechanoid parts (see next point).
- Added recipe for mechanoid workshop that allows you to scrap 1 advanced mechanoid chip into 5 mechanoid parts.
- Fixed problem with warnings getting spammed, and haulers not working when multiple mechs have an assigned modification/operation.
- Cancelling abilities no longer results in the ability getting activated anyway.
- Abilities can not longer be cancelled by enemies attacking your pawns.
- A line between a pawn controlling a mechanoid using a controller belt and the mechanoid is now shown when either one of them is selected.
- A burning platform with a mechanoid charging on it no longer causes errors.
- Added glow effect to the hacking table.
- Lowered activation time and power consumption of repair arm and repair module.
- Lowered market value of mechanoid parts.


The icons for the abilities added by upgrades are still placeholder, as well as the mechanoid workshop sprite. The research tree needed some reorganization. First I had the idea that it would make sense that mechs can only use active abilities when they are controlled with either a mechanoid controller belt or by replaced AI. However, after giving it some thought I came to the conclusion that would be too confusing for players, and maybe also a bit too restrictive. So the idea now is that the upgrades no longer need the mechanoid control research, and instead the newly added mechanoid workshop research is a requirement. The idea is that this workshop is used for creating the upgrade modules ,but I still need to make sprites for those modules, so while those are not finished the upgrades still require raw resources. 

Here's the new research tree. It also gives a nice overview of what's currently in the mod:
(https://i.imgur.com/EgMGz4t.png)

Quote from: rawrfisher on August 15, 2018, 10:24:01 AM
Hauler bug occurs when setting large numbers of mechs to be hacked and only having 1 or 2 benches.  Easy enough to work around and can be considered trivial. 
My load order was changed significantly since those reports due to addressing another conflict unrelated to this mod. 
I often have to revise my posts as I continue testing to see what I did to mess up.  Will provide output log if requested
https://git.io/fNAd4  Current output log
https://git.io/fNAx6  Log at time of issue with haulers.  This is before fixing a storyteller bug that broke the save.
Main different is I updated 12 mods and added a couple new ones

I know this might not be useful now but I havnt had issues with the haulers since.

Thanks. Much better. As can be seen in the update notes, I just fixed the issue. Thanks for reporting it!
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 15, 2018, 11:53:37 AM
Wanna place a bet on how long before I find some other edge case or user error bug?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 15, 2018, 12:55:24 PM
Quote from: rawrfisher on August 15, 2018, 11:53:37 AM
Wanna place a bet on how long before I find some other edge case or user error bug?

Haha, wouldn't be entirely fair as I could just sneak in a bug deliberately. But yeah, this is one of the main reasons I released a work in progress version, so I get some support with the bug finding :).

By the way, I checked out the gunners mod you talked about. But it seemed the mechanoids were removed from that mod. Is that correct? When I tried dev-spawning the mechs today, they weren't in the list anymore. I know they were in the list a few days ago.




Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 15, 2018, 01:05:04 PM
Gonna have to test some stuff.  The mod author says it needs jecs tools now

Mechs got removed but the author might add them back

Btw wanna some something  horrific?  Check out my latest post in the misc robots thread.  I'm just waiting for haplo to tell me to buzz off with the reports lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: wpfktm on August 15, 2018, 07:35:54 PM
Thank you for creating this awesome and fantastic mode. I am enjoying this mode now.
But there is one thing to ask. I have not been able to escape from the b18 settlement yet. The things that have been done are still so lovely. So I'm using the 18 version mode. What are the features of the 18 version compared to the 19 version?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 15, 2018, 07:47:18 PM
Well its not as polished and lacks most anything listed in the last 4 updates
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 16, 2018, 01:24:02 AM
Quote from: wpfktm on August 15, 2018, 07:35:54 PM
Thank you for creating this awesome and fantastic mode. I am enjoying this mode now.
But there is one thing to ask. I have not been able to escape from the b18 settlement yet. The things that have been done are still so lovely. So I'm using the 18 version mode. What are the features of the 18 version compared to the 19 version?

Quote from: rawrfisher on August 15, 2018, 07:47:18 PM
Well its not as polished and lacks most anything listed in the last 4 updates

Indeed, and a lot more than the last 4 updates by the way. A complete list would be very long. The most significant things added in 0.19/1.0 are being able to caravan, and being able to upgrade mechs. Also, the balance is changed a lot, and many small issues have been solved. The B18 version should still be fun to play, so I'd say go for it.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 16, 2018, 03:12:16 PM
Quote from: Roolo on August 15, 2018, 12:55:24 PM
Quote from: rawrfisher on August 15, 2018, 11:53:37 AM
Wanna place a bet on how long before I find some other edge case or user error bug?

Haha, wouldn't be entirely fair as I could just sneak in a bug deliberately. But yeah, this is one of the main reasons I released a work in progress version, so I get some support with the bug finding :).

By the way, I checked out the gunners mod you talked about. But it seemed the mechanoids were removed from that mod. Is that correct? When I tried dev-spawning the mechs today, they weren't in the list anymore. I know they were in the list a few days ago.

I doubt you snuck this one in intentionally

Emmi started 10 jobs in one tick. newJob=DoBill (Job_2049150) A=Thing_Mech_Centipede270065 jobGiver=RimWorld.JobGiver_Work jobList=(DoBill (Job_2049130) A=Thing_Mech_Centipede270065) (DoBill (Job_2049132) A=Thing_Mech_Centipede270065) (DoBill (Job_2049134) A=Thing_Mech_Centipede270065) (DoBill (Job_2049136) A=Thing_Mech_Centipede270065) (DoBill (Job_2049138) A=Thing_Mech_Centipede270065) (DoBill (Job_2049140) A=Thing_Mech_Centipede270065) (DoBill (Job_2049142) A=Thing_Mech_Centipede270065) (DoBill (Job_2049144) A=Thing_Mech_Centipede270065) (DoBill (Job_2049146) A=Thing_Mech_Centipede270065) (DoBill (Job_2049148) A=Thing_Mech_Centipede270065) (DoBill (Job_2049150) A=Thing_Mech_Centipede270065)  lastJobGiver=RimWorld.JobGiver_Work
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.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.JobDriver:EndJobWith(JobCondition) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:483)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:514)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:430)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
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)


Emmi trying to hack a centipede throws this.  Errors intermittent and eventually self corrects but still just a minor nitpick 8)
https://git.io/fNhOo  output log even tho this trivial error don't really warrant more then a good laugh

Side note: I would wanna be able to see sythers be able to have normal weapons installed on the arms in a similer manner as the repair arm.  a syther with 2 spears would be funny

Bah forget the spelling mistakes 

update:  I took a closer look and turns out the hauler didnt properly set the centipide on the table and it was worming around at the time the errors were triggered

Small bit of trivia about the colonist doing the hacking.  She cannot do any form of crafting lol


Exception ticking scyther: System.NullReferenceException: Object reference not set to an instance of an object
at WhatTheHack.Harmony.Pawn_HealthTracker_HealthTick.Postfix (Verse.Pawn_HealthTracker) <IL 0x001c5, 0x005c4>
at (wrapper dynamic-method) Verse.Pawn_HealthTracker.HealthTick_Patch2 (object) <IL 0x006f6, 0x01a20>
at (wrapper dynamic-method) Verse.Pawn.Tick_Patch1 (object) <IL 0x0011e, 0x00356>
at Verse.TickList.Tick () [0x001aa] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:137)
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)

Thought this bug was dead    Its the death by regen part bug. 
A little thought about how to deal with it lol  Maybe have it repair all existing parts first then regen parts 1 at a time?  If its already this way I haven't noticed
Most relevent info can be found in output log above but hugs lib is timming out so cant provide second instance of output log.  Note this was after 3 back to back mech raids that pushed me to deploy all 30 mechs just to survive  :-\


JobDriver threw exception in initAction for pawn Emmi driver=JobDriver_DoBill (toilIndex=13) driver.job=(DoBill (Job_2748741) A=Thing_Mech_Lancer470006 B=Thing_WTH_MechanoidParts503633 C=(169, 0, 193)) 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) [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_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)

I have to say I think I might be going overboard <.<
This one occured when the pawn from the 10 jobs error hacked a lancer.  She got poorly hacked and it threw this error
Might have had something to do with it being a mech from a raid and not the hive
Output log https://git.io/fNhMd
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 17, 2018, 05:18:14 AM
@rawfisher.

You've been busy :) Thanks for your extensive testing and providing the full logs whenever possible! I'll make sure to fix these issues. When this mod is finished, I'm sure it'll be more crisp than it would have been without your help.  I'll put you in the credits on release.

Quote
A little thought about how to deal with it lol  Maybe have it repair all existing parts first then regen parts 1 at a time?  If its already this way I haven't noticed
Most relevent info can be found in output log above but hugs lib is timming out so cant provide second instance of output log.  Note this was after 3 back to back mech raids that pushed me to deploy all 30 mechs just to survive  :-\

Yeah this hasn't been fixed yet. The solution you propose will do. I'll implement it in the next update.

By they way, 30 mech :O. You're pretty late game aren't you? Can you tell me how much wealth your colony has? How big are the raids you're getting? I think there's currently a flaw with the parts system. You're only punished for the damage to mechs, so having a huge amount of mechs will after the initial hacking costs be as expensive as having only a few. I'm thinking of adding in maintenance. Mechs would get a new need called "maintenance", hackers need to check out the state of the hardware hack from time to time, and use a small amount of parts in the process. If a mech isn't maintained at all, the hack will have a risk to stop working. I would be similar to how training works with animals, which need to be trained now and then. Like with the animals, it will be mild. And it wouldn't be only a drawback, since it would train the crafting and intellect skill of your hackers. If I do this, I'll make sure that more traders sell mech parts, so if you're running out of parts, you still have a way to prevent the disaster of parts running out. I think the risk of running out of parts is a really interesting mechanic, and adds a nice threat to hacking mechs.   

I realize that this feature won't be liked by all players, so if I'll implemented it, I'll make it optional (on by default, but toggleable in the mod options at any time). 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 17, 2018, 05:56:21 AM
Its a really good move, that it will be optional. I'll be disabling that part instantaneously. I can't express how incredibly annoying Rimworld got in this update, once everything it has, needs to be maintained, from pets (ridiculously enough, since they already eat your food, now add tamer's time and medicine to that), to traps and turrets. Everything is a constant boring drain on something (usually just steel, because wtf not) a boring copypaste "maintenance" slapped on just everything it could actually stick to. And if you happen to have half your colony down with malaria and don't have enough people to mine crap out - sorry pal, get owned. Luckily mods can kill all that somewhat easily.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 17, 2018, 08:47:51 AM
Quote from: Madman666 on August 17, 2018, 05:56:21 AM
Its a really good move, that it will be optional. I'll be disabling that part instantaneously. I can't express how incredibly annoying Rimworld got in this update, once everything it has, needs to be maintained, from pets (ridiculously enough, since they already eat your food, now add tamer's time and medicine to that), to traps and turrets. Everything is a constant boring drain on something (usually just steel, because wtf not) a boring copypaste "maintenance" slapped on just everything it could actually stick to. And if you happen to have half your colony down with malaria and don't have enough people to mine crap out - sorry pal, get owned. Luckily mods can kill all that somewhat easily.

Haha, when I came up with the idea, I already thought: "people like Madman666 are probably not going to like this", and there you are :). It's all a matter of playstyle, and it clearly doesn't suit your playstyle. Luckily as a modder, I can easily make controversial changes like these optional. For me personally it makes things more interesting, and it adheres to the vanilla principles, that's why I'm considering it (not even sure if I'll bother though, the upgrade system has my priority now).

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 17, 2018, 09:34:33 AM
Nope still early game.  I do experience one hell of a nasty wealth bug tho. 
Each colony starts at a minimum of 100k wealth for some reason.  The item wealth is always below 20k but buildings always minimum 80k.  That isn't helpful when your playing on merciless difficulty.  As for running outta mech parts I stay pretty even around 100 with the current setup since there is often raids of 50+ mechs hitting my base.

I do wanna mention that I think you missed a small exploit I pointed out in my wall of reports.  The pawn that does the hacking in my colony has crafting disabled and hack requires 5 crafting and intellect to be preformed. 

The maint idea for mechs isn't too unlike an alternative method for repairing mechs I was considering mentioning.  I decided against that since to even test it would probably take a month to get a rough test version going.

Tech wise I just started multi analyzer but my colony has around 700k in wealth from the massive zerg raids.  50 mechs can be converted into a tribal raid which is strong enough to lag out my desktop in 64 bit mode.  I have 12gb ram 4gb vram and 4 4.0ghz cores dedicated to the game and it still lags on raids  :-\
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 17, 2018, 02:24:18 PM
Yeep, i just really don't like everything being uber-needy. Its enough of a pain that colonists are whining about each and every small thing for every other game entity to also require constant flow of something. I was content when turrets were power hungry and needed periodic component replacement via breakdown event, but constant steel eating is tad much. Hell, I probably made myself quite famous whining everywhere on this forum about maintance mechanics being annoying. It really does depend on playstyle a lot, on this i couldn't agree more. Since a big portion of players doesn't mind or even likes that mechanic, as it requires more resource micromanagement, forces you to venture out more (deep drilling being nerfed into oblivion) etc. Sadly i just don't belong to that big portion.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 17, 2018, 07:08:29 PM
Quote from: Madman666 on August 17, 2018, 02:24:18 PM
Yeep, i just really don't like everything being uber-needy. Its enough of a pain that colonists are whining about each and every small thing for every other game entity to also require constant flow of something. I was content when turrets were power hungry and needed periodic component replacement via breakdown event, but constant steel eating is tad much. Hell, I probably made myself quite famous whining everywhere on this forum about maintance mechanics being annoying. It really does depend on playstyle a lot, on this i couldn't agree more. Since a big portion of players doesn't mind or even likes that mechanic, as it requires more resource micromanagement, forces you to venture out more (deep drilling being nerfed into oblivion) etc. Sadly i just don't belong to that big portion.
Theres a mod on steam that address's the snowflake mentality to a degree.  Also Quarry is updated and working on current version so you can use that for mining instead of derping around with caravans and what not.  Camps are a thing too but it seems that the animals in trade caravans from other factions also count tword your colony wealth

https://steamcommunity.com/profiles/76561198042020973/screenshots/#scrollTop=0
Assuming this is the right link it should show the wealth graph on the colony I started when alien framework broke
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 18, 2018, 01:05:59 AM
Yeah, i know, i check mods on my b18 modlist quite often to see when they ll be up for b19 and quarry along with set up camp is among them. Its truly a wonderful thing, that mods can more or less tailor the game to be whatever you want it to be.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 18, 2018, 01:16:52 AM
Finally pinned down the cause of the wealth inflation bug. 
Was a poorly executed terreforming mod

Haplo pushed a new update for misc robots and now the robots use the mech stands and can have their missing parts regenerated

Would you consider a cap on the number of colony mechs?  While I personally think it's a downright stupid idea It seems Tyran has it so any creatures add to the colony wealth regardless of faction/condition as long as they are not hostle or wild animals

In reguards to how the mechs are healed what would work better in your opinion,  All damaged parts being repaired at the same time then missing parts being replaced or having everything repaired 1 part at a time?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 20, 2018, 02:26:08 PM
Inspired by my Giddy-up mod, I experimented a bit with trying to mount turrets on mechs as an idea for a new type of mech upgrade. After a short while, I had something rough working, which got me excited. However, getting it working properly proved to be a lot of work. But after having seen the potential in the rough concept version, I just couldn't give up, so I pushed trough and probably spent a bit too much time on it. But it works now, with the update I just released, this is possible:

(https://i.imgur.com/FIdlOPq.jpg)
Mini turrets are a nice addition to your Centipedes :)

(https://i.imgur.com/e48Wlig.jpg)
You can also install mortars on mechs, but they still need a pawn to be operated.

(https://i.imgur.com/6ClmNJe.jpg?1)
The cool thing is that it also works for any non-vanilla turret (the image shows a turret added by More Vanilla Turrets).

And of course it also works with Run and Gun, so mounted gun turrets (not mortars) can shoot while the mech is moving (if you have that mod installed of course)  :).

Here are the update notes:

- Added Turret module mech upgrade.  This module provides both structural support and and interface for gun turrets and mortars.
- Added gun turret mounting mech upgrade. With this, you can install any gun turret that can be installed/uninstalled on a turret module. Gun turrets draw extra power from the mech (proportional to the power usage of the turret type). The turret module can only be installed on mechs that are large enough (min body size: 2.0)
- Added mortar mounting mech upgrade. With this, you can install any mortar on a turret module. Mortars still have to be operated manually by colonists and don't draw any power from the mechanoid. This upgrade has only a few benefits compared to using traditional mortars (quicker setup when raiding, less space needed). However, having a few mortars installed on mechanoids is a good way to impress your enemies.
- Added research for the new upgrades.
- All options normally present on installed turrets can still be used by selecting the turret, including uninstalling, deconstructing, setting a forced target, setting munition etc.
- Mounted turrets work exactly like they normally do, so they need maintenance, and they have a tendency to explode.
- Turrets from any mod are compatible (report it if they're not).
- Fixed repeated error being thrown when a directly controllable mech is killed.
- Mechs now contribute to wealth.


This was quite a big update, so I wouldn't be surprised if it introduced small issues, but it's fairly well tested. The next update will be focused on polishing/bug fixing, so that won't be as exciting.

QuoteWould you consider a cap on the number of colony mechs?  While I personally think it's a downright stupid idea It seems Tyran has it so any creatures add to the colony wealth regardless of faction/condition as long as they are not hostle or wild animals

Why would I cap that?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 20, 2018, 03:06:19 PM
You mentioned it in your update notes :P
Then again as I mentioned i thought the cap would be a stupid idea anyway.

I didnt see anything about repairs in the notes tho
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 20, 2018, 03:13:14 PM
Quote from: rawrfisher on August 20, 2018, 03:06:19 PM
You mentioned it in your update notes :P
Then again as I mentioned i thought the cap would be a stupid idea anyway.

I didnt see anything about repairs in the notes tho

I never said I was going to cap anything. I said I was considering adding maintenance, not capping.
Don't worry about the repair issue, it will be fixed soon. I didn't have time left today to put that in, and didn't want to wait another day with pushing the update.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 20, 2018, 04:11:00 PM
Quote from: Roolo on August 20, 2018, 02:26:08 PM

QuoteWould you consider a cap on the number of colony mechs?  While I personally think it's a downright stupid idea It seems Tyran has it so any creatures add to the colony wealth regardless of faction/condition as long as they are not hostle or wild animals

Why would I cap that?

- Mechs now contribute to wealth.
Probably should be more detailed then that random spew of words I let loose
Since mechs add to colony wealth now an adjustable cap could help people keep wealth in check.  In my case I don't care about wealth once I get established enough to actually defend myself but there might be people who think there should be a hard limit since being able to turn loose 30+ mechs on an enemy raid that's stuck in a narrow corridor is a bit cheaty.  I know that sometimes there are players trying to keep wealth below a set point for the sake of the theam they are running.
Maybe on specific mech types like 4 centipedes 10 lancers and unlimited scythers?  Yes players can self enforce these limits if they want.

Would have just edited my original post but you responded a bit quicker then expected.  I sometimes go back and retype my posts after thinking about it a bit. Normally I realize I worded something poorly or am entirely wrong and just delete the post.
Sorry about being so annoying at times. I have a bad habit of that

Well may as well make this post worth reading through. 
https://git.io/fAJKy  Output log for both errors


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.VerbTracker.CreateVerbTargetCommand (Verse.Thing ownerThing, Verse.Verb verb) [0x000e8] in C:\Dev\RimWorld\Assets\Scripts\Verse\Verbs\VerbTracker.cs:109
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000d0] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222
  --- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x000eb] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232
at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115
at CompVehicle.HarmonyCompVehicle/<GetVerbsCommands>d__43.MoveNext () <IL 0x00145, 0x002b4>
at Verse.Pawn_EquipmentTracker/<GetGizmos>c__Iterator1.MoveNext () [0x00136] in C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Trackers\Pawn_EquipmentTracker.cs:229
at Verse.Pawn/<GetGizmos>c__Iterator2.MoveNext () [0x00291] in C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Pawn.cs:1861
at System.Collections.Generic.List`1<Verse.Gizmo>.AddEnumerable (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>) <0x000d7>
at System.Collections.Generic.List`1<Verse.Gizmo>..ctor (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>) <0x000e5>
at System.Linq.Enumerable.ToList<Verse.Gizmo> (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>) <0x00070>
at WhatTheHack.Harmony.Pawn_GetGizmos.Postfix (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>&,Verse.Pawn) <IL 0x00002, 0x00034>
at (wrapper dynamic-method) Verse.Pawn.GetGizmos_Patch7 (object) <IL 0x00058, 0x0012d>
at (wrapper dynamic-method) RimWorld.InspectGizmoGrid.DrawInspectGizmoGridFor_Patch0 (System.Collections.Generic.IEnumerable`1<object>,Verse.Gizmo&) <IL 0x0004e, 0x0024f>

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Log:ErrorOnce(String, Int32, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:105)
RimWorld.InspectGizmoGrid:DrawInspectGizmoGridFor_Patch0(IEnumerable`1, Gizmo&)
RimWorld.MainTabWindow_Inspect:DrawInspectGizmos() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:94)
RimWorld.InspectPaneUtility:ExtraOnGUI(IInspectPane) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneUtility.cs:128)
RimWorld.MainTabWindow_Inspect:ExtraOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:70)
Verse.WindowStack:WindowStackOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\WindowStack.cs:169)
RimWorld.UIRoot_Play:UIRootOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\UIRoot_Play.cs:91)
Verse.Root:OnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:164)


It tried to apply the targeting hacked but failed for some reason. The mech was just sitting there worming around clogging the table and bugging any pawn that tried to move it.  I did a restore body part on it thinking it would just get itself killed by the turret ring around the bench but it was acting like a pawn in a daze.  Had a bio tab when I clicked on it too.
Just had the first error occur again.  Seems when there's a failed hack it triggers.



Exception filling tab RimWorld.ITab_Pawn_Character: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.CharacterCardUtility.DrawCharacterCard (Rect rect, Verse.Pawn pawn, System.Action randomizeCallback, Rect creationRect) [0x00223] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\Dialogs\PortablePanes\CharacterCardUtility.cs:71
  at RimWorld.ITab_Pawn_Character.FillTab () [0x00037] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\ITabs\ITab_Pawn_Character.cs:50
  at Verse.InspectTabBase+<DoTabGUI>c__AnonStorey0.<>m__0 () [0x0004d] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectTabBase.cs:67
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Log:ErrorOnce(String, Int32, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:105)
Verse.<DoTabGUI>c__AnonStorey0:<>m__0() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectTabBase.cs:71)
Verse.ImmediateWindow:DoWindowContents(Rect) (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\ImmediateWindow.cs:30)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32) (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\Window.cs:202)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUI.cs:1817)



I think that is the error log when I clicked the bio tab

Little bit of trivia but I get the hacking successful notice when installing a repair module
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 21, 2018, 05:09:15 AM
@Rawfisher

Ok, you're clear about the cap now. No need to apologize, but indeed it helps if you sometimes use some extra words to explain what you mean (like you did well in your last post). I get your point, having like 30+ mechs for just parts you get from destroying mechs you have to destroy anyway seems a bit cheaty, but that's why I was considering adding a maintenance mechanic. I don't like a hard cap because that's arbitrary and too limiting. The maintenance mechanic would work more as a soft cap. If you want a lot of mechs, go for it, but you'll have to accept that it comes at a cost (parts, workload for you pawns, and a thread of your mechs going rogue if you run out of parts or pawns capable of performing maintenance). If you only have a few mechs, the maintenance mechanic should be barely noticeable, so it doesn't affect the non-excessive mech-users that much.

Thanks for reporting the errors. From the first look of it, it seems like a conflict with Jecs Tools, as the code that is called, is called from HarmonyCompVehicle, which is part of Jecs tools. I'll try to reproduce it. Can you tell me what type of mech was bugging out? Was it a vanilla one?

By the way, make sure to press ctrl+f12 after you got the error. This way the error will be captured in the log (which is cleared each time you restart the game), and also if you do that, there's no need to place the error snippets here. Sometimes other thing lead to the error, and with the full log (including the error) I'm sure I don't miss out on any information that is relevant. Sometimes the log gets too big while you play, and you can't use ctrl+f12. In that case posting snippets is the only way to go.

By the way, maybe it's better if you contact me directly on Discord or Steam with these bug reports? This way we can communicate more easily without burying the update notes too much.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 21, 2018, 05:56:24 AM
Quote from: Roolo on August 21, 2018, 05:09:15 AM
@Rawfisher

Ok, you're clear about the cap now. No need to apologize, but indeed it helps if you sometimes use some extra words to explain what you mean (like you did well in your last post). I get your point, having like 30+ mechs for just parts you get from destroying mechs you have to destroy anyway seems a bit cheaty, but that's why I was considering adding a maintenance mechanic. I don't like a hard cap because that's arbitrary and too limiting. The maintenance mechanic would work more as a soft cap. If you want a lot of mechs, go for it, but you'll have to accept that it comes at a cost (parts, workload for you pawns, and a thread of your mechs going rogue if you run out of parts or pawns capable of performing maintenance). If you only have a few mechs, the maintenance mechanic should be barely noticeable, so it doesn't affect the non-excessive mech-users that much.

Thanks for reporting the errors. From the first look of it, it seems like a conflict with Jecs Tools, as the code that is called, is called from HarmonyCompVehicle, which is part of Jecs tools. I'll try to reproduce it. Can you tell me what type of mech was bugging out? Was it a vanilla one?

By the way, make sure to press ctrl+f12 after you got the error. This way the error will be captured in the log (which is cleared each time you restart the game), and also if you do that, there's no need to place the error snippets here. Sometimes other thing lead to the error, and with the full log (including the error) I'm sure I don't miss out on any information that is relevant. Sometimes the log gets too big while you play, and you can't use ctrl+f12. In that case posting snippets is the only way to go.

By the way, maybe it's better if you contact me directly on Discord or Steam with these bug reports? This way we can communicate more easily without burying the update notes too much.

I currently only have vanilla mechs The ones that bugged were centipede and lancer.
As for log size I load the game its already about 5000 lines of text.  Btw I found out that 30 centipides 10 scythers and 29 lancers got tore apart with ease against a swarm of bugs.  Then the bugs proceeded to tear apart my base for the next half hour while I was waiting at 1x speed for the rest of my colonists to get back and when they get back I get 2 large mech raids back to back comming in behind them as they get into the base to kill the bugs lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 21, 2018, 12:02:14 PM
Small update with some important fixes:

- Body parts can now only be regenerated when the mech has no damage aside from the missing parts. This is to prevent mechs from dying because of the regeneration process (their missing part is replaced by a fully damaged one, lowering the hp, potentially killing a heavily damaged mech).
- Fixed hacking failed events throwing errors and not working anymore since one of the last updates.
- Hacking success letters are now only shown for the initial hack (and not for mech upgrades/ advanced hacks).


@Rawfisher. This should fix most issues you posted recently. I only couldn't reproduce this one:
Quote
Emmi trying to hack a centipede throws this.  Errors intermittent and eventually self corrects but still just a minor nitpick 8)
https://git.io/fNhOo  output log even tho this trivial error don't really warrant more then a good laugh

Let me know when you still experience that problem after the last update. If we're lucky it's already fixed as a side effect of other fixes.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 21, 2018, 12:24:45 PM
You know I will. Gotta wait till i get home to get any feedback tho.  Also the error with emmi is quite rare since she has a 15.5 in hacking dispite crafting being disabled
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 22, 2018, 01:13:21 PM
Another update:

- Added maintenance need. Any hacked mech now has a maintenance need for which the level decreases over time (it takes around 6 days to deplete, but it depletes faster when a mechanoid is damaged). 
- If a pawn's maintenance level is below 20%, it gets a small movement and manipulation debuff.
- If a pawn's maintenance level is below 10%, it gets a larger movement, manipulation, and consciousness debuff. More importantly, the hack has a risk of breaking, letting the mech revert to its original deadly behaviour.
- Pawns with hacking assigned make sure that hacked mechs are maintained, given that there are enough mechanoid parts. Pawns with higher hacking skill do this more effectively.
- The amount of parts needed for maintenance depends on the combat power of the mechanoid.
- When a mechanoid is hacked, it now gets a "running on backup battery" hediff, reflecting that it needs to be charged at platforms.
- Added alerts for the new maintenance need.
- Added mod option to disable the maintenance decay.
- When a mech is hacked poorly, it no longer has a chance to instantly lose its hack when being used. Instead, it has a chance that its maintenance is instantly dropped to 0, still giving the player a chance to save the mech.
- Mechs are now given a random name when hacked. Existing hacked mechs are also assigned a name. (The same name pool as for the animals is used, which leads to funny situations ^^. I had a scyther called "Hamburger")
- Edit (just added): Mechanoid parts are now also sold in outlander towns.


Before this update, you could hack as many mechanoids as you wanted with little consequence, potentially making it a solution for every problem. The new maintenance mechanic ends this "free lunch". Now you have to consider how many parts you have and how many skilled hackers you have before you recklessly hack any mechanoid that crosses your path. If you don't have too many mechanoids, the mechanic should barely be noticeable, so it's mainly intended to prevent exploits. For people that don't like this change, there's a mod option to disable it, though I suggest trying it out before disabling it.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 22, 2018, 02:48:58 PM
Basiclly me after that last string of raids I had.  Lost over 50 mechs before the enemy got chased away XD

https://git.io/fAIY6

And so the error reports start.  2 errors at the bottom
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 23, 2018, 03:27:52 AM
Update: Decreased maintenance decay, now it should take around 12 days to deplete a full bar. I'll probably tune it a bit more in the future after more playtesting.

Quote from: rawrfisher on August 22, 2018, 02:48:58 PM
Basiclly me after that last string of raids I had.  Lost over 50 mechs before the enemy got chased away XD

https://git.io/fAIY6

And so the error reports start.  2 errors at the bottom
Sure you shared the right error log? Your log only seems to contain initiation errors, and the last 2 errors don't seem to be related to WhatTheHack.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 23, 2018, 05:05:18 AM
This maintenance mechanic looks actually quite balanced compared to some ridiculous stuff vanilla now has, so my compliments to you, Roolo. I won't be disabling it without trying out first for sure.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 23, 2018, 09:39:35 AM
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]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 23, 2018, 02:31:58 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 23, 2018, 08:19:09 PM
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

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 24, 2018, 04:20:04 AM
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).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 24, 2018, 02:58:31 PM

========== 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 -_-
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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 ? :-)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: 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
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 26, 2018, 05:05:38 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 26, 2018, 09:03:54 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 27, 2018, 07:05:40 AM
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.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 27, 2018, 10:11:42 AM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 29, 2018, 01:16:14 PM
This warrented a new post.

This is what my zanyness lead to lol

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 29, 2018, 01:24:07 PM
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.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 29, 2018, 01:50:27 PM
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).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 29, 2018, 03:53:46 PM
I'll update and see what my wealth is after that.
Probably gonna launch another wave of reports in a couple days too XD
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on August 29, 2018, 04:48:10 PM
Goddamn, work s been brutal, i am really sorry i still didn't post something nice for upgrade table, Roolo. Actually, i was also dumb enough to not ask you about what do you envision this table to be. I mean are your mech upgrades like microchips\modules that upgrade software, rather than the hardware? Or are those mechanical upgrades? Cause answer to that really alters the way I d go about trying to make a sprite. It can be a computery-programmy table with some high-tech PCs for programming microchips or it can be a high tech assembly bench for constructing upgraded mechanical parts. Well i guess it could also be a wild mess of a hybrid between the two...
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 29, 2018, 05:01:54 PM
Its so rare that I release my hounds AND knights.  They go down I release lardo and just nuke my base to kill em off
Lardo got released but they fled after 1 shot :P


[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 29, 2018, 07:04:14 PM
Sorry for the double post but I wanna keep banter seperate from the reports posts


Got ThingsListAt out of bounds: (212, 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_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree: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_Patch2(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()


https://git.io/fAZNe  output log if your interested in that mess.

Screw size limts on attachments

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 30, 2018, 02:21:41 AM
Quote from: Madman666 on August 29, 2018, 04:48:10 PM
Goddamn, work s been brutal, i am really sorry i still didn't post something nice for upgrade table, Roolo. Actually, i was also dumb enough to not ask you about what do you envision this table to be. I mean are your mech upgrades like microchips\modules that upgrade software, rather than the hardware? Or are those mechanical upgrades? Cause answer to that really alters the way I d go about trying to make a sprite. It can be a computery-programmy table with some high-tech PCs for programming microchips or it can be a high tech assembly bench for constructing upgraded mechanical parts. Well i guess it could also be a wild mess of a hybrid between the two...

Don't worry, no need to apologize. Creating this mod and participating is just for fun, so don't worry if real life prevents you from contributing. You didn't promise anything, so I'm not expecting anything, and I certainly don't want to cause you any stress. Also, I had plenty of other things to do, so you didn't hold anything back, and even if you did, it wouldn't matter as in that case I'd just draw the sprite myself.

About your question: It's actually the last option you mention, so like you put it "a wild mess of a hybrid between the two".
Take for instance the turret module, crafted on the mechanoid workshop: "A module that provides both structural support and and interface for gun turrets and mortars." So the structural support is really a mechanical thing, while the interface between the mech and the turret would need some advanced electronics to function. However, most upgrade modules use mechanoid parts and mechanoid chips as resource, so you could also argue that existing chips are reused and re-purposed, so no micro-electronics are created on the table, but instead they are "hacked" or modified.  This all seems to make it complicated, but you actually have a lot of freedom. The elements on the table don't need to reflect real life things, as in real life we don't have mechanoids, and we don't hack/upgrade them. As long as the table looks like a high tech thing on which high tech things are created/modified, it's fine. 

As another example of things created on the table, here are the sprites of the repair arm and the repair module:
(https://image.ibb.co/nwpUxp/Repair_Arm.png) (https://image.ibb.co/hec4V9/Repair_Module2.png)
Hmm, the repair module should be a bit less grainy, I'll polish that later, but I hope this helps.

Quote from: rawrfisher on August 29, 2018, 07:04:14 PM
Sorry for the double post but I wanna keep banter seperate from the reports posts


Got ThingsListAt out of bounds: (212, 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)
[..]

I've encountered that error too and found a solution. Will be fixed in the next update. It doesn't seem to affect the game by the way (but I still don't like errors so it's good you reported it).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 30, 2018, 03:55:30 AM
I also added those 2 pictures to give you an idea what I have for mechs to deploy.
longhead is the bastion from polaris bloc and well as you can see it hides the platform lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Smexy_Vampire on August 30, 2018, 05:55:03 AM
Quote from: rawrfisher on August 29, 2018, 07:04:14 PM
Sorry for the double post but I wanna keep banter seperate from the reports posts


Got ThingsListAt out of bounds: (212, 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_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree: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_Patch2(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()


https://git.io/fAZNe  output log if your interested in that mess.

Screw size limts on attachments
gimie da doggos D:
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on August 30, 2018, 06:00:14 AM
Check out the polaris bloc mods by vaniant on steam
Should mention those dogs are EVIL when provoked lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on August 30, 2018, 09:19:07 AM
Update:

- Added sprites for all upgrade modules that didn't have a sprite yet.
- Fixed seemingly non-harmful GenGrid exception.
- Replaced any instance where combat power is used in a calculation with a capped combat power to improve compatibility with other mods.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 01, 2018, 08:00:02 PM
Roolo got any solutions to this photo?

Been under heavy attack by the bugs the whole game lol

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Umbreon117 on September 01, 2018, 10:32:00 PM
Quote from: rawrfisher on September 01, 2018, 08:00:02 PM
Roolo got any solutions to this photo?

Been under heavy attack by the bugs the whole game lol
I have a solution.

Nuke from orbit.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 01, 2018, 10:36:01 PM
Tried that already....
10 orbital bombardments and they just keep comming
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on September 02, 2018, 04:56:24 AM
Looks like an episode of Starship Troopers, one of the scenes the bugs win ! :-)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Smexy_Vampire on September 02, 2018, 05:32:06 AM
to much welth
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 02, 2018, 07:15:10 AM
The bugs lost that battle once I found my gernades
Sadly my wealth isnt super high
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Canute on September 02, 2018, 08:52:32 AM
Yeah i found out, against this mass of bugs only Area damage weapons helps. Normal shooting weapons even Shotguns are too slow and it would take days to kill them all.
A good use of Orassan Cyro-launcher ! :-)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 02, 2018, 10:47:44 AM
lol yea or the hounds from polaris bloc

After changing a couple settings I find myself telling the colonists to assume the position every 5 seconds when I am trying to hack mechs
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 03, 2018, 10:08:40 AM
Update:

- Added "belt interface module" mechanoid upgrade. With this module installed, mechanoids can equip any type of belts that humanoids can normally use, like shield belts and smokepop belts, but also any belt added by other mods.
- Added appropriate research and items for the newly added module, though the sprite for the item is still a placeholder.
- Added back and side- sprites for the mechanoid hacking facility (credits go to Malistaticy)
- The mechanoid hacking facility can now be rotated.
- Decreased warmup time of repair, self-repair and self-destruct abilities.
- Fixed: Mechanoids with mounted turrets not being able to shoot when the turret is manned at the moment of shooting.


The belt module upgrade is the last upgrade I'll be adding for a while. I'll now focus on polishing everything to prepare for the release I've planned on next friday. Here's the current research tree, which gives a good overview of the things currently in the mod:
(https://i.imgur.com/WG6LofQ.png)

Quote from: rawrfisher on September 02, 2018, 10:47:44 AM
After changing a couple settings I find myself telling the colonists to assume the position every 5 seconds when I am trying to hack mechs

Could you clarify what you mean here? Please tell me what "the position" is, and how you would like to see things improved (if you do).
By the way, holy cow, the size of that group of insects you posted earlier :O. Maybe the bastion you hacked before, in addition to so meat-shield mechs could make short work of those swarms?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 03, 2018, 11:32:00 AM
I changed the settings on what happens with failed hacks
70% chance to trigger raid now. 
Assume the position was an attempt to be funny but i mean get into position to fight

That swarm of bugs had killed 4 bastions before comming after my base.  Took 3 defense lines to kill em off only to be hit again 10 minutes later lol
Have to try out the new update before i comment there

I gotta ask.  It is still 4 parts per missing peice right?
If thats the case and a bastion is missing the max number of peices possible before it dies It would cost at least 40 parts just to repair the missing reactive armor which only has 4 hp each peice  :-\  The other peices just have so much HP its nearly impossible to break em

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 03, 2018, 12:14:44 PM
Quote from: rawrfisher on September 03, 2018, 11:32:00 AM
I changed the settings on what happens with failed hacks
70% chance to trigger raid now. 
Assume the position was an attempt to be funny but i mean get into position to fight

That swarm of bugs had killed 4 bastions before comming after my base.  Took 3 defense lines to kill em off only to be hit again 10 minutes later lol
Have to try out the new update before i comment there

Ah sorry, I mistook it for feedback ^^. 70% to get mech raids on a hack failed event is a nice way of getting some extra parts though :) If you can handle it at least.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 03, 2018, 12:40:36 PM
Wish it had notified me that you replied I just updated a post with actual feedback >.>
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 03, 2018, 12:49:59 PM
Quote from: rawrfisher on September 03, 2018, 12:40:36 PM
Wish it had notified me that you replied I just updated a post with actual feedback >.>

No problem, I've noticed your feedback. I guess I can make the cost dependent on the part health, so body parts with only a few hitpoints cost only 1 mechanoid part for regenerating. I never imagined parts with only such a low amount of health would exist. I'll make sure it's improved in the next update. 
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 03, 2018, 01:01:19 PM
Well since we are on that topic how about advanced versions of the portable charging station? 
My thought on that would be as follows
1: Requires power from a generator and to be fueled by mech parts to repair/charge mechs. 
2: Can only be used when installed
3: High weight at around 50kg
4: High production cost EX:  20 adv componants 500 plasteel 300 mech parts 20 advanced mech chips  Repair Modu
5: Use a recolored version of basic platform to save time.
Essentially portable version of the base platform with higher costs.

Just noticed that when I get a failed hack it removes the hack bill randomly
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 03, 2018, 03:29:23 PM
Quote from: rawrfisher on September 03, 2018, 01:01:19 PM
Well since we are on that topic how about advanced versions of the portable charging station? 
My thought on that would be as follows
1: Requires power from a generator and to be fueled by mech parts to repair/charge mechs. 
2: Can only be used when installed
3: High weight at around 50kg
4: High production cost EX:  20 adv componants 500 plasteel 300 mech parts 20 advanced mech chips  Repair Modu
5: Use a recolored version of basic platform to save time.
Essentially portable version of the base platform with higher costs.

Just noticed that when I get a failed hack it removes the hack bill randomly

Good idea. It would be something I'd add post-release though, but I might implement this. I'll look into the bill being removed, thanks for reporting.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 03, 2018, 03:37:47 PM
I got plenty of other ideas like a portable hacking platform as well.
My thoughts for that would be something like
1: Requires power (obviously)
2: Weight of around 75kg
3: Cost being 2000 steel 500 plasteel 50 components 10 adv mechanoid components.
4: recolored sprite of base one till you can decide what to do about it (this one can apply to the portable platform too)
5: Have it require some form of resource to be used.  You can decide that yourself since I'm thinking some kind of new resource lol

Admittedly I am trying to do a caravan playthrough right now with 1 camp just to train the bad growers lol
Carrying incapacitated hostile mechs in caravans would elimite the need for a portable if you have an actual camp with a bench

https://git.io/fAB0R
Just an updated output log and this is the cleanest Its ever been since I started on unstable lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 04, 2018, 03:21:03 PM
Quote from: rawrfisher on September 03, 2018, 03:37:47 PM
I got plenty of other ideas like a portable hacking platform as well.
My thoughts for that would be something like
1: Requires power (obviously)
2: Weight of around 75kg
3: Cost being 2000 steel 500 plasteel 50 components 10 adv mechanoid components.
4: recolored sprite of base one till you can decide what to do about it (this one can apply to the portable platform too)
5: Have it require some form of resource to be used.  You can decide that yourself since I'm thinking some kind of new resource lol

Admittedly I am trying to do a caravan playthrough right now with 1 camp just to train the bad growers lol
Carrying incapacitated hostile mechs in caravans would elimite the need for a portable if you have an actual camp with a bench

https://git.io/fAB0R
Just an updated output log and this is the cleanest Its ever been since I started on unstable lol

Also nice, but it is rather a situational thing. Most players won't use it probably, so I'm not sure if it's worth the effort and extra clutter, so if I'll ever implement this, it'll be a low priority thing. I can give you instructions on how to make the existing buildings (including the hacking facility and the platforms) installable/ uninstallable . It can be done by going to the mod folder -> Defs -> Things -> Buildings.xml. In that file you look up building you want to change, and change the value of its "ParentName" attribute from "BuildingBase" to "FurnitureBase". That's all you need to do. Do mind that if I update that particular file in one of my updates, you may need to re-apply the change.

Your log certainly looks much better then it did :).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 04, 2018, 03:44:27 PM
Quote from: Roolo on September 04, 2018, 03:21:03 PM
Also nice, but it is rather a situational thing. Most players won't use it probably, so I'm not sure if it's worth the effort and extra clutter, so if I'll ever implement this, it'll be a low priority thing. I can give you instructions on how to make the existing buildings (including the hacking facility and the platforms) installable/ uninstallable . It can be done by going to the mod folder -> Defs -> Things -> Buildings.xml. In that file you look up building you want to change, and change the value of its "ParentName" attribute from "BuildingBase" to "FurnitureBase". That's all you need to do. Do mind that if I update that particular file in one of my updates, you may need to re-apply the change.

Your log certainly looks much better then it did :).

Already have them transportable thanks to another mod listed in my load order.

I just had to throw in a random screenshot lol.  10 bug raids later <.<

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Smexy_Vampire on September 05, 2018, 12:57:12 AM
Quote from: rawrfisher on September 04, 2018, 03:44:27 PM
Quote from: Roolo on September 04, 2018, 03:21:03 PM
Also nice, but it is rather a situational thing. Most players won't use it probably, so I'm not sure if it's worth the effort and extra clutter, so if I'll ever implement this, it'll be a low priority thing. I can give you instructions on how to make the existing buildings (including the hacking facility and the platforms) installable/ uninstallable . It can be done by going to the mod folder -> Defs -> Things -> Buildings.xml. In that file you look up building you want to change, and change the value of its "ParentName" attribute from "BuildingBase" to "FurnitureBase". That's all you need to do. Do mind that if I update that particular file in one of my updates, you may need to re-apply the change.

Your log certainly looks much better then it did :).

Already have them transportable thanks to another mod listed in my load order.

I just had to throw in a random screenshot lol.  10 bug raids later <.<
looks like fun
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 05, 2018, 04:18:03 PM
Update:
- Removed locomotion hacking. The mechanoid controller belt now works for any hacked mech.
- If mechs have multiple modifications queued, they'll stay on the hacking facility as long as they have modifications queued.
- Colonists assigned to hacking can now perform maintenance jobs during caravanning, given that there are mechanoid parts available.
- Mechanoids with repair modules automatically repair themselves during caravanning, given that there are mechanoid parts available.
- Mechanoids with repair arms automatically repair any mechanoid in the caravan during caravanning, given that there are mechanoid parts available.
- Fixed: mechs not resting at the right position on portable platforms.
- Improved compatibility with other mods that have custom mechanoid brains, if no "artificial brain" is found, the hack is applied to the mechanoids head instead.
- Fixed: mechs still resting after the platform they are resting on is destroyed.
- Fixed: caravan getting stuck if the hack of a mechanoid breaks during caravanning.


We're nearing the release date (next friday). I think one more round of polishing and bug fixing, and the mod is ready for release. Things I definitely want to do before release are:
- Rebalancing item properties like market value and material costs. 
- Adding an in-game way of informing the player that mechs can be repaired and maintained during caravanning. Perhaps a warning if a player starts a caravan with mechs, without loading parts or a pawn capable of performing maintenance.
- Improving some descriptions.
- Adding some mod options for more configurability.
- Adding the last missing sprites.

Let me know if there's still something important missing in this list or something you'd like to see before release!
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 05, 2018, 09:36:23 PM
I gotta pose a dumb question.
How about installing extra guns on mechs lol
I know one weapon I would have a feild day installing since it generates tiny turrets :P

Time to see how fast I can break your mod  8)
turret base's dont register REEEEE
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 06, 2018, 01:10:27 AM
Quote from: rawrfisher on September 05, 2018, 09:36:23 PM
I gotta pose a dumb question.
How about installing extra guns on mechs lol
I know one weapon I would have a feild day installing since it generates tiny turrets :P

Time to see how fast I can break your mod  8)
turret base's dont register REEEEE
After the release I'll look into weapon replacement.

Showing the turret bases would look really weird, so I've made sure they're hidden on mechs. Or did you mean you got some kind of error or unexpected behaviour?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 06, 2018, 01:24:39 AM
Quote from: Roolo on September 06, 2018, 01:10:27 AM
Quote from: rawrfisher on September 05, 2018, 09:36:23 PM
I gotta pose a dumb question.
How about installing extra guns on mechs lol
I know one weapon I would have a feild day installing since it generates tiny turrets :P

Time to see how fast I can break your mod  8)
turret base's dont register REEEEE
After the release I'll look into weapon replacement.

Showing the turret bases would look really weird, so I've made sure they're hidden on mechs. Or did you mean you got some kind of error or unexpected behaviour?
I'm talking about turrets added by one of haplos mods.  They cant be installed on mechs far as I can tell.  Then again even if they could they would be worthless the way haplo has it coded so a patch would be required to make them retain their weapons.

Would allow centipedes to run around spamming tiny little 6hp turrets at nearby enemies tho.  The micro turret launcher is quite a fun gun in its own right but adding them to a centipede would make for some interesting situations lol

Entertainment factor aside:
Would it be possible to have enemy factions have upgraded mechs too?
I dont recall if dissasembling mechs with upgrades would return the items but it would add some value to the other factions getting upgraded mechs.

Sorry I'm just musing a bit right now Almost all the stuff I find is just with basic hacking and only installed a couple turrets so far.  Finally getting a playthrough I can actually explore more into the features but dont be suprised if I find some weirdo conflicts lol  Been adding random mods to my load order recently

I no sooner post that and I get hit with a save breaker -_-  Least its one I know how to fix.

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 06, 2018, 03:44:12 AM
@rawrfisher That indeed sounds entertaining :)

QuoteWould it be possible to have enemy factions have upgraded mechs too?
Certainly, this is one of the things highest in my todo list. I didn't add it yet because I wanted to get at least the most complicated upgrade modules in first. That's done now, so I can start working on it. However, it's quite a big chance, so it'll be something that I'll do post-release.

QuoteI dont recall if dissasembling mechs with upgrades would return the items but it would add some value to the other factions getting upgraded mechs.
Currently you won't get your upgrade modules back after disassembling. I may add this in, but if I do, I'll certainly make the modules more expensive. More likely I'll add operations so you can remove upgrade modules from mechanoids that are still alive. This way you can also steal upgrade modules from enemy mechs (once they have upgrade modules), but only from the ones you didn't kill. Also, this would be a nice addition for players who regret installing an upgrade for some reason.

QuoteFinally getting a playthrough I can actually explore more into the features but dont be suprised if I find some weirdo conflicts lol  Been adding random mods to my load order recently
I won't be surprised :). Actually, the more mod conflicts you detect before release the more pain you'll save me when the mod is released. Some Steam users have the tendency to say: "this shit doesn't work" -> thumbs down -> uninstall. I rather have you reporting it.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 06, 2018, 06:07:50 AM
Yeah, i also have a crapton of new stuff crammed in my modlist, so there s bound to be some shenanigans. Will of course report anything i encounter, once i finally get some time to play :P
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 06, 2018, 09:22:14 AM
I been trying to legit this playthrough im on but wave after wave of bugs keep slowing me down, the walls of my base always get destroyed on load and console is always clogged with usless garbage (Thanks kiame)

https://git.io/fAEj5  This is my load order currently with all the on load errors lol.  Only one I can see affecting your mod in any way would be that stupid melee verb one which seems to not matter at all

Pic is micro turret in action.  Last pic I posted was the result of an error involving a faction that tried generateing an item stash quest and broke

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 07, 2018, 12:10:45 PM
Last update before release:

- Added sprites for the mechanoid workshop (created by malistacity, thanks a lot for your work!!!). The back view still uses a side-sprite as a temporary placeholder.
- added belt module sprite
- The quality of a controller belt now impacts the control radius + decreased base control radius.
- Hacks of mechs with replaced AI cannot break now.
- Fixed problem with mounted turrets dissapearing when the mech on which is mounted walks at the map bounds
- Fixed problem with mounted turrets dissapearing after leaving an temporary world map site.
- Mounted turrets now won't show in the caravan dialog.
- Fixed portable platforms not recharging mech when the mechs departed using a drop pod. 
- Item sprites should look slightly better now, especially in dialogs.
- Altered many descriptions and labels
- Increased hacking success chance
- Increased time required for building the platforms and benches
- Many other rebalances, including market values, item costs, building costs, fuel capacity.
- Mechanoids are now immediately carried from the hacking table after their initial hack.
- Added learning helper entries with many useful hints for new players.
- Fixed duplicate bill in the bill stack when a mech is brought to a hacking table for the initial hack.

Now first to dinner, and then I'll start releasing the mod :)

Edit: The mechanoid workshop was resized, so you'll have to re-install it if you had one in your game
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 07, 2018, 12:29:07 PM
That mean steam release?
Btw sorry for not being much help last few days
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 08, 2018, 03:21:10 AM
I've released the mod yesterday, so this thread is no longer relevant. The release thread can be found here:
https://ludeon.com/forums/index.php?topic=44082.0

Quote from: rawrfisher on September 07, 2018, 12:29:07 PM
That mean steam release?
Btw sorry for not being much help last few days
Yeah, you probably found out already but it's the forum release and the steam release.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 08, 2018, 04:29:34 AM
Congrats with big release Roolo! :) Steam will boil with hype.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 08, 2018, 10:51:06 AM
Since this threads irrelevant why not make it a showcase of mechs getting beat up?

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 10, 2018, 07:14:39 AM
Quote from: rawrfisher on September 08, 2018, 10:51:06 AM
Since this threads irrelevant why not make it a showcase of mechs getting beat up?

Haha, feel free to ^^
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 16, 2018, 03:20:25 PM
The results of me being a goof

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 16, 2018, 04:19:26 PM
Small bug in this one.

Couldnt attatch in the other post

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 17, 2018, 03:09:02 AM
Haha, a poor raccoon, victim of a bored rawrfisher ^^.

Yeah the skullywag needs some extra compatibility patching. I'm in contact with Orion about that.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 17, 2018, 03:10:33 AM
Check The steam thread has a pic of what happens to a human that gets the targeting hacked applied

Also I wanna mention that if you get the federation to work that should by extention get the ferals to work as well

Bordem at its finest

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 17, 2018, 03:18:52 AM
Too bad these pics are too big to do multiples in a post most the time

So far it seems fine performance wise aside from the mechs blew up the west side of my base -_-

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 18, 2018, 09:10:00 PM
Will post it here, since actual What the hack thread is more for feedback and news. Did some experimenting on sprites for modules:

What i was aiming for:
(https://i.postimg.cc/7hpxDGFM/Repair_Module.png)

What i ended up with today:
(https://i.postimg.cc/7PcPSd5G/Clean_module.png) Cleaning module. :P
(https://i.postimg.cc/J4krxxXT/Hauling-hand.png) Hauling arm.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 18, 2018, 09:18:23 PM
I basiclly just use this for posting random photos for laughs.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 19, 2018, 12:19:30 AM
Quote from: Madman666 on September 18, 2018, 09:10:00 PM
Will post it here, since actual What the hack thread is more for feedback and news. Did some experimenting on sprites for modules:

What i was aiming for:
(https://i.postimg.cc/7hpxDGFM/Repair_Module.png)

What i ended up with today:
(https://i.postimg.cc/7PcPSd5G/Clean_module.png) Cleaning module. :P
(https://i.postimg.cc/J4krxxXT/Hauling-hand.png) Hauling arm.

I really like what you've done here. The hauling module is perfect to me as it is. The cleaning module is almost there. Maybe replace the broom with something more more robust/industrial? Maybe be inspired by a vacuum cleaner ^^? The reservoirs on it look good though.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 19, 2018, 09:31:15 AM
Well, i added a broom for chuckles anyways, so replace it by something vacuum looking? Will do.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 19, 2018, 03:23:44 PM
I found a goofy little bug

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 19, 2018, 03:38:45 PM
This bug was there since forever. Originally Medieval Times introduced catapults to use chunks as ammo in sieges, but they were limited to player only cause outlanders started to use them as well and Vindar couldn't fix it. He removed catapults from sieges, but forgot (or intentionally left) chunks to be used as ammo. When mortars were merged into one mortar with several ammo types - it broke and mortats started accepting chunks as ammo. Wasn't fixed since then apparently. I just comment out chunk patch in mod's files to avoid it, since i never use catapults anyway.

Also since its a bug that doesn't have anything to do with "What the hack" i'd say its kinda confusing to post it here.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 19, 2018, 03:46:04 PM
Its goofy
May as well post goofy stuff as well
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 20, 2018, 09:38:32 AM
Hm, sorry for the pause, Roolo. Was a bit under the weather yesterday.
Will this be any better?

(https://i.postimg.cc/sXTp84Pn/Mechanoid_Cleaning_Set.png)

And damn, i am still wondering what kind of thing should i do for mount module... A saddle would be way too wacky. A steel chair? Hm.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 20, 2018, 10:27:29 AM
By the way, i've also a small request for you. A portable mech disassembly table. Since its not that rare to encounter mechs while traveling, but the corpses are way too damn heavy to do anything with them. So what d be nice is to have a way to take 'em apart on the fly so to speak into much lighter mech parts. Like two tile wide folding low standing table in a form of a suitcase, when folded. Would be quite nice.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 20, 2018, 02:35:21 PM
Quote from: Madman666 on September 20, 2018, 09:38:32 AM
Hm, sorry for the pause, Roolo. Was a bit under the weather yesterday.
Will this be any better?

(https://i.postimg.cc/sXTp84Pn/Mechanoid_Cleaning_Set.png)

And damn, i am still wondering what kind of thing should i do for mount module... A saddle would be way too wacky. A steel chair? Hm.

^^ You created an actual vacuum cleaner, including the part that generates the suction. I wan't really specific to be fair, but I actually meant you could replace the broom with the pipe, and the endpart of a vacuum cleaner. But it's fine like this. Only request I have is to tone down that cyan colour a bit. It's a bit bright and in-game it'll stand out too much I think. You could consider using the same colour as plasteel, or just make it grey instead.
About the Giddy-up! module. A saddle could work if you make it look futuristic somehow. I think you can achieve that by creating actual saddle, recolour it, and add some pipes and wires. You could also consider making it similar to a motorcycle saddle. A chair (without legs) would also work, but make sure to include some high tech elements. Also mind that the colonist needs to control the mech somehow, so it's cool if something is included that makes that possible. It doesn't have to make a lot of sense, as long as it's fitting.

Quote from: Madman666 on September 20, 2018, 10:27:29 AM
By the way, i've also a small request for you. A portable mech disassembly table. Since its not that rare to encounter mechs while traveling, but the corpses are way too damn heavy to do anything with them. So what d be nice is to have a way to take 'em apart on the fly so to speak into much lighter mech parts. Like two tile wide folding low standing table in a form of a suitcase, when folded. Would be quite nice.

This is definitely something I'd like to add. I'm currently thinking about adding more ways so the player can actively get mech parts. One way would be to let the player attune the long range mineral scanner to mechanoid parts. Of course the parts won't be lying around, but they will be found on live deadly mechs. This would only really work if there's a more convenient way to scrap mechs while caravanning, so if I'd be implementing that, I'd also implement a portable disassembly table.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 20, 2018, 02:40:40 PM
Hm, in big size it doesn't look quite as ordinary as vacuum cleaner, but yeah, in 64x64 it does :P Here, i toned down cyan, should be better?

(https://i.postimg.cc/Jz4R9m1x/Mechanoid_Cleaning_Set.png)

Also i really like the mech part LRMS search idea. It ll be quite nice to challenge yourself late game by hunting some derelict mechs for parts! Real nice.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 20, 2018, 02:44:56 PM
Quote from: Madman666 on September 20, 2018, 02:40:40 PM
Hm, in big size it doesn't look quite as ordinary as vacuum cleaner, but yeah, in 64x64 it does :P Here, i toned down cyan, should be better?

(https://i.postimg.cc/Jz4R9m1x/Mechanoid_Cleaning_Set.png)

Better :). That's another sprite done. Doing great. I just edited my last post by the way (nothing important, just some additional pointers).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 20, 2018, 02:49:06 PM
Good, those were my first tries working in Illustrator, so i was kinda expecting it to turn out meh at best. Maybe i ll eventually improve them or someone offers better ones, but for now they ll do as placeholders. I'll try throwing something together to be Mechanoid Technosaddle or something...
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 20, 2018, 03:34:52 PM
Errr, try 1.

(https://i.postimg.cc/zXhW2szV/Giddy-_Up_Module_prototype_1.png)

Drills itself tight to mechanoid's outer shell, then allows direct control through neural interface linked to a controller pad, located on the left side of the techno saddle. The seat is lined with devilstrand for more backside comfort. :P
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 08:02:17 AM
Quote from: Madman666 on September 20, 2018, 03:34:52 PM
Errr, try 1.

(https://i.postimg.cc/zXhW2szV/Giddy-_Up_Module_prototype_1.png)

Drills itself tight to mechanoid's outer shell, then allows direct control through neural interface linked to a controller pad, located on the left side of the techno saddle. The seat is lined with devilstrand for more backside comfort. :P

Great work! Reminds me a bit of a throne, which is quite fitting. I mean, if you hacked those machines to an extent that you're able to ride them, you can safely call yourself king of the mechanoids :). Some optional feedback (only do something with it if you agree and if you have time for it) : it could use something reflecting a bit more sturdiness. Right now it doesn't look as if it can handle a lot of beating (although going for devistrand as textile is a great choice regarding this).

I also like the item description you wrote, so I'm also putting that in the mod.

Edit: Question, should I call the mod "Giddy-up! Mechanoids" or "Giddy-up! Battle Mechs"?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 08:13:58 AM
Glad that you liked it. I was aiming to reflect both hardness and hi-tech by adding plasteel and devilstrand colours, but i see, more something to reflect its structural sturdiness... I have the constructed sketch, so i might modify it eventually, since I plan to revise other two sprites too, once i learn few new tricks in Illustrator.

Might make it a bit more... dunno, bulky or something. I agree it looks hi-tech, but also a bit brittle. Will it be fine for the initial release today?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 08:56:47 AM
Quote from: Madman666 on September 21, 2018, 08:13:58 AM
Glad that you liked it. I was aiming to reflect both hardness and hi-tech by adding plasteel and devilstrand colours, but i see, more something to reflect its structural sturdiness... I have the constructed sketch, so i might modify it eventually, since I plan to revise other two sprites too, once i learn few new tricks in Illustrator.

Might make it a bit more... dunno, bulky or something. I agree it looks hi-tech, but also a bit brittle. Will it be fine for the initial release today?

Yes it is fine, even as a definite sprite. But you're always free to improve things later. I've just put it in:
(https://i.imgur.com/61kimIP.jpg?1)
Looks good in-game too if you ask me :)


By the way, I still need your opinion:
"Giddy-up! Battle Mechs" or "Giddy-up! Mechanoids"?
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 09:01:43 AM
Yep, surprisingly not bad. Glad i could be of help and was able improve my skills a bit at the same time. When i finish improved versions - i'll either post them here or PM you for approval. I'll be here if you have further requests as well.

One thing i already see though - i might need to make black outline a bit thicker on it, to be more in line with other module sprites.

Also - hm, Battle Mechs might confuse some people, since you know - MechaSuits'n such. So i opt for Giddy-Up Mechanoids. (mechanoid Edition :P)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 09:05:52 AM
Quote from: Madman666 on September 21, 2018, 09:01:43 AM
Yep, surprisingly not bad. Glad i could be of help and was able improve my skills a bit at the same time. When i finish improved versions - i'll either post them here or PM you for approval. I'll be here if you have further requests as well.

Great! And thanks for your work. One last request for your sprites. Could you make sure the black outline is a bit thicker? When you zoom out, the sprites tend to get pixelly at the edges otherwise. Making the outline 1 pixel thicker would fix it. Also, are you aware that sprites should have a 99% transparent black background? This prevent weird thing happening with the sprites in the dialogs somehow.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 09:06:21 AM
Ah apparently you already noticed, I see your edit now :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 09:23:03 AM
There you go.

Edit. Should be fine now.

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 09:51:51 AM
Quote from: Madman666 on September 21, 2018, 09:23:03 AM
There you go.

Edit. Should be fine now.

Thanks!
QuoteAlso - hm, Battle Mechs might confuse some people, since you know - MechaSuits'n such. So i opt for Giddy-Up Mechanoids. (mechanoid Edition :P)

Yeah, I was tending towards that too. It also keeps the door open for caravan support and ride and roll support (which isn't implemented now yet - doesn't make much sense with vanilla mechs anyway). The unfortunate thing is that I already named all my files using battle mechs as name, so I'll have to change everything. But I know I won't regret it.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 21, 2018, 12:57:33 PM
How cool is this. While I was testing the new giddy-up mod, I tested what would happen if directly controlled mechs tried mounting another mech (with an AI implanted or controlled with the belt). Of course it bugged out. But then I thought, we'll why not make it work. This is the result:

(https://i.imgur.com/obXzE5k.jpg?1)

Mechs mounting mechs confirmed. Only mechs that cannot be mounted can mount other mechs. This will all be released today :).
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 21, 2018, 01:01:30 PM
Sounds good just dont forget to remove the debug logs :P
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 04:12:37 PM
For speed module. Overclocked Servomotors thingy. When you get to it :P

P.s By the way - mechs riding massive mechs is dope as all hell. I kinda fear mech raids now.

[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 21, 2018, 04:25:15 PM
I found somthing even meaner then a  bastion that gets to be used as a mount -_-
Those wolf girls from lost forest are fast and brutal in close combat.  Watched 1 shread a bastion >.>
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 04:42:05 PM
Heh, talk about being OP. Tearing big ass mechs apart unarmed. :P
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 21, 2018, 04:48:02 PM
That wolf girl is an animal lol
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 04:48:54 PM
That counts as "unarmed" in my book))
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 21, 2018, 07:58:51 PM
Hm. Redid Mech cleaning module. Dunno if this better than previous one?



[attachment deleted due to age]
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 22, 2018, 09:22:05 AM
Quote from: Madman666 on September 21, 2018, 07:58:51 PM
Hm. Redid Mech cleaning module. Dunno if this better than previous one?

Cool! I think I prefer the new one. Though I think the details on the square thingy in the middle are too fine-grained. In-game the details will blur, especially when zooming out.

Quote from: Madman666For speed module. Overclocked Servomotors thingy. When you get to it :P

Nice looking sprite. But again, watch out with making the details too fine-grained. A good way of testing if the level of detail is right is to distance yourself from the screen a bit, and see if you're still able to distinguish the details. ]

I really appreciate that you're helping out :D
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 22, 2018, 09:36:39 AM
Yeah, i know what you are talking about. Rimworld isn't that finely detailed usually. Its my own habit really, i like it hi-res and neatly detailed :P First time i tried Illustrator the hauling sprite came out i guess more rimworldy cause i was limited in detail amount. Now after picking up a few other tricks i can fit it more details without it turning to crap in 64x64. Though as a result it might fit vanilla Rw a bit less.

Also, i just do it for funzies and training anyway, so if something doesn't really fit the bill - please don't hesistate  to say it and pick something else over my art - i don't mind constructive critisism at all, more than that - i appreciate the advice, since i do plan to mod myself, once i get good enough at spriting and c# both.

That low-detail thing might be gone by 1.0 release though. Newly hired larSyn artist for Rimworld as far as i can see prefers to put as much details as  I :P
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Bobisme on September 22, 2018, 12:02:51 PM
This looks like a sweet mod :)
You've said that B18 is no longer maintained, understandable, but it is fully operational yes? :)
like, if i used this on vanilla B18, it would all work ? :) :)
:)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on September 22, 2018, 12:04:20 PM
I dont see why it wouldnt
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Bobisme on September 22, 2018, 12:15:57 PM
i installed it, i swore i saw an image showing a  large amount of research required to get the mechs fully operational but here i only see 3 options, can you tell me if that is due to B18 or has the research been refined, i'd be spewin if i didn't get the 'full' experience with this mod :D
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on September 22, 2018, 12:32:16 PM
Quote from: Madman666 on September 22, 2018, 09:36:39 AM
Yeah, i know what you are talking about. Rimworld isn't that finely detailed usually. Its my own habit really, i like it hi-res and neatly detailed :P First time i tried Illustrator the hauling sprite came out i guess more rimworldy cause i was limited in detail amount. Now after picking up a few other tricks i can fit it more details without it turning to crap in 64x64. Though as a result it might fit vanilla Rw a bit less.

Also, i just do it for funzies and training anyway, so if something doesn't really fit the bill - please don't hesistate  to say it and pick something else over my art - i don't mind constructive critisism at all, more than that - i appreciate the advice, since i do plan to mod myself, once i get good enough at spriting and c# both.

That low-detail thing might be gone by 1.0 release though. Newly hired larSyn artist for Rimworld as far as i can see prefers to put as much details as  I :P

The thing is that when the sprite is in-game, you often zoom out a bit, and detailed things that look good in 64x64 at full zoom will start to look fuzzy when zoomed out. I just tried it with your sprites, but to my surprise the fuzzyness isn't as bad as I expected, especially for the speed module. I think that's because your sprites do have clear outlines, so even if some details are lost, they still look pretty good. Here's how it looks zoomed out a fair bit:

(https://i.imgur.com/7ywhheR.jpg?1)

So yeah, I think it's fine like this, but it's still something to keep in mind.


Quote from: Bobisme on September 22, 2018, 12:15:57 PM
i installed it, i swore i saw an image showing a  large amount of research required to get the mechs fully operational but here i only see 3 options, can you tell me if that is due to B18 or has the research been refined, i'd be spewin if i didn't get the 'full' experience with this mod :D

The B18 version is a quite a bit older than the B19 version and because it isn't maintained anymore it misses quite a few updates. It doesn't have nearly as much features and isn't balanced as well. It's still fun as it is, but just not as deep as the B19 version. It doesn't have upgrade modules, and misses many other things, but the basic hacking is there. The description on the original post should be clarified a bit to reflect this.

Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Bobisme on September 22, 2018, 12:35:36 PM
Thanks for the heads up mate, think i might just have to update my game :D
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Madman666 on September 22, 2018, 12:39:26 PM
Well, outlines are basically for that - keeping nice form in zoomed out state, I ll keep it in mind though. Also i ll make a test dummy mod, to see how my shiz looks like in game easier. It will certainly come in handy as now i just kinda zoom out in editor soft to check if its fine. Thanks for the advice. Glad its usable. Feel free to ping me up if you need me to try assembling something else.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: zer02 on September 24, 2018, 12:16:33 PM
thnks for mod ! (https://cs9.pikabu.ru/post_img/big/2017/11/06/9/1509981352122599546.jpg)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: HSneak on October 24, 2018, 02:37:01 PM
Is such thing normal ? "Could not resolve cross-reference to Verse.ThingDef named WTH_MechanoidChip (wanter=thingDefs)"

Got many of those in hugslib log : https://gist.github.com/HugsLibRecordKeeper/afca0a46b7a330472e02a35da39c6cc9

EDIT : I use many mods (clearly from the output log)

EDIT 2 : whoops, I think it's not your mod that's causing it, it's Giddy-up Mechanoid patch (not sure though, since I saw WTH and immediately thought of this), can you confirm plz ?

EDIT 3 : Fixed the thing by deleting the Config folder and letting the game generate a new one (surely broke after changing some load orders & loaded mods), so nevermind :)
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Adkkid on December 17, 2018, 04:53:50 PM
I found a pretty significant bug. When using the Long-Range Mineral Scanner tuned to mechanoid parts, I've been using it for a while with nothing found, until suddenly I heard a bunch of dings and notifications of new parts appearing kept showing up about once a second. Around a dozen, I tried drafting the colonist working on the scanner, which stopped it, but when they went back, it went back to discovering more very rapidly. Switching the target to normal components caused one resource to be found, and then stop queuing up new ones, resuming normal work. Let me know if there's anything I can do to help debug further.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Roolo on December 20, 2018, 08:22:18 AM
Quote from: Adkkid on December 17, 2018, 04:53:50 PM
I found a pretty significant bug. When using the Long-Range Mineral Scanner tuned to mechanoid parts, I've been using it for a while with nothing found, until suddenly I heard a bunch of dings and notifications of new parts appearing kept showing up about once a second. Around a dozen, I tried drafting the colonist working on the scanner, which stopped it, but when they went back, it went back to discovering more very rapidly. Switching the target to normal components caused one resource to be found, and then stop queuing up new ones, resuming normal work. Let me know if there's anything I can do to help debug further.

This is fixed in the latest build. Mind that this is the WIP thread. Since this mod is already released, please use the up-to-date thread found here for reporting things: https://ludeon.com/forums/index.php?topic=44082.60
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: damienm on May 26, 2019, 04:11:33 PM
robot wont sow modded crops, is this a known issue or a load order one . VGp crops
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: rawrfisher on May 26, 2019, 05:08:11 PM
@Damienm Please direct this to the released thread at https://ludeon.com/forums/index.php?topic=44082.60
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Retry_02Hide on July 09, 2019, 07:12:12 AM
Hello roolo, is it normal to see modded mechanoids spawn with mechanoid faction? For example, spawn with centipes and lancers in a raid or ship part incident.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: makute on September 18, 2019, 05:33:30 AM
Hello everyone,

Would I be able to harvest mechanoid parts again with the "Reclaim, Reuse, Recycle" benches if I install "What the Hack!"?

Thanks.
Title: Re: [1.0](WIP) What The Hack?! - Mechanoid hacking
Post by: Kirby23590 on September 19, 2019, 03:21:22 PM
Quote from: makute on September 18, 2019, 05:33:30 AM
Would I be able to harvest mechanoid parts again with the "Reclaim, Reuse, Recycle" benches if I install "What the Hack!"?

Quote from: Retry_02Hide on July 09, 2019, 07:12:12 AM
Hello roolo, is it normal to see modded mechanoids spawn with mechanoid faction? For example, spawn with centipes and lancers in a raid or ship part incident.

You two might want to move that to the release version  (https://ludeon.com/forums/index.php?topic=44082)for your answers @makute and @Retry_02Hide

Also Retry, modded mechanoids can spawn in ship parts like the mechanoid extraordinaires ones, though it can still happen without this mod installed. And if you mean scythers with extra shield parts, no they only have that with factions like pirates that have hacked them...

And sorry makute, i don't use the Reclaim, Reuse, Recycle bench, so i don't know...