[1.0] What the Hack?! v1.2 - last update: May 30, 2019

Started by Roolo, September 07, 2018, 03:25:51 PM

Previous topic - Next topic

Roolo



What better way is there to take revenge on mechanoids than to hack them, and use them as your own combat slaves? With What the Hack!? you can raise your own squad of blood machines. This is not all: You can also apply various upgrades to mechanoids like a turret module for mounting turrets on them, a belt module for equipping belts like shield belts, and various other modules. Moreover you can use your hacked mechanoids as pack-mules during world travel, raid factions with them, you can control them directly with a controller belt, or implant an AI persona core in them for indefinite control. Beware though, hacking has its dangers, and other technologically advanced factions also know how to hack, so expect hacked mechanoids in enemy raids.

Sounds overpowered?
Well, enemy raiders (with a high enough tech level) also use hacked mechanoids. Moreover, mechanoids need to be maintained and repaired, draw a lot of power, and hacking them is pretty dangerous. I've put a lot of effort in making it a balanced experience.

In-game screenshot:


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

Download
Github
Steam
Can be added to existing saves.

This is how it looks in action


Features
- Adds the possibility to hack downed mechanoids with the mechanoid hacking facility.
- Adds a "hacking" work type, which levels with both the crafting skill and the intellectual skill of colonists.
- Hacked mechanoids cannot use their internal reactor as that would draw attention from the mechanoid have, so they rely on their internal backup batteries which need charging.
- Hacked mechanoids need regular maintenance which is performed automatically by your hacker pawns. If it's completely neglected, hacks can stop working...
- Mechanoid platforms are added, which repair and recharge mechanoids on them.
- Various upgrades can be performed. Look at the image below for an overview.
- Repair, maintenance, and hacks and upgrades require "mechanoid parts", which can be obtained by disassembling mechanoids.
- World travel is possible with mechanoids. To support this, a portable charging platform is added.
- Enemy factions can also use mechanoids during raids. What factions can use mechanoids can be configured in the mod options.
- By default hacked mechanoids behave exactly like mechanoids, only then they are on your side, so they have search and destroy behaviour (with some additional logic so they use the charging/repairing platforms). However, if you want direct control you can craft a mechanoid controller belt, and control them directly with a colonist, or you can implant an AI persona core so you have direct control indefinitely (you get the core back when you dissasemble the mechanoid after it dies, so it's not as expensive as it seems).
- Many more things, just install the mod and you'll see!

The research screen gives a good overview of what's in the mod:


One of the most notable upgrades is definitely the turret module, which allows you to mount turrets and mortars on your mechs, including ones 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 a downed 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 successful, 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, and they'll wreak havoc among your enemies.

Upcoming
- Adding upgrades to the mechanoid controller belt so it can be used to temporarily hack mechanoids. Chance of success using these devices could depend on intelligence of the using pawn.
- Make mechanoid weapons replaceable

Compatibility notes[/color]
- Psychology should be placed below What the Hack!? in the load order.
- Animal logic unintentionally adds buttons that let you set mechanoid platforms to be medical beds - don't use these buttons, as they won't work for platforms, and possibly break things.
- The bions added by Rimsenal Federation cannot be hacked (they aren't really mechs).
- HelpTab makes the options to mount turrets on you mechanoids disappear.
- When using RimSQOL, make sure to go to its mod options and add "ingredient radius" to the list of forbidden patches. Otherwise some recipes like installing turrets won't work.
- Turret mounting doesn't work when using Combat Extended (CE), apart from that CE is completely compatible.
- Sometimes raids go wrong completely overwrites the raid spawning mechanic. Therefore, when using that mod, enemies won't spawn with hacked mechanoids.

Let me know if you find any other compatibility issues!

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
I'd like to thank the following people for helping me with the mod:
- malistaticy: For drawing the sprites for the mechanoid hacking facility and the mechanoid workshop.
- Madman666: For drawing the sprite for the portable disassembly bench, and more sprites for things that'll be added soon.
- rawrfisher: For extensive playtesting and bug reporting. 
- Orion: For creating and giving me permission to use the advanced mechanoid chip sprite, which was part of the amazing More Mechanoids, but is no longer used in that mod.
- Anyone else providing feedback and support!


Licence
Feel free to add this mod to modpacks or to use the code or icons for other projects, though please credit me when doing so.
Do however not release exact copies of my project, or exact copies with minor adjustments without my consent.
Code is derivate from Ludeon Studio.

Contributing
-Translations are very welcome. You can make a pull request on github if you want to add in translations, or you can contact me by sending a friend request.

If you really like my mods, please consider buying me a coffee. Instead of buying a coffee, I might buy my girlfriend a treat if I get too absorbed in modding to her taste again. But hey, that is also in your favour :).



- One more thing: Guess what the new Giddy-up mod is going to be :)

