НЕ могу пройти уровень

Этот код нормально работает в цикле while(true) и заставляет всех моих грифонов атаковать врагов.

  var friends = hero.findByType("griffin-rider");
    for (var z =0; z< friends.length; z++){
        var friend = friends[z];
        var enemy = friend.findNearestEnemy();
        if (enemy && enemy.type != "fangrider"){
        hero.command(friend, "attack", friend.findNearestEnemy());  
        }
    }

Но при помещение вышестоящего кода в этот только 1 гриффон атакует врагов а остальные просто стоят

// The goal is to survive for 30 seconds, and keep the mines intact for at least 30 seconds.

hero.chooseStrategy = function() {
    var enemies = hero.findEnemies();
    for (var q=0;q <enemies.length; q++){ var enemy = enemies[q];}
    // If you can summon a griffin-rider, return "griffin-rider"
      if (hero.gold >= hero.costOf("griffin-rider")){
          return "griffin-rider";
          }
    else{return "collect-coins";}
};
hero.commandAttack = function() {
    var friends = hero.findByType("griffin-rider");
    for (var z =0; z< friends.length; z++){
        var friend = friends[z];
        var enemy =hero.findNearest(hero.findEnemies());
        if (enemy){hero.say("xxx");}
        hero.command(friend, "attack", enemy);
        
    }
};
hero.pickUpCoin = function() {
    var coin = hero.findNearest(hero.findItems());
    if (coin){
    hero.move(coin.pos);
    }
};
while(true) {
      var friends = hero.findByType("griffin-rider");
    for (var z =0; z< friends.length; z++){
        var friend = friends[z];
        var enemy = friend.findNearestEnemy();
        if (enemy && enemy.type != "fangrider"){
        hero.command(friend, "attack", friend.findNearestEnemy());  
        }
    }
    var strategy = hero.chooseStrategy();
    if (strategy == "griffin-rider"){
        hero.summon("griffin-rider");
        }
        else if (strategy == "collect-coins"){
            hero.pickUpCoin();
            }
          
}

Не уверен что понял проблему и что куда было засунуто. Что за уровень?

уровень Reaping fire.Я там некоторый код отрезал чтоб не мешал.

Лучше не надо “отрезать”. Отрезать можно только комменты, а остальной код может быть существенным

Я отрезал те части кода которые не влияют на эту ошибку чтобы легче читалось.

То есть если я скопирую данный код в редактор на данном уровне то получу туже ошибку?

Я спрашиваю, так как при использовании последнего кода все работает нормально и гриффоны призываются когда хватает денег и летят атаковать всех подряд.

На этом уровне, если у игрока нет цветочного кольца, проигрываешь.