Another question about #21: Is the promotion only granted through combat, or would it also be given if a spell were to do poison damage? I don't think there are any such spells now, but they could be nice. I'm mostly thinking that I'd want the promotions from fire and cold damage to be dealt like this too, and would like it if I could just copy and paste the code (or, better yet, if you went ahead and added the ability but not a promotion in the global defines. Or adding this field to CIV4DamageInfos.xml instead)
I'm assuming that #1 doesn;t really mean all units. Your own units shouldn't be ejected, nor should those of your permanent allies.
I was just thinking that it would be good for promotions (like channeling1-3, hero, and extension1-2) to be able to reduce the spell delay time. An adept might take 5 turns to cast spring, a mage could do it in 3, and an archmage could cast it instantly.
While on the subject of spell mechanics, I thought I'd again request that promotions (like extension 1-2) have the ability to increase the range of ranged spells. Grey Fox already included this in Broader Alignments, so you could just borrow his code if you wish. *the range of Maelstrom should be reduced to 1 if promotions can boost it) Or, you could try to get all fancy and make it work within a radius instead of a square, and/or make the strength/chance of success for the spells decrease with distance (blinding light with extension 1 and 2 in Broader alignments is a bit too strong)
I also really think that Twincast should boost non-summoning spells too, and that having multiple promotions with this tag should make the abilities stack. Could you just make this tag cause a caster to cast the same spell twice? It wouldn't matter for spells that grant promotions, change terrain, or convert/kill the caster, but for direct damage spells it would be great.
This one is really a long shot, but could you try to bring back targeted spells? At least letting you target which tile, even if not the unit. I have a suspicion that you could borrow code from air combat (which the AI understands) and get an AI that knows how to exploit targeted spells.Handling it in C++ would also probably be much faster and less buggy than the old spell interface. (I don't expect this could be done in time for .32, however).
Incorporating many of xienwolf's xml changes would be very nice too. I'm also still hoping for some things that are as of yet still beyond xien's skill (and obviously also mine), like promotions vs multiple promotions and <UnitClassTargets> and <UnitCombatTargets> (and maybe a new <PromotionTargets> tag) for promotions (I'd really like to allow units with marksman to cast spells granting such promotions, effectively letting you choose which unit in a stack to attack)
(Speaking of marksmen made me want to request that units with 0 strength (or perhaps no unitcombat) never be targeted by the marksman promotion. It might also be good to exclude units that couldn't defend anyway, like birds or ships in cities. It is really annoying to target these.)
Edit: @ MaxAstro: you can easily make the option visible in your version by changing its <bVisible> tag to 1 in CIV4GameInfos.xml. I went ahead and did this with all the options in .31, and set my favorites to be on my default (I never really use any of the current hidden options anyway though).
I still think that the Invisibility effects of the Empyrean and CoE shrines should also be tied to having the appropriate state religion.
Sovereign city seems cool. I was thinking that it might be cooler though if you were given a choice of it being a permanent ally or a vassal/colony, and if you had the option to switch.
One problem I see here is that it could make you unable to make a permanent alliance through diplomacy. Could you remove the "only 1 permanent ally" restriction?
It could also be nice if there were an event that let you switch from one of your civ's leaders to another while keeping the same empire.