<?
session_start();
include_once("req.php");

# режим отладки битвы

			
array_walk($_REQUEST,"format_string");   
array_walk($_POST,"format_string");   
array_walk($_GET,"format_string");   
include_once("session_class.php");
include_once("persinfo_class.php");
include_once("edit_skills.php"); #skills_side1
error_reporting(E_ALL ^ E_NOTICE);
$session = new Sessions;
if ($session->is_session(session_id())) { # Юзер в игре

$debug=($myinfo->id_person==12 OR $myinfo->id_person==43);
#$debug=false;

$myinfo =new Persinfo($session->id_person); # инфо
$myproc=$incexp+specialvalue('inc_expr',$myinfo->hars[5]['inc_expr']);

#if ($myinfo->id_person!=12) {die ('пардон. идет настройка боев не опять а снова');}
echo (($debug)?"genx1=".time():'');

# проверка в бою ли текущий персонаж
$in_battle=person_in_battle($myinfo->id_person);
if ($in_battle<1) 
{ 
	header("Location: main.php");
	die;
}

# получить информацию о битве

$myinfo->battle_vars();$battle=&$myinfo->battle_var;
/*
b.*
bu.team
bu.id_enemy,
	bu.s_duh,
	bu.hit,
	bu.krit,
	bu.block,
	bu.counter,
	bu.parry,
	bu.hp,
	bu.exp
*/
$myteam=$battle['team'];
$s_duh=$battle['s_duh'];$hit=$battle['hit'];$krit=$battle['krit'];$block=$battle['block'];$parry=$battle['parry'];$hp=$battle['hp'];$counter=$battle['counter'];
$expir=$battle['exp'];

$id_battle=$myinfo->battle_var['id_battle'];

if (!$id_battle) {
	db_use('query',"update person set id_battle=0 WHERE id_person='".$myinfo->id_person."'");
	header("Location: main.php"); die;	
}
		echo ($debug?"id_battle=".$id_battle:'');

if (!$battle['start_time']) # битва не началась
{  
	# начать битву
	$battle['start_time']=start_battle_now($id_battle,$battle['k']);
	$battle_startis=true; # битва стартовала только что
	$showstartchatmessage=true; 	# добавить в чат сообщение о начале битвы
	$update_battleunits=true; 		# проапдейтить инфу о юнитах (жизнь, левел)
}
#------------- Проверка Таймаутов
if ($battle['complete']==2) { 			# Бой был завершен
	if ($_REQUEST['battle_out']) {		# Выход из боя
		db_use('query',"update person set id_battle='0' WHERE id_person='".$myinfo->id_person."';");
		header("Location: main.php"); 	# Выход из модуля
	}
	echo ($debug?'битва была завершена<br />':'');
	$timeout_choose=false;
	# Информация о завершенном поединке: таймаут, выигравший, набито, опыт
	$end_game_info=db_use('array',"SELECT b.timeout_win,b.team_winner 
	from battle b 
	LEFT JOIN battle_units bu on bu.id_battle=b.id_battle 
	WHERE b.id_battle='".$in_battle."' and bu.id_person='".$myinfo->id_person."'");
	
	$timeout=($end_game_info['timeout_win']?true:false);
	$team_win=$end_game_info['team_winner'];
	if ($end_game_info['team_winner']=='0') {			$status=3; # ничья
	}elseif ($end_game_info['team_winner']==$myteam) {	$status=2; # я выиграл
	}elseif ($end_game_info['team_winner']!=$myteam) {	$status=1; # я просрал
	}
	$endgame=true;	# Кнопка "Возврат"
	$attack=false;	# Удар/блок, инфа противника
	$waitmess=false;# Ау слоники

	$message="Бой закончен. Всего вами нанесено урона: <b>".$hp." HP</b>. Получено опыта: <b>".$expir.(($myproc>100 && $expir>0)?' ('.$myproc.'%)':'')."</b>.";
}else{ # Бой не был завершен

	# ---------------------------------------- ПРОВЕРКА ТАЙМАУТОВ
	$last_turn_time=($battle['last_event']?$battle['last_event']:$battle['start_time']); # время отсчета начала таймаута
	if ($battle['timeout']*60+$last_turn_time<time() && $last_turn_time>0) { # первый ход был, настало время таймаута
		$timeout=true;$attack=false;
		if ($battle['last_team']==$myteam OR !$battle['last_team']) { # моя команда - последний кто ходил, либо бой без ударов (результат выбираю я)
			$waitmess=true;	# противник долго не отвечает
			if ($_REQUEST['victory_time_out']) { # выбрана победа
				$team_win=$myteam;	$status=2;
			}elseif ($_REQUEST['victory_time_out2']) { # Выбрана ничья
				$team_win=3;		$status=3;
			}else{		
				$team_win=0;		$status=0;$timeout_choose=true;
			}
			if ($team_win) { # Сделан выбор - закончить игру по таймауту
				$expir=end_game($id_battle,$team_win,1); $waitmess=false;
				$endgame=true;# Разрешить выход
				$message="Бой закончен. Всего вами нанесено урона: <b>".$hp." HP</b>. Получено опыта: <b>".$expir.(($myproc>100 && $expir>0)?' ('.$myproc.'%)':'')."</b>.";					
			}
		}elseif($battle['last_team']!=$myteam) { # тайм выбирает команда противника, удары уже были так что лайттим должен быть 100%
			$waitmess=false;# "Я" долго не отвечает
			$res=db_use('array',"SELECT count(*) as coun from battle_units bu
								LEFT JOIN person p on p.id_person=bu.id_person
								WHERE bu.team='".($myteam==1?2:1)."' 
								and p.life>0
								and bu.id_person<100000 
								and bu.id_battle='".$id_battle."'");
			# Количество противников - людей кто жив
			if (!$res['coun']) { # нет живых людей во второй команде
				$team_win=($myteam==1?2:1); # Победила команда противника.
				$status=1; # я просрал
				$expir=end_game($id_battle,$team_win,1);$endgame=true;
				$message="Бой закончен. Всего вами нанесено урона: <b>".$hp
				." HP</b>. Получено опыта: <b>".$expir.(($myproc>100 && $expir>0)?' ('.$myproc.'%)':'')."</b>.";
			}else{ # есть живые - будем драться
				# тайм наступил - я не могу двигаться уже. Пока есть живые кто может выбрать тайм ждем от них выбора тайма. 
				# Если не выберут сработает автотайм у botrub.php
				$team_win=0;$status=0;$attack=false;$waitmess=true; # ау слоники
			}
		}
	}#/check_timeouts
}#/бой не был завершен

#-------------------------- Использование свитков в битве
	if ($_REQUEST['use']) {	# встройки/свитки с выбором логина
		$_REQUEST['idth']=$_REQUEST['n'];
		$_REQUEST['usezakl']=$_REQUEST['use'];
	}
if ($_REQUEST['usezakl']!='' && $battle['complete']==1 && !$endgame) { # для незавершенной битвы используем
	# определить слот вещи
	$res=db_use('array',"SELECT th.id_thing2,t.srok,t.maxsrok,po.slot,th.zakl,t.vzakl,t.vsrok,t.vmaxsrok,t.vdaytime,th.day_recharge
						FROM puton po 
						JOIN thing t on t.id_thing=po.id_thing and t.id_thing='".strval($_REQUEST['idth'])."'
						LEFT JOIN thing_har th on th.id_thing2=t.id_thing2 
						WHERE po.id_thing='".strval($_REQUEST['idth'])."' and po.id_person='".$myinfo->id_person."' 
						and th.zakl='".htmlspecialchars($_REQUEST['usezakl'])."' or t.vzakl='".htmlspecialchars($_REQUEST['usezakl'])."'");
	
	if ($res['id_thing2']) {
		$value=fullthing(strval($_REQUEST['idth']));if (!checkneeds($myinfo,$value)) unset($res); 
	}
	
	if ($res['id_thing2']) {
		$slot=$res['slot'];	
		if ($slot>=100 && $slot<=111) { 
			$svit=true;
			if ($res['srok']<$res['maxsrok'] && $res['maxsrok']>0) $oksrok=true; else $mess='Свиток утратил волшебную силу';
		}elseif ($res['vzakl']==$_REQUEST['usezakl']) { 
			$vst=true; 
			if ($res['day_recharge'] && $res['vdaytime']!=date('Y-m-d',time())) {
				$res['vsrok']=0;
				db_use('query',"update thing set vsrok=0, vdaytime='".date('Y-m-d',time())."' WHERE id_thing='".strval($_REQUEST['idth'])."';");
			}
			if ($res['vsrok']<$res['vmaxsrok'] && $res['vmaxsrok']>0) $oksrok=true; else $mess='Все заряды использованы';
		}
		if ($_REQUEST['usezakl']=='cureHP600')	{$typezakl='heal';$mess_use="Использовано великое восстановление энергии";}
		if ($_REQUEST['usezakl']=='cureHP1200')	{$typezakl='heal';$mess_use="Использовано супер восстановление энергии";}
		if ($_REQUEST['usezakl']=='mirror')		{$typezakl='mirror';$mess_use="Использовано создание клона";}
		if ($_REQUEST['usezakl']=='antimirror')	{$typezakl='antimirror';$mess_use="Использовано переманивание клона";}
		$access_use=true; # по умолчанию ОК
		# Условия для типов заклинаний в битве
		if ($typezakl=='heal') if ($myinfo->life<1) {$access_use=false;$mess='Вы умерли'; } 
		elseif ($typezakl=='antimirror') {			
			$res=db_use('array',"SELECT bu.id_person,bu.inv,b.name from bots b 
			left join battle_units bu on bu.id_person=b.id_bot
			WHERE b.name = '".mysql_escape_string($_REQUEST['param'])."' and b.life>0 
			and bu.id_battle='".$id_battle."' and bu.team='".($myteam==1?2:1)."';");
			if (!$res[id_person]) { $access_use=false;$mess="Невозможно использовать заклинание"; }
			elseif ($res[name]=='тупой бот') { $access_use=false;$mess="Невозможно использовать заклинание на тупом боте"; }
		}
		
		if ($access_use && $oksrok) { # Условия ОК, Срок ОК
			if ($svit)		db_use('query',"update thing set srok=srok+1 WHERE id_thing='".strval($_REQUEST['idth'])."';");
			elseif($vst)	db_use('query',"update thing set vsrok=vsrok+1 WHERE id_thing='".strval($_REQUEST['idth'])."';");
			
			if ($value->stats['versr']<1) $value->stats['versr']=100;
			# Влияние Интеллекта на срабатывание
			if ($myinfo->sumall('intel')>$value->needstats['intel'] && $value->needstats['intel']>0) {
				$k=$myinfo->sumall('intel')/$value->needstats['intel'];
				$raz=100-$value->stats['versr'];
				$value->stats['versr']=$value->stats['versr']+( $raz*($k-1) ) ;
			}
			if (rand(1,100)<$value->stats['versr']) $access_use=true; else {$access_use=false;$message='Не сработало';}

			if (!$access_use) $mess=$mess_use; else {
				if ($typezakl=='heal' && $_REQUEST['usezakl']=='cureHP600') {
					$newlife=($myinfo->life+600>$myinfo->maxlife()?$myinfo->maxlife():$myinfo->life+600);
					$myinfo->life=$newlife;
					db_use('query',"update person set life='".($newlife)."' WHERE id_person='".$myinfo->id_person."';");
				}elseif ($typezakl=='heal' && $_REQUEST['usezakl']=='cureHP1200') {
					$newlife=($myinfo->life+1200>$myinfo->maxlife()?$myinfo->maxlife():$myinfo->life+1200);
					$myinfo->life=$newlife;
					db_use('query',"update person set life='".($newlife)."' WHERE id_person='".$myinfo->id_person."';");
				}elseif ($typezakl=='mirror' && $_REQUEST['usezakl']=='mirror') {
					$res=db_use('array',"SELECT count(b.id_bot) as coun from battle_units bu 
										LEFT JOIN bots b on b.id_bot=bu.id_person 
										WHERE b.id_maskperson='".$myinfo->id_person."' and bu.id_battle='".$id_battle."' 
										and b.name like '".$myinfo->name." (клон %'");
					$numklon=$res['coun']+1;$maxlife=$myinfo->maxlife();
					$id_bot=createbot($myinfo->id_person,(!$myinfo->invis?$myinfo->name:'невидимка').
						' (клон '.$numklon.')',$id_battle,$myteam,$myinfo->life,$maxlife,$myinfo->level);
					$idbs=bstep_new($id_battle,($myteam==1?$id_bot:0),($myteam==2?$id_bot:0),1);
					$idbe=newevent($id_battle,$idbs,$myteam,0,0,6);
					db_use('query',"update battle set battle_type=4 WHERE id_battle='".$id_battle."'");
					$battle['battle_type']=4; # !!!! Только в случае если физ!!!!
				}elseif ($typezakl=='antimirror' && $_REQUEST['usezakl']=='antimirror') {
					$idbs=bstep_new($id_battle,($myteam==1?$myinfo->id_person:$id_bot),($myteam==2?$id_bot:$myinfo->id_person),1);
					$idbe=newevent($id_battle,$idbs,$myteam,0,0,10);
					insert_event(50,$id_battle,$idbe); # переманил
					db_use('query',"update battle_units set team='".$myteam."' WHERE id_battle='".$id_battle."' and id_person='".$id_bot."'");
				}
			}
		}
	}#/res idthing2
}#/usezakl

# -------------------------------------- Начало вывода
#print_r($_REQUEST);
# получить массив противников + мою команду myteam, enemy 
$battle_units=db_use('query',"SELECT 
								bu.id_person,
								bu.userlevel,
								bu.starthp,
								bu.team,
								bu.inv,
								u.login as name,
								p.maxlife,
								p.life,
								p.level,
								b.name as bname,
								b.life as blife,
								p2.maxlife as bmaxlife,
								p2.level as blevel
							FROM battle_units bu 
							LEFT JOIN person p on p.id_person=bu.id_person
							LEFT JOIN users u on u.id_person=bu.id_person
							
							LEFT JOIN bots b on b.id_bot=bu.id_person
							LEFT JOIN person p2 on p2.id_person=b.id_maskperson
							WHERE bu.id_battle='".$id_battle."' order by team;");
# мои параметры

# сгенерировать список противников, выдать всем системку для релоада броузера, найти противника (текущий id_enemy)
unset ($i);$n=-1;
while ($i<mysql_num_rows($battle_units)) { 
	$i++;$s=mysql_fetch_array($battle_units);if ($i==1) {$oldteam=$s['team'];$enableunset=true;}
	if ($oldteam==$s['team']) {$n++;} elseif ($enableunset) {$n=0;$enableunset=false;}else{$n++;}
	$xname=($s['id_person']>100000?$s['bname']:$s['name']);
	$xlevel=($s['id_person']>100000?$s['blevel']:$s['level']);
	$xlife=($s['id_person']>100000?$s['blife']:$s['life']);
	$xmaxlife=($s['id_person']>100000?$s['bmaxlife']:$s['maxlife']);
	$pls_nick[$s['team']][$n]=($s['inv']?'невидимка':$xname); #echo $n;
	$pls_id[$s['team']][$n]=$s['id_person'];
	$pls_inv[$s['team']][$n]=$s['inv'];
	if ($showstartchatmessage or $endgame) { $pls_startchat[$s['team']]=$pls_startchat[$s['team']].($pls_startchat[$s['team']]?", ":'').$xname;
		if ($s['id_person']<100000 && $battle_startis) {
			db_use('query',"insert into chat (timestamp,id_room,nick,text,color,type) values(".time().",'','".$s['id_person']."','".$id_battle."','','6')");
		}
	}
	if ($update_battleunits) {
		$maxlife=$xmaxlife;
		db_use('query',"update battle_units set starthp='".$maxlife."',userlevel='".$xlevel."' 
		WHERE id_person='".$s['id_person']."' and id_battle='".$id_battle."'");
		$pls_level[$s['team']][$n]=$xlevel;
		$pls_maxhp[$s['team']][$n]=$maxlife;
	}else{
		$pls_level[$s['team']][$n]=$s['userlevel'];
		$pls_maxhp[$s['team']][$n]=$s['starthp'];
	}
	if ($battle['complete']==2) { $pls_hp[$s['team']][$n]=$pls_maxhp[$s['team']][$n]; }else {$pls_hp[$s['team']][$n]=$xlife;}

	if ($s['id_person']==$battle['id_enemy']) {
		$i_enemy=$n;
		$enemy =$temp; # получить полное инфо о противнике
	}elseif ($s['id_person']==$myinfo->id_person) {
		$i_mine=$n;
	}
}unset($i,$temp);

# текущий противник сдох - найти нового

if ($enemy->life==0) {
	# найти нового противника если текущий сдох
	# вторая команда, кто следующий?
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 $id_enemy1=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$enemy->id_person);
	if (!$id_enemy1) {
		# сравнить жизни сторон
echo (($debug)?"gen6=".time():'');
		$res=db_use('array',"SELECT sum(ifnull(p1.life,b1.life)) as p1,sum(ifnull(p2.life,b2.life)) as p2 from battle_units bu 
		LEFT JOIN person p1 on p1.id_person=bu.id_person and bu.team=1 
		LEFT JOIN bots b1 on b1.id_bot=bu.id_person and bu.team=1 
		LEFT JOIN person p2 on p2.id_person=bu.id_person and bu.team=2 
		LEFT JOIN bots b2 on b2.id_bot=bu.id_person and bu.team=2 
		WHERE bu.id_battle='".$id_battle."'");
		
echo (($debug)?"gen6=".time():'');
		if ($res['p1']<1 && $res['p2']<1) {	# ничья
			$status=1;
		}elseif ($res['p1']<1){ # команда 2 выиграла
			if ($myteam==2) {$status=2;}else{$status=3;}
		}elseif ($res['p2']<1){ # команда 1 выиграла
			if ($myteam==1) {$status=2;}else{$status=3;}
		}
	if ($status) {
			$team_win=($status==1?3:($status==2?$myteam:($myteam==1?2:1)));
			$expir=end_game($id_battle,$team_win,0);
			$endgame=true;$attack=false;
#			$res=db_use('array',"SELECT complete from battle WHERE id_battle='".$id_battle."'");
#			echo $res[complete].' '.$id_battle.']';
#			db_use('query',"update battle set complete=2 WHERE id_battle='".$id_battle."'");
			$message=(($myinfo->id_person==12 OR $myinfo->id_person==43)?'5':'')."Бой закончен. Всего вами нанесено урона: <b>".$hp." HP</b>. Получено опыта: <b>".$expir.(($myproc>100 && $expir>0)?' ('.$myproc.'%)':'')."</b>.";
			#header("Location: main.php"); # вместо этого лучше вывести конечный скрин с опытом
	}
	} 
	else {$enemy= new Persinfo ($id_enemy1); }
}

if ($showstartchatmessage) {
	db_use('query',"insert into chat (timestamp,id_room,nick,text,color,type) values(".$battle['start_time'].",'".$myinfo->id_room."','',' Бой между <B>".$pls_startchat[1]."</B> и <B>".$pls_startchat[2]."</B> начался.','','4')");
	

	
	
}

$myinfo->priems=new ActivePriems($myinfo->id_person);
if ($battle['complete']==2) {
} else{
if (!$timeout && !$endgame) {$attack=true;}
# получить № step если нет status
if (!$status) {
	$id_bstep=bstep_find($id_battle,($myteam==1?$myinfo->id_person:$enemy->id_person),($myteam==2?$myinfo->id_person:$enemy->id_person),0);
}

if (!$id_bstep && !$status) {
		if ($enemy->id_person) {
			$id_bstep=bstep_new($id_battle,($myteam==1?$myinfo->id_person:$enemy->id_person),($myteam==2?$myinfo->id_person:$enemy->id_person),0);
		}else{
			unset($id_bstep);
		}
}
if ($id_bstep) { # получили на каком шаге находимся


# ищем bstep моего удара противнику (был ли он)
	$res=db_use('array',"SELECT id_bstep FROM battle_event WHERE id_bstep='".$id_bstep."' and id_battle='".$id_battle."'  AND type1='".$myteam."';");
	$mykick=$res['id_bstep']; 
#получить в res1 и res - удары противника
	$res1=db_use('query',"SELECT id_event,id_bstep,udar,block FROM battle_event 
							WHERE id_bstep='".$id_bstep."' and id_battle='".$id_battle."' AND type1='".($myteam==1?2:1)."';");
	$res=mysql_fetch_array($res1);	
	$kickme=$res['id_bstep'];
	if ($debug) {echo "[001x]";}
# ############################################################## ЗАПРОС НА ИСПОЛЬЗОВАНИЕ ПРИЕМОВ
	if ($_REQUEST['special']) {
		$priem=str_replace(array('"',"'","\\"),array('','',''),$_REQUEST['special']);		
		foreach ($myinfo->puton as $key => $value) {
			if ($value->priem==$_REQUEST['special']) {
				$have_priem=true;$p=&$value;break;
			}
		}
		if ($have_priem) {
			# проверить можно ли
			$enable=true;
			# проверить по статам
			if ($p->checkbattlehars($myinfo,$hit,$krit,$parry,$counter,$block,$s_duh,$hp)) { 
				# можно ипользовать если: прошел срок wait - это в случае если задан wait в параметрах приема
				$act=&$myinfo->priems->priems[$priem];
				if ($p->wait) {
					if ($act['wait']>0) {
						$enable=false;echo "<font color=red>нельзя использовать: еще идет задержка </font>";
					}
				}else{
					if ($act['active']) {$enable=false;echo "<font color=red>нельзя использовать: уже активен</font>";}
				}
			}else{
				$enable=false;echo "<font color=red>нельзя использовать: не хватает требований</font>";
			}			
			if ($enable) {	 
				$ok=false;
				switch ($priem) {
					#case 'counter_winddance':$ok=true;
					case 'parry_prediction':$ok=true;
					case 'hit_strong':$ok=true;
					case 'block_activeshield':$ok=true;
					case 'krit_wildluck':$ok=true;
					case 'multi_hiddenpower':$ok=true;
					case 'hit_luck':$ok=true;
				}
				if ($ok) {if ($debug) {echo $priem;}
				#1) $act['active'] - активен -> UPDATE
				#2) $act['active']<1 - неактивен НО есть $act['uses']>0 -> UPDATE
				#3) $act['uses'] <1 -> INSERT
					if ($act['uses']>0) {
						db_use('query',"update person_on set pr_cur_uses=pr_cur_uses+1".($p->wait?',wait='.$p->wait:'').",pr_active=1 
						WHERE id_person='".$myinfo->id_person."' and type=3 and pr_name='".$priem."'");
					}else{
						db_use('query',"INSERT INTO `person_on` ( `id_person` , `id_paladin` , `timestamp` , `type` , `timestamp2` , 
						`comment` , `pr_name` , `pr_active` , `pr_wait_for` , `pr_cur_uses` ) VALUES ( '".$myinfo->id_person."',
						'".$myinfo->id_person."', NOW( ) , 3, ".time().", NULL , '".$priem."',1,".($p->wait?$p->wait:0).",1);");
					}#uses
					$myinfo->priems->priems[$priem]['active']=1;
					$myinfo->priems->priems[$priem]['uses']++;
					# обновить что потратили
					db_use('query',"update battle_units set s_duh=".($p->sduh?'s_duh-'.$p->sduh:'s_duh-s_duh*'.(0+$p->sduh_proc)).", 
					hit=hit-'".(0+$p->n_hit)."',krit=krit-'".(0+$p->n_krit)."',counter=counter-'".(0+$p->n_counter)."',
					block=block-'".(0+$p->n_block)."',parry=parry-'".(0+$p->n_parry)."',hp=hp-'".(0+$p->n_hp)."' 
					WHERE id_person='".$myinfo->id_person."' and id_battle='".$id_battle."'");
					$s_duh=$s_duh-($p->sduh?$p->sduh:$s_duh*$p->sduh_proc);
					$hit=$hit-$p->n_hit;$krit=$krit-$p->krit;$counter=$counter-$p->n_counter;$block=$block-$p->n_block;
					$parry=$parry-$p->n_parry;$hp=$hp-$p->n_hp;					
				}#/ok
			}#enable
		}else{
			echo "<font color=red>нет такого приема на персонаже</font>";
		}
	}if ($debug) {echo "[01x]";}
# ############################################################## УДАРЫ
	if ($mykick) { /* я ударял  */ 	$attack=false;$waitmess=true;/*echo "[2x]";	*/}
		# Посчитать мои атаки 
		$myattacks=$myinfo->count_attacks();
		# Используем udar.php
		include_once('udar.php');	
		if ($debug) {echo '[0101x]';}
		if ( !(($_REQUEST['attack0'] && (($myattacks>1 && $_REQUEST['attack1']) OR ($myattacks<=1)) && $_REQUEST['defend'])) && $mykick) {
			if ($debug) {echo '		# ударял но не прислал щас данных';}		# ударял но не прислал щас данных
			$id_enemy1=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$enemy->id_person); # для меня
			if ($id_enemy1 !=$enemy->id_person) {

			setnextenemy($id_battle,$myinfo->id_person,$id_enemy1); # мне противник
			$enemy=new persinfo($id_enemy1); 
			if ($debug) {echo 'новый противник '.$enemy->name."<br />";}
			if ($debug) {echo "ударял ли я?";}
			echo (($debug)?"gen7=".time():'');
			$resx=db_use('array',"SELECT e.id_event from battle_step bs 
			LEFT JOIN battle_event e on e.id_bstep=bs.id_bstep 
			WHERE e.id_battle='".$id_battle."' and bs.id_person".$myteam."='".$myinfo->id_person."' and bs.is_result=0 and e.event_logtype=0 and e.type1='".$myteam."'");
			#echo "Осторожно глюк. если есть - дайте знать.";
			echo (($debug)?"SELECT e.id_event from battle_step bs 
			LEFT JOIN battle_event e on e.id_bstep=bs.id_bstep 
			WHERE e.id_battle='".$id_battle."' and bs.id_person".$myteam."='".$myinfo->id_person."' and bs.is_result=0 and e.event_logtype=0 and e.type1='".$myteam."'":'');
			
			
			echo (($debug)?"gen7=".time():'');
			if ($resx['id_event']>0) { 
				if ($debug) {echo "его я ударял, больше никто мне не ответил, так что сидим ждем<br />";}
				$attack=false;$waitmess=true;
			}else{ 
				if ($debug) {echo "я еще его не ударял<br />";}
				$attack=true;$waitmess=false;
			}
		}
	}
	
	if ($_REQUEST['attack0'] && (($myattacks>1 && $_REQUEST['attack1']) OR ($myattacks<=1)) && $_REQUEST['defend']) {	# были присланные данные
											if ($debug) {echo '[010x]';}
		if ($_REQUEST['enemy']==$enemy->id_person) { # верный противник
											if ($debug) {echo '[011x]';}
			if (!$mykick) { # я не ударял
											if ($debug) {echo '[012x]';}
				$enemy->priems=new ActivePriems($enemy->id_person);$enemy->setputon(); 
				$enzones=1+($enemy->sumall('zoneblock')+($enemy->puton['10']->type2==10?1:0));$enzones=1;
				$mykick=true;
				if (!$kickme) { # +++++++++++++++++++++++++++++++++++++++++++++++++меня не ударяли - бью первым 
					# Зафиксировать event моих ударов в базе
														if ($debug) {echo '[013x]';}
					$myevent1=newevent($id_battle,$id_bstep,$myteam,$_REQUEST['attack0'],$_REQUEST['defend'],0);
					if ($myattacks>1) {
														if ($debug) {echo '[014x]';}
						$myevent2=newevent($id_battle,$id_bstep,$myteam,$_REQUEST['attack1'],$_REQUEST['defend'],0);
					}
					# В случае если бот - сделать удар ботом
					if ($enemy->id_person>100000) {
															if ($debug) {echo "[3x]";}
						# узнать количество атак бота 
						$udars_enemy=$enemy->count_attacks();
						# узнать количество зон блока бота
						$defend=rand(1,5)+(5*($enzones>=3?2:($enzones-1)));
						newevent($id_battle,$id_bstep,($myteam==1?2:1),rand(1,5),$defend,$logtype);
						if ($udars_enemy==2) {
							$defend=rand(1,5)+(5*($enzones>=3?2:($enzones-1)));
							newevent($id_battle,$id_bstep,($myteam==1?2:1),rand(1,5),$defend,$logtype);
						}
						# выбрать информацию еще раз - пусть результится
						$res1=db_use('query',"SELECT id_event,id_bstep,udar,block FROM battle_event 
												WHERE id_bstep='".$id_bstep."' and id_battle='".$id_battle."' 
												AND type1='".($myteam==1?2:1)."';");
						$res=mysql_fetch_array($res1);	
						$kickme=$res['id_bstep'];
					}
					# найти мне нового противника
					$id_enemy1=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$enemy->id_person);
					$enemy = new persinfo ($id_enemy1);
					setnextenemy($id_battle,$myinfo->id_person,$id_enemy1); # мне - противник
					
					#db_use('query',"update battle_units set id_enemy='".$id_enemy1."' WHERE id_battle='".$id_battle."' and id_person='".$myinfo->id_person."'");
									if ($debug) {echo 'Найден новый противник. Глюк?';}
									if ($debug) {echo 'idenemy1='.$id_enemy1;}
					# поставится тот у кого есть хп !!!! ВОЗМОЖЕН ГЛЮК ОКОНЧАНИЯ ИГРЫ (Т.Е. ПРОТИВНИКА НЕМА)
					# обновить в базе след противника 
					if (!$id_enemy1) {echo "FUCK SHIT";die;}
					if ($id_enemy1!=$enemy->id_person) {
														if ($debug) {echo '[49]';}
						setnextenemy($id_battle,$myinfo->id_person,$id_enemy1); # мне - противник
						#только в случае если такого battle_step нет создать новый
						if (!bstep_checknoresult($id_battle,($myteam==1?$myinfo->id_person:$id_enemy1),($myteam==2?$myinfo->id_person:$id_enemy1))) {
														if ($debug) {echo '[50xx]';}
							bstep_new($id_battle,($myteam==1?$myinfo->id_person:$id_enemy1),($myteam==2?$myinfo->id_person:$id_enemy1),0);
						}else{#					echo "такой bstep уже есть<br>";
						}
					}elseif ($mykick){
						$waitmess=true;$attack=false;		
					}
			
				}
if ($debug) {echo '[50]';}

		if ($kickme) { # меня ударяли
		
		$resv=db_use('array',"SELECT count(*) as coun from battle WHERE roomitem>0 and ((start_time>".time()."-60*15 and complete=2) or (complete=1)) ");
		#количество битв с вещами которые: окончены в течении последних 15 минут или которые еще идут с вещами
		if ($resv[coun]<1) { $complete15=true; }
		# если с начала боя прошло более 2 минут, и нет таймаута
		if ($battle['last_event']-$battle['start_time']>2 && $battle['complete']==1 && $battle['id_room']==15 && $battle[roomitem]<1 && $complete15) 
		{
					$idbs=bstep_new($id_battle,($myteam==2?$enemy->id_person:0),($myteam==1?$enemy->id_person:0),1);
					$idbe=newevent($id_battle,$idbs,($myteam==1?2:1),0,0,9);
					insert_event(49,$id_battle,$idbe); 
					db_use('query',"update battle set roomitem=581 WHERE id_battle='".$battle[id_battle]."'");	
		}

				# 1) информация о том как меня ударили - в res
				# определить кол-во ударов противника $udars_enemy
				$udars_enemy=mysql_num_rows($res1);
				# определить $e_att1/2 $e_block1/2 $e_event1/2
				$e_att1=$res['udar'];$e_block=$res['block'];$e_event1=$res['id_event'];
				if ($udars_enemy) {
					$res=mysql_fetch_array($res1);$e_att2=$res['udar'];$e_event2=$res['id_event'];
				}
				# Вероятность ударить и крита - мои
				# кто кого
				$uv1=c_uv($myinfo);$uv2=c_uv($enemy);
				if (true) {echo "<small>уворот ".$myinfo->name."=".$uv1.'<br />';}
				if (true) {echo "уворот ".$enemy->name."=".$uv2.'<br />';}
				$pruv1=c_pruv($myinfo); $pruv2=c_pruv($enemy); 
				if (true) {echo "против уворота ".$myinfo->name."=".$pruv1.'<br />';}
				if (true) {echo "против уворота ".$enemy->name."=".$pruv2.'<br />';}

				# расчет вер-то ударить для 2го игрока
				$razn=$uv1-$pruv2*2;
				if ($razn<0) {
					$ud2=100;
				}elseif ($razn<100) {
					$ud2=100-$razn; 
				}elseif ($razn>100) {
					$ud2=$pruv2*100/$uv1;
					$ud2=($ud2<10?10:$ud2); # не менее 10% вер-ть ударить
				}$r=rand(1,100);$verud21=($r<$ud2?true:false);
				$r=rand(1,100);$verud21x=($r<$ud2?true:false);
				# расчет вер-то ударить для 1го игрока
				$razn=$uv2-$pruv1*2;
				if ($razn<0) {
					$ud1=100;
				}elseif ($razn<100) {
					$ud1=100-$razn; 
				}elseif ($razn>100) {
					$ud1=$pruv1*100/$uv2;
					$ud1=($ud1<10?10:$ud1); # не менее 10% вер-ть ударить
				}
				$r=rand(1,100);$verud12=($r<$ud1?true:false);
				$r=rand(1,100);$verud12x=($r<$ud1?true:false);
				
				$kr1=c_kr($myinfo);$kr2=c_kr($enemy);$prkr1=c_prkr($myinfo);$prkr2=c_prkr($enemy);
				$prkr1x=100/ ($kr1/$prkr2);	$verkr1=100-$prkr1x;$verkr1=($verkr1<0?0:$verkr1);
				$prkr2x=100/ ($kr2/$prkr1);	$verkr2=100-$prkr2x;$verkr2=($verkr2<0?0:$verkr2);
				# Вероятность ударить и крита - противника

				if ($debug) {echo '[51]';}
			# --------------------------------------------------------------------------------------------------------------
				# определить зоны блокировки противника и его инфу
				$oldmylife=$myinfo->life;
				$myzones=1+($myinfo->sumall('zoneblock')+($myinfo->puton['10']->type2==10?1:0));
				$myzones=1;$myblock=$_REQUEST['defend']+(5*($myzones>=3?2:($myzones-1)));
				$r1=rand(0,100);if ($r1<$verkr2) {$verkr21=true;} else {$verkr21=false;}
							
				$myinfo->life=udar12($enemy,$myinfo,$e_att1,$myblock,$e_event1,0,
						$verud21,$verkr21,1,$battle['k'],$id_battle,$id_bstep,0,$enzones,$myzones);
				if ($udars_enemy>1) {
					#бьет enemy
					$r1=rand(0,100);if ($r1<$verkr2) {$verkr21=true;} else {$verkr21=false;}
					$myinfo->life=udar12($enemy,$myinfo,$e_att2,$myblock,$e_event2,0,
						$verud21x,$verkr21,2,$battle['k'],$id_battle,$id_bstep,0,$enzones,$myzones);
				}
				if ($debug) {echo '[52]';}
				#мой удар myinfo
				$r2=rand(0,100);if ($r2<$verkr1) {$verkr12=true;} else {$verkr12=false;}
				$oldlife=$enemy->life;
				$enemy->life=udar12($myinfo,$enemy,	$_REQUEST['attack0'],$e_block,$myevent1,$myblock,
				$verud12,$verkr12,1,$battle['k'],$id_battle,$id_bstep,$myteam,$myzones,$enzones);
				if ($myattacks>1) {
				#мой удар myinfo
				$r2=rand(0,100);if ($r2<(100-$veruv2)) {$verud12=true;} else {$verud12=false;}
				$r2=rand(0,100);if ($r2<$verkr1) {$verkr12=true;} else {$verkr12=false;}
					$enemy->life=udar12($myinfo,$enemy,$_REQUEST['attack1'],$e_block,$myevent2,$myblock,
				$verud12x,$verkr12,2,$battle['k'],$id_battle,$id_bstep,$myteam,$myzones,$enzones);
				}
				$hp=$oldlife-$enemy->life;
				$myhp=$oldmylife-$myinfo->life;	
				if ($hp && $myhp) {
					db_use('query',"update battle_units set counter=counter+1 WHERE id_battle='".$id_battle."' and id_person='".$enemy->id_person."' " );
					db_use('query',"update battle_units set counter=counter+1 WHERE id_battle='".$id_battle."' and id_person='".$myinfo->id_person."' " );
				}
		
	
				if (true) {	#echo "вероятность ударить критом для ".$myinfo->name." =  ".$verkr1."<br />";
					#echo "вероятность ударить критом для ".$enemy->name." =  ".$verkr2."<br />";
					#echo "вероятность увернуться для ".$myinfo->name." =  ".$veruv1."<br />";
					#echo "вероятность увернуться для ".$enemy->name." =  ".$veruv2."<br /></small>";
				}
				$myinfo->priems=new ActivePriems($myinfo->id_person);
				#--------------------------------------- результат ударов
				if ($enemy->life>0) { # тот же противник если у него остались ХП
					bstep_new($id_battle,($myteam==2?$enemy->id_person:$myinfo->id_person),($myteam==1?$enemy->id_person:$myinfo->id_person),0);
					setnextenemy($id_battle,$myinfo->id_person,$enemy->id_person);	setnextenemy($id_battle,$enemy->id_person,$myinfo->id_person);
					$disable_addnew=true;
					if ($debug) {echo '[531]';}
				}else{		#противник убит
					$idbs=bstep_new($id_battle,($myteam==2?$enemy->id_person:0),($myteam==1?$enemy->id_person:0),1);
					$idbe=newevent($id_battle,$idbs,($myteam==1?2:1),0,0,7);
					insert_event(31,$id_battle,$idbe); # убит
					if ($debug) {echo '[532]';}
				}
				if ($myinfo->life<=0) {		#я убит
					$idbs=bstep_new($id_battle,($myteam==1?$myinfo->id_person:0),($myteam==2?$myinfo->id_person:0),1);
					$idbe=newevent($id_battle,$idbs,$myteam,0,0,7);
					insert_event(31,$id_battle,$idbe); # убит
					if ($debug) {echo '[533]';}
				}
				if ($debug) {echo '[54]';}
				# обновить pls_hp
				$pls_hp[$myteam][$i_mine]=$myinfo->life;
				$pls_hp[($myteam==1?2:1)][$i_enemy]=$enemy->life;
				# обновить для вывода "нанесено хп"
				$dam=$pls_hp[($myteam==1?2:1)][$i_enemy]-$enemy->life;
				$hp=$hp+$dam;
				# Завершение battle_step (разменялись ударами)
				bstep_setresult($id_battle,$id_bstep);	
				#... приемы
				# проверить все ли в battle events обновлено
				# выбор следущего противника (обновление battle_units) 
			
				# Проверка конца боя: найти следующих противников + определить конец боя (status)
				if ($debug) {	echo "prstatus";}
				$status=0;
				if ($battle['battle_type']==1 OR $battle['battle_type']==2) { # физы и новичков
					if ($debug) {echo '[545]'.$status;}
					$id_enemy1=$enemy->id_person; $id_enemy2=$myinfo->id_person; 
					if (!$enemy->life && !$myinfo->life) { # ничья
						$status=1;
					}elseif(!$enemy->life && $myinfo->life){ # противник повержен
						$status=2;
					}elseif($enemy->life && !$myinfo->life){ # я повержен
						$status=3;
					}
				} elseif ($battle['battle_type']==4) { # групповой бой
					# следующий мой противник = следующий из команды противника 
					# найти текущего противника в списке pls_id
					if ($debug) {echo '[55]'.$status;}
					$id_enemy1=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$enemy->id_person); # для меня
					#echo 'newidenemy1='.$id_enemy1.'get_next_enemy('.$myteam.','.$pls_id.','.$pls_hp.','.$enemy->id_person.')';
					#print_r($pls_hp);
					#echo "Возможно удар ему уже отправлен";
		
					
					if ($id_enemy1) {
						$id_bstep=bstep_find($id_battle,($myteam==1?$myinfo->id_person:$id_enemy1),($myteam==2?$myinfo->id_person:$id_enemy1),0);
						if ($id_bstep) {
			echo (($debug)?"gen8=".time():'');
							$res=db_use('array',"SELECT id_event from battle_event WHERE id_bstep='".$id_bstep."' and id_battle='".$id_battle."' and type1='".$myteam."'");
			echo (($debug)?"gen8=".time():'');
							if ($res['id_event']) {
								$attack=false;$waitmess=true;
							}
						}
					}

		
					$id_enemy2=get_next_enemy(0,($myteam==1?2:1),$pls_id,$pls_hp,$myinfo->id_person); # для противника
					# варианты: одного нет/обоих нет
					if ($id_enemy1<1 && $id_enemy2<1) { # все сдохли одновременно (после моего удара) - ничья
						$status=1;
					}elseif ($id_enemy1<1) { # моего противника нет - я выиграл $myteam
						$status=2;
					}elseif ($id_enemy2<1) { # у моей команды никого не осталось - проиграли 
						$status=3;
					}
				}
				if ($debug) {echo '[56]'.$status;}
				# Создание новых bstep для новых противников
				# только если больше нет неразменянных только тогда 
				# если незакончена игра и если можно менять противника ..
				# создание следущего размена ударами (добавление battle_step)
				# id_enemy1 - мой след противник, id_enemy2 - его след противник
				# для меня: - мой след - enemy2
				$waitmess=false;$attack=true;if ($debug) {echo "Проба отключения принудительного обновления<br />";}
		
				if (!$status && !$disable_addnew) {
					if ($debug) {echo '[57]'.$status;}
					setnextenemy($id_battle,$myinfo->id_person,$id_enemy1); # мне противник
					if ($id_enemy1!=$enemy->id_person) {
						setnextenemy($id_battle,$id_enemy1,$myinfo->id_person); # противнику - я
					}
					bstep_new($id_battle,($myteam==1?$myinfo->id_person:$id_enemy1),($myteam==2?$myinfo->id_person:$id_enemy1),0);
					$enemy=new Persinfo($id_enemy1);
				}
				if ($debug) {echo '[58]'.$status;}
				# Если status -> Завершение боя, end_game, генерация "бой закончен"
				if ($status && false) {
					if ($debug) {echo '[59]'.$status;}
					$team_win=($status==1?3:($status==2?$myteam:($myteam==1?2:1)));
					$expir=end_game($id_battle,$team_win,0);$endgame=true;$attack=false;
					$message=(($myinfo->id_person==12 OR $myinfo->id_person==43)?'6':'')."Бой закончен. Всего вами нанесено урона: <b>".$hp." HP</b>. Получено опыта: <b>".$expir.(($myproc>100 && $expir>0)?' ('.$myproc.'%)':'')."</b>."."Победила ".($myteam==$team_win?'моя команда.':'команда противника.');
					#header("Location: main.php"); # вместо этого лучше вывести конечный скрин с опытом
				}else{
					$id_enemy1=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$enemy->id_person); # для меня
					if ($debug) {	echo 'newidenemy1='.$id_enemy1.'get_next_enemy('.$myteam.','.$pls_id.','.$pls_hp.','.$enemy->id_person.')';
					#print_r($pls_hp);
					echo "Возможно удар ему уже отправлен";
				}
		
				if ($id_enemy1) {
					$id_bstep=bstep_find($id_battle,($myteam==1?$myinfo->id_person:$id_enemy1),($myteam==2?$myinfo->id_person:$id_enemy1),0);
					if ($id_bstep) {
						$res=db_use('array',"SELECT id_event from battle_event WHERE id_bstep='".$id_bstep."' and id_battle='".$id_battle."' and type1='".$myteam."'");
						if ($res['id_event']) {
							$waitmess=true;$attack=false;
						}else{
							$waitmess=false;$attack=true;
							if ($debug) {	echo 'тут глюк есть с формой отправки удара?';}
						}
					}
				}else{
					$waitmess=true;$attack=false;
				}


			}

# -------------------------------------------- БЬЮ ПЕРВЫМ 

}#/kickme # +++++++++++++++++++++++++++++++++++++++++++++++++[конец]меня не ударяли - бью первым
			} #/!mykick
		}else{ #/if ($_REQUEST['enemy']==$enemy->id_person) { # верный противник
			# ошибка???
		} #/if ($_REQUEST['enemy']==$enemy->id_person) { # верный противник
	}
}else{
	$message_error="Не выбран удар/блок.";
}

}#/z_id_batt
# посланные приемы

# ЛЕВАЯ ЧАСТЬ БИТВЫ
echo"
<HTML><HEAD>
<link rel=stylesheet type=\"text/css\" href=../i/main.css>
<link rel=stylesheet type=\"text/css\" href=../i/move/design3.css>
<link rel=stylesheet type=\"text/css\" href=../i/combat09.css>
<meta content=\"text/html; charset=windows-1251\" http-equiv=Content-type>
<META Http-Equiv=Cache-Control Content=no-cache>
<meta http-equiv=PRAGMA content=NO-CACHE>
<META Http-Equiv=Expires Content=0>
<SCRIPT>var combat_loaded = false;</SCRIPT>
<SCRIPT src='../i/commoninf.js'></SCRIPT>
<SCRIPT src='../i/js/combats_096_ru.js'></SCRIPT>
<SCRIPT SRC=\"../i/sl2.26.js\"></SCRIPT>
<SCRIPT SRC=\"../i/ch2.81.js\"></SCRIPT>
</HEAD>
<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 bgcolor=e2e0e0>
<div id=\"mmoves\" style=\"background-color:#FFFFCC; visibility:hidden; z-index: 100; overflow:visible; position:absolute; border-color:#666666; border-style:solid; border-width: 1px; padding: 2px;\"></div>
<SCRIPT>

if (!combat_loaded) {
if (0) window.location.replace('/battle.php?no_ext_script=1&rnd='+Math.random() ); 
}else {
attacks = parseInt('".$myinfo->count_attacks()."');
ranged = 0;
enemy=\"".$enemy->id_person."\";
myid=\"".$myinfo->id_person."\";
noattack = 0?' disabled':'';";
$myinfo->setputon(); 
$zones=1+($myinfo->sumall('zoneblock')+($myinfo->puton['10']->type2==10?1:0));
if ($zones==1) {
echo"def_zones = 'головы и груди|груди и живота|живота и пояса|пояса и ног|ног и головы'.split('|');";
}elseif($zones==2) {
echo"def_zones = 'головы, груди и живота|груди, живота и пояса|живота, пояса и ног|пояса, ног и головы|ног, головы и груди'.split('|');";
}elseif($zones>=3) {
echo"def_zones = 'головы, груди, живота и пояса|груди, живота, пояса и ног|живота, пояса, ног и головы|пояса, ног, головы и груди|ног, головы, груди и пояса'.split('|');";
}
echo"}
combat_loaded = true;
</SCRIPT>
<div id=hint4 class=ahint></div>
<TABLE width=\"100%\" cellspacing=\"4\" cellpadding=\"0\">
<FORM action=\"battle.php\" method=\"POST\" name=\"f1\" id=\"f1\" onkeyup=\"set_action();\">
<INPUT TYPE=hidden name=myid value=\"".$myinfo->id_person."\">
<TR><TD valign=top>
<table  border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
  <tr valign=\"top\">
    <td><table width=\"250\"  border=\"0\" cellspacing=\"0\" cellpadding=\"1\">
        <tr>
          <td align=\"left\" valign=\"top\"><table  border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"posit\">
              <tr>
                <td style=\"font-size:10px\"> <span class=\"noclass\" style=\"font-size:10px;font-weight:normal;cursor:default;\">".(int)($myinfo->life)."/".(int)$myinfo->maxlife()."</span>&nbsp;<img src=\"../i/misc/bk_life_".(($myinfo->life*178/$myinfo->maxlife())<30?'red':(($myinfo->life*178/$myinfo->maxlife())>60?'green':'yellow')).".gif\" width=\"".($myinfo->life*178/$myinfo->maxlife())."\" height=\"8\" alt=\"Уровень жизни\"><img src=\"../i/misc/bk_life_loose.gif\" width=\"".(178-(int)$myinfo->life*178/$myinfo->maxlife())."\" height=\"8\" alt=\"Уровень жизни\"><span style=\"width:1px; height:10px\"></span><img src=\"../i/herz.gif\" width=\"10\" height=\"9\" alt=\"Уровень жизни\"></nobr><br>
                  
				  </td>
              </tr>
              <tr>
                <td><table  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                    <tr valign=\"top\">
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
			
                            <td>";showpic1($myinfo,9,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
			
                          </tr>
                          <tr>
			    <td>";showpic1($myinfo,3,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
			
                           
                          <tr>
                            <td>";if ($myinfo->puton[4]) {showpic1($myinfo,4,(($battle['complete']==1 && !$timeout)?4:1));} else {showpic1($myinfo,40,(($battle['complete']==1 && !$timeout)?4:1));}echo"</td>
                          </tr>
                           
			
                          <tr>
			    <td>";showpic1($myinfo,5,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                        </table></td>
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
                            <td align=\"left\" valign=\"top\" width=\"120\" height=\"220\">
				<div bgcolor=\"black\" style=\"position:relative; z-index: 1; width:120px; height:220px\"
				 onmouseout='hideshow();' onmouseover='fastshow(\"<B>".$myinfo->name."</B><BR>";
$harnames=getharnames();
foreach ($myinfo->hars[1] as $key => $value) {
echo $harnames[$key].": ".($myinfo->sumall($key))."<BR>";
}
				 echo "<BR>Уровень духа: ".str_pad($s_duh/100,strlen($s_duh)+1,'.00',STR_PAD_RIGHT)."\")'>
				 	<img src=\"../i/chars/".$myinfo->sex."/".$myinfo->shadow."\" width=\"120\" height=\"220\" >
					<div style=\"position:absolute; left:0px; top:0px; width:120px; height:220px; z-index:2\">
						";
						
						#print_r($myinfo->priems);
						foreach ($myinfo->priems->priems as $key => $value) {
							if ($value['active']) {
							$priem=new prieminfo(0,$key);
							echo " <IMG width=36 height=23 src='../i/misc/icons/".$priem->priem.".gif' onmouseout='hideshow();' onmouseover='fastshow(\"<B>".$priem->name."</B> (Прием)<BR><BR>".$priem->opisan."\")';>";
							}
							#next($value);
						}
						// <IMG width=36 height=23 src='http://img.combats.ru/i/misc/icons/ele_addict_speedHP.gif' onmouseout='hideshow();' onmouseover='fastshow("<B><U>Пагубное пристрастие [2]</U></B> (Эффект)<BR>Осталось: 1 ч.  50 мин.<BR><BR>Восстановление HP (%): -72",300)';> <IMG width=36 height=23 src='http://img.combats.ru/i/misc/icons/icon_pot_base_50_dex.gif' onmouseout='hideshow();' onmouseover='fastshow("<B>Зелье Стремительности</U></B> (Зелье)<BR>Осталось: 4 ч.  16 мин.<BR><BR>Ловкость: +10",300)';>
						echo"
					</div>
				</div>
                            </td>
                          </tr>
                          <tr>
                            <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                                <tr>
                                	<td>";showpic1($myinfo,14,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
					<td>";showpic1($myinfo,15,4);echo"</td>
                                	<td>";showpic1($myinfo,16,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                                </tr>
                              </table></td>
                          </tr>
                        </table></td>
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
			    <td>";showpic1($myinfo,1,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                          <tr>
			    <td>";showpic1($myinfo,2,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                          <tr>
			    <td>";showpic1($myinfo,13,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                          <tr>
			    <td>";showpic1($myinfo,11,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                          <tr><td>";for ($i=6;$i<=8;$i++) {
showpic1($myinfo,$i,(($battle['complete']==1 && !$timeout)?4:1));
}unset($i);
                          echo"</td></tr>
                          <tr>
			    <td>";showpic1($myinfo,10,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                          <tr>
			    <td>";showpic1($myinfo,12,(($battle['complete']==1 && !$timeout)?4:1));echo"</td>
                          </tr>
                        </table></td>
                    </tr>
                  </table></td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td align=\"left\" valign=\"top\">
<SMALL>



</SMALL>
		  </td>
        </tr>
      </table></td>
  </tr>
</table>
</td>
<td  valign=top width=\"100%\">
<TABLE cellspacing=0 border=0 cellpadding=0 width=100% id=\"f1t\">
<TR>
<TD colspan=4>
	<TABLE cellspacing=0 cellpadding=0 width=100%>
	<TD align = left>
	<td align=\"left\" nowrap><SCRIPT>drwfl(\"".$myinfo->name."\",".$myinfo->id_person.",\"".$myinfo->level."\",'".$myinfo->align."',\"".$myinfo->clanname."\")</SCRIPT></td>
	<td align=\"right\" nowrap><a href=\"JavaScript:top.AddToPrivate('".$enemy->name."', true)\"><img src=\"../i/lock3.gif\" width=\"20\" height=\"15\" alt=\"Приват\"></a><SCRIPT>";
#foreach ($pld_id[($myteam==1?2:1)] as $n => $id)  if ($id=$enemy->id_person) $invis=$
if ($enemy->invis) 
	echo "drwfl(\"невидимка\",\"\",\"\",'',\"\")";
else
	echo "drwfl(\"".$enemy->name."\",".$enemy->id_person.",\"".$enemy->level."\",'".$enemy->align."',\"".$enemy->clanname."\")";

	echo "</SCRIPT></td>

	</TABLE>
</TD>
<TR>
<TD align=center valign=top style='padding-left: 5'>
	<TABLE cellspacing=0 cellpadding=0 width=100%>
	<TR>
	<TD align=center width=100%>
	<SPAN id='messid'><BR></SPAN>
	</TD>
	</TR><TR><TD align=center style='padding-left: 5'>
";
for ($j=0;$j<=1;$j++) {
	for ($i=$j*6+100;$i<=$j*6+105;$i++) {					
		showpic1($myinfo,$i,(($battle['complete']==1 && !$timeout)?4:1));
	}unset($i);
}unset($j);
echo "<BR>";

echo $mess;

if ($myinfo->life<1 && !$status) {$message="Для вас бой окончен. Ожидаем пока закончат и другие игроки..";$attack=false;}
if (!$enemy && !$status) {$message="Нет противника ..";$attack=false;}
if ($attack) { # Если атакуем - рисуем УДАР/БЛОК
echo"
	<TABLE cellspacing=0 cellpadding=0 width=400>
	<TR>
	<TD align=center valign=bottom><div style='background-color:f2f0f0'><b>Атака</b></div></TD>
	<TD>&nbsp;</TD>
	<TD align=center valign=bottom><div style='background-color:f2f0f0'><b>Защита</b></div></TD>
	</TR>
	<TR><TD>

<SCRIPT>DrawDots(1);</SCRIPT>
</TD><TD>&nbsp;</TD><TD>
<script>DrawDots(0);</script>
</TD></TR>
<TR>
	<TD colspan=4 align=center bgcolor=f2f0f0><TABLE width=100% cellpadding=0 cellspacing=0>
	<TD width=100>
<script>DrawButtons();</script>

<TD width=100 align=right>&nbsp;<A href=\"/battle.php?".rand(1,5000000)."\">
<A href=\"/battle.php?".rand(1,5000000)."\"><IMG src='../i/misc/ico_refresh.gif' width=16 height=19 style='cursor:hand' alt='Обновить'></A></TD></TABLE></TD>
</TR>
</TABLE>";
}

# Рисуем всяку мелочь в середине
echo"<BR>
<script>";
#DrawTrick(can_use, img,  txt, free_cast, dsc, resource, select_target, target, target_login, magic_type, name){
#target - friend/enemy/any  друж цель
#free_cast - будет подтверждение
#resource - hit krit counter block parry hp sduh mana zader ispolzovaniy, tratit hod = когда нет freecast
#$myinfo->priems=new ActivePriems($myinfo->id_person);
for ($i=201;$i<=210;$i++) {
	$p=&$myinfo->puton[$i];
	if ($p) {
		$act=&$myinfo->priems->priems[$p->priem];
		$enable=true;
		# проверить по статам
		if ($p->checkbattlehars($myinfo,$hit,$krit,$parry,$counter,$block,$s_duh,$hp)) { 
			# можно ипользовать если: прошел срок wait - это в случае если задан wait в параметрах приема
			if ($p->wait) {
				if ($act['wait']>0) {
					$enable=false;
				}
			}else{
				if ($act['active']) {$enable=false;}
			}
		}else{
			$enable=false;
		}
		# wait если есть активный - вывод сколько еще
		# uses - определить 
		echo "DrawTrick(";
		echo ($enable?'1,':'0,').
		"'".$p->priem."','"
		.$p->name."',"
		.($p->hod?0:1).",'"
		.mysql_escape_string($p->opisan)."','"
		.(0+$p->n_hit).",".(0+$p->n_krit).",".(0+$p->n_counter).",".(0+$p->n_block).",".(0+$p->n_parry).",".(0+$p->n_hp).",".($p->sduh?$p->sduh:($p->sduh_proc?$p->sduh_proc."%":0)).",".(0+$p->mana).",".(0+$p->wait).",".($p->wait?($act['wait']>0?$act['wait']:0):0).",".($p->maxuses?0+$act['uses']:0).",".(0+$p->maxuses)."',0,'',0,1,'".$p->priem."');";
	} else {
		echo"</script><IMG style=\"\" width=40 height=25 src='../i/misc/icons/clear.gif'><script>";
	}
}unset($i);

#function DrawRes(SP_HIT, SP_KRT, SP_CNTR, SP_BLK, SP_PRY, SP_HP, SP_SPR, spirit_level){
echo"
DrawRes(".(0+$hit).", ".(0+$krit).", ".(0+$counter).", ".(0+$block).", ".(0+$parry).", ".(0+$hp).", ".($s_duh/100).", ".str_pad($s_duh/100,strlen($s_duh)+1,'.00',STR_PAD_RIGHT).");
</script>

</TD>
</TABLE>

<INPUT TYPE=hidden name=enemy value=\"".$enemy->id_person."\">
</TABLE>
</CENTER>";

if ($attack) { # Инфо противника
echo "
</td>
<TD  valign=top align=right>
<table  border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
  <tr valign=\"top\">
    <td><table width=\"250\"  border=\"0\" cellspacing=\"0\" cellpadding=\"1\">
        <tr>
          <td align=\"left\" valign=\"top\"><table  border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"posit\">
              <tr>
                <td style=\"font-size:10px\"> ";

if (!$enemy->invis && substr($enemy->name,0,9)!='невидимка') 
				echo"<span class=\"noclass\" style=\"font-size:10px;font-weight:normal;cursor:default;\">".(int)$enemy->life."/".(int)$enemy->maxlife()."</span>"; else unset($enemy->puton);
				echo"&nbsp;<img src=\"../i/misc/bk_life_".(($enemy->life*178/$enemy->maxlife())<30?'red':(($enemy->life*178/$enemy->maxlife())>60?'green':'yellow')).".gif\" width=\"".((int)$enemy->life*178/$enemy->maxlife())."\" height=\"8\" alt=\"Уровень жизни\"><img src=\"../i/misc/bk_life_loose.gif\" width=\"".(178-(int)$enemy->life*178/$enemy->maxlife())."\" height=\"8\" alt=\"Уровень жизни\"><span style=\"width:1px; height:10px\"></span><img src=\"../i/herz.gif\" width=\"10\" height=\"9\" alt=\"Уровень жизни\"></nobr>";


				echo"<br>
                  
				  </td>
              </tr>
              <tr>
                <td><table  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                    <tr valign=\"top\">
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
			
                            <td>";
							
showpic1($enemy,9,1); 
echo "</td>
			
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,3,1);
echo "</td>
                          </tr>
			
                          
                          <tr>
			    <td>";
if ($enemy->puton[4]) {showpic1($enemy,4,1);} else {showpic1($enemy,40,1);}
echo "</td>
                          </tr>
                          
			
                          <tr>
			    <td>";
showpic1($enemy,5,1);
if ($enemy->invis) {$enemy->name='невидимка';}
echo "</td>
                          </tr>
                        </table></td>
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
                            <td align=\"left\" valign=\"top\" width=\"120\" height=\"220\">
				<div bgcolor=\"black\" style=\"position:relative; z-index: 1; width:120px; height:220px\"
				 onmouseout='hideshow();' onmouseover='fastshow(\"<B>".$enemy->name."</B><BR>";
if (substr($enemy->name,0,9)!='невидимка') 
	foreach ($enemy->hars[1] as $key => $value) 
		echo $harnames[$key].": ".($enemy->sumall($key))."<BR>";
					

echo "\")'>
				 	<img src=\"../i/chars/".$enemy->sex."/".$enemy->shadow."\" width=\"120\" height=\"220\" >
					<div style=\"position:absolute; left:0px; top:0px; width:120px; height:220px; z-index:2\">
						
					</div>
				</div>
                            </td>
                          </tr>
                          <tr>
                            <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                                <tr>
                                	<td>";
showpic1($enemy,14,1);
echo "</td>
					<td>";
showpic1($enemy,15,1);
echo "</td>
                                	<td>";
showpic1($enemy,16,1);
echo "</td>
                                </tr>
                              </table></td>
                          </tr>
                        </table></td>
                      <td><table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                          <tr>
			    <td>";
showpic1($enemy,1,1);
echo "</td>
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,2,1);
echo "</td>
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,13,1);
echo "</td>
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,11,1);
echo "</td>
                          </tr>
                          <tr>
                            <td>";
for ($i=6;$i<=8;$i++) {
showpic1($enemy,$i,1);
}unset($i);
echo"</td>
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,10,1);
echo "</td>
                          </tr>
                          <tr>
			    <td>";
showpic1($enemy,12,1);
echo "</td>
                          </tr>
                        </table></td>
                    </tr>
                  </table></td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td align=\"left\" valign=\"top\">
<SMALL>



</SMALL>
		  </td>
        </tr>
      </table></td>
  </tr>
</table>";
}else{ # Не атакуем - не рисуем противника. Варианты:
$a=array('Ожидаем хода противника','Ща ответят','Ждемс','Еще немного','Жахнет Гендальф или нет?','ЩАс все будет','Еще немного подождем','Противник явно маринует','Сейчас долбанет','Блин ну когда же','Ахтунг в тапках','Только бы никто не вмешался','Перекур','Таймаут был близок','Ждем-недождемся','Ща ведь ударит, зараза','Кто-то щас кританет','Ау блин слоники??','Заснули там??','Эй там, на берегу!','Давай мочи зараза!','Рубись!!!','И долго еще так сидеть?','А ответить?');
$r=rand(0,count($a));
if ($waitmess) {$message=$a[$r]."...";}
	echo"
<BR>
<CENTER><B>

<FONT COLOR=red>".$message."</FONT><BR>

</B></CENTER><BR>";

echo"<CENTER>";

if ($timeout_choose) { # Еслм можем ставить таймаут
	echo 'Противник долго не делает свой ход, вы можете закончить бой победителем<BR>
<INPUT TYPE=submit id="refreshb" value="Да, я победил!!!" name=victory_time_out><BR>

или признать ничью<BR>
<INPUT TYPE=submit id="refreshb" value="Считаем, что этого боя не было" name=victory_time_out2><BR>';
}else{
echo"<INPUT TYPE=submit id=\"refreshb\" value=\"".($endgame?'Возврат':'Обновить')."\" name=".($endgame?'battle_out':'battle')."><BR>";
}

echo"</CENTER>
</td>
<TD  valign=top align=right>
<IMG SRC=\"../i/battle/";
$a="3,14,18,19,20,26,28,29,32,34,37,38,39,40,41,44,45,48,50,53,54";$a=explode(',',$a);
#end 1 4 7 8 9 10 11 13 25 27 
#boy 3 14 18  19 20  26 28 29 32 34  37 38 39  40 41 44 45  48 50 53 54 
#mens 21 22 23 24 33 35 36 42 43 46 47 49 51 52 
#18 - 40 fizy
echo ($a[rand(1,count($a)-1)]).".jpg\" WIDTH=\"210\" HEIGHT=\"230\" BORDER=0 ALT=\"\">";

} # ==============/////////////////

# Вывод противников, лога и т.д. </HTML>
echo "
</td></tr>
</FORM>
</TABLE><TABLE cellpadding=0 cellspacing=0 width=100%>
<TR style='padding: 2,4,2,4'><TD bgcolor=#D0D0D0><div id=mes onclick=\"AddLogin()\" oncontextmenu=\"OpenMenu()\" style=\"text-align: center\"><IMG SRC=../i/lock4.gif WIDTH=18 HEIGHT=10 BORDER=0 ALT=\"приват\" style=\"cursor:hand\" onclick=\"Prv('";
for ($i=0;$i<count($pls_id[1]);$i++) {
echo "private [".$pls_nick[1][$i]."] ";
}
echo "')\"> ";
for ($i=0;$i<count($pls_id[1]);$i++) { #[".$pls_level[1][$i]."]
echo "<span class=B1 >".$pls_nick[1][$i]."</span> ".($pls_inv[1][$i]?'':"<small>[".(int)$pls_hp[1][$i]."/".(int)$pls_maxhp[1][$i]."]</small>").' ';
}
echo "<B>против</B> <IMG SRC=../i/lock4.gif WIDTH=18 HEIGHT=10 BORDER=0 ALT=\"приват\" style=\"cursor:hand\" onclick=\"Prv('";
for ($i=0;$i<count($pls_id[2]);$i++) {
echo "private [".$pls_nick[2][$i]."] ";
}
echo "')\"> ";
for ($i=0;$i<count($pls_id[2]);$i++) { #[".$pls_level[2][$i]."]
echo "<span class=B2 >".$pls_nick[2][$i]."</span> ".($pls_inv[2][$i]?'':"<small>[".(int)$pls_hp[2][$i]."/".(int)$pls_maxhp[2][$i]."]</small>").' ';
}
echo "</div>
</TABLE>";
logprint($id_battle,'',false,0,'desc');
if ($debug) {echo "finalgen=".time();}
echo "
<BR>
<BR>
<font class=dsc>(Бой идет с таймаутом ".(0+$battle['timeout'])." мин.)</font><BR><BR>На данный момент вами нанесено урона: <B>".(0+$hp)." HP.</B><BR>

<DIV ID=oMenu CLASS=menu onmouseout=\"closeMenu()\"></DIV>
<TEXTAREA ID=holdtext STYLE=\"display:none;\"></TEXTAREA>
</BODY>

</HTML>
";

die;



} else {
$session->destroy_session(session_id() );
session_destroy();
header("Location: totop.htm"); 
die;
}
?>