I've read and reread the AI documentation and I just don't seem to be getting it.
1) How can I get a villain to fly around and primarily attack civilians? I tried following the example for writing tactics and setting civilians as a high priority target but it doesn't seem to be working, at least, not in the danger room.
2) How do I get a villain to fly all (or at least most) of the time?
To attack civilians, you need to add the 'special targets' section.
['myguy',
['special targets', 'civilian'],
[... all the rest ...],
],
If this is for a mission, you can also use EZ script. Place a marker called attciv1 on the map and then put attciv1_ally1 to attciv1_ally20 all around the map (they don't have to be near the attciv1 marker) and then you can use a Save Civilian encounter type.
The AI generator should produce a character that flies a lot, unless that character has a lot of melee attacks (or a really powerful melee attack) since they generally have to be on the ground to use melee attacks. You can force them to fly - if you look in the AI definition, you'll see TFleeMelee and TMove which tells the AI how to move. You can add the movetype='fly' parameter to each, for example
"TMove(mindist='long', time=0.88, movetype='fly')"