RimWorld

RimWorld

Mechanitor Command Relays
83 Comments
ThroatGOAT Jul 20 @ 9:39pm 
No, it does not. Do not listen to Squiggly. It does not tune to the mechinator.
SquigglyV Jul 18 @ 11:35am 
Still works fine in 1.6 as far as I can tell! I always forget to plan ahead for these (and vanilla mech boosters) so there's never any room left in my base by the time I can build them lol.
ThroatGOAT Jul 15 @ 6:08am 
I very much miss this beautiful piece of work.
Vent Jul 12 @ 1:29pm 
Will this mod be updated for 1.6? I need to slap a couple of these bad boys into my gravship.
Hydrologist  [author] May 21 @ 3:01pm 
@Thekillergreece I haven't tested the mod with any modded mechanoids, but it shouldn't have any outright incompatibilities. You can try loading this mod after URMC to see if you get the desired behavior, but be aware that it may cause whatever behavior URMC is overriding this one's with to stop working.
»SoD« Thekillergreece May 21 @ 12:52am 
Does this work for modded mechanoids such as the ones from URMC? Cause it doesn't seem to work as if the command relay don't exist for them to be ordered.
Hydrologist  [author] Mar 22 @ 8:13pm 
@Derproid That was for performance reasons. If I recall correctly, when I attempted to make the range a configurable stat in the XML, retrieving the value for every range check caused the game to run poorly. There might be a better way to go about it, but since I haven't been actively playing Rimworld I haven't been motivated to pursue it.
Derproid Mar 22 @ 11:51am 
Tried doing it myself but I think editing the range in xml isn't possible because in CompProperties_CommandRelay you make relayCommandRange const :(
Derproid Mar 20 @ 5:12pm 
Would you be open to adding additional tiers? One with more range and another the covers the whole map (being extremely expensive ofc) is what I was thinking.
Hydrologist  [author] Nov 16, 2024 @ 9:30pm 
@Hog It should be. It just adds a new building and doesn't change anything about existing ones.

@Hermann Are you seeing the same behavior as The Lord Pootis? Does moving the mod above or below Gestalt Engine in your load order change anything?
HogbogtekkyTTV Nov 16, 2024 @ 3:47pm 
Is this stable to add to an existing save?
Hermann Nov 13, 2024 @ 1:00pm 
does not work with Gestalt engine
The Lord Pootis May 30, 2024 @ 9:17am 
It seems this mod and the Gestalt engine mod conflict in some way and makes the Gestalt engine unable to move drafted mechs under its command as if it had 0 command range instead of expending the whole map like it should, removing this mod fixes it
Morcalvin May 19, 2024 @ 10:07pm 
Is there a way to make superior versions that put out larger control zones?
OG Diamond Poster May 1, 2024 @ 8:10pm 
I was confused as why I couldn't find this structure in my fresh unmodded 1.5 play through. This is so useful that I thought this was just part of the vanilla game! Excellent work
Hydrologist  [author] Apr 10, 2024 @ 10:45pm 
I did some testing and was able to confirm the extra log messages. I recompiled the mod with the 1.4 assemblies and it seems to have resolved the issue on my end. I tested the existing 1.5 version and it seems to be fine as well. I've pushed the update, so please let me know if the issue persists.
Parkle Apr 10, 2024 @ 8:16am 
I'm playing on 1.4.3901. the error is gone now, but instead, I'm getting 3, almost identical messages spammed in the log. I've posted them in the discussion again.
Hydrologist  [author] Apr 9, 2024 @ 8:48pm 
I've pushed an update which rearranges the folder structure of the mod. This should properly separate the 1.4 and 1.5 versions of the mod files, which I suspect was causing issues.

@Parkle, please do let me know what version of the game you're playing on, and whether you're still seeing the issue.
Hydrologist  [author] Apr 9, 2024 @ 8:06pm 
@Parkle That error looks like the mod is targeting the wrong version of the game. I haven't been able to reproduce the issue in my own 1.5 install of the game, so I'm not sure what's causing yours to do that. Can you confirm the version of your game in the upper left corner of the main menu?

