Дела подпольные. Java Script


#1

Ребят, проблемы возникли с кодом
написал все, что требовалось в уровне

// Собери 300 золотых и убеги из подземелья.

function onSpawn(event) {
// Отправь животное гулять по поземелью:

   var coin = pet.findNearestByType("gold-coin");
    pet.moveXY(coin.pos.x, coin.pos.y);

// Не забыть возвратить его своему герою:
pet.moveXY(hero.pos.x, hero.pos.y);

}

pet.on(“spawn”, onSpawn);

while(true) {
// Охраняй крестьян:
var enemy = hero.findNearestEnemy();
if (enemy) {
hero.attack(enemy);
}
// Когда соберёшь более 300 золотых, двигайся к красной отметке:
if (hero.gold > 300) {
hero.moveXY(50, 34);
}
}

Герой атакует скелетов, но сундук упорно не хочет уходить от героя
И варнинг вылезает почему то именно на строчку hero.attack(enemy);
и тут я вообще прилип


#2

Бывает, что предупреждение с предыдущим текстом вылазит на новую ошибку. Или на строку, следующую после ошибочной.
В целом, часто в случае проблем я перебираю код, выполняя построчно или блоками, меняя переменные или условия, чтобы взглянуть, что работает, а что - нет и в чём проблема.

По коду - я на Python’е прохожу и по JavaScript’у не помогу, но код хорошо бы правильно отформатировать (кнопка </> над полем ввода сообщения).