// Function to find monsters using ClassID
function DA_FindClosestEnemyClassID(var1,var2,var3,var4) {
var _posx = -1;
var _posy = -1;
var _radius;
var _classid;
var _unit;
if (arguments.length > 3) {
_posx = var1;
_posy = var2;
_radius = var3;
_classid = var4;
}
else {
_unit = var1;
_radius = var2;
_classid = var3;
}
var _closest = _radius;
var _monsterid = 0;
var _dist;
var _enemy = getUnit(1,_classid);
if (_enemy) { do {
if ( DA_IsValidTarget( _enemy ) > 0 /*&& DC_CheckLOS(me.x,me.y,_enemy.x,_enemy.y,20,true)*/) {
if (arguments.length > 2) {
_dist = DM_Dist(_posx,_posy,_enemy.x,_enemy.y);
}
else {
_dist = DM_Dist(_unit.x,_unit.y,_enemy.x,_enemy.y);
}
if (_dist < _radius && _dist < _closest) {
_closest = _dist;
_monsterid = _enemy.gid;
}
}
} while(_enemy.getNext(_classid)); }
_enemy = getUnit(1,_classid);
if (_enemy) { do {
if ( DA_IsValidTarget( _enemy ) > 0 ) {
if (_enemy.gid == _monsterid) {
return copyUnit(_enemy);
}
}
} while(_enemy.getNext(_classid)); }
return null;
}