<?
function napast($id_person_x,$type) { #1-дарк 2-нападение

global $myinfo;
if ($myinfo->life<$myinfo->maxlife()*0.33) { 
	$mess="Вы слишком ослаблены для поединка! Восстановитесь!"; 
}elseif ($myinfo->level<1) { 
	$mess="Нулевым нападать запрещено"; 
} else {
	if ($id_person_x>100000)  # информация о текущем поединке того на кого нападаем (поединок не закончен)
	{
		$res_pers=db_use('array',"select bo.id_bot as id_person,bo.life,p.maxlife,p.align,p.id_room,1 as online,0 as inv 
		from bots bo
		LEFT JOIN person p on p.id_person=bo.id_maskperson
		where bo.id_bot='".$id_person_x."'");
		$res_batt=db_use('array',"select b.id_battle,b.complete,b.battle_type,b.k,bu.team 
		from battle_units bu		 
		LEFT JOIN battle b on b.id_battle=bu.id_battle 
		where bu.id_person='".$id_person_x."' AND b.complete<2");
	}
	else
	{
		$res_pers=db_use('array',"select p.id_person,p.life,p.maxlife,p.align,p.id_room ,po.id_person as inv,s.session_id as online
		from person p
		left join users u on u.id_person=p.id_person 
		left join sessions s on s.username=u.login
		left join person_on po on po.id_person=p.id_person and po.type=5
		where p.id_person='".$id_person_x."'");
		$res_batt=db_use('array',"select b.id_battle,b.complete,b.battle_type,b.k,bu.team 
		from person p
		LEFT JOIN battle b on b.id_battle=p.id_battle
		LEFT JOIN battle_units bu on bu.id_battle=b.id_battle and bu.id_person=p.id_person
		where p.id_person='".$id_person_x."'");
	}
	$id_person_x=$res_pers['id_person'];
	if ($res_pers[inv]) unset($res_pers[online]);
	if (!$id_person_x) 							$mess='Персонаж не найден';
	elseif (!$res_pers[online])					$mess='Персонаж не находится в клубе';
	elseif ($res_pers['align']!=3 && $type==1)	$mess='Персонаж не имеет темной склонности';
	elseif ($res_pers['life']<=0.34*$res_pers['maxlife'] && $id_person_x<100000) {
		$mess='Персонаж слишком ослаблен, чтобы вам противостоять. Имейте совесть.';
	}elseif ($res_batt['team']<1 && $res_batt['complete']!=1 && $type==1){
		$mess='Персонаж не находится в поединке';
	}elseif ($res_pers['id_room']!=$myinfo->id_room && $id_person_x<100000) {
		$mess='Вы должны находиться в одной комнате ('.$res_pers['id_room'].'<>'.$myinfo->id_room.') с тем '.($type==1?'пому помогаете':'на кого хотите напасть');
	}elseif ($res_pers['id_room']==24 && $myinfo->id_room==24) {
		$mess='Нельзя нападать во Дворце Мироздателя';
	}elseif ($res_batt['battle_type']!=1 && $res_batt['battle_type']!=2 && $type==1){
		$mess='Вы не можете вмешаться в данный поединок';
	}elseif ($myinfo->id_battle){
		$mess='Вы уже находитесь в бою';
	}else{
	
		$x=db_use("array","select count(b.id_battle) as coun from battle b where b.id_battle='".(0+$res_batt['id_battle'])."' and b.id_battle in 
(select bu.id_battle from battle_units bu LEFT JOIN bots bt on bt.id_bot=bu.id_person and bu.id_person>100000 where id_battle=b.id_battle and bu.id_person>100000 and bt.name='тупой бот')");
		if ($x['coun']>0) { $mess="Встревания в поединки с ботом запрещены";return $mess;die;}
		
		#нет тупого бота

		if (is_in_battle($myinfo->id_person)){
			$mess='Сначала отзовите свою заявку'; 
		}else{
		
			if ($id_person_x<100000) {	# на человека	
				if ($myinfo->invis) 
				new_chat_message5($id_person_x,'На вас напал невидимка');
				else
				new_chat_message5($id_person_x,'На вас напал'.($myinfo->sex?'а':'').' '.$myinfo->name.'['.$myinfo->level.']');		
			}elseif ($res['complete']<1){ # на бота если битва либо начата либо закончена
				$temp=new Persinfo($id_person_x);
				db_use('query',"update bots set life='".$temp->maxlife()."' where id_bot='".$id_person_x."'");
				unset($temp);
			}
		# для того кто уже в поединке
		if ($res_batt['team'] && $res_batt['complete']==1) {
			if ($type==1) {$myteam=$res_batt['team'];}	else{$myteam=($res_batt['team']==1?2:1);}
			
			if ((int)$myinfo->align==1 OR (int)$myinfo->align==3) {
				# тип 1 - помощь.
				if ($type!=1) { # нападение
					# есть ли в моей команде "чужие" склонности? - слетит значок
					if ((int)$myinfo->align==1) {		$leftalign=3;$rightalign=4;
					}elseif((int)$myinfo->align==3) {	$leftalign=1;$rightalign=2;
					}
					$mynewteam=($res['team']==1?2:1);
					$x=db_use("array","select count(bu.id_person) as coun from battle_units bu LEFT JOIN person p on p.id_person=bu.id_person
					and bu.id_battle='".(0+$res_batt['id_battle'])."' and p.align>=".($leftalign)." and p.align<".($rightalign)." and bu.team='".$mynewteam."'");
					if ($x['coun']>0) {
						#db_use('query',"update person set align=0,id_clan=0 where id_person='".$myinfo->id_person."'");	
						echo "<script>alert('Предупреждение! Вы вмешиваетесь в поединок за врагов, сейчас должна слететь склонность. Нововведение скоро будет работать.');</script>";
					}
					# есть ли в чужой команде мои склонности - слетит значок
					# я - темный - нельзя против тарманов
					if ($myinfo->align==3) { # считаем тарманов					
					$x=db_use("array","select count(bu.id_person) as coun from battle_units bu LEFT JOIN person p on p.id_person=bu.id_person
					and bu.id_battle='".(0+$res_batt['id_battle'])."' and p.align>".((int)$myinfo->align)." 
					and p.align<".((int)$myinfo->align+1)." and bu.team='".$res_batt['team']."'");	
					if ($x['coun']>0) {
						#db_use('query',"update person set align=0,id_clan=0 where id_person='".$myinfo->id_person."'");	
						echo "<script>alert('Предупреждение! Вы идете в поединок против тарманов, сейчас должна слететь склонность. Нововведение скоро будет работать.');</script>";
					}
					}else{ # я тарман - против любых темных низя
					$x=db_use("array","select count(bu.id_person) as coun from battle_units bu LEFT JOIN person p on p.id_person=bu.id_person
					and bu.id_battle='".(0+$res_batt['id_battle'])."' and p.align>=".((int)$myinfo->align)." 
					and p.align<".((int)$myinfo->align+1)." and bu.team='".$res_batt['team']."'");					
					if ($x['coun']>0) {
						#db_use('query',"update person set align=0,id_clan=0 where id_person='".$myinfo->id_person."'");	
						echo "<script>alert('Предупреждение! Вы идете в поединок против своих, сейчас должна слететь склонность. Нововведение скоро будет работать.');</script>";
					}
					}
				}
				#0 1 2 - 3
				#2 3 4 - 1
			}

			db_use('query',"update battle set battle_type=4 where id_battle='".$res['id_battle']."'");
			db_use('query',"INSERT INTO battle_units (id_battle,id_person,team,starthp,userlevel,inv) 
			VALUES ('".$res_batt['id_battle']."','".$myinfo->id_person."',".$myteam.",'".$myinfo->maxlife()."','".$myinfo->level."',".($myinfo->invis?1:0).");");
			db_use('query',"update person set id_battle='".$res['id_battle']."' where id_person='".$myinfo->id_person."'");
			#вмешался в поединок
			db_use('query',"INSERT INTO battle_step (id_battle,id_person1,id_person2,is_result) 
			VALUES (".$res_batt['id_battle'].",".($myteam==1?$myinfo->id_person:0).",".($myteam==2?$myinfo->id_person:0).",1)");
			$id_bstep=mysql_insert_id();
			#db_use('array',"select max(id_event) as max1 FROM battle_event WHERE id_battle=".$res['id_battle']);
			newevent($res_batt['id_battle'],$id_bstep,$myteam,0,0,6);
			#db_use('query',"INSERT INTO battle_event (id_battle,id_event,id_bstep,timestamp,type1,udar,block,event_logtype) 
			#VALUES (".$res['id_battle'].",".($x['max1']+1).",".$id_bstep.",".time().",".$myteam.",0,0,6);");
			
			$battle_units=db_use('query',"SELECT bu.id_person,bu.userlevel,bu.starthp,bu.team FROM battle_units bu 
			WHERE bu.id_battle='".$res_batt['id_battle']."' order by team;");
			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++;}
				$temp=new Persinfo($s['id_person']);
				$pls_nick[$s['team']][$n]=$temp->name; #echo $n;
				$pls_id[$s['team']][$n]=$s['id_person'];
				$pls_level[$s['team']][$n]=$s['userlevel'];
				$pls_maxhp[$s['team']][$n]=$s['starthp'];
				$pls_hp[$s['team']][$n]=$temp->life;
				if ($s['id_person']==$myinfo->id_person) {
					$i_mine=$n;
				}
			}unset($i,$temp);
			$id_enemy=get_next_enemy(0,$myteam,$pls_id,$pls_hp,$myinfo->id_person);	
			db_use('query',"INSERT INTO battle_step (id_battle,id_person1,id_person2,is_result) 
			VALUES (".$res_batt['id_battle'].",".($myteam==1?$myinfo->id_person:$id_enemy).",".($myteam==2?$myinfo->id_person:$id_enemy).",0)");	
			db_use('query',"update battle_units set id_enemy='".$id_enemy."' where id_person='".$myinfo->id_person."' and id_battle='".$res_batt['id_battle']."'");
			echo "<script>top.frames['main".$myinfo->id_person."'].location.href='/battle.php';</script>";
		}else{
			$res=db_use('query',"INSERT INTO battle
			(complete,createtime,owner_id,battle_type,k,team1pls,
			team2pls,timeout,team11,team12,team21,team22,id_room) 
			VALUES (1,".time().",'".$myinfo->id_person."',2,0,1,1,3,0,0,0,0,'".$myinfo->id_room."');");
			$in_battle=mysql_insert_id();
			db_use('query',"INSERT INTO battle_units (id_battle,id_person,team,id_enemy,s_duh,hit,krit,block,counter,parry,hp,inv) 
			VALUES ('".$in_battle."','".$myinfo->id_person."',1,'".$id_person_x."',1000,0,0,0,0,0,0,".($myinfo->invis?1:0).");");
			$enemy=new persinfo ($id_person_x);
			db_use('query',"INSERT INTO battle_units (id_battle,id_person,team,id_enemy,s_duh,hit,krit,block,counter,parry,hp,inv) 
			VALUES ('".$in_battle."','".$id_person_x."',2,'".$myinfo->id_person."',1000,0,0,0,0,0,0,".($enemy->invis?1:0).");");
			db_use('query',"INSERT INTO battle_step (id_battle,id_person1,id_person2,is_result) 
			VALUES (".$in_battle.",".$myinfo->id_person.",".$id_person_x.",0)");
			db_use('query',"UPDATE person set id_battle='".$in_battle."' where id_person in (select id_person from battle_units where id_battle='".$in_battle."');");
			echo "<script>top.frames['main".$myinfo->id_person."'].location.href='/battle.php';</script>";
		}#in battle
		}#zayavka

	}#norm

}
return $mess;
}
?>