The 'Ultimate' Civics Expander and Balancer Mod

Oh man, if you could fix this problem to make things a lot easier to modify, then I would be over the moon. Thankyou for offering :).

Aussie_Lurker.
 
Hey everyone. I figured it was HIGH TIME that I posted an update-if only to let you know that I am making progress ;).
First up, with help from Impaler, I have managed to get SpecialistExtraYields working, albiet with some minor glitches which I hope to iron out soon. Unfortunately I have run into serious problems with TradeCommerceModifiers, which I can't seem to solve-no matter how hard I try!
What I have now started on is the final stages of my CivicInfos mod-NonStateReligion Yields and Commerces (shouldn't be TOO hard given that I already have StateReligion Yields and Commerces ;) ).
I have also made a start on StateReligion and NonStateReligion Health. To see what I mean, take a look at THIS:

ReligiousHealth.JPG


Pretty cool huh?

Aussie_Lurker.
 
How exactly does a religion change the health of a city? I mean, what's the logic behind it?

What I'm imagining is that it has to do with inequities in the system leaving disenfranchised, marginalized religions living in poor conditions with improper healthcare, education, and also crime (which certainly ties into health since a guy with a gun can dramatically shorten your life expectency).
 
Well, my thinking is this: a civic like Aseticism-which promotes the abandonment of a highly materialistic viewpoint in favour of inner-peace and well-being might give a +1 health in State Religion cities, wheras a Sacrificial Civ might have a -1 health, particularly in cities containing lots of Heretics whom you can remove the hearts of :p.

Aussie_Lurker.
 
Maybe you can combine the concepts and have criteria for sacrifice be based on cholesterol... kind of a: "if you don't take care of your heart, we'll take it back" type deal... I guarantee you, you're going to see at least +2 Health REAL fast ;)
 
Hey, whatever works DPII :p. Oh, btw, I found the section of CvCity which controls Conscription Anger times, and I think (I stress the word think btw) that it could be possible to link this into a Civics tag.
Actually, I am tempted to think that it would be easier than a lot of the things I have attempted thus far, given that what I want to effect already exists within CvCity, rather than me having to create it almost from scratch! By the same token, it might be possible to link a War Weariness modifier to the presence of State and Non-State Religions (good for Pacifism and Militancy IMO) and to also link post-conquest anarchy times to civics as well.
That said, I think I will restrict myself-for the time being-to finishing up ReligionHealth and NonStateReligion Yields and Commerces, then make a start on my Big Huge Civics Mod Phase 3! If I continue at the rate I have managed so far, then it would not be unrealistic to see the first stages of Civics_Balancer 3 posted here sometime late next week!!!!
That is where I will need you people the most ;). I will modify a single civic category, then post it here for feed-back and analysis-and I REALLY want your feedback guys, it is very important in making a good civics mod!

Aussie_Lurker.
 
Sounds good...

I'm still working on trying to get the other stuff going...

I've added a tag in CivicInfos for the Draft Timer, and we'll see if I actually managed to hook it up properly ;)

Of course then, if these things are added, there should be more civics that raise the conscription limit and Nationhood should probably be nerfed a little bit.
 
Well, as you can already see, I have already nerfed Nationhood by only having it effect Culture and happiness. Conscription is now a labour civic (as it really ought to be!)
In Phase 3, Nationhood will be replaced with Constitutional Law (under legal civics) and Nationalism under the Values civic. The primary impact of Nationalism will be to boost Culture and reduce War Weariness.

Aussie_Lurker.
 
I had a thought regarding the issue of units, buildings, bonuses, etc. being allowed or forbidden by certain civics, and it occurred to me that rather than have a "prerequisite civic" and a "banned under civic" or something like that, that an array of booleans like what's used with UnitCombats for promotions to determine if a particular unit combat type can acquire a promotion...

