}
@Override
protected boolean thinkActive()
{
L2NpcInstance actor = getActor();
if(actor == null || actor.isDead())
{
return true;
}
// Update every 1s the _globalAggro counter to come close to 0
if(_globalAggro < 0)
{
_globalAggro++;
}
else if(_globalAggro > 0)
{
_globalAggro--;
}
if(_def_think)
{
if(doTask())
{
clearTasks();
}
return true;
}
// BUFF
if(super.thinkActive())
{
return true;
}
if(System.currentTimeMillis() > wait_timeout && (current_point > -1 || Rnd.chance(5)))
{
if(!wait)
{
switch(current_point)
{
case 31:
wait_timeout = System.currentTimeMillis() + 60000;
wait = true;
return true;
}
}
wait_timeout = 0;
wait = false;
current_point++;
if(current_point >= points.length)
{
current_point = 0;
}
actor.setWalking();
addTaskMove(points[current_point], true);
doTask();
return true;
}
if(randomAnimation())