More than 1 required tech doesn't work

While I was programming GC1 techs into the game, there was something I noticed.

 

<Culture ID="3D Phasing">
<DisplayName>3D Phasing</DisplayName>
<Description>3D Phasing, important in the creation of Wormholes and advanced forms of communication.</Description>
<Details>Building the base of 1D Phasing and 2D Phasing, a sixth space dimension has been opened. This means that we can build 'wormholes' that will allow travel to distance that previously were beyond comprehension. The main problem is that time is not completely stable in these wormholes.</Details>
<Category>Communications</Category>
<Cost>1000</Cost>
<Group>None</Group>
<AIValue>5</AIValue>
<Model>None</Model>
<Alignment>None</Alignment>
<Requires>2D Phasing</Requires>
<Requires>Controlled Gravity</Requires>
<WeaponsAbility>10</WeaponsAbility>
<DefenseAbility>10</DefenseAbility>
<CanBeStolen>0</CanBeStolen>
<WillingnessToTrade>20</WillingnessToTrade>
</Culture>

When I looked at the tree in-game, 3D Phasing only requires Controlled Gravity to research, while 2D Phasing stops dead.

 

Also, what does <Category></Category> do?

7,985 views 6 replies
Reply #1 Top

Multiple tech-requirements do work. I've tested them myself. Make sure, that you are using the correct name of the tech (the ID, not the DisplayName) and that there are no typos. If everything is correct, then you should see your tech appearing behind all of its prerequisite techs. That's only a UI glitch (the Tech Tree UI isn't set up for this). It doesn't have any other affect.

Also, where did you make your changes? In the TechTree.xml, or in the RaceName_TechTree.xml of the race your working on? If it is only the former, then there could be something in the race-specific tree, that is preventing some of your changes to show up. The race-specific tree takes priority over the TechTree.xml.

The Category-tag tells the AI what kind of tech it is dealing with, and influence its research decisions. There are several other tags that influence the AIs research too, like the Tech Branch (Culture, Industry, Weapons, etc.), the Cost, and the AIValue.

One last thing, to prevent any confusion. In the modding community, the Tech Branch is called ID, while the actual ID is usually called InternalName. No idea, why that is, but it has been the case for as long as I remember.

Reply #2 Top

<Requires>2D Phasing</Requires>
<Requires>Controlled Gravity</Requires>

These are the IDs, no typos. I have not used techtree.xml, I create separate XML files. And yes, every tech was programmed into the race-specific tech trees. Both of the required techs were correctly programmed and show up in game. However, 3D Phasing appears only behind Controlled Gravity. In game, I can research Controlled Gravity and aquire 3D Phasing without touching 2D Phasing. Same with several other techs.

Reply #3 Top

Okay, I took another look at it and it seems, that multiple requirements only work, if you add them in the TechTree.xml.

Reply #4 Top

It still doesn't work.

 

EDIT: Hey I got it! I just had to strip the techs of their meat in the race techtrees. Now there are a bunch of lines going everywhere  :grin:

Reply #5 Top

"EDIT: Hey I got it! I just had to strip the techs of their meat in the race techtrees. Now there are a bunch of lines going everywhere"

 

Does this mean that after setting a multi-tech requirement in the main tech tree, a single-tech req in a racial tech tree will overwrite it for that race?

Reply #6 Top

Quoting FitzGC, reply 5
Does this mean that after setting a multi-tech requirement in the main tech tree, a single-tech req in a racial tech tree will overwrite it for that race?

Yes, the racial tech tree takes priority over the main tech tree.