If you haven't already, you may want to unsubscribe and resubscribe to the mod, in case Steam hasn't updated the mod files properly and you still have the 1.4 version of the mod file.
Parkle Apr 9, 2024 @ 2:05pm 
Posted the errors I'm getting in a discussion.
Parkle Apr 9, 2024 @ 1:49pm 
I deconstructed a command relay and the game is spamming me with errors related to it. It's making my player.log file 80gb+
Hydrologist  [author] Apr 8, 2024 @ 8:49pm 
I've recompiled the mod using the 1.5 assemblies. Let me know if there are any issues.
Hydrologist  [author] Mar 24, 2024 @ 8:12pm 
@Sargon Rose I'm working on updating this for 1.5, though I'll be busy this coming week.
Sargon Rose Mar 19, 2024 @ 4:45pm 
Damn, hoping this worked with 1,5
Kaedys Jan 22, 2024 @ 11:25pm 
Ya, that's what I was thinking. I'm not *super* solid on the C# side, but I thought you could make it work like the powerConsumptionIdle var, which has a default value but can be overridden in the XML.
Hydrologist  [author] Jan 22, 2024 @ 2:31pm 
It's been a while, but I believe I hardcoded the range for performance reasons. I'm currently not set up to do development, but it should be possible to load the range from XML into a variable in MechanitorRelayCacheHelper.cs, then use that variable in the range calculations in PatchMechanitorTracker_CanCommandTo.cs and PatchMechanitorUtility_InMechanitorCommandRange.cs in place of CompProperties_CommandRelay.relayCommandRange.
Kaedys Jan 22, 2024 @ 3:46am 
Would like to second the request to expose the `relayCommandRange` in the XML. Was trying to add this comp to some buildings from another mod, to add the command relay effect to them, but with different ranges due to differing building sizes and construction costs, but that field is currently hardcoded =(
Morlund Nov 18, 2023 @ 3:49am 
@Datboi
Unless I'm misunderstanding your question, that's a default Biotech feature, simply put the mechs you want guarding into a separate command group and set them to the Escort work type and they will follow the Mechanitor around and attack any hostiles that come near them. The only limitations being that they can't escort anyone other than their commanding mechanitor and they will ignore their charging settings and will continue to escort until they run out of power.

Alternatively, if you want your mechs to guard a specific area, you can restrict combat mechs to an area and set them to the standard Work work type (include charging stations in the area if you want them to be able to leave their post to charge). You can set up a pseudo-patrol by restricting them to an area of several single-tile spots that they will randomly wander between. Its not as clean as Guards for Me but it works well enough imo, hope that helps.
Datboi Nov 12, 2023 @ 8:13pm 
Anyone have a mod that allows for mechs to guard/follow around your mechinator? I would like to have mechs as guards because my mechinator is a pacifist and so he can't really fight and so Im trying to have mechs guard him so if anything goes wrong he can run away while his mechs defend him. But the problem is I can't seem to find a mod that allows this to happen. The mod "guards for me" doesn't work on mechs it only affects human pawns which sucks so if anybody knows a mod that can do this then please let me know
Hydrologist  [author] Oct 22, 2023 @ 12:54am 
Not right now. I haven't gotten back to playing RimWorld again yet, unfortunately.
Pureya_Player Oct 6, 2023 @ 11:25am 
So are you working on the third thing on your post from Feb 28?
Blaze2377 May 3, 2023 @ 4:42pm 
this mod just crashes when used with the multiplayer mod
Cedaro Apr 2, 2023 @ 2:06am 
This seems cause error when used together with Reinforced Mechanoid 2 and put it before RM2, can you add a rule to put it after RM2?
Hydrologist  [author] Feb 28, 2023 @ 3:48pm 
@Virathas
1) Definitely possible and should be simple to do. I just don't have any art for other versions.
2) This should be fairly easy to do as well. I was planning to add settings to my mods, but I stopped playing Rimworld again before I got around to it.
3) This is a really cool idea, and I might actually go ahead and make this because I like it. :P
Virathas Feb 28, 2023 @ 3:04am 
The mod is really great - but i do have a few "questions".
1) Would it be possible to add an additional, higher tier Relay? Longer range, Higher power usage, and using the High Subcore?
2) Alternatively, could it be possible to expose the Range variable into XML? This would allow simple and easy method for others to add on this system.
3) And I know this would be far more difficult - I think an Ultra-mech with a built-in relay would be awesome, and would give new ways to play.
Dizarus Jan 27, 2023 @ 11:13pm 
Where have you been all my life! God i need this! Thank you!
Hydrologist  [author] Jan 13, 2023 @ 7:09pm 
@Kad These need to be tuned to a specific mechanitor.
Tardo The Ass-Monkey Jan 7, 2023 @ 11:27pm 
Do these need to be tuned to a specific mechanitor, or do they work for all mechanitors? Seems really useful, would just rather avoid having to plaster down four of them at my defence line so that all my different mechs can be moved.
Soulless Jelu Nov 25, 2022 @ 10:11am 
Can i somehow make it mapwide? And how exactly?
Hydrologist  [author] Nov 20, 2022 @ 10:30pm 
I've pushed an "update" which may fix the issue. I was able to reproduce the issue but nothing seemed to be wrong with the code. Rebuilding the assembly seems to have stopped errors from occurring, possibly something to do with Rimworld update. Let me know if the issue persists.
leeal Nov 20, 2022 @ 7:53pm 
amazing mod, but it causes so many white errors that in a matter of minutes, it can fill an entire drive with unrestrained log spam.
Chris_ Nov 20, 2022 @ 3:25am 
This causes a lot of log spam
fredericktpjohnstone Nov 18, 2022 @ 12:56pm 
yes!! Thank you this is exactly what I have been looking for; thought the vanilla relays should do something similar tbh.

