Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. atom/proc/InCone(atom/center = usr, dir = NORTH)//returns a list of enemies within a coned space.
  2.   var/d = get_dir(center, src)
  3.   if(!d || d == dir) return 1
  4.   if(dir & (dir-1))
  5.     return (d & ~dir) ? 0 : 1
  6.   if(!(d & dir)) return 0
  7.   var/dx = abs(x - center.x)
  8.   var/dy = abs(y - center.y)
  9.   if(dx == dy) return 1
  10.   if(dy > dx)
  11.     return (dir & (NORTH|SOUTH)) ? 1 : 0
  12.   return (dir & (EAST|WEST)) ? 1 : 0
  13.  
  14. proc/cone(atom/center = usr, dir = NORTH, list/list = view(center))
  15.     for(var/atom/O in list) if(!O.InCone(center, dir)) list -= O
  16.     return list
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement