Discussion in 'Civ4 - Fall from Heaven' started by Bad Player, Jun 27, 2014.
Next MNAI release (no ETA) should make the AIs more willing to found new cities during war
Go for it!
Tholal - I don't know if you have any more knowledge/info than I do, but it seemed that if I declare war in the python code (TOTAL_WAR or LIMITED_WAR) or I use the menu setting ALWAYS WAR, the AI does not make new cities. However declaring war in the game allows the AI to slowly build new cities. Do you know anything more about this phenomenon?
Well.. it makes sense. If you let the AI declare war on their own, then they're generally more built up and have probably already built settlers and expanded a bit. If you're starting them at war from Turn 0, then they are going to focus more on creating offensive troops (though you could throttle that a bit if they aren't also starting the game in contact with their enemies). Same with declaring it in python. You're forcing the AI into a war state when they perhaps have not already been preparing for such on their own. So now they're suddenly at war, and they have to switch gears unexpectedly.
I haven't actually looked at your scenario, but it really sounds like you need to provide the players with some initial troops and cities. Expecting a normal type game with your scenario is not realistic.
Is it possible to set the AI attitudes to something so bad that they will always declare war and not settle for peace? (if that is possible, I could set the AI attitudes every turn to ensure that they are really really furious at other civs).
Try setting the ai attitude to -100. This is what age of ice did.
I think he's trying to figure out how to set the ai attitude to -100 to begin with There should be something somewhere in the python about doing that, since there are events that do allow attitude modifiers (the marriage between 2 different religions event for example).
Disrupt changes AI attitude (see https://sourceforge.net/p/tholalsff.../python/entrypoints/CvSpellInterface.py#l1077) but I'm not sure if setting it to -100 will be enough to make it declare war if it is not convenient at that moment.
Is there no way to just make a script trigger a war outright? You should at least be able to make the player declare war on the AI automatically. Barring that, you might be able to use teams to set the game up.
The spell "declare war on barbarians" does that.
Well that's easy than. Just use that code.
PPQ Purple - I can declare war in python but as I said above, the AI won't build any cities. The only way around this that I have found is to make war during the game. However I need a way to declare war during the game and keep certain civs at war the whole game.
Setting the AI attitude to something extremely bad I hope can essentially force war during the game.
Does the declaring war in python override the "Permanent War or Peace" game option? Because if so, than that should work for preserving the status quo.
Qgqqqqqqq - I only want good and evils civs at war with eachother and I want good civs always at peace with eachother and I want evil civs able to declare war on eachother (but start at peace). So I assume the game option of always war wouldn't be appropriate if that's what you mean?
With that description, no no game option fits.
To be clear, the breakdown is as follows:
Always War - all AI's/Humans are at war with all (other) human players
Always Peace - all AI's/Humans are at peace with all (other) AI/human players
Permanent War or Peace - all AI's/Humans cannot change their war/peace status in the normal way.
Now, there are some exceptions here.
Always War - Peace can be caused through other means (Seven Pines, Corlindale, etc.), but war is always automatically re-declared instantly. AI's can war each other, but rarely do due to shared war bonuses and already having a war ongoing.
Always Peace - War can be caused through other means, but peace is not re-established instantly (if, say, you use a tsunami spell to declare on a nearby player, the war lasts). I don't know if this allows peace to be established in the usual way, though I presume so.
Permanent War or Peace - the same as above. Basically, if you're at war, you can't get out of it (in the normal way) and vice versa, but if you force the change through a variety of ways then that becomes the status quo.
But yeah, no game option fits that if you want them to choose to do it themselves.
Edit: Honestly, I suggest you compromise on something.
Can't you just make some dirty code to prevent good civs from declaring on each other (and/or give them +100 ai modifier to each other)
You could leave everything else as default.
I have coded the good civs to be at peace with eachother - I make them at peace in python and then set that to be the permanent status. This can be done for making good and evil civs at war permanently also (which I did use but then my issue arose).
The issue is getting civs at war to build new cities (in-game declarations of war are the only way around this I have found). So my solution to this is to hopefully set the AI attitudes to make good and evil always declare war in-game and stay at war because of the extremely bad attitudes (hopefully this could work...).
Please try it. I'm eager to test your scenario!
Does anyone know if I can set attitudes (in python) to something so bad that the civs will alway want to be at war (via in game declarations of war)?
As I mentioned early, I don't think that will make them declare war if they are not ready for it. Give it a try and see, though.
Separate names with a comma.