temnyrizar, ну так как триггера на получение спеллов нет, очевидно нужно крутить функцию в цикле в отдельном потоке, со всякими там проверками что герой есть, что выдаётся только один раз. То есть обвес функции гораздо сложнее самой функции и может быть реализован кучей разных способов (например крутить отдельный поток всегда, или только когда данный герой появляется у игрока).