SergOz правильно сказал: !!HEv2399: - атакующий герой всегда есть, поэтому проверка на его отсутсвие не нужна. !!HEv2398&v2398>-1 - защищающийся герой есть НЕ всегда, поэтому проверка на его отсутствие нужна обязательно.
По поводу выдачи заклинаний: в ERM нет нормального инструмента, для того чтобы правильно выдать, а потом забрать заклинания у героя. Поэтому эта часть скрипта так и не была (и не будет) реализована.