blob: f9639417314897c34c5e3872d19017928655927d (
plain) (
tree)
|
|
import net.mapserv as mapserv
from net.common import distance
def find_nearest_being(name='', type='', ignored_ids=[], allowed_jobs=[]):
if mapserv.beings_cache is None:
return None
min_disance = 1000000
px = mapserv.player_pos['x']
py = mapserv.player_pos['y']
nearest = None
for b in mapserv.beings_cache.values():
if b.id in ignored_ids:
continue
if name and b.name != name:
continue
if type and b.type != type:
continue
if allowed_jobs and b.job not in allowed_jobs:
continue
dist = distance(px, py, b.x, b.y)
if dist < min_disance:
min_disance = dist
nearest = b
return nearest
|