UFO:AI supports mod development. The main mod is the Template:Path mod. To create a new mod, just create a new directory in the UFO:AI Template:Path directory. E.g. name it Template:Path. Start UFO:AI with
./ufo +set fs_gamedir mymod
Every file that is "overwritten" in your mod takes the precedence over the files in the Template:Path directory. Of course you can also add new files with this. New maps, new scripts, new textures and so on.
It's also possible to switch the mod from within the game. In this case only some subsystems are restarted (in order to load the right files with the right priority). Use
fs_mod to switch it, or to list them. If there is no parameter given, it will list all the available mods, if there is a parameter given, it will activate the mod given by this parameter.
Server logic (Battlescape)
Modding the battlescape is possible by providing your own game lib. The code for our main game is in Template:Path.