Завершил работу над пре-загрузкой тех.персонажей, в том числе и ветеранов для арены.
Для создания персонажей использую ту же функцию, что для регистрации пользователей registerUser.
Изменения кода checkActiveDemands() -
Для определения свободного для битвы ветерана использую функцию getFreeVeteran, которая определяет есть ли не занятый в битве ветеран, который находится в этом городе и его здоровье равно максимуму.
Насчет уровня HP думал и сделал так специально - заделка на будущее - если будет тип битвы "атака на город", то если все ветераны будут повержены то город или локация - захвачена.

Правда вылезла какой-то досадный баг - при выполнении команды ""retreat" происходит что-то не то, а именно выпад сервера :( Ищу.