You'd probably want to go with a "CantBuildUnderCivic" so you can have the default value by false and thus allow everything... the downside to this though is that you won't have in the civics window a nice display that tells you what you can build, train, etc. under that particular civic...
 
I was under the impression that this is what TheLopez's mod had achieved, albiet by a different route. Namely that the <PrereqCivic> tag was in BuildingInfos, BonusInfos and UnitInfos files respectively. I know he didn't do them as booleans, and I can see how this might remove the problems of BuildingClasses mentioned above, but I feel that as he has already given us the tools we need, I would personally prefer to use them than embark on an entirely new approach.
Although.....perhaps we could do both. i.e. have both a prereq civic tag AND a <bCannotBuildInCivic> Tag. This way we can have our cake and eat it too ;).

EDIT: Oh and, hate to impose DPII, but would you object to taking this on as a project? I would but-as I said above-I really want to focus on getting stage 1 of my Phase 3 mod underway ASAP!

Aussie_Lurker.
 
Actually, there is no PrereqCivic for Bonuses made by TheLopez.. only something in the civics info that gives a free number of a specific bonus when in a civic.

Anyway, what TheLopez's code does is adds a civic under which we can build different things, but it also only allows us to build things under that particular civic.. So, for example, if I wanted to be able to build a unit under Civic A, B and C but not Civics X, Y, and Z, I couldn't do that..

But using booleans... we can go into the UnitInfos and say:

Code:
<CannotTrainInCivics>
    <CannotTrainInCivic>
        <CivicType>CIVIC_A</CivicType>
        <bCivic>0</bCivic>
    </CannotTrainInCivic>
    <CannotTrainInCivic>
        <CivicType>CIVIC_B</CivicType>
        <bCivic>0</bCivic>
    </CannotTrainInCivic>
    <CannotTrainInCivic>
        <CivicType>CIVIC_C</CivicType>
        <bCivic>0</bCivic>
    </CannotTrainInCivic>
    <CannotTrainInCivic>
        <CivicType>CIVIC_Z</CivicType>
        <bCivic>1</bCivic>
    </CannotTrainInCivic>
    <CannotTrainInCivic>
        <CivicType>CIVIC_Z</CivicType>
        <bCivic>1</bCivic>
    </CannotTrainInCivic>
    <CannotTrainInCivic>
        <CivicType>CIVIC_Z</CivicType>
        <bCivic>1</bCivic>
    </CannotTrainInCivic>
</CannotTrainInCivics>

And so then when the game determines whether a unit can train, it will run through the civics and see what, if any, prevent it from training the unit...

This system has its downside as well, but it will also let you have total flexibility as well.

I can have a go at it... right now I want to add a similar tag that'd be applied to Specialists to make it so that you can't have certain specialists under certain civics or can only have certain specialists under certain civics...
 
I'd like to point out some tips

1 - You can default a data member, even a whole array to anything you want, Firaxis always used falses, zeros and NULLs but you dont have to if its not apropriate for the datamember. With enough creativity durring the loading you can get some realy neat stuff expressed and loaded.

2 - When doing any Building - Civic interactions its key that you use BuildingClass not BuildingType as I'm shure were all aware their are several "bugs" inwhich bonuses fail to apply to unique buildings and we definantly dont want any more then their already are.

3 - I would structure that same tag like so

<CanTraitInCivics>
...any number of <CivicType> effect is that a player can build the unit if they are in that civic, when the top level tag is absent, no array is alocated and the get function will return true to give unrestricted building of the unit.

<CannotTrainInCivics>
...any number of <CivicType> effect is the inverse of above if the player is in any of the Civics the unit cant be built, no tag means no array and a false return on any querry giving unrestricted building of all units.

In the event of a conflict between the two tags CannotTrain will win because the canTrain function is an assum true, return at first false style function.
 
Right guys, got some more great news to report!!! I have now got StateReligion and NonStateReligion health working. So all I need to do for the time being is add NonStateReligion yields and commerces, and we are all DONE!!!! Well, for this stage at any rate-then starts the REALLY hard work of doing the civics mod itself!

