Function
m_city.AnyIdleHero(HeroString)
returns true if specified hero string matches any idle hero in the castle
Example
targetValley = ("123,456") if m_city.AnyIdleHero("any:att>100,att<300") if city.troops.archer>100k execute "attack "+targetValley+" any:att>100,att<300 a:25k,p:1,sw:1,c:1,cata:1,s:1"
if there is a hero matching the criteria available, and city has more than 100k arch, send it marching on the valley....
assumes you have the layers constantly being replaced, it could hang waiting for missing layer... so if you use scouts to transport res, leave them out of the march.
see also: