def get_targets(self): monsters = [] for unit_id in self.monsters: monster = craw.get_unit(unit_id, 1) #missing town NPC check? if monster == None: print 'Failed to receive monster data for ID %08x' % unit_id continue #location hack x, y = self.monsters[unit_id] monster.x = x monster.y = y if monster.mode in [0, 12]: #monster is dead self.attack_print('Dead monster: %08x' % unit_id) continue distance = utility.get_d2_distance(self.i, monster) if distance > configuration.follower_attack_radius: self.attack_print('Distance to %08x too great: %.1f (%s)' % (monster.id, distance, repr((monster.x, monster.y)))) continue monsters.append((distance, unit_id)) monsters.sort(cmp = utility.sort_units) return monsters
def get_targets(self): targets = [] for unit_id in self.monsters: monster = craw.get_unit(unit_id, 1) if monster == None: print 'Failed to retrieve the unit of monster %08x' % unit_id continue if monster.mode in [0, 12]: targets.append(unit_id) return targets