You don't want that old pile of garbage. Was littered with bugs :-)
It did not split pulls. Pretty much just looked for the nearest thing and whacked it on the head.
I snipped you the code in the PM that included my old logic I tested for KA that would pacify and pull. It is also old code, but the logic is reasonably what one would do to pull something out of a crowd.
I'll post that snippet here as well.
Code:
Sub Pacify(PullTargetID)
/declare LullSpell string local Silence of Jembel
/declare i int local 0
/if (${Math.Calc[${SpawnCount[npc radius 60 zradius 25 loc ${Spawn[${PullTargetID}].X} ${Spawn[${PullTargetID}].Y} ${Spawn[${PullTargetID}].Z}]}-1].Int}) {
/for i 1 to ${Math.Calc[${SpawnCount[npc radius 60 zradius 25 loc ${Spawn[${PullTargetID}].X} ${Spawn[${PullTargetID}].Y} ${Spawn[${PullTargetID}].Z}]}-1].Int}
/if (${Spawn[${PullTargetID}].NearestSpawn[${i},radius 60 zradius ${Math.Calc[${Math.Abs[${Math.Calc[${Target.Z}-${Me.Z}]}]}+25]}].ID}) {
/call CastWhat "${LullSpell}" "${Spawn[${PullTargetID}].NearestSpawn[${i},radius 60 zradius ${Math.Calc[${Math.Abs[${Math.Calc[${Target.Z}-${Me.Z}]}]}+25]}].ID}" "Pacify" 0
}
/next i
}
/return
Basically it's got a target (PullTargetID) that's passed to the function, then it checks for all the spawns in a radius around it and pacifies them one at a time until they are all paci'd. Then it leaves the functions. That was made for KA once upon a time because someone suggested it couldn't be done. Pretty sure I'm the only person that ever used the code.