Nightinggale
Deity
- Joined
- Feb 2, 2009
- Messages
- 5,404
I think tech screen doesn't belong in the civic screen as what you are asking is mainly a graphical change. Still it wouldn't be bad to look into later.
While the Civics/Techs system is undergoing renovation, one feature I would most love to see brought back from the original Inventor modcomp is that Techs can actually belong to several Categories (such as Military, Cultural, Religious, Industrial, Economic etc). There is still the tag <InventionCategory> in M:C, but it's not really used since everything has to have MEDIEVAL_TECH in this tag. If belonging to categories were brought back, this could be used to let leaders/techs/civics grant a discount to research in certain tech categories by a TraitInfos tag; and maybe could even allow easier viewing of the tree by using one tab per category like the Founding Fathers screen does. What do you think?![]()
Domestic advisor has a state machine controlled by buttons. Considering I wrote that one, I might be able to write a state machine for tech screen fairly fast using experience/code I gained with domestic advisor. I haven't looked at the tech screen code yet though.I'll put this on todo list after the Civics update. Having tabs for the categories would be cool, but not necessary atm so that would be a later addition as I am not a fast python coder.
Domestic advisor has a state machine controlled by buttons. Considering I wrote that one, I might be able to write a state machine for tech screen fairly fast using experience/code I gained with domestic advisor. I haven't looked at the tech screen code yet though.
<CivicOptionType>NONE</CivicOptionType>
<Type>MEDIEVAL_TECH_STIRRUP</Type>
<Description>Stirrup</Description>
Add a variable to CvGlobals telling the index of the first civic, which isn't NONE type. When looping civics, get this index from GC rather than loop though irreverent techs each time. Yields use this with cargo and virtual yields. It's possible to just loop though one of the types if you want that. Currently I think all yield loops starts with 0, but the concept is there and the end is not always the same.I also moved the Civics closer to the beginning in the file CIV4CivicInfos.xml so that Civic code would not have to cycle through all the Techs to get to Civics. I will eventually move them to the very top but I still need the Tech Category MEDIEVAL_TECH to be the second Tech. Tech Categories need to be added as globals in the DLL so their placement does not matter.
Add a variable to CvGlobals telling the index of the first civic, which isn't NONE type. When looping civics, get this index from GC rather than loop though irreverent techs each time. Yields use this with cargo and virtual yields. It's possible to just loop though one of the types if you want that. Currently I think all yield loops starts with 0, but the concept is there and the end is not always the same.
Alternatively they could be first and then the loop can break if the civic type is NONE. Having techs loop though civics is likely less of a performance issue than having civics looping techs, though I don't think either will be slow. It depends on when and how you loop.
2. Set CIVICOPTION_INVENTIONS to -1 in the DLL. Removed CIVICOPTION_INVENTIONS from the XML Civic Files. Techs, Censures and anything that is not a Civic should put a NONE for CivicOption Type.
Example:
Code:<CivicOptionType>NONE</CivicOptionType> <Type>MEDIEVAL_TECH_STIRRUP</Type> <Description>Stirrup</Description>
I don't think it will work for WH yet as we need, the updated .dll that includes all the civic work
What do we do now?
Should I make civilization classes and add a clear unit to it later or should we try to rethink how growth units work?
This at first glance simple task have taken forever by now![]()
The tricky part is that I want to reuse half of it. I will likely have to make a local branch for that and do branch magic to easily preserve as many of the changes as possible