
AddParticleToObject(1,"Highlight");
MoveEmiter("Highlight",460,465);
AddParticleToObject(258,"vent");
MoveEmiter("vent",959,205);
StartEmiter("vent");
AddParticleToObject(257,"stone");
MoveEmiter("stone",180,480);
StartEmiter("stone");
WaitRender();
speciale_action(2,209,true)
playeffect("089")
local takestone=false;

function gameinput(sender,obj_id,attachedID)
	
	if SLevel==1.0 then return; end;
	if sender == 2 then
		RemoveFromMouse(object);
		MessageProc(sender,obj_id);
	return;end;	
--обработка плашки	
	 if (sender == 1  or sender==5) and not isTimes  and imagetex~=-1 then
			set_visible_object(obj.plashechka.id,false)
			set_visible_object(obj[imagetex].id,false)
			del_object_from_game(5654547)		
			gameinput(26,imageid)			
			del_object_from_game(5654547)
				del_object_from_game(5654547)
				del_object_from_game(5654547)
				del_object_from_game(5654547)
				del_object_from_game(5654547)
				del_object_from_game(5654547)	
	end
	
--наведение на камень	
	if sender==35 then	
		if not glove_on and not canusegadjets and not scaner_on and not flags.kamen then
			if obj_id == 257  then
				set_visible_object(100004,false)
			set_visible_object(333,true)
			StartAnimation(333)				
			return;end	
	
		end
	return;end
--уведение	
	if sender==39 then		
		set_visible_object(333,false)
	set_visible_object(100004,true)
	return;end
	
	
	if sender ==41 then	
	RotateHandler(obj_id);	
if obj_id ==obj.dragonfly.id then	
	StartAnimation( 5555555555,1,5 );
	return;end;	
	return;end;

	
	
	if sender == 33 then
		if flags.start_mini1  then
		set_visible_object(210,true)
			WaitRender();
			
		return;end;
		if not flags.finish then
		flags.finish = false;
			ShowMenu(true);
			SwitchToSheet("re");
			
		return end
		
	return;end;
	
	if sender == 100 then		
	 
		 
		if flags.first_time_load then
		
				flags.first_time_load=false
			set_visible_object(obj.intro.id,true);
			speciale_action(4,obj.intro.id);
			flags.start_draw = false;			
		return; end;
		if flags.comics2 then
		
		LevelComplete()
		end
		
		
	return; end;
	if sender == 8 then
	
		HideScaner()		
		HideRentgen()
		HideNvg();
--если камень в руках то не снимаем глов по праввому клику		
		if takestone then
		speciale_action(4,211)
		speciale_action(4,209)
		takeobjecttohand=false
		RemoveFromMouse(257);
		SetObjectPosition(257,-16,304)
		set_visible_object(256,false)
		setcolor(256,1,1,1,1)
		-- set_obj_size(257,299,363)
		StartEmiter("stone");
		takestone=false;
		return;end
		HideGlove();
	return end;
	
	if sender ==26 then
--мигание красного фона
	if obj_id ==50 then
	speciale_action(2,209,true)		
	end
--сообщение после которого идем в мини игру	
	if obj_id ==51 then
	
		ShowMenu( false );					
		ClosePlushes();
		flags.start_mini1 = true;	
		HideGlove()
		HideScaner()
	end
	
	end
	if sender==777 then
		--начало локации	
				if top_plush_id and  flags.comics1 then		
					StartTimer(43342,0.5,"conv13")
				function conv13()
					CreatePlashechka(50,"51","goodgirl")	
				end		
					
					ShowMenu(true);
					SwitchToSheet("gr")
					flags.endcom=true;
					flags.items_collected = true;
					flags.comics1 = false;
				return;end
--старт мини			
		if flags.start_mini1 and not flags.mini1_complete then				
			leafobj={2234}
			GetRenderTarget(2234,"rendertar");	
			mininame="mini3";
			mininum1=13;
			mininum2=10;
			mininame2="museum2";
		return; end;
	if top_plush_id then		
		ShowMenu(true)
	end		
	
	end

	
