function OnSceneLoad(screen)
    game_state = {}    
    LoadData(screen)
    local pf = play_field
    local level = pf:GetLevelScreen()
    game_state.custom_cursors = {}
    game_state.locked_objects = {}
    --level:AddTaskSafe(CreateTask('', '', ''))
    --zone = CreateZoomZone('')
    game_state.locker = ReferenceCounter()
    game_state.active_zone = nil
    game_state.inventory_zones = {}
    game_state.active_objects = {}
    
    -------------------------------------------------------------------------------------------
    AddRandomTasks(18,
                   CreateTask('BANSAI', '', 'bansai'),
                   CreateTask('BUTTERFLY', '', 'butterfly'),
                   CreateTask('CANDLE', '', 'candleholder'),
                   CreateTask('CHAIN', '', 'chain'),
                   CreateTask('CLOCK', '', 'clock'),
                   CreateTask('DEER', '', 'deer'),
                   CreateTask('GAUNLET', '', 'gauntlet'),
                   CreateTask('HAT', 'HATS', 'hat', 'hat_magic'),
                   CreateTask('HELMET1', '', 'helmet'),
                   CreateTask('HOURGLASS', '', 'hourglass'),
                   CreateTask('LIZARD', '', 'lizard'),
                   CreateTask('OWL', '', 'owl'),
                   CreateTask('PINION', '', 'pinion'), 
                   CreateTask('SCROLL', '', 'scroll'), 
                   CreateTask('SEASHELL', '', 'seashell'), 
                   CreateTask('SNAKE', '', 'snake'), 
                   CreateTask('TELESCOPE', '', 'telescope')
                  );
                  
    -------------------------------------------------------------------------------------------
    -- init comics
    InitChain1(screen);
	game_state.chain1.state_changer = 'OnStartingComicsComplete'
    InitChain2(screen);
    InitChain3(screen);
    AddSheriffEyeLogic();
                  
    -------------------------------------------------------------------------------------------
    -- Создание зум зоны открытого крана для диалога
    zoom_stop_sock = CreateZoomZone('close_zoom_stop_sock',                                         
                                    '', -- pixel_open_storage
                                    'bg_zoom_stop_sock',
                                    'dirty_paper' );
    zoom_stop_sock.SetVisible(false);
    zoom_stop_sock.close_button:SetActive(false);
    zoom_stop_sock.OnShown = function()
       game_state.chain2.Start();
  	end
    zoom_stop_sock.OnHidden = function()
        if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
    end
    
    -------------------------------------------------------------------------------------------
    -- Создание зум зоны открытого крана для проявления бумаги
    zoom_stop_sock_2 = CreateZoomZone('close_zoom_stop_sock_2',                                         
                                      '',
                                      'bg_zoom_stop_sock_2',
                                      'dirty_paper_2',
                                      'pixel_stop_sock',
                                      'drop',
                                      'stop_cock_layer' );
    play_field:GetObject('pixel_stop_sock'):GetAnimation():SetColor('0x01FFFFFF');
    zoom_stop_sock_2.SetVisible(false);
    zoom_stop_sock_2.OnShown = function()
        local object_stop_sock = play_field:GetObject('pixel_stop_sock');
        game_state.picture_bubbles = AddBubblesAnimation(play_field, 3, object_stop_sock:GetZ(),object_stop_sock:GetX(), object_stop_sock:GetY(), 0.25, 0.25, math.random(0, 5));
	    game_state.picture_bubbles:AttachTo(play_field);
        --game_state.locked_objects['pixel_stop_sock'] = false;
		OnValveClicked()
        --AddBubblesExplosion(object_stop_sock, play_field, 1, object_stop_sock:GetZ() + 10, 0, 0, 1 / object_stop_sock:GetScaleX(), 1 /object_stop_sock:GetScaleX(), 0);
    end
    zoom_stop_sock_2.OnHidden = function()
        if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
    end
    game_state.locked_objects['pixel_stop_sock'] = true;
    game_state.custom_cursors['pixel_stop_sock'] = 'CursorMech';
        
    -------------------------------------------------------------------------------------------
    -- Создание зум зоны чаши
    zoom_bowl = CreateZoomZone('close_zoom_bowl',                                         
                               '',
                               'bg_zoom_bowl',
                               'flask_2' );
    zoom_bowl.SetVisible(false);
    
    -------------------------------------------------------------------------------------------
    -- Создаем инвентарную зову с тремя пробирками, куда собираются препараты
    local object_inventory_1_part    = play_field:GetObject('pixel_inventory_1');
    inventory_1       = CreateInventory(object_inventory_1_part:GetX(),
                                        object_inventory_1_part:GetY(),
                                        object_inventory_1_part:GetZ() + 50.,
                                        object_inventory_1_part:GetName(),
                                        CreateItem('test_tube3_tool_visual_inventory', 'test_tube3_tool'),
                                        CreateItem('test_tube2_tool_visual_inventory', 'test_tube2_tool'),
                                        CreateItem('test_tube1_tool_visual_inventory', 'test_tube1_tool'),
                                        play_field:GetTimer(),
										"INVENTORY_TASK_15_1");
										
	inventory_1.state_changer = 'OnInventory1Complete'
                                                  
    inventory_1.OnComplete = function()
        inventory_2.Unlock();
		PlaySound('15_ChemicalAggregateStart')
        PlayDischarge();
        
        TimerDo(play_field:GetTimer(), 0.5, PlayAnimation, play_field:GetObject('anim_chemistry_1'));
        TimerDo(play_field:GetTimer(), 1.0, PlayAnimation, play_field:GetObject('anim_chemistry_2'));
        TimerDo(play_field:GetTimer(), 2.0, PlayAnimation, play_field:GetObject('anim_chemistry_3'));
  	end                                                  

    CreateTool('test_tube1', 'test_tube1_tool');
    CreateTool('test_tube2', 'test_tube2_tool');
    CreateTool('test_tube3', 'test_tube3_tool');
    play_field:IgnoreOnTestPoint('test_tube1_layer');
    play_field:IgnoreOnTestPoint('chemistry2_layer');
    
    -------------------------------------------------------------------------------------------
    -- Создаем инвентарную зону с пробиркой и колбой
    local object_inventory_2_part    = play_field:GetObject('pixel_inventory_2');
    inventory_2       = CreateInventory(object_inventory_2_part:GetX(),
                                        object_inventory_2_part:GetY(),
                                        object_inventory_2_part:GetZ() + 50.,
                                        object_inventory_2_part:GetName(),
                                        CreateItem('flask_2_tool_visual_inventory', 'flask_2_tool'),
                                        nil,
                                        CreateItem('flask_tool_visual_inventory', 'flask_tool'),
                                        play_field:GetTimer(),
										"INVENTORY_TASK_15_2");
									
	inventory_2.state_changer = 'OnInventory2Complete'
									
	inventory_2.OnShown = function()
		RegisterZoomZone(zoom_bowl, 'active_pixel_bowl');
	end
                                                  
    inventory_2.OnComplete = function()
		PlaySound('15_RetortDarken')
        TimerDo(play_field:GetTimer(), 1.0, PlayAnimation, play_field:GetObject('anim_ink'));
        
        play_field:GetObject('pixel_pos_particle_ink'):AddParticleSystem('data/ParticleSystem/Ink_15.psi', 
                                                                     play_field:GetObject('particles_ink'):GetAnimationPtr());
        play_field:GetObject('pixel_pos_particle_gas'):AddParticleSystem('data/ParticleSystem/Gas_15.psi', 
                                                                     play_field:GetObject('particles_gas'):GetAnimationPtr());
        RegisterZoomZone(zoom_stop_sock_2, 'active_pixel_stop_sock_2');                                                                   
  	end

    CreateTool('flask', 'flask_tool');
    local flask_2_tool = CreateTool('flask_2', 'flask_2_tool');
    flask_2_tool.OnSuccess = function()
	    UnregisterZoomZone(zoom_bowl);
	end
	flask_2_tool.OnSet = function()
	    zoom_bowl.SetVisible(false);
	    if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
	    play_field:GetObject('flask_2_tool'):SetVisible(true);
	end
	flask_2_tool.OnFail = function()
	    play_field:ShowParticleLine(GetMouseX(),
                                    GetMouseY(),
                                    play_field:GetObject('active_pixel_bowl'):GetX(),
                                    play_field:GetObject('active_pixel_bowl'):GetY(),
                                    300.0);
        play_field:GetObject('flask_2_tool'):SetVisible(false);
        if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
	end
    
    -------------------------------------------------------------------------------------------
    -- Set parameter for animation
    play_field:GetObject('anim_chemistry_1'):GetAnimation():Stop();
    play_field:GetObject('anim_chemistry_1'):Hide();
    play_field:GetObject('anim_chemistry_2'):GetAnimation():Stop();
    play_field:GetObject('anim_chemistry_2'):Hide();
    play_field:GetObject('anim_chemistry_3'):GetAnimation():Stop();
    play_field:GetObject('anim_chemistry_3'):Hide();
    play_field:GetObject('anim_electro_1'):GetAnimation():Stop();
    play_field:GetObject('anim_electro_1'):Hide();
    play_field:GetObject('anim_ink'):GetAnimation():Stop();
    play_field:GetObject('anim_ink'):Hide();
    play_field:GetObject('anim_ink'):GetAnimation():SetMode(HGEANIM_FWD + HGEANIM_NOLOOP);
    
    game_state.all_items_found = false;
    game_state.comics3_play = false;
    game_state.meta_object = 'cigar15'
	
	game_state.OnStartingComicsComplete = function()
		RegisterZoomZone(zoom_stop_sock, 'active_pixel_stop_sock')
	end
	
	game_state.OnInventory1Complete = function()
		inventory_2.Unlock();
	end
	
	game_state.OnInventory2Complete = function()
		play_field:GetObject('anim_ink'):GetAnimation():Play();
		play_field:GetObject('anim_ink'):Show();
        play_field:GetObject('anim_electro_1'):GetAnimation():Play()
		play_field:GetObject('anim_electro_1'):Show()
		
        play_field:GetObject('pixel_pos_particle_ink'):AddParticleSystem('data/ParticleSystem/Ink_15.psi', 
                                                                     play_field:GetObject('particles_ink'):GetAnimationPtr());
        play_field:GetObject('pixel_pos_particle_gas'):AddParticleSystem('data/ParticleSystem/Gas_15.psi', 
                                                                     play_field:GetObject('particles_gas'):GetAnimationPtr());
        RegisterZoomZone(zoom_stop_sock_2, 'active_pixel_stop_sock_2');          
	end
