Почему герой не возвращается в указанные координаты?

По логике в этом коде после того как закончатся враги - герой должен идти в указанную точку. Но он почему то не идет…

while (true) {
    var flag = hero.findFlag();
    var enemy = hero.findNearestEnemy();
    if (flag) {
        hero.pickUpFlag(flag);
    } 
    else {
        while (enemy) {
            if (hero.isReady("cleave")) {
                hero.cleave(enemy);
            } else {
                hero.attack(enemy);
            }
        }
        hero.moveXY(35, 15);
    }
}

Потому что while (enemy) по сути вызывает вечную петлю. Даже если враг мертв - он существует и объект enemy не пустой. Если вы хотели бить врага до смерти то стоит использовать while (enemy.health > 0)

Но с параметром “null” while тоже не сработает, так что это можно опустить