I can't merge in the hard coding in the UnitAI file (it would cause crashes for any mod modder that didnt include those spells/promotions). I wanted to get your opinion on a better way to do it. What do you think about:
1. Is it possible to update CvUnit::chooseSpell() to do this? Which should already take all of these things into account.
2. Would it be better if we added a few booleans to the spell schema so we could define if they are war spells, unit buffs, city buffs, etc? Then add a parameter to choosespell so we can isolate to just those spells.
3. If we added the schema attributes as above we could keep your functions. I wasnt sure if you checked out choosespell and what you thought of it or what you thought could be done to improve it.
4. We could farm all this out to python, but I hate to do so because of the performance cost, which is why I assume you hard coded it in the sdk.
Let me know what you think.