end

function PlayDischarge()
    play_field:GetObject('pixel_pos_discharge'):AddParticleSystem('data/ParticleSystem/Discharge.psi', play_field:GetObject('particles_discharge'):GetAnimationPtr());
   
    local effector = CreateAnimationEffector()
    effector:AttachTo( play_field:GetObject('pixel_pos_discharge') )
    effector:SetKey(_TRACK_X, 0, 802.5);
    effector:SetKey(_TRACK_Y, 0, 218.5);
    effector:SetKey(_TRACK_X, 0.2, 774);
    effector:SetKey(_TRACK_Y, 0.2, 224);
    effector:SetKey(_TRACK_X, 0.4, 759.5);
    effector:SetKey(_TRACK_Y, 0.4, 269);
    effector:SetKey(_TRACK_X, 0.6, 741);
    effector:SetKey(_TRACK_Y, 0.6, 279.5);
    effector:SetKey(_TRACK_X, 0.8, 686.5);
    effector:SetKey(_TRACK_Y, 0.8, 260);
    effector:SetKey(_TRACK_X, 1, 654);
    effector:SetKey(_TRACK_Y, 1, 224.5);
    effector:SetKey(_TRACK_X, 1.2, 645);
    effector:SetKey(_TRACK_Y, 1.2, 199);
    effector:SetKey(_TRACK_X, 1.4, 649);
    effector:SetKey(_TRACK_Y, 1.4, 167);
    effector:Play();
    
    TimerDo(play_field:GetTimer(),
			1.4,
			function()
				play_field:GetObject('pixel_pos_discharge'):RemoveParticleSystem();                                       
			end );
    TimerDo(play_field:GetTimer(), 1.4, PlayAnimation, play_field:GetObject('anim_electro_1'));