if sender == 15 then
--красный фон мигает
	if obj_id== 209 then
		speciale_action(2,209,true)
		playeffect("089")
	return; end;
return; end;
if sender == 16 then
--красный фон
	if obj_id== 209 then
		speciale_action(2,209,true)
		playeffect("089")
	return; end;
return; end;
if sender == 1 then
--кликнули на вентиляцию
		if obj_id==258 and not flags.kamen and attachedID==-1 then
			if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
			return;end;
			CreatePlashechka(50,"61","goodgirl")-----------------------слишком высоко
		end
		
--аттачим камень к его копие	
		
		if obj_id==2566 then
				if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
			return;end;
			WriteToConsole(tostring(flags.kamen).."attached= "..attachedID.."\n")
			if not flags.kamen and takeobjecttohand then
			RemoveFromMouse(257);
			-- playeffect("098")
			speciale_action(2,257)
			set_visible_object(256,true)
			setcolor(256,1,1,1,1)
			HideGlove()
			flags.kamen =true
			playeffect("032")
			Set_Cursor(258,2)
			--StartTimer(600,1.5)
			CreatePlashechka(51,"63","goodgirl")-----------------------отлично теперь я могу добраться до вентиляции
			canmenu=true
			return; end;
			if flags.kamen then			
				Set_Cursor( 258, 3 );
				ShowMenu( false );					
				ClosePlushes();
				HideGlove()
				HideScaner()
				flags.start_mini1 = true;			
			return; end;
			
		end
		
--берем камень в руки
		if obj_id==257 then
			if scaner_on then
				CreatePlashechka(9999,"70","goodgirl")
			return;end;
			if glove_on then
				Set_Cursor( 258, 3 );								
				-- addObjectToMouse(257,-70,-60);
				add_to_mouse(257)
				-- playeffect("096")
				takeobjecttohand =true
				-- set_obj_size(257,170,200)
				SetCustomCursor(obj.glove.id);				
				StopEmiter("stone");
				
				takestone=true;		
				set_visible_object(256,true)
				setcolor(256,0.5,0.5,0.5,0.5)				
			return; end;
			CreatePlashechka(50,"62","goodgirl")-----------------------без перчатки нельзя
		return; end;
return; end;
	
	
return; end;

function SelectRandom()
local dist=-1;local a=-1;local b=-1;local v=100;local t=-1;local diag=-1;
local width = -1;local height = -1;local radius=1.2;
		if takestone then	
			RemoveFromMouse(257);
			SetObjectPosition(257,-16,304)
			StartEmiter("stone");
			takestone=false;		
			HideGlove();
		end
		
	if flags.items_collected then
		if not flags.kamen then
		computation(257);
			
		return end
		computation(258);
		
	return end
	
	
	ok = false
	while not ok do
		help_id = GetRandomObject();
		for i,v in pairs(obj) do
			if v.id == help_id and not v.is_collapsed then
				ok = true
				x,y=GetObjectPosition(v.id);
				x1,y1=GetObjectPosition(obj.dragonfly.id);
				width,height = GetObjectSize(v.id)
				a= (x-x1); b= (y-y1);  dist= math.sqrt (a^2+b^2);				
		        t=dist/400;		
                r = (math.sqrt(width^2+height^2)*0.5);		
				
				if r<50 then	r=75;	radius=4;	end  -- при радиусе меньше 50 определяем время кружения и радиус стрекозы
				
				if r>50 and r <100 then	r=87 radius=2.5;  end  --при радиусе больше 50 и меньше 100
				
				if r>100 then 	r=100 	radius=0.75;  end  -- при радиусе больше 100
				
				StartBigTravel(obj.dragonfly.id, v.id, 0, t, r/70, t, 3 ,radius);
			return end
		end
	end
end;
