uses the STUFF function, more concise than using CASE
Of specific interest is the bit most of the way down about marking incidentally shielded locations as danger 0 on the incoming waves. Why didn't I think of that?