// Gather 4 lightstones to defeat the Brawler.
// If you find a lightstone, hide.

function checkTakeHide(item) {
    if (item) {
        // The item is here, so take it.
        hero.moveXY(item.pos.x, item.pos.y);
        // Then move to the center of the camp (40, 34)
        hero.moveXY(40, 34);
    }
}

// Sprawdź czy miny są bezpieczne dla robotników.

function checkEnemyOrSafe(target) {
    // jeśli cel (parametr) istnieje :
    if (target) {
        
    
        // Następnie zaatakuj cel.
        hero.attack(target);
    }
    // Otherwise:
    else {
        
    

// Użyj funkcji checkAndAttack by uprościć swój kod.

// Ta funkcja ma parametr.
// Parametr to sposób na przekazanie informacji do funkcji.
function checkAndAttack(target) {
    // Parametr 'target' jest tylko zmienną!
    // Zawiera argument ,gdy funkcja zostanie wywołana.
    if(target) {
        hero.attack(target);
    }
    hero.moveXY(43, 34);
}

// Incoming munchkins! Defend the town!

// Define your own function to fight the enemy!
function cleaveOrAttack() {
    // In the function, find an enemy, then cleave or attack it.
    var ogre = hero.findNearestEnemy();
    if (ogre) {
        if (hero.isReady("cleave")) {
            hero.cleave(ogre);
        }
        // Else attack the ogre:
        else {
            hero.attack(ogre);
        }
    }
}

while(true) {
    var enemy = hero.findNearestEnemy();
    if(enemy) {
        // Find the distance to the enemy with distanceTo.
        var distance = hero.distanceTo(enemy);
        // If the distance is less than 5 meters...
        if(distance < 5) {