end

function PlayAnimation(anim_obj)
    anim_obj:GetAnimation():Play();
    anim_obj:Show();
end

function OnMinigameCompleted()
end

function InitChain1(screen)
    local comics1 = CreateComics(screen, 'druggist');
    
    comics1.OnHidden = function()
		comics1.DefaultOnHidden()
		RegisterZoomZone(zoom_stop_sock, 'active_pixel_stop_sock')
    end
    
    game_state.chain1 = CreateChain('pixel_comics_1',
                                    screen,
                                    comics1, GetString("COMICS_15_1") );
end

function InitChain2(screen)
    local comics1 = CreateComics(screen, 'druggist');
    local comics2 = CreateComics(screen, 'Sheriff', 'eyes');
    
    game_state.chain2 = CreateChain('pixel_comics_2',
                                    screen,
                                    comics1, GetString("COMICS_15_2"),
                                    comics2, GetString("COMICS_15_3") );
                                    
    comics2.OnHidden = function()
        play_field:GetLevelScreen():GetPanel():Go()
		zoom_stop_sock.close_button:SetActive(true);
		if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
		OnButtonPress('close_zoom_stop_sock')
	end                                    
end

function InitChain3(screen)
    local comics1 = CreateComics(screen, 'Sheriff', 'eyes');
    local comics2 = CreateComics(screen, 'druggist');
    
    game_state.chain3 = CreateChain('pixel_comics_3',
                                    screen,
                                    comics1, GetString("COMICS_15_4"),
                                    comics2, GetString("COMICS_15_5") );
                                    
    comics2.OnHidden = function()
        play_field:GetLevelScreen():GetPanel():Go();
		zoom_stop_sock_2.close_button:SetActive(true);
		if game_state.all_items_found == true then
		    OnWin();
		    return
		end
		game_state.comics3_play = true;
		if game_state.locker:GetNReferences() > 0 then
	        game_state.locker:Release()
	    end
	end                                    
