[SOLVED] Invulnerable subsystems

Is there a way to make a subsystem invincible, or better yet no 3D model at all? Thanks.

There is new HealthType called “Ship”. Next to the old “Damagable” or “Destroyable”. These ones don’t show as subsystems at all and look like they were part of the original ship model.
The Destroyer turrets as an example use this. It’s an after-patch thing as they reworked the way all turrets work for modders to be able to patch new turrets in and swap them.

Karos says there’s also an “Indestructible” HealthType? I must say I don’t recall this. :slight_smile: It’s been a while since I knew this well.

1 Like

One of the modes in my mod disables research. I was hoping to achieve something less cluttery than creating new copies of each ship and removing the requirements for research modules from them. I’m not sure what else to do.

In my notes I wrote down that the Hiigaran advanced research module was removed from the game to better balance the game versus the Vaygr. But I see no evidence of this in the scripts I’m working with. Did I imagine this? Thanks.

In the Homeworld Remastered game mode there is already a menu option called “Complete research”. Is it different to that?

1 Like

I’m not clear about how it works. Does it disable the building of research modules? Because doing so affects a lot of research and builds such that they will no longer work.

I launched the game with it and it just unlocks everything in advance. The Research Module is still buildable, but not needed to build any ship.

1 Like

I’ve received a complaint on Steam to the effect that the Hgn_MS_Module_ResearchAdvanced served no purpose yet consumed a lot of RUs to build. I want to avoid this at all cost.

Is it possible to set a flag in a skirmish gamerule and pass it on to a .ship file?

I could write to a text file but there are two issues: 1) which file gets read and processed first, the gamerule or the ship? 2) writing a file to disk is a bad practice IMO because it could open up the door to desyncs, cheating or worse.

Does every subsystem (including indestructible or innate subsystems) require a hardpoint, and can I add/remove hardpoints without editing the HOD? Thanks.

Every subsystem needs a hardpoint.

Hardpoints can now be added outside of the HOD. The GBX called it “ship patching”:

1 Like

Thanks! Unfortunately, the game still expects a subsystem to have a HOD, physical location, orientation, etc. I just want an imaginary “research module” to fool the build and research scripts into thinking a subsystem of this type has been built. I don’t need the actual 3D model.

Alternatively, I could patch in a new hardpoint and use it exclusively for the research module. But then I run into the issue of not being able to view the ship, select the correct position and orientation for the module, etc.

There is a third alternative I don’t want to talk about yet because it involves cloning each ship 16 times with only minor alterations.

What I do in such cases, is to rename the string in the Mothership’s and/or Carrier’s engines and use that string instead of the “Research” in all unlocks and upgrades in the research files.
I don’t know whether this can work or you.

I actually have four settings I am trying to manage. And all combinations of those four gamerule settings mean sixteen items in total. 4 x 4 = 16.

This is what the mothership file names might look like:

hgn_mothership_carrieronly0_research0_resource0_hyperspace0.ship
hgn_mothership_carrieronly0_research0_resource0_hyperspace1.ship
hgn_mothership_carrieronly0_research0_resource1_hyperspace0.ship
hgn_mothership_carrieronly0_research0_resource1_hyperspace1.ship
hgn_mothership_carrieronly0_research1_resource0_hyperspace0.ship
hgn_mothership_carrieronly0_research1_resource0_hyperspace1.ship
hgn_mothership_carrieronly0_research1_resource1_hyperspace0.ship
hgn_mothership_carrieronly0_research1_resource1_hyperspace1.ship
hgn_mothership_carrieronly1_research0_resource0_hyperspace0.ship
hgn_mothership_carrieronly1_research0_resource0_hyperspace1.ship
hgn_mothership_carrieronly1_research0_resource1_hyperspace0.ship
hgn_mothership_carrieronly1_research0_resource1_hyperspace1.ship
hgn_mothership_carrieronly1_research1_resource0_hyperspace0.ship
hgn_mothership_carrieronly1_research1_resource0_hyperspace1.ship
hgn_mothership_carrieronly1_research1_resource1_hyperspace0.ship
hgn_mothership_carrieronly1_research1_resource1_hyperspace1.ship

And that’s just one ship. If I were to add a fifth gamerule setting, I would end up needing 25 variants of each affected ship.

Why not let most of it being set by the gamerules? Like the Research one, that would cut it in half. Maybe you could modify the lowest resource multiplier in the gamerule to 0 and then you’d only have four.

But if you really really want it to be sorted by ships, you can do what I said:

Multiply ‘only’ the Motherships and Carriers (because I presume you don’t want to give up the “Carriers only” option and you might therefore start your game without the Mothership.

Then modify engine type strings of each of the 16 MS and Carrier pairs, give each pair a unique string name.

Then sort which existing reasearch item has which of these strings as their prerequisities.


But why not let most of it for the game rules? Why do you say you make different gamerules and then continue by saying you need 16 ships for 16 gamerules variations?
What am I missing?
If you have a menu option that overrides something, completely erases resource utility ships from your build menu, or researches everything in the game at the start of the match, why do you need ‘any’ extra ships? What is it that I don’t understand?

And just what even is a “hgn_mothership_carrieronly1”? How is there a Mothership in the Carriers only game?

There is something I’m not getting here.

I don’t quite follow. You mean the engines in the SHIP file?

In this case I want to disable the hardpoints to prevent collectors from dropping off RUs. Other gamerules may spawn an inappropriate ship because I overlooked something. I am trying to be thorough, and this is the simplest way.

The method I use, the one I said may or may not be for you, is this:

-Every research has an option to add subsystems prerequisities, in vast majority of cases it is the Research Module. The Research Module in the research files is represented by the “Research” codeword. Which is a reference to a string in the Research Module’s SUBS file:
NewSubSystemType.typeString="Research"

-Every game starts with a Mothership or a Carrier. Every Mothership and a Carrier has one subsystem that is always present, the ship’s engine. Its string isn’t useful to anything as far as I know and it is:
NewSubSystemType.typeString="CarrierEngine"

-Therefore I can easily use the engine subystem’s string to my own purpose, as a master unlock subsystem for any set of research options.
I can change the
NewSubSystemType.typeString="CarrierEngine"
of the first Mothership and the Carrier pair to:
NewSubSystemType.typeString="Game_type1"
and the second Mothership and the Carrier pair to:
NewSubSystemType.typeString="Game_type2"
and so on.
Engine subsystems will have this codeword in them.

-Then you edit the research files and say what research is dependend on which specific subsystems.

-Then when the match starts and the game’s research file detects the “Game_type1” subsystem present, it unlocks or locks something specific.

I personally did specific ships with specific modifications to the extreme. Well as long as you don’t multiply too many things at once…

So you have three different carriers, each with a different engine string?

If you want to modify research files based on the ships you start with and not with the game rules then yes, that’s how I’d do it.

I’m not sure how much research is affected, but for instance you might block the Hyperspace cost upgrades and Hyperspace gates research by this. If you are against the game rules, but you’d rather sort it all by starting fleets using different ships, this is one thing you can refer to in scripts in the most vanilla way.

I am using gamerules and starting fleets. I am simply trying to make things easier to organize.

I can’t test if this works without two copies of HWRM and a LAN sadly. It did not crash the game, however.