Stability, 'Core areas', and Mongolia.

CHEESE!

On a long nostalgia trip
Joined
Aug 11, 2007
Messages
2,222
Hi. I'm currently playing a Viceroy game as Mongolia. Now, on Viceroy I would expect to have a stability advantage, but that's not the point. The point is (I'm playing DoC so I get more Keshiks per city captured) as I conquer China, my Stability is already Unstable/Collapsing. This I find ridiculous. Is there a way to remove the 'core area' status of China only for Mongolia? And, say, the 'core area' of Mesopotamia and Egypt in favour of Arabia, thought that isn't such a problem.
 
Mongolia.gif

Dark green: core area. No penalty for founding cities here, but ensuring that there is no foreign presence is critically important
Light green: territories within historical bounds. Expanding here brings no penalties other than the increased number of cities
Yellow: territories within historical bounds, but belonging to other civs core area. These territories are unsafe, because of possible revolts and of generic instability of the area
Orange: territories out of historical bounds. Expanding here brings a penalty if exceeding a certain tolerance
Red: territories out of historical bounds and belonging to other civs core area. The worst place to expand
 
why is there so much red for Mongolia if historically their empire streched from China (which should at the very least be yellow) to the Baltic?
 
Well, stability ensures that an overstretched empires collapses rather sooner than later, as the conquests are not supported by native populations. The Mongols did conquer China and huge other territories, but they never become the dominant population and hence their empire rose and crumbled within a relatively short time span.

So as you can see, the stability maps shows the areas with a native Mongol (and relative peoples like the Tartars, Kazakhs and Uigars) population.

Basically the Inner and Outer Mongolia, Kazakhstan, the Uigurs Territories in Western China and the Wolga Settlements of the Khanates of Kazan and Astrakhan.

This is perfectly justified and accurate, because only these territories with an indigenous population would accept Mongol Leadership for a prolonged time.
 
i see what youre saying but the war maps still show the mongol empire correct? i know its rare that it will happen but i hope that the mongols at least try to conquer china and not just bottle up in their core area
 
i see what youre saying but the war maps still show the mongol empire correct? i know its rare that it will happen but i hope that the mongols at least try to conquer china and not just bottle up in their core area
AI behavior is very hard to direct so unfortunately it would only occasionally happen in actual play. It would have to be scripted with city spawns and flips to work reliably, because even spawning units for the Mongols would mostly just cause the AI to disband those. :rolleyes:

With that said, it can be scripted. I've done it myself and it produces a Mongol Empire every time. :D
 
The historical points are valid, but I think what's more important is that the 2nd UHV goal (controlling 12% of territory) has become extremely hard with their new stability map. In my recent game I also collapsed way too soon after I had conquered China and started the usual settling of Siberia that used to ensure the UHV objective.
 
That's exactly what I'm saying, Phunkey. The 2nd UHV goal is almost impossible due to the red area for Mongolia. Nobody has answered my question, HOW DO I MOD THE STABILITY CORE FOR CHINA OUT?
 
Is there a way to remove the 'core area' status of China only for Mongolia?

Only for Mongolia? Then I have no idea, unless you are willing to go in and add some lines of code to RiseAndFall.py and maybe some other files.

If you wanna just edit core area and stuffs like that of a civ, just open Consts.py and search by "core," and you'll find what you need to edit.
IIRC, that should be sufficient, but I might be wrong, since I have never edited stability maps.
 
Okay, I just removed China's core. Let's see how it works out.
 
Okay, I just removed China's core. Let's see how it works out.
That won't work... Try expanding Mongolia's core area and reducing China's. Also, there are "normal" and "broader" areas to consider. They have to make sense to the game, otherwise it won't work.

Do you know how the tile coordinates are setup and how to define a map area?

Another way of doing this would be to allow Mongolia to own foreign tiles stability wise. This can be achieved in the Stabiliy.py file.
 
Nope! I expected it to be an easy operation, but I guess not. Oh well. If anyone is kind enough to teach me to do it, that would be EXTREMELY helpful. Thanks in advance.
 
Are you sure? I just annihalated China and Khmer and I'm still Shaky/Stable.
It would depend on what you mean by "I just removed China's core", but if you found a way to get what you want, then great. :goodjob:

In a scenario I allowed Russia to have more "foreign tiles" and Mongolia less. IRC the default value for this is 32 for all Civs, but I made it like 50 for Russian and 0 for Mongolia. It required some editing of the Stability.py file and if you want I could talk you through it. In fact, you could set your own value for each and every Civ if you like...
 
Please do. I'm annoyed with my inability to conquer much as Germany (so much potential, so little stability!), Mongolia, and the colonials. And I know it would be extremely difficult (for me) and time-consuming, but I really, really, really want to add the Iroquois.
 
Please do. I'm annoyed with my inability to conquer much as Germany (so much potential, so little stability!), Mongolia, and the colonials.
Locate lines #491-496 in Stability.py:
Code:
                        iMaxPlotsAbroad = 36
                        iHandicap = gc.getGame().getHandicapType()
                        if (iHandicap == 0):
                                iMaxPlotsAbroad = 40
                        elif (iHandicap == 2):
                                iMaxPlotsAbroad = 32
(I just noticed this is new for the latest update, by the way.)

Change that code into:
Code:
                        iMaxPlotsAbroad = 36
                        if iPlayer == con.iMongolia:
                                iMaxPlotsAbroad == [COLOR="Red"]30[/COLOR]
                        iHandicap = gc.getGame().getHandicapType()
                        if (iHandicap == 0):
                                iMaxPlotsAbroad += 4
                        elif (iHandicap == 2):
                                iMaxPlotsAbroad -= 4
Change the value 30 to whatever you like the Mongolian tolerance level to be.

If you wanna meddle with other Civs you add another code and change the con.iMongolia variable to something else. You can find the variables for each Civ in Consts.py but don't forget about the con. prefix when using these. (Otherwise just the numerical value is valid also.)

I could make custom expansion mod-mod if anyone thinks they need one. Then it would be easy to alter the value for each individual Civ - by editing a "dictionary" instead of adding any code. But the above method should work if you only wanna re-balance a couple of Civs.

And I know it would be extremely difficult (for me) and time-consuming, but I really, really, really want to add the Iroquois.
Do you mean make them a playable Civ - or merely to spawn cities for the Native Civilization? (The first option would involve taking out the Native Civilization and turning it into the Iroquois. It would be a pretty huge undertaking, actually, and requires programming. The other option can be done with some Python code in the Barbs.py file - or with the PyScenario utility if you don't wanna do any actual programming.)
 
Locate lines #491-496 in Stability.py:
Code:
                        iMaxPlotsAbroad = 36
                        iHandicap = gc.getGame().getHandicapType()
                        if (iHandicap == 0):
                                iMaxPlotsAbroad = 40
                        elif (iHandicap == 2):
                                iMaxPlotsAbroad = 32
(I just noticed this is new for the latest update, by the way.)

Change that code into:
Code:
                        iMaxPlotsAbroad = 36
                        if iPlayer == con.iMongolia:
                                iMaxPlotsAbroad == [COLOR="Red"]30[/COLOR]
                        iHandicap = gc.getGame().getHandicapType()
                        if (iHandicap == 0):
                                iMaxPlotsAbroad += 4
                        elif (iHandicap == 2):
                                iMaxPlotsAbroad -= 4
Change the value 30 to whatever you like the Mongolian tolerance level to be.

If you wanna meddle with other Civs you add another code and change the con.iMongolia variable to something else. You can find the variables for each Civ in Consts.py but don't forget about the con. prefix when using these. (Otherwise just the numerical value is valid also.)

I could make custom expansion mod-mod if anyone thinks they need one. Then it would be easy to alter the value for each individual Civ - by editing a "dictionary" instead of adding any code. But the above method should work if you only wanna re-balance a couple of Civs.


Do you mean make them a playable Civ - or merely to spawn cities for the Native Civilization? (The first option would involve taking out the Native Civilization and turning it into the Iroquois. It would be a pretty huge undertaking, actually, and requires programming. The other option can be done with some Python code in the Barbs.py file - or with the PyScenario utility if you don't wanna do any actual programming.)
Those python numbers don't seem to exist in my Stability.py
 
Those python numbers don't seem to exist in my Stability.py
I'm not sure what you mean, but the code I posted above is from the latest patch. So it would be new. If you don't have it, then you probably should update your mod...
 
Do you mean make them a playable Civ - or merely to spawn cities for the Native Civilization? (The first option would involve taking out the Native Civilization and turning it into the Iroquois. It would be a pretty huge undertaking, actually, and requires programming. The other option can be done with some Python code in the Barbs.py file - or with the PyScenario utility if you don't wanna do any actual programming.)

I would take out the Mayans. Does that decomplicate things slightly? I could even use the Pacal leaderhead. Where are the UHVs and UPs handled?
 
I would take out the Mayans. Does that decomplicate things slightly? I could even use the Pacal leaderhead. Where are the UHVs and UPs handled?
I know people who have done this before you, and replacing a Civ with another isn't that easy. It should be somewhat easier to replace a playable Civ with another though, but changing the spawn date for instance requires work in the DLL file. But there are lots of places where the old Civ is referenced and those would have to be changed.

The UHVs are in the Victory.py file and the UPs in UniquePowers.py (well, mostly). It requires some actual Python knowledge to mod those, but at least they are done with "regular" programming (not the object-oriented style, which is really a more advanced course).

But I wouldn't discourage anyone from modding RFC. :p Just make sure you start by learning Python and XML, and then try to figure out how to change the SDK and compile your own DLL. But know that once you master these things the sky is the limit as far as you modding is concerned... :king:
 
Back
Top Bottom