rawrfisher

#1
Q.Q So yea I'm curious to see how magic works against them
Also kinda curious to see if I can install a wand in a turret and mount the turret on a centipide :P
Professional jerk
Want something broken let me know

ThatONEPeacefulPlayer

How about the chance on the first startup of a mechanoid that its own programming takes over again? like the tame chance on animals/humans. Which could be shut on/off. Just throwing things out there..

rawrfisher

#3
There's already a risk of that if you don't maintain the mechs.
Also there's a chance to trigger a mechanoid raid if you fail hacking.  I personally have it set to 70% for the raids and wasnt too happy that he raised the success rate.  Now I gotta start having the worst people do the hacking just to get the parts to maintain the numbers I keep on hand.


Could not load reference to RimWorld.WorkGiverDef named WTH_DoBillsHackingTable
Verse.Log:Error(String, Boolean)
Verse.ScribeExtractor:DefFromNode(XmlNode)
Verse.Scribe_Defs:Look(WorkGiverDef&, String)
WorkTab.WorkPriorityTracker:ExposeData()
Verse.ScribeExtractor:SaveableFromNode(XmlNode, Object[])
Verse.Scribe_Collections:Look(List`1&, Boolean, String, LookMode, Object[])
Verse.Scribe_Collections:Look(List`1&, String, LookMode, Object[])
WorkTab.PawnPriorityTracker:ExposeData()
Verse.ScribeExtractor:SaveableFromNode(XmlNode, Object[])
Verse.Scribe_Collections:Look(List`1&, Boolean, String, LookMode, Object[])
Verse.Scribe_Collections:Look(List`1&, String, LookMode, Object[])
Verse.Scribe_Collections:Look(Dictionary`2&, String, LookMode, LookMode, List`1&, List`1&)
WorkTab.PriorityManager:ExposeData()
Verse.ScribeExtractor:SaveableFromNode(XmlNode, Object[])
Verse.Scribe_Collections:Look(List`1&, Boolean, String, LookMode, Object[])
Verse.Scribe_Collections:Look(List`1&, String, LookMode, Object[])
Verse.Game:ExposeSmallComponents()
Verse.Game:LoadGame_Patch1(Object)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow(String)
Verse.Root_Play:<Start>m__0()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()


Just cause you released dont mean I will stop raking it over the coals lol
But this was just an on load error not sure if it means anything
Professional jerk
Want something broken let me know

ChJees

Sounds exploitable this hacking :P . Put your shittiest hacker on purpose to call mechanoids on demand. Then murder them and get delicious components and plasteel.

rawrfisher

Remember you gotta fight live mechs for that and if your not paying attention you could get jumped and slaughtered yourself.
The default is 5% mines set at 70 cause the 20+ raids per day were boring enough I fell asleep twice
Professional jerk
Want something broken let me know

Ruisuki


Roolo

#7
Thanks everyone!

A minor update:
v0.19.1
- The raid point budget of enemy hacked mechs can now be configured in the mod options.
- Rebalanced mechanoid workshop costs.
- Small changes in descriptions.

Quote from: ThatONEPeacefulPlayer on September 07, 2018, 03:38:52 PM
How about the chance on the first startup of a mechanoid that its own programming takes over again? like the tame chance on animals/humans. Which could be shut on/off. Just throwing things out there..
Like rawrfisher mentioned, something like that is already in the mod.

Quote from: ChJees on September 07, 2018, 04:52:35 PM
Sounds exploitable this hacking :P . Put your shittiest hacker on purpose to call mechanoids on demand. Then murder them and get delicious components and plasteel.

This is only the case when you fiddle with the mod settings. By default the chance that mechanoids transmit a signal drawing other mechs is really small, and trying to exploit it will just result in your colonists getting hurt (by other failed hacking events), and valuable downed mechs being wasted. Also, if you do fiddle with the mod settings, the amount of mechs you'll get is pretty punishing too :).

rawrfisher

Ummm I was checking the mod settings and my install has issues when I scroll the faction hack settings or w/e you wanna call it lol
I think its due to my number of factions lol
Professional jerk
Want something broken let me know

Roolo

Quote from: rawrfisher on September 08, 2018, 03:32:13 PM
Ummm I was checking the mod settings and my install has issues when I scroll the faction hack settings or w/e you wanna call it lol
I think its due to my number of factions lol

Can you explain what these issues are exactly? Just the names of factions/mechs not fitting in their box or something worse?

rawrfisher

#10
Made a gif of it but I dont know if it actually shows whats happening XD

https://www.dropbox.com/s/35awdx8xjigibcg/20180909_045437%5B1%5D.mp4?dl=0
Professional jerk
Want something broken let me know

Roolo

#11
Quote from: rawrfisher on September 09, 2018, 05:42:34 AM
Made a gif of it but I dont know if it actually shows whats happening XD

https://www.dropbox.com/s/35awdx8xjigibcg/20180909_045437%5B1%5D.mp4?dl=0

Well, at least is shows that your screen could use some cleaning ^^. Jokes aside, I think I'll be able to reproduce it just fine by installing a ton of faction mods. At the same time I'll make sure to have a solution for very long names.

rawrfisher

#12
LTF adds 5 factions alone and none of them can even be veiwed
As for the cleaning you saw the clean part

Oh Roolo
Tynan personally tweeted about this mod calling it impressive

He also posted a followup tweet saying he wrote up a design concept for the same thing a couple months back lol
Professional jerk
Want something broken let me know

Roolo

Update

- Buffed vanometric power module.
- Decreased how much a mounted turret's power consumption affects mech power drain.
- Part regeneration of smaller body parts consumes less mechanoid parts. This makes mechanoids that are likely to loose small parts much more viable.
- Partially fixed problem involving inaccurate mass usage for mechs with turrets mounted on them during caravanning.
- Fixed problem with mounted turrets dissapearing when a mech walks near the map edge.
- Fixed problem involving colonists trying to mount deployed turrets on mechs, resulting in things despawning.
- Small fixes in text descriptions.


This update has some important tweak/fixes. One notable bug I didn't fix completely yet is how the mass is calculated during caravanning for the mechanoids with turrets mounted on them. Ideally, mechanoids with turrets on them aren't able to carry any extra stuff, but do fully carry the turret on them. Getting this to work properly has proven to be surprisingly confusing, and requires me to invest a bit more time. Luckily, the fix in this update at least ensures that caravans won't be overloaded due to heavy mounted turrets brought along. 


Quote from: rawrfisher on September 09, 2018, 09:41:56 AM
LTF adds 5 factions alone and none of them can even be veiwed
As for the cleaning you saw the clean part

Oh Roolo
Tynan personally tweeted about this mod calling it impressive

He also posted a followup tweet saying he wrote up a design concept for the same thing a couple months back lol

Hi again rawrfisher. Yeah I saw the tweet. I'm really happy with it :)
This update didn't yet include a fix the mod settings thing, as there were some more pressing things I had to do first. I'll make sure to look at it soon.


platipuss

hello

I just want to report that when I use this mod you can play with out a problem until the first raid. just before I got the first raid to my colony I took a save if I activate the mod game crashes before the "raid" box appear, when I deactivate the mod and raid comes and continue playing without any issue.

maybe this is happening just to me or I'm using lot of mods and some of those have conflict with this one, I don't know.