Após seguir todos os passos e quebrar cabeça aqui no fórum lendo várias soluções de outras pessoas, usei o Math.random para solucionar o problema do inimigo impossível de derrotar, funciona por um momento mas após um tempo, basicamente o inimigo não acerta mais nada. Mas, estou satisfeito com a finalização do projeto!