Boring "facts" ... I played Civ 4 for about a month after it was released, got bored quickly despite being one of the few people that didn't have problems running it. I guess Civ 5 made everybody forget about MAFs even though they still haunt Civ 4. Anyway, after that first month I didn't come back to it until BtS, skipped Warlords entirely. I know that Civ 4 became something really good full of great mods but I won't lie to myself about how long it took to get there.
So... along comes Civ 5, amazingly enough, I played it for about a month before taking a break. I have no idea what version I played last but I decided to pick up Ged-somethinglongIcan'tspell's mod with an even longer name I can't remember, well except the "not" part and the funny thing was it ran fine along side a personal mod I made back in November that was never updated. Granted it wasn't a particularly fancy mod, just some SQL to change some basic combat rules, AI flavors and other simple things. But, it ran without me even opening up the mod buddy.
Anyway, the point is that Civ 5 modding is different than what most people are used to. Historically a "mod" has always involved changing game files be it xml, txt or some goofey proprietary datafile. Civ 5 uses a sequel database and saddly few gamers understand what that means. So people get upset that they can't just edit a file like they always have in the past even though they see files that look identical to what they edited for Civ 4. It's frustrating when you expect things to work like you're used to. While I don't think modding is "dead" and I disagree with many points made to that effect I certainly understand why a lot of people have given up.
Oh, and on the topic of AI, if you want to have some fun with the Civ 5 AI all you need to do is stop thinking like a strategy game developer for a little bit. For years strategy games have been tackling AI backwards and Civ 5 isn't any different. The problem is that you can't think like a person when trying to design the AI, what's easy for us to decide by simply looking at something, like a map for one example, is extremely complex to program an AI to do. Programming 101- complex != good.
You need to program and treat the AI like it's a small child, for example consider a simple situation where you have a tank close to an enemy city with some artillery nearby.
The "traditional" strategy AI approach is to have the computer player look at the tank and then look around the tank and try to evaluate everything within a set range. It's really easy for you and I to see that threat and the best place to move the tank to/flee/attack/etc, especially since we can think a few turns in advance taking terrain movement costs into account and finding a path to our goal faster than the enemy can pursue us. Now, try to come up with a way to exaplain that to the AI.
The "non-traditional" approach is to tackle the same situation from a complately different perspective. Instead of looking at a specific unit and trying to figure out what, if anything, can harm it you have each unit (and city in this example) check to see what it can harm and pass the information to the target, essentially saying "I can hit you and do about this much damage." This may sound more complicate at first but it's actually much simpler. It's also easy to extend so it includes things like medics telling nearby units "I can heal you" or a ranged unit saying "I can support you."
This is how I used to program bot AI back in the day when Quake didn't have a numbers in the name. It's effective and you can typically rely on existing methods for LoS, pathfinding, combat odds and so on. It's also efficient because you don't have to scan as often as you do when you try it the other way around. I think ideally in a game like Civ 5 each unit/city would simply "tag" their surrounding hexes at the end of their player's turn then all subsequent units would merely have to check the tags on their current hex (to avoid seeing what they shouldn't see). You could very easily handle things like basic commands to "wait here until healed" or "get away from this city because it hurts."
So when you're struggling with getting the AI to grasp your changes just take a step back, remember that the AI is like a deaf, dumb and blind kid then see if you can't come up with something that works.
As for the DLL... I'll wait for it just because I prefer C++ over LUA, I'm old and senile, if I have to learn LUA I'll have to forget something else first.