I decided to get a bit more scientific in my testing. I had modified so many things it was hard to keep track of what was what. So I started with a fresh mod based on the master file, and did the following:
1. Duplicated "Erinth" (Brenton girl) to a new object, "Erinth2".
2. Set "Erinth2" to "Aggressive", "Brave", and removed the eating and playoutside AI packeges so she would only apper in the test cell.
3. Duplicated the "BrentonRaceChild" to "BrentonRaceChild2".
4. Unticked "child" in "BrentonChildRace2".
5. Assigned "Erinth2" to the race "BrentonRaceChild2".
This resulted in a floating "Erinth" head (body mesh missing?), that attacked the player on sight. Which is not quite what we want.
Leaving all of the above in place, I simple re-checked the "child" flag on "BrentonRaceChild2".
This still resulted in a floating head, but this time it ran away, which is the normal combat behavior for kids.
So I'm thinking that the problem I'm having is with duplicating races- the body mesh/texture isn't being duplicated properly but the head is?
Next, I assigned "Erinth2" back to the default "BrentonRaceChild".
The body was back like it should be, but even though the NPC was derived from a race with the child flag on, she still attacked me with an axe.
So I don't think it's the child flag that sets if they will attack or not, I'm thinking it's either "aggressive" or "brave" that does it. I'm guising "Agressive vs Passive" controls if the charector is an enemy by default (ie a drauger) or only an enemy if provoked (like a merchant). Where the "Cowardly / Brave" field controls if they run during combat or try to attack any enemies. I'll test that next.
Ultimately, I'd like to be able to take adopted children out to hunt for deer, etc. Which I imagine will require scripting of some kind. I haven't really done anything with factions yet, but it seems like you should be able to put animals in a "game animal" faction, and conditionally set children to be aggressive toward that faction, with a "lets go hunting" dialog option that puts them in "hunting mode" and, "let's go home" that un-sets it"?
But I think the first step is figuring out which flags do what in order to know what settings can be scripted.