For instance, I want to add text to the social policies so that one doesn't have to read the manual to know what they do.
Done already for the openers (in v2) but not for other policies. I'd be happy if you wrote the xml for the others. In general, just ask here if you want to make sure you're not duplicating effort. (Don't do promotion texts: I wrote these already and they are going out in a hotfix tonight.)
Version control is me. If you post a file with missing TXT_KEYs, I'll add them into the next version or hotfix. Same for fixed or improved code sections or art or whatever. If you wanted to write a new spell, just post your idea here for discussion. I'll let you know if it is doable (with current systems) and appropriate for the main mod. Then you can write the code and post it (maybe someone else will want it even if I don't).
If you want to look at the current code to add something (e.g., a spell) or improve something (AI), here are the relevant places to start:
Actions and Spells (spells are really just a kind of Action)
EaActions.sql
EaActions.lua
Actions are defined as new DB entities in the first file, which has some generic control like where to display (action or build panel), action icon, and basic prereqs like tech or policy. The Lua file has (optional) methods at the end for each action including Test, TestTarget, SetUI, SetAIValues, Do, Finish and Interrupt. You just have to look at examples, but this is how an action gets integrated into the UI and AI and has its effect on the world.
Civ tech and policy choices AI
EaAI.sql
EaAI_Civs.lua
The first file defines values for plots (features, resources, etc.) when the AI is deciding what name to target early in the game. Some civ names are missing now which is why the AI will never target them. There are also CivPlans, which are never seen by the player but basically set the AI agenda at the civ level. They are essentially "scripts" for selecting the next tech and policy. There are potentially any number of CivPlans possible for each name (though they don't necessarily exist yet).
GP movement and actions AI
EaActions.sql
EaActions.lua
EaAI_People.lua
Actually, most of it is controlled by the Action definition itself in the first two files. For the most part, you can add a new action in these two files and it will work if it is modeled on one that already exists. There is a column in EaAction.sql called AITarget that tells the AI where to look when evaluating an action. You can see examples of "OwnCities" or "ForiegnCities" here -- so a new action using these tags will work from the definition only. But there is no "OwnUnits" yet (there is no code for it in EaAI_People.lua yet), hence the AI won't do the Train Unit action. (Combat AI is a bit different, so the various buff spells
are working.)
Edit: If you want the ModBuddy template just ask and I'll post it. (Or if you don't know why that would be useful, just ask and I'll tell you.)
Edit2: Another place to tinker around with code is in balancing of the start location. This is all controlled in AssignStartingPlots.lua (in the mod this is in the PreGame folder -- the file there replaces the core game file of the same name). I did a very quick and dirty fix to make sure every start plot got at least 1 adjacent bonus food resource. But this file will need a lot of adjustment to work right for this mod.