how do the pseudoyields, connected with city attack (like PSEUDOYIELD_CITY_BASE) actually work?
There is a post at the begining of the thread that explains that in details.
Do they mean the general AI's desire to declare war and capture the city, even when AI is at peace? Or it's a tactical preference - which city should be attacked first during the war?
They are used to caclulate the value of the city, which is then used as a base for things like what city to capture, how quickly the units will be produced. The desire for war is
probably somewhat affected, as one of factors.
In my games I had situations, when AI had a large army, declared war and then didn't attack any enemy city, basically walking around and dying from cities' and encampments' ranged attacks. Maybe it was because he lacked siege units but I'm not sure.
AI certainly attacks the city once it gets its units in close proximity. If you see behavior like you describe, then this could mean:
- still producing units and e.g. lack of siege units could stop the op as they are needed to capture a walled city
- still moving to a target city i.e. the target city is not always the closest one
- not close enough to the target - if the op is not close enough, it will only defend itself and attack enemies’ units
- unit deadlocked (may happen if there are really many units in the op)
- too many units were lost and ai is withdrawing and looking for a new target
You would need to check behavior tree and operations logs to actually find out what happens. Without that, just speculations.
Is there a way to make him take objectives any better?
I would like to know myself

any ideas?