Okay lets assume there is this skill that has a range of 3 tiles of in front of you. Do I use get_dist or something?
? <--- Attacker and/or ? <--- Attacker
*** <--- Defenders *
*
*
^
|
Defenders
I was thinking somewhere along the lines of:
for(var/mob/m in get_dist(src, locate(m.x + 3, m.y, m.z)))
//To attack 3 mobs in a straight line.
Loop through any mobs within three tiles and if the direction from you to m is the same as your direction, carry out your business.
There are much better ways to do this, but this is the best example I'm willing to try and do on a phone.