It's probably lagging like hell because 10% of the time ALL the humans would start coughing. You absolutely need to use try_for_agents, unless you want to go with the global iterator approach which might fail at times. In the condition, you need to iterate through all candidates (human, not routed, alive, appropriate combat state) and cache whether they are viable - then in the conditions you randomize their chances of coughing or playing the culturally inappropriate noise effects. To do things other than the sound you can set the agent's walk/stand animation cycles, again at your own discretion out of combat.