Загружаемые персонажи

Завершил работу над пре-загрузкой тех.персонажей, в том числе и ветеранов для арены.
Для создания персонажей использую ту же функцию, что для регистрации пользователей registerUser.

Изменения кода checkActiveDemands() -

void checkActiveDemands()
{
time_t now=time(0);
for(vector<int>::iterator i=activeDemands.begin();i<activeDemands.end();i++)
{
TMazeDemand *md = &mazeDemands[*i];
if (!md->close && md->type == TP_ARENA_CITY)
if (now-md->atime >= TIME_FOR_WAIT_DEMAND)
{
int vid=getFreeVeteran(md->place);
if (vid>0)
{
md->victim.push_back(/*ARENA_ARENA_VETERAN*/vid);
md->atime = time(0);
processDemand(md);
}
}
}
}

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

битва с ветераном-топорщиком арены

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