Кристина, "в скрипте указано появление этого блока через несколько секунд" - у вас в консоль летят ошибки из текста которых будет понятно почему не показывается ваш огонь. Если вы собираетесь называть себя веб-разработчиком, то нельзя игнорировать ошибки о которых вам сообщает главное отладочное ПО на клиенте.
Ну, JS не умеет складывать большие числа, так что либо вы сами пишете что-нибудь, либо используете чужие наработки.
ЗЫ: если под вопросом "как" вы интересовались как это реализовать конкретно, то есть несколько вариантов, все их можно подглядеть в соответствующих библиотеках, ничего сложного там вроде бы нет.
Zombie42679, у вас перед глазами готовая реализация - пример который вы показали, а под рукой у вас DevTools. Нажимаете F12 и смотрите как у них там все устроено.
JackShcherbakov, ну тогда все просто: либо вы каждому экземпляру объекта добавляете метод уже привязанный к нему, либо в defer передаёте объект привязки, либо... а, всё, больше вариантов нет.
А, хотя нет, есть еще вариант, но он не связан с реализацией defer - просто используйте процедурный подход:
https://codepen.io/naazim/pen/JKjgwL