Using the current 40k files (v1.12) and the IG in particular (igUniDat.dat and igAug.aug)
Game mechanics first off:
When taking doctrines they are applied in a top down fashion, i.e. using sharpshooters doctrine and a command platoon command squad. The doctine is charged at the command squad level (10pnts) and rolls down to the members of the command squad, i.e. senior officer, guardsmen and veteran guardsmen if taken. The individual parts of the command squad cannot take the doctrine, it must be taken by all of them. Veterans are upgraded guardsmen.
Files:
The top level unit (ig_CommSqd) has a linkset of selectable doctrines (ig_doctrin) which carry out the costings etc for all the child units (sharpshooters doctrine = ig_d_Sharp, officer = ig_SO, guardsmen = ig_CommGua, veterans = ig_ComVet).
The child units (officer and guardsmen) use another linkset called ig_docInCh which holds a set of doctrine links which are set to mirror (mirrored to ig_d_Sharp) and automatically sets option ig_d_ShrpC so that when the option is chosen at the top level it is selected in the children. The options held in this list do limited work and no costings. The sharpshooters doctine in this list is ig_d_ShrpC.
Veterans are a child of guardsmen and use the same linkset as them (ig_docInCh), however for some reason the doctrine option is automatically selected. Selecting the doctrine in the top level unit then deselecting it then removed the option as it should do and then everything behaved as expected.
First thought was it was appearing because the option ig_d_Sharp was not present, so I ammended it so that the veterans used the following mirroring:
option: ig_d_ShrpC
mirror: ig_d_ShrpC
auto
as the guardsmen would have that option selected. However this behaved in exactly the same way, i.e. by adding a veteran to the guardsmen the veteran had sharpshooter selected.
Hope this makes sense?
Game mechanics first off:
When taking doctrines they are applied in a top down fashion, i.e. using sharpshooters doctrine and a command platoon command squad. The doctine is charged at the command squad level (10pnts) and rolls down to the members of the command squad, i.e. senior officer, guardsmen and veteran guardsmen if taken. The individual parts of the command squad cannot take the doctrine, it must be taken by all of them. Veterans are upgraded guardsmen.
Files:
The top level unit (ig_CommSqd) has a linkset of selectable doctrines (ig_doctrin) which carry out the costings etc for all the child units (sharpshooters doctrine = ig_d_Sharp, officer = ig_SO, guardsmen = ig_CommGua, veterans = ig_ComVet).
The child units (officer and guardsmen) use another linkset called ig_docInCh which holds a set of doctrine links which are set to mirror (mirrored to ig_d_Sharp) and automatically sets option ig_d_ShrpC so that when the option is chosen at the top level it is selected in the children. The options held in this list do limited work and no costings. The sharpshooters doctine in this list is ig_d_ShrpC.
Veterans are a child of guardsmen and use the same linkset as them (ig_docInCh), however for some reason the doctrine option is automatically selected. Selecting the doctrine in the top level unit then deselecting it then removed the option as it should do and then everything behaved as expected.
First thought was it was appearing because the option ig_d_Sharp was not present, so I ammended it so that the veterans used the following mirroring:
option: ig_d_ShrpC
mirror: ig_d_ShrpC
auto
as the guardsmen would have that option selected. However this behaved in exactly the same way, i.e. by adding a veteran to the guardsmen the veteran had sharpshooter selected.
Hope this makes sense?