Each particles is tracing objects in direction to target (light in this case). And if there a hit - this particle is in shadow. Script "RaycastToTarget" writes 0 or 1 to custom float "hit" channel. TyWind force works only for the particles with "hit = 0".
File:
https://rman197.gumroad.com/l/wsnzz