end

function OnSceneFree(screen)
    FreeData(screen)
end

function OnNotebookClosed()
    game_state.all_items_found = true;
    if game_state.comics3_play == true then
        OnWin();
    end
end

function OnNotebookOpened()
end


function OnUpdate(dt)
end

function OnScreenShown()
    game_state.chain1.Start();
end

function OnExit()
end

function OnObjectMouseEnter(object)
    DefaultOnObjectMouseEnter(object)
end

function OnObjectMouseLeave(object)
    DefaultOnObjectMouseLeave(object)
end

function OnValveClicked()
	PlaySound('15_DropOnPaper')
	game_state.picture_bubbles:Hide()
	game_state.locked_objects['pixel_stop_sock'] = true;
	zoom_stop_sock_2.close_button:SetActive(false);
	
	local time_move_drop = 0.7;
	local time_opacity_dirty_paper = 0.5;
	local time_comics_show = 2.;
	function DisplayDitryPaper()
		play_field:GetObject('dirty_paper_2'):ChangeOpacity(1, 0, time_opacity_dirty_paper);
		local drop = play_field:GetObject('drop');
		drop:Hide();
		AddBubblesExplosion(drop, play_field, 1, drop:GetZ() + 10, 0, 0, 1 / drop:GetScaleX(), 1 / drop:GetScaleX(), 0);
	end        
	play_field:GetObject('drop'):Move(0., 80., time_move_drop);
	TimerDo(play_field:GetTimer(), time_move_drop, DisplayDitryPaper);
	TimerDo(play_field:GetTimer(), time_move_drop + time_opacity_dirty_paper + time_comics_show + 1., game_state.chain3.Start);