Aussie_Lurker.
 
Actually, compared to everything else I have done in this mod-StateReligion and NonStateReligion health were by far the easiest (followed only by NonStateReligionYields and Commerces) Took me all of about 3-4 hours of my time to complete (now, if I were on HOLIDAY, then I would have had it done by now!)
Anyway, I am in the final stages. I am gonna leave TradeCommerces at the CvInfos stage for the time being-until I have had time to look more carefully at what I need to change in CvCommerceInfos! I have ALL the code written and compiled for NonStateReligion, as well as the supporting xml files. All I need to do now is test its in-game effects, and I am hopefully good to go on Stage 3 of my Civics mod!!!!

Aussie_Lurker.
 
OK everyone, this is where things currently stand.
I have run into some hurdles with NonStateReligionYieldRates, and will be working on solving that problem. However, I feel I have enough new tags working to begin my actual civics_mod_phase3. So far I have finished governments, and am almost finished on Ideology. Once those two are completely finished, I will release phase3a for you guys to look at and try (but I want-nay need-your feedback!)
Once those are done and released (I reckon by tonight) I will begin on the Legal and Organisation civics-this will comprise phase3b. By weeks end, I predict I will have phase3c out for you to try-comprising modified Legal and Economic civics. phase3d should be done by Sunday, and will feature Values, Religious Doctrines and Faith-Relations. Then it will be all done (at which point I can begin implementing your suggestions for improving/balancing my civics!)

Aussie_Lurker.
 
OK people, as promised I have phase3Wa ready for release. I am counting on all of you to download it, try it out, and give me feedback-especially on feedback issues. I have tried to make things as balanced as possible, but often a fresh set of eyes can pick up an imbalance I may have missed.

Just for your enjoyment, here are some pics of the new features, to give you an idea of just how extensive this mod is gonna be. Here they are:

CivicsScreen4.JPG


CivicsScreen1.JPG


CivicsScreen2.JPG


CivicsScreen3.JPG


CivicsScreen5.JPG


CivicsScreen6.JPG


Also, I just wanted to point out that I have not only added the new civics-and a new Civic Category. I have also made changes to the Strategy and Civilopedia xml files, as well as leaderhead info and the civics screen.
What I lack-and what I could really use-are some entirely new .dds buttons for each civic. Can anyone help me in this?
Well, without further ado, here it is:

http://forums.civfanatics.com/uploads/33710/Civics_Balancer_Phase_3Wa.zip

Hope you enjoy trying it out, and look out for further additions and changes in coming days. Note that there is still one outstanding issue, that being a lack fo special abilities for Unique Buildings. Hopefully DPII will be able to come to my rescue on this one. In the meantime, however, better avoid civics which grant benefits to a BuildingClass to which your civs UB belongs-sorry :blush:

Oh, and I also want to say a HUGE thankyou to Impaler, DomPedro, TheLopez, Ket, ToV, Kael and Gerikes for their advice, help and patience. This wouldn't be here without you guys-and I can't thank you all enough!

Aussie_Lurker.
 
WOW!!! Now this is good work!!! I see a really lot of potential here.

I always wanted something like this. Theocracy providing 1 free priest in every city, and tuning down priests to provide +1 culture, but to make them give:
+2 science, +1 hammer under organised religion
+2 culture, +1 science under pacifism
+2 gold, +1 culture under theocracy...
Something along this lines. Also state property boosting engineers but reducig merchants, free marked boosting merchants... Huge potential!
I hope you can talk Kael into rebalancing civics again when you iron possible bugs :)
 
TheJopa. You will be glad to know that I am already working along the path of having religious civics alter yields, health and commerces produced by State and Non-State religion cities. You will equally be glad to know that Kael and I have been doing a lot of talking about Civics lately. I won't say anything more than that, though, at this time :p ;).

Aussie_Lurker.
 
Back
Top Bottom