Modders make the game what it is.
BingusDingus Nov 13, 2022 @ 1:17pm 
Thank you, i was temped to add these in myself as i was baffled that they weren't already in the game.
Bimsham Nov 13, 2022 @ 12:02am 
I Can share the log tomorrow as i am not at my pc right now and yes the mod works fine but this text is filling the log and is bloating the log file
Hydrologist  [author] Nov 12, 2022 @ 11:49pm 
I have an idea of where this might be coming from, but not why you're getting messages.
Is the mod still functional for you, or is it not behaving correctly?
And if you don't mind, can you share your log via HugsLib?
Bimsham Nov 12, 2022 @ 11:06pm 
There is also a copy of the second one with a different number on the first line for ever relay i make
Bimsham Nov 12, 2022 @ 10:53pm 
The text is white idk if that is imported but i thought you should know
Bimsham Nov 12, 2022 @ 10:52pm 
Hydroxyapatite_CommandRelay407842
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Hydroxyapatite_MechanitorCommandRelays.Hediff_CommandRelay:RecacheCommandRelays ()
Hydroxyapatite_MechanitorCommandRelays.Hediff_CommandRelay:PostTick ()
(wrapper dynamic-method) Verse.Pawn_HealthTracker:Verse.Pawn_HealthTracker.HealthTick_Patch2 (Verse.Pawn_HealthTracker)
Verse.Pawn:Tick ()
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
Verse.Root_Play:Update ()
That is for the next line
Had to do two post as steam said it was two long
Bimsham Nov 12, 2022 @ 10:51pm 
@Hydrologist Cached System.Collections.Generic.List`1[Verse.Building] relays.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Hydroxyapatite_MechanitorCommandRelays.Hediff_CommandRelay:RecacheCommandRelays ()
Hydroxyapatite_MechanitorCommandRelays.Hediff_CommandRelay:PostTick ()
(wrapper dynamic-method) Verse.Pawn_HealthTracker:Verse.Pawn_HealthTracker.HealthTick_Patch2 (Verse.Pawn_HealthTracker)
Verse.Pawn:Tick ()
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
Verse.Root_Play:Update ()
That is for the first line