end

function OnObjectMouseDown(object)
    obj_name = object:GetName()
    local pf = play_field
    local is_wrong_click = true

    is_wrong_click = DefaultOnObjectMouseDown(object)

    if is_wrong_click then
        --pf:ShowWrongObjectEffect()
    end

    if obj_name == 'pixel_stop_sock' and game_state.locked_objects['pixel_stop_sock'] == false then
		OnValveClicked()
    end
    
    return is_wrong_click;
end

function OnObjectMouseUp(object)
end

function OnObjectWillBeFound(object)
end

function OnToolFound(tool)
end

function OnToolApply(tool, object)
    DefaultOnToolApply(tool, object)
end

function OnObjectReachPanel(object)
end

function OnButtonPress(title)
    DefaultOnButtonPress(title)
    if title == 'close_zoom_stop_sock' then
        UnregisterZoomZone(zoom_stop_sock);
        inventory_1.Unlock();
        OnSceneStateChanged(play_field)
    end
    if title == 'close_zoom_stop_sock_2' then
        if game_state.locked_objects['pixel_stop_sock'] == true then
            UnregisterZoomZone(zoom_stop_sock_2);
            OnSceneStateChanged(play_field)
        end
    end
end

function OnMouseMove(previous_pos, current_pos)
end

function OnSetTool(tool)
end

function CanBeHinted(obj)
    if locked_object[obj] ~= true then
        return true
    else
        return false
    end
end

function OnLostFocus()
end

function OnGainFocus()
end

