Well the boss mission scripts override those things by changing their action tree and stats in the script, so that's not going to be good enough.
What you could do is either get a decompiled version of the boss scripts and edit those, or in some script that you always have running (like STimeCycle.lur) check when the boss mission is running, and loop through all the peds (use PedFindInAreaXYZ to get all the peds) and find which one is whoever's model. Then do what ya need.
For example...
function main()
while true do
-- Wait for the mission to start:
while not MissionActiveSpecific("2_B") do
Wait(0)
end
-- Find Darby:
local darby = -1
repeat
for i,ped in {PedFindInAreaXYZ(0,0,0,999999)} do
if i > 1 and PedIsValid(ped) and PedIsModel(ped,37) then
darby = ped
break
end
end
Wait(0)
until not MissionActiveSpecific("2_B")
-- Main loop for the rest of the mission:
repeat
-- If Darby is playing his boss style (what the script gives him), change it to something else:
if PedIsPlaying(darby,"/Global/BOSS_Darby/Default_KEY",true) then
-- Load animations for the style:
for i,agr in {"F_Nerds","N_Striker","N_Ranged","Straf_Nerd"} do
if not HasAnimGroupLoaded(agr) then
LoadAnimationGroup(agr)
end
end
-- Set the style:
PedSetActionTree(darby,"/Global/N_Ranged_A","Act/Anim/N_Ranged_A.act")
end
Wait(0)
until not PedIsValid(darby) or not MissionActiveSpecific("2_B")
end
end