UnitName присваевается при вызове какой-либо функции ,например:
function Attacker(Defender)CreatureDeath(unitName)
каждый раз, когда погибает атакующий(защищающийся) стек существ, вызывается эта функция, параметр unitName-уничтоженный стек
function Attacker(Defender)CreatureMove(unitName) - вызывается при передаче хода атакующему(защищаемуся) стеку существ, unitName - этот стек.
кастовать в начале боя не знаю, какую функцию использовать
Prepare()-вызывается при подготовке к бою, Start() - хз, после Prepare или перед ней.
приблизительно так:
function Start()
hero = GetAttacker(Defender)Hero
UnitCastAreaSpell(hero, spellID, X, Y)
end