-- CLEAR_ON_SAVE_BEGIN
-- Do not edit code listed below (generated by the editor on each save)
function LoadData(screen)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/bg.jpg',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bg',anim,512,384,70,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/bansai.png',0,0,80,89,1,0)
	anim:SetHotSpot(40,44)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bansai',anim,700,437,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/butterfly.png',0,0,37,37,1,0)
	anim:SetHotSpot(18,18)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('butterfly',anim,352,386,100,40,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/candleholder.png',0,0,50,64,1,0)
	anim:SetHotSpot(25,32)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('candleholder',anim,1001,553,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/chain.png',0,0,179,30,1,0)
	anim:SetHotSpot(89,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('chain',anim,274,29,140,26,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/clock.png',0,0,48,49,1,0)
	anim:SetHotSpot(24,24)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('clock',anim,493,195,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/deer.png',0,0,63,92,1,0)
	anim:SetHotSpot(31,46)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('deer',anim,762,182,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/gauntlet.png',0,0,61,98,1,0)
	anim:SetHotSpot(30,49)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('gauntlet',anim,441,622,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/hat.png',0,0,74,68,1,0)
	anim:SetHotSpot(37,34)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('hat',anim,829,613,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/hat_magic.png',0,0,113,133,1,0)
	anim:SetHotSpot(56,66)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('hat_magic',anim,978,608,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/helmet.png',0,0,41,58,1,0)
	anim:SetHotSpot(20,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('helmet',anim,462,306,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/hourglass.png',0,0,43,75,1,0)
	anim:SetHotSpot(21,37)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('hourglass',anim,294,428,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/lizard.png',0,0,47,68,1,0)
	anim:SetHotSpot(23,34)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('lizard',anim,954,237,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/owl.png',0,0,44,62,1,0)
	anim:SetHotSpot(22,31)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('owl',anim,855,70,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/pinion.png',0,0,59,59,1,0)
	anim:SetHotSpot(29,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pinion',anim,480,43,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/scroll.png',0,0,87,35,1,0)
	anim:SetHotSpot(43,17)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('scroll',anim,242,106,100,20,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/seashell.png',0,0,35,32,1,0)
	anim:SetHotSpot(17,16)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('seashell',anim,548,562,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/snake.png',0,0,170,82,1,0)
	anim:SetHotSpot(85,41)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('snake',anim,285,587,100,30,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/telescope.png',0,0,63,29,1,0)
	anim:SetHotSpot(31,14)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('telescope',anim,445,491,100,10,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/bansai_layer.png',0,0,35,42,1,0)
	anim:SetHotSpot(17,21)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('bansai_layer',anim,675,461,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/gauntlet_layer.png',0,0,24,56,1,0)
	anim:SetHotSpot(12,28)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('gauntlet_layer',anim,464,638,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/helmet_layer.png',0,0,28,31,1,0)
	anim:SetHotSpot(14,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('helmet_layer',anim,452,324,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/telescope_layer.png',0,0,25,16,1,0)
	anim:SetHotSpot(12,8)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('telescope_layer',anim,425,481,110,30,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('pixel_inventory_1',anim,828,375,100,0,11,11)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube3.png',0,0,68,23,1,0)
	anim:SetHotSpot(34,11)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube3',anim,882,693,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube3.png',0,0,68,23,1,0)
	anim:SetHotSpot(34,11)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube3_tool',anim,882,693,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube3.png',0,0,68,23,1,0)
	anim:SetHotSpot(34,11)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube3_tool_visual_inventory',anim,512,384,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x0FFFFFFF')
	screen:CreateObject('active_pixel_stop_sock',anim,653,476,150,0,7,7)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x0FFFFFFF')
	screen:CreateObject('active_pixel_stop_sock_2',anim,653,476,149,0,7,7)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/bg_zoom_stop_sock.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('bg_zoom_stop_sock',anim,512,384,1000,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/bg_zoom_stop_sock.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('bg_zoom_stop_sock_2',anim,512,384,1000,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('pixel_inventory_2',anim,416,159,135,0,10,10)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/flask.png',0,0,56,87,1,0)
	anim:SetHotSpot(28,43)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('flask',anim,629,636,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/flask.png',0,0,56,87,1,0)
	anim:SetHotSpot(28,43)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('flask_tool',anim,631,636,1,0,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/flask.png',0,0,56,87,1,0)
	anim:SetHotSpot(28,43)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('flask_tool_visual_inventory',anim,512,384,1,0,0.8,0.8)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pixel_comics_1',anim,512,384,5000,0,128,96)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pixel_comics_2',anim,512,384,5000,0,128,96)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('pixel_comics_3',anim,512,384,5000,0,128,96)
	local anim = CreateAnimation('data/Texture/Comics/druggist.png',0,0,319,529,1,0)
	anim:SetHotSpot(159,264)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('druggist',anim,809,458,400,0,1,1)
	local anim = CreateAnimation('data/Texture/Comics/Sheriff.dds',0,0,530,571,1,0)
	anim:SetHotSpot(266,256)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Sheriff',anim,505,390,400,0,1,1)
	local anim = CreateAnimation('data/Texture/Comics/eyes.png',0,0,79,33,1,0)
	anim:SetHotSpot(39,16)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('eyes',anim,499,212,500,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/test_tube1_layer.png',0,0,46,66,1,0)
	anim:SetHotSpot(23,33)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube1_layer',anim,941,401,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/test_tube2_layer.png',0,0,27,30,1,0)
	anim:SetHotSpot(13,15)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube2_layer',anim,264,500,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/test_tube3_layer.png',0,0,18,36,1,0)
	anim:SetHotSpot(9,18)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube3_layer',anim,864,693,110,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/hat_magic_layer.png',0,0,34,72,1,0)
	anim:SetHotSpot(17,36)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('hat_magic_layer',anim,943,616,101,30,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/dirty_paper.png',0,0,291,267,1,0)
	anim:SetHotSpot(145,133)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('dirty_paper',anim,527,492,1010,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/dirty_paper.png',0,0,291,267,1,0)
	anim:SetHotSpot(145,133)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('dirty_paper_2',anim,527,492,1010,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Animations/anim_chemistry_1.png',0,0,74,128,12,10)
	anim:SetHotSpot(37,64)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('anim_chemistry_1',anim,826,477,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Animations/anim_chemistry_2.dds',0,0,181,94,12,10)
	anim:SetHotSpot(91,47)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('anim_chemistry_2',anim,832,477,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Animations/anim_chemistry_3.png',0,0,90,102,11,10)
	anim:SetHotSpot(45,51)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('anim_chemistry_3',anim,825,380,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/chemistry1_layer.png',0,0,193,141,1,0)
	anim:SetHotSpot(96,70)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('chemistry1_layer',anim,828,484,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/chemistry2_layer.png',0,0,125,48,1,0)
	anim:SetHotSpot(62,24)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('chemistry2_layer',anim,832,379,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Animations/anim_electro_1.dds',0,0,205,158,12,24)
	anim:SetHotSpot(103,79)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('anim_electro_1',anim,647,80,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Animations/anim_ink.dds',0,0,205,215,15,10)
	anim:SetHotSpot(102,108)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('anim_ink',anim,414,111,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('pixel_pos_particle_ink',anim,415,111,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Effect/particles.png',96,64,32,32,1,0)
	anim:SetHotSpot(16,16)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('particles_ink',anim,152,338,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('pixel_pos_particle_gas',anim,815,216,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Effect/particles.png',96,64,32,32,1,0)
	anim:SetHotSpot(16,16)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('particles_gas',anim,512,384,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/pipe_ink_particle_layer.png',0,0,180,133,1,0)
	anim:SetHotSpot(90,66)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pipe_ink_particle_layer',anim,420,95,130,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom_2/bg_zoom_bowl.jpg',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('bg_zoom_bowl',anim,512,384,1000,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('active_pixel_bowl',anim,898,603,105,0,10,6)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom_2/flask_2.png',0,0,202,119,1,0)
	anim:SetHotSpot(101,59)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('flask_2',anim,483,419,1050,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom_2/flask_2.png',0,0,202,119,1,0)
	anim:SetHotSpot(101,59)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('flask_2_tool',anim,512,384,1,0,0.4,0.4)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom_2/flask_2.png',0,0,202,119,1,0)
	anim:SetHotSpot(101,59)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('flask_2_tool_visual_inventory',anim,512,384,1,0,0.4,0.4)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Layers/pipe_particle_layer.png',0,0,101,17,1,0)
	anim:SetHotSpot(50,8)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pipe_particle_layer',anim,568,345,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('pixel_stop_sock',anim,499,173,1040,0,7,7)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/drop.png',0,0,16,19,1,0)
	anim:SetHotSpot(8,9)
	anim:SetBlendMode(2)
	anim:SetColor('0xF0FFFFFF')
	screen:CreateObject('drop',anim,555,384,1050,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Zoom/stop_cock_layer.png',0,0,49,34,1,0)
	anim:SetHotSpot(24,17)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('stop_cock_layer',anim,557,379,1070,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube1.png',0,0,20,59,1,0)
	anim:SetHotSpot(10,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube1',anim,948,396,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube1.png',0,0,20,59,1,0)
	anim:SetHotSpot(10,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube1_tool',anim,948,395,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube1.png',0,0,20,59,1,0)
	anim:SetHotSpot(10,29)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube1_tool_visual_inventory',anim,948,396,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube2.png',0,0,18,57,1,0)
	anim:SetHotSpot(9,28)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube2',anim,261,480,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube2.png',0,0,18,57,1,0)
	anim:SetHotSpot(9,28)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube2_tool',anim,262,480,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/Items/test_tube2.png',0,0,18,57,1,0)
	anim:SetHotSpot(9,28)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('test_tube2_tool_visual_inventory',anim,261,480,1,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/pixel.jpg',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('pixel_pos_discharge',anim,804,216,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Effect/particles.png',64,96,32,32,1,0)
	anim:SetHotSpot(16,16)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('particles_discharge',anim,512,384,101,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/15_ pharmacy_laboratory/cigar15.png',0,0,88,45,1,0)
	anim:SetHotSpot(44,22)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('cigar15',anim,588,498,100,0,1,1)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
