local zone_boiler
--local zone_generator

function add_fibrillation_effector_lamp(obj, delay)
	local duration = 0.5

	eff= CreateAnimationEffector()
	eff:AttachTo(obj)
	eff:SetMode(_ANIM_LOOP)

    local dopacity = -0.

	eff:SetKey(_TRACK_O, 0.0 + delay, 1.0 + dopacity)
	eff:SetKey(_TRACK_O, duration * 1.0 / 4.0 + delay, 0.75 + dopacity)
	eff:SetKey(_TRACK_O, duration * 2.0 / 4.0 + delay, 1.0 + dopacity)
	eff:SetKey(_TRACK_O, duration * 3.0 / 4.0 + delay, 0.59 + dopacity)
	eff:SetKey(_TRACK_O, duration * 4.0 / 4.0 + delay, 1.0 + dopacity)
	eff:Play()
end

function add_fibrillation_effector_door_light(obj, delay)
	local duration = 7.0

	eff= CreateAnimationEffector()
	eff:AttachTo(obj)
	eff:SetMode(_ANIM_LOOP)

    local dopacity = -0.

	eff:SetKey(_TRACK_O, 0.0 + delay, 1.0 + dopacity)
	eff:SetKey(_TRACK_O, duration * 1.0/4.0 + delay, 0.25 + dopacity)
	eff:SetKey(_TRACK_O, duration * 2.0/4.0 + delay, 1.0 + dopacity)
	eff:SetKey(_TRACK_O, duration * 3.0/4.0 + delay, 0.50 + dopacity)
	eff:SetKey(_TRACK_O, duration * 4.0/4.0 + delay, 1.0 + dopacity)
	eff:Play()
end

function init_steams()
	game_state.steams = {}

	table.insert(game_state.steams, create_steam(635., 445., 1., 235 * M_PI / 180.))
	table.insert(game_state.steams, create_steam(703., 210., 1., 320. * M_PI / 180.))
	table.insert(game_state.steams, create_steam(940., 405., 1., 0. * M_PI / 180.))

	do_steam_pseudo_recursive_iteration()
end

function create_steam(x, y, scale, angle)
    scale = (scale ~= nil and scale or 1.0)
	angle = (angle ~= nil and angle or 1.0)

	local ps = CreateParticleSystemEntity('data/ParticleSystem/Steam.psi', 'SmokeParticle')
	ps:AttachTo(play_field)
	ps:SetXY(x, y)
	ps:SetZ(130.0)
	ps:SetScale(scale)
	ps:GetParticleSystem().info.fDirection = angle
	ps:GetParticleSystem():Stop(true)
	return ps
end

function do_steam_pseudo_recursive_iteration()
	start_random_steam()
	TimerDoString("do_steam_pseudo_recursive_iteration()", math.random(0.1, 1.), play_field:GetTimer())
end

function start_random_steam()
	if game_state.steams ~= nil and table.getn(game_state.steams) > 0 then
		local i = math.random(1, table.getn(game_state.steams))
		game_state.steams[i]:GetParticleSystem():Fire()
	end
end

function CloseZoneBoiler()
	play_field:GetObject('Layer_Light_of_Fire'):Hide()
	play_field:GetObject('fire11'):Hide()
	play_field:GetObject('fire12'):Hide()
	play_field:GetObject('fire13'):Hide()
	play_field:GetObject('fire14'):Hide()
	play_field:GetObject('fire15'):Hide()
	zone_boiler.SetVisible(false)
end

function CloseFinishedZoneGenerator()
	zone_generator.SetVisible(false)
end

function TurnOnLights()
	play_field:GetObject('Layer_Door_Light'):SetVisible(true)
	add_fibrillation_effector_door_light(play_field:GetObject('Layer_Door_Light'), 0.)
	play_field:GetObject('lamp_light'):SetVisible(true)
	add_fibrillation_effector_lamp('lamp_light', 0.)
end

function OnSceneLoad(screen)
    LoadData(screen)
    DefaultOnSceneLoad('data/Scenes/20_Boiler_Room_Main.lua', 'quest')

    LoadSound("BoilerWorking", "data/Sound/20_Boiler_Room/Boiler_working.ogg");
	LoadSound("BoilerOpen", "data/Sound/20_Boiler_Room/Boiler_open.ogg");
	LoadSound("BoilerClose", "data/Sound/20_Boiler_Room/Boiler_close.ogg");
	LoadSound("20_SwitchLights", "data/Sound/20_Boiler_Room/Switch_light.ogg");
	LoadSound("20_Put_electrode", "data/Sound/20_Boiler_Room/Put_electrode.ogg")

	RegisterQuestObjects('Layer_closed', 'area_Zoom_Boiler', 'area_electrode')

	game_state.ignore_on_highlight['kotel'] = true -- highlighted when area_fire highlighted

    LinkScene('area_back', 'CursorDoorLeft', 'data/Scenes/19_Corridor_Main.lua', false)

	play_field:GetObject('Spring_Compose'):GetAnimation():Stop()
	play_field:GetObject('Pors_Compose'):GetAnimation():Stop()
	play_field:GetObject('Layer_Door_Light'):SetVisible(false)
	play_field:GetObject('lamp_light'):SetVisible(false)
	
	play_field.composes = BuildBoilerRoomCompositions();
	
	play_field.composes.life:AttachTo(play_field);
	play_field.composes.life:SetZ(99);

	play_field.composes.water:AttachTo(play_field);
	play_field.composes.water:SetZ(98);

    zone_boiler = CreateZoomZone('area_Zoom_Boiler',
                                 'CloseZoneBoiler',
                                 'BG_Zoom_Boiler', true,
								 'Layer_Fire', false,
								 'Layer_Light_of_Fire', false,
								 'kotel', true,
								 'area_fire', true,
								 'fire11', false,
								 'fire12', false,
								 'fire13', false,
								 'fire14', false,
								 'fire15', false)

	play_field:GetObject('area_fire'):SetMaxOpacity(0.001)
	play_field:GetObject('kotel'):GetAnimation():SetMode(HGEANIM_NOLOOP)
	play_field:GetObject('kotel'):GetAnimation():Stop()

    local on_door_click = function()
		play_field:GetObject('kotel'):GetAnimation():Play();
		PlaySound("BoilerOpen");
		game_state.ignore_on_highlight['area_Zoom_Boiler'] = true
    end
    local on_load_when_door_clicked = function()
		local anim = play_field:GetObject('kotel'):GetAnimation()
		anim:SetFrame(anim:GetFrames() - 1)
		game_state.ignore_on_highlight['area_Zoom_Boiler'] = true
    end
    RegisterActiveObject('kotel', on_door_click, on_load_when_door_clicked)

	RegisterMonologObject('area_fire', 'C_20_FIRE_AREA')

	local on_lantern_apply = function()
		zone_boiler.SetObjectVisible('Layer_Fire', true)
		zone_boiler.SetObjectVisible('Layer_Light_of_Fire', true)
		zone_boiler.SetObjectVisible('fire11', true)
		zone_boiler.SetObjectVisible('fire12', true)
		zone_boiler.SetObjectVisible('fire13', true)
		zone_boiler.SetObjectVisible('fire14', true)
		zone_boiler.SetObjectVisible('fire15', true)
		play_field:GetObject('Layer_Fire'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('Layer_Light_of_Fire'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('fire11'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('fire12'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('fire13'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('fire14'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('fire15'):ChangeOpacity(0., 1., 1.2)
		play_field:GetObject('Spring_Compose'):GetAnimation():Play()
		play_field:GetObject('Pors_Compose'):GetAnimation():Play()
		play_field:GetObject('kotel'):GetAnimation():SetMode(HGEANIM_REV)
		TimerDoString("play_field:GetObject('kotel'):GetAnimation():Play()", 1.5, play_field:GetTimer())
		TimerDoString('CloseZoneBoiler()', 2.5, play_field:GetTimer())
		TimerDoString("play_field:GetObject('Layer_Water'):ChangeOpacity(1., 0., 2.5);" ..
                      "play_field:GetObject('Layer_Water_2'):ChangeOpacity(0., 1., 0.5)", 4., play_field:GetTimer())
		TimerDoString("play_field:GetObject('Layer_Water_2'):ChangeOpacity(1., 0., 2.5)", 9., play_field:GetTimer())
		zone_boiler.Disable()
		UnregisterActiveObject('area_fire')
		LinkScene('area_ho', 'CursorGlass', 'data/Scenes/20_Boiler_Room_HO.lua', true)
		RegisterMonologObject('area_boiler', 'C_20_BOILER', true)
		zone_boiler.close_button:Stop();

		TimerDoString("init_steams()", 2.5, play_field:GetTimer());

		PlaySound("BoilerClose");
		
		play_field.composes.water:SetVisible(false);
		play_field.composes.water:Destroy();

		TimerDoString("MakeSoundEntity('BoilerWorking'):Play(true);", 1, play_field:GetTimer());
		
		RegisterMonologObject('area_dolls_1', 'C_20_DOLLS', true, 'area_dolls_2')
		RegisterMonologObject('area_dolls_2', 'C_20_DOLLS', true, 'area_dolls_1')
	end
	local on_load_when_lantern_applied = function()
		zone_boiler.SetObjectVisible('Layer_Fire', true)
		zone_boiler.SetObjectVisible('Layer_Light_of_Fire', true)
		zone_boiler.SetObjectVisible('fire11', true)
		zone_boiler.SetObjectVisible('fire12', true)
		zone_boiler.SetObjectVisible('fire13', true)
		zone_boiler.SetObjectVisible('fire14', true)
		zone_boiler.SetObjectVisible('fire15', true)
		play_field:GetObject('Spring_Compose'):GetAnimation():Play()
		play_field:GetObject('Pors_Compose'):GetAnimation():Play()
		zone_boiler.Disable()
		UnregisterActiveObject('area_fire')
		play_field:GetObject('Layer_Water'):SetOpacity(0.)
		play_field:GetObject('Layer_Water_2'):SetOpacity(0.)
		LinkScene('area_ho', 'CursorGlass', 'data/Scenes/20_Boiler_Room_HO.lua', true)
		RegisterMonologObject('area_boiler', 'C_20_BOILER', true);
		
		play_field.composes.water:SetVisible(false);
		play_field.composes.water:Destroy();

		init_steams()

		MakeSoundEntity('BoilerWorking'):Play(true);
		
		RegisterMonologObject('area_dolls_1', 'C_20_DOLLS', true)
		RegisterMonologObject('area_dolls_2', 'C_20_DOLLS', true)
	end
	RegisterToolApplyInfo('18_lantern', 'area_fire', nil, nil, on_lantern_apply, on_load_when_lantern_applied)

	play_field:GetObject('area_electrode'):SetMaxOpacity(0.001)
	play_field:GetObject('area_generator'):SetMaxOpacity(0.001)
	play_field:GetObject('koleso'):GetAnimation():Stop()
    zone_generator = CreateZoomZone('area_Zoom_Generator',
                                    'CloseZoneGenerator',
                                    'BG_Generator', true,
									'Electrod_small', false,
									'area_electrode', true,
									'Switch_Up', true,
									'Switch_Down', false,
									'koleso', true,
									'molnia_1', false,
									'molnia_2', false,
									'molnia_3', false,
									'area_generator', true)

	play_field:GetObject('Layer_Electrode'):Hide()

	local on_electrode_apply = function()
		zone_generator.SetObjectVisible('Electrod_small', true)
		zone_generator.SetObjectVisible('area_generator', true)
		zone_generator.SetObjectVisible('area_electrode', false)
		play_field:GetObject('Electrod_small'):ChangeOpacity(0., 1., 0.2)
		play_field:GetObject('area_electrode'):Hide()
		UnregisterActiveObject('area_electrode')
		play_field:GetObject('area_electrode'):Hide()
		RegisterMonologObject('area_generator', 'C_20_GENERATOR')
		play_field:GetObject('Layer_Electrode'):Show()
		game_state.ignore_on_highlight['area_generator'] = true
		
		MakeSoundEntity('20_Put_electrode'):Play(false);
	end
	local on_load_when_electrode_applied = function()
		zone_generator.SetObjectVisible('Electrod_small', true)
		zone_generator.SetObjectVisible('area_generator', true)
		zone_generator.SetObjectVisible('area_electrode', false)
		play_field:GetObject('area_electrode'):Hide()
		UnregisterActiveObject('area_electrode')
		RegisterMonologObject('area_generator', 'C_20_GENERATOR')
		play_field:GetObject('Layer_Electrode'):Show()
		game_state.ignore_on_highlight['area_generator'] = true
	end
	RegisterMonologObject('area_electrode', 'C_20_ELECTRODE')
	RegisterToolApplyInfo('20_electrode', 'area_electrode', nil, nil, on_electrode_apply, on_load_when_electrode_applied)

	local on_switch_click = function()
		if HasGameState('ToolApplied', '20_electrode') then
			zone_generator.SetObjectVisible('Switch_Up', false)
			zone_generator.SetObjectVisible('Switch_Down', true)
			zone_generator.SetObjectVisible('molnia_1', true)
			TimerDoString("zone_generator.SetObjectVisible('molnia_2', true)", 0.2, play_field:GetTimer())
			TimerDoString("zone_generator.SetObjectVisible('molnia_3', true)", 0.2, play_field:GetTimer())
			play_field:GetObject('Switch_Up'):ChangeOpacity(1., 0., 0.2)
			play_field:GetObject('Switch_Down'):ChangeOpacity(0., 1., 0.2)
			play_field:GetObject('koleso'):GetAnimation():Play()
			zone_generator.Disable()
			TimerDoString('CloseFinishedZoneGenerator()', 1.2, play_field:GetTimer())
			TimerDoString("TurnOnLights();"..
                          "MakeSoundEntity('20_Lights_on'):Play(false);", 2., play_field:GetTimer())
			AddGameState('TaskComplete', '20_TurnOnLights')
			UnregisterActiveObject('area_generator')
			zone_generator.close_button:Stop();

			MakeSoundEntity('20_SwitchLights'):Play(false);
		else
			play_field:GetObject('Switch_Up'):ChangeOpacity(1., 0., 0.2)
			play_field:GetObject('Switch_Down'):ChangeOpacity(0., 1., 0.2)
			play_field:GetObject('Switch_Up'):ChangeOpacity(0., 1., 0.2, 0.4)
			play_field:GetObject('Switch_Down'):ChangeOpacity(1., 0., 0.2, 0.4)
			
			MakeSoundEntity('20_Switch_wrong'):Play(false);

			TimerDoString("ShowMonolog('C_20_ELECTRODE', 'C_20_ELECTRODE')", 0.4, play_field:GetTimer())

			if not HasGameState('TaskComplete', '20_TurnOnLights') then
				RemoveGameState('ObjectClicked', 'data/Scenes/20_Boiler_Room_Main.lua(Switch_Up)')
			end
		end
	end
	local on_load_when_switch_clicked = function()
		if HasGameState('ToolApplied', '20_electrode') then
			zone_generator.Disable()
			TurnOnLights()
		end
	end
	RegisterActiveObject('Switch_Up', on_switch_click, on_load_when_switch_clicked, true)

	RegisterMonologObject('Layer_Water', 'C_20_WATER')
	
	LoadSound("20_Lights_on", "data/Sound/20_Boiler_Room/Lights_on.ogg")
	LoadSound("20_Switch_wrong", "data/Sound/20_Boiler_Room/Switch_wrong.ogg")
end

function BuildBoilerRoomCompositions()

    createCompositionFlies = function()
    
        local compositionFlies = CreateCompositionSequence();
        local compositionDuration = 13.64;
        compositionFlies:SetDuration(compositionDuration);
        compositionFlies:SetCyclic(true);
    
    
        -- Layer Fly_1
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/fly.png");
        element:SetName("Fly_1");
        compositionFlies:AddElement(element);
        element:SetHotSpot(11, 9);
        element:SetParentElement(compositionFlies);
        element:SetScaleX(0.43);
        element:SetScaleY(0.43);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.7200002670288);
    
        effector:SetKey(_TRACK_X, 0, 125.923959161429);
        effector:SetKey(_TRACK_Y, 0, 162.925178012562);
        effector:SetKey(_TRACK_X, 0.18500000238419, 124.810744740073);
        effector:SetKey(_TRACK_Y, 0.18500000238419, 162.192939381113);
        effector:SetKey(_TRACK_X, 0.37000000476837, 122.015875601196);
        effector:SetKey(_TRACK_Y, 0.37000000476837, 160.354559448246);
        effector:SetKey(_TRACK_X, 0.55500000715256, 118.370007292868);
        effector:SetKey(_TRACK_Y, 0.55500000715256, 157.956420037325);
        effector:SetKey(_TRACK_X, 0.74000000953674, 121.751481006559);
        effector:SetKey(_TRACK_Y, 0.74000000953674, 160.180649685896);
        effector:SetKey(_TRACK_X, 0.92500001192093, 124.638739954577);
        effector:SetKey(_TRACK_Y, 0.92500001192093, 162.079800097609);
        effector:SetKey(_TRACK_X, 1.11000001430511, 125.916020442282);
        effector:SetKey(_TRACK_Y, 1.11000001430511, 162.919955274956);
        effector:SetKey(_TRACK_X, 1.12480001449585, 125.923959135365);
        effector:SetKey(_TRACK_Y, 1.12480001449585, 162.92517704351);
        effector:SetKey(_TRACK_X, 1.2950000166893, 136.662706741015);
        effector:SetKey(_TRACK_Y, 1.2950000166893, 169.80517471182);
        effector:SetKey(_TRACK_X, 1.48000001907349, 165.266882870934);
        effector:SetKey(_TRACK_Y, 1.48000001907349, 188.263874336676);
        effector:SetKey(_TRACK_X, 1.66500002145767, 193.037537939835);
        effector:SetKey(_TRACK_Y, 1.66500002145767, 209.852108742668);
        effector:SetKey(_TRACK_X, 1.85000002384186, 176.942796149976);
        effector:SetKey(_TRACK_Y, 1.85000002384186, 206.928905705171);
        effector:SetKey(_TRACK_X, 1.86480002403259, 176.829321978733);
        effector:SetKey(_TRACK_Y, 1.86480002403259, 206.886694040009);
        effector:SetKey(_TRACK_X, 2.03500002622604, 162.790081990297);
        effector:SetKey(_TRACK_Y, 2.03500002622604, 201.811262409525);
        effector:SetKey(_TRACK_X, 2.22000002861023, 128.480376250259);
        effector:SetKey(_TRACK_Y, 2.22000002861023, 191.534228134223);
        effector:SetKey(_TRACK_X, 2.40500003099442, 113.693895346137);
        effector:SetKey(_TRACK_Y, 2.40500003099442, 204.048836676563);
        effector:SetKey(_TRACK_X, 2.5900000333786, 124.529770129545);
        effector:SetKey(_TRACK_Y, 2.5900000333786, 214.99197165459);
        effector:SetKey(_TRACK_X, 2.60480003356934, 124.604095468404);
        effector:SetKey(_TRACK_Y, 2.60480003356934, 215.059826005336);
        effector:SetKey(_TRACK_X, 2.77500003576279, 139.932164368903);
        effector:SetKey(_TRACK_Y, 2.77500003576279, 222.895672332166);
        effector:SetKey(_TRACK_X, 2.96000003814697, 183.162376843301);
        effector:SetKey(_TRACK_Y, 2.96000003814697, 197.159813814116);
        effector:SetKey(_TRACK_X, 3.14500004053116, 199.835030500044);
        effector:SetKey(_TRACK_Y, 3.14500004053116, 145.65160646073);
        effector:SetKey(_TRACK_X, 3.33000004291534, 188.440570995311);
        effector:SetKey(_TRACK_Y, 3.33000004291534, 120.32303362437);
        effector:SetKey(_TRACK_X, 3.34480004310608, 188.294027269269);
        effector:SetKey(_TRACK_Y, 3.34480004310608, 120.199417940511);
        effector:SetKey(_TRACK_X, 3.51500004529953, 180.056571079539);
        effector:SetKey(_TRACK_Y, 3.51500004529953, 113.004257085635);
        effector:SetKey(_TRACK_X, 3.70000004768372, 164.444849954684);
        effector:SetKey(_TRACK_Y, 3.70000004768372, 97.8482069586195);
        effector:SetKey(_TRACK_X, 3.8850000500679, 156.491896277763);
        effector:SetKey(_TRACK_Y, 3.8850000500679, 115.249971414969);
        effector:SetKey(_TRACK_X, 4.07000005245209, 152.39606135853);
        effector:SetKey(_TRACK_Y, 4.07000005245209, 123.430614259102);
        effector:SetKey(_TRACK_X, 4.08480005264282, 152.368156642151);
        effector:SetKey(_TRACK_Y, 4.08480005264282, 123.481286588117);
        effector:SetKey(_TRACK_X, 4.25500005483627, 149.594804231072);
        effector:SetKey(_TRACK_Y, 4.25500005483627, 129.479605750028);
        effector:SetKey(_TRACK_X, 4.44000005722046, 152.268139051729);
        effector:SetKey(_TRACK_Y, 4.44000005722046, 150.066862887039);
        effector:SetKey(_TRACK_X, 4.62500005960464, 157.547861606789);
        effector:SetKey(_TRACK_Y, 4.62500005960464, 162.041077953441);
        effector:SetKey(_TRACK_X, 4.81000006198883, 147.660961816076);
        effector:SetKey(_TRACK_Y, 4.81000006198883, 165.691266596983);
        effector:SetKey(_TRACK_X, 4.82480006217957, 147.5998213677);
        effector:SetKey(_TRACK_Y, 4.82480006217957, 165.708863170644);
        effector:SetKey(_TRACK_X, 4.99500006437302, 139.72645301448);
        effector:SetKey(_TRACK_Y, 4.99500006437302, 170.035305695788);
        effector:SetKey(_TRACK_X, 5.1800000667572, 143.888840661691);
        effector:SetKey(_TRACK_Y, 5.1800000667572, 194.314687894131);
        effector:SetKey(_TRACK_X, 5.36500006914139, 167.982926409095);
        effector:SetKey(_TRACK_Y, 5.36500006914139, 201.65462312441);
        effector:SetKey(_TRACK_X, 5.55000007152557, 172.522508019519);
        effector:SetKey(_TRACK_Y, 5.55000007152557, 191.440637292899);
        effector:SetKey(_TRACK_X, 5.56480007171631, 172.533291719339);
        effector:SetKey(_TRACK_Y, 5.56480007171631, 191.371816356945);
        effector:SetKey(_TRACK_X, 5.73500007390976, 173.989404179938);
        effector:SetKey(_TRACK_Y, 5.73500007390976, 183.550982430281);
        effector:SetKey(_TRACK_X, 5.92000007629395, 181.849810526445);
        effector:SetKey(_TRACK_Y, 5.92000007629395, 160.492701716794);
        effector:SetKey(_TRACK_X, 6.10500007867813, 170.554879913363);
        effector:SetKey(_TRACK_Y, 6.10500007867813, 180.99819074922);
        effector:SetKey(_TRACK_X, 6.29000008106232, 162.162563164584);
        effector:SetKey(_TRACK_Y, 6.29000008106232, 193.866705565959);
        effector:SetKey(_TRACK_X, 6.30480008125305, 162.105391479096);
        effector:SetKey(_TRACK_Y, 6.30480008125305, 193.951697613057);
        effector:SetKey(_TRACK_X, 6.4750000834465, 150.425317216789);
        effector:SetKey(_TRACK_Y, 6.4750000834465, 203.276926704814);
        effector:SetKey(_TRACK_X, 6.66000008583069, 157.653060858431);
        effector:SetKey(_TRACK_Y, 6.66000008583069, 162.080002239282);
        effector:SetKey(_TRACK_X, 6.84500026702881, 175.701695984723);
        effector:SetKey(_TRACK_Y, 6.84500026702881, 120.78433826728);
        effector:SetKey(_TRACK_X, 7.03000009059906, 189.951413458203);
        effector:SetKey(_TRACK_Y, 7.03000009059906, 110.282510604859);
        effector:SetKey(_TRACK_X, 7.04480009078979, 190.034437155233);
        effector:SetKey(_TRACK_Y, 7.04480009078979, 110.323077888295);
        effector:SetKey(_TRACK_X, 7.21500015258789, 197.254769035915);
        effector:SetKey(_TRACK_Y, 7.21500015258789, 118.519924834385);
        effector:SetKey(_TRACK_X, 7.40000009536743, 207.160175957148);
        effector:SetKey(_TRACK_Y, 7.40000009536743, 152.085601148197);
        effector:SetKey(_TRACK_X, 7.58500003814697, 207.003757385487);
        effector:SetKey(_TRACK_Y, 7.58500003814697, 187.84668177481);
        effector:SetKey(_TRACK_X, 7.7700001001358, 195.144481859057);
        effector:SetKey(_TRACK_Y, 7.7700001001358, 179.165006309837);
        effector:SetKey(_TRACK_X, 7.78480010032654, 195.085830124117);
        effector:SetKey(_TRACK_Y, 7.78480010032654, 179.053080981912);
        effector:SetKey(_TRACK_X, 7.95499992370605, 188.135747218226);
        effector:SetKey(_TRACK_Y, 7.95499992370605, 165.246484267242);
        effector:SetKey(_TRACK_X, 8.14000010490417, 172.794538544101);
        effector:SetKey(_TRACK_Y, 8.14000010490417, 131.358901846244);
        effector:SetKey(_TRACK_X, 8.32499980926514, 164.331385189173);
        effector:SetKey(_TRACK_Y, 8.32499980926514, 104.353836772695);
        effector:SetKey(_TRACK_X, 8.51000010967255, 170.660506734606);
        effector:SetKey(_TRACK_Y, 8.51000010967255, 116.220831881266);
        effector:SetKey(_TRACK_X, 8.52480010986328, 170.702302317165);
        effector:SetKey(_TRACK_Y, 8.52480010986328, 116.304523266114);
        effector:SetKey(_TRACK_X, 8.69499969482422, 174.29468542738);
        effector:SetKey(_TRACK_Y, 8.69499969482422, 123.84651844093);
        effector:SetKey(_TRACK_X, 8.88000011444092, 171.676271911194);
        effector:SetKey(_TRACK_Y, 8.88000011444092, 134.147025280621);
        effector:SetKey(_TRACK_X, 9.06500034332275, 153.600105963152);
        effector:SetKey(_TRACK_Y, 9.06500034332275, 141.202649216061);
        effector:SetKey(_TRACK_X, 9.25000011920929, 151.669758384909);
        effector:SetKey(_TRACK_Y, 9.25000011920929, 151.956823646613);
        effector:SetKey(_TRACK_X, 9.26480011940003, 151.664551609675);
        effector:SetKey(_TRACK_Y, 9.26480011940003, 152.034677721584);
        effector:SetKey(_TRACK_X, 9.43500022888184, 151.59855011798);
        effector:SetKey(_TRACK_Y, 9.43500022888184, 159.138168423556);
        effector:SetKey(_TRACK_X, 9.62000012397766, 162.867438292305);
        effector:SetKey(_TRACK_Y, 9.62000012397766, 163.215009079922);
        effector:SetKey(_TRACK_X, 9.80500011444092, 152.977066696538);
        effector:SetKey(_TRACK_Y, 9.80500011444092, 154.319982211604);
        effector:SetKey(_TRACK_X, 9.99000012874603, 141.388152211195);
        effector:SetKey(_TRACK_Y, 9.99000012874603, 159.459091759424);
        effector:SetKey(_TRACK_X, 10.0048001289368, 141.315907593837);
        effector:SetKey(_TRACK_Y, 10.0048001289368, 159.497736070925);
        effector:SetKey(_TRACK_X, 10.1750009536743, 133.038968751366);
        effector:SetKey(_TRACK_Y, 10.1750009536743, 163.914457639086);
        effector:SetKey(_TRACK_X, 10.3600001335144, 114.501181065418);
        effector:SetKey(_TRACK_Y, 10.3600001335144, 174.005601475332);
        effector:SetKey(_TRACK_X, 10.5449998855591, 137.663153095995);
        effector:SetKey(_TRACK_Y, 10.5449998855591, 166.04754902565);
        effector:SetKey(_TRACK_X, 10.7300001382828, 148.341345577712);
        effector:SetKey(_TRACK_Y, 10.7300001382828, 163.054138076812);
        effector:SetKey(_TRACK_X, 10.7448001384735, 148.410179877609);
        effector:SetKey(_TRACK_Y, 10.7448001384735, 163.036784191628);
        effector:SetKey(_TRACK_X, 10.9150007247925, 153.680098160405);
        effector:SetKey(_TRACK_Y, 10.9150007247925, 161.407519240592);
        effector:SetKey(_TRACK_X, 11.1000001430511, 157.454520425272);
        effector:SetKey(_TRACK_Y, 11.1000001430511, 152.624138042658);
        effector:SetKey(_TRACK_X, 11.2849996566772, 147.058574860848);
        effector:SetKey(_TRACK_Y, 11.2849996566772, 143.815813692855);
        effector:SetKey(_TRACK_X, 11.4700001478195, 150.961841237927);
        effector:SetKey(_TRACK_Y, 11.4700001478195, 142.810809660731);
        effector:SetKey(_TRACK_X, 11.4848001480103, 150.999767768568);
        effector:SetKey(_TRACK_Y, 11.4848001480103, 142.808567147916);
        effector:SetKey(_TRACK_X, 11.6550004959106, 156.891987293689);
        effector:SetKey(_TRACK_Y, 11.6550004959106, 144.261264162398);
        effector:SetKey(_TRACK_X, 11.8400001525879, 165.753695434259);
        effector:SetKey(_TRACK_Y, 11.8400001525879, 163.474078342789);
        effector:SetKey(_TRACK_X, 12.0249994277954, 155.605772777097);
        effector:SetKey(_TRACK_Y, 12.0249994277954, 182.8144126981);
        effector:SetKey(_TRACK_X, 12.2100001573563, 144.028179514486);
        effector:SetKey(_TRACK_Y, 12.2100001573563, 186.275454526182);
        effector:SetKey(_TRACK_X, 12.224800157547, 143.947550021318);
        effector:SetKey(_TRACK_Y, 12.224800157547, 186.281604574332);
        effector:SetKey(_TRACK_X, 12.3950002670288, 136.634421841947);
        effector:SetKey(_TRACK_Y, 12.3950002670288, 188.159096127743);
        effector:SetKey(_TRACK_X, 12.5800001621246, 132.862477221149);
        effector:SetKey(_TRACK_Y, 12.5800001621246, 204.327001838652);
        effector:SetKey(_TRACK_X, 12.7650011062622, 143.463848922479);
        effector:SetKey(_TRACK_Y, 12.7650011062622, 219.817945945868);
        effector:SetKey(_TRACK_X, 12.950000166893, 142.776407636025);
        effector:SetKey(_TRACK_Y, 12.950000166893, 214.02584238689);
        effector:SetKey(_TRACK_X, 12.9648001670837, 142.75708440684);
        effector:SetKey(_TRACK_Y, 12.9648001670837, 213.97934796044);
        effector:SetKey(_TRACK_X, 13.135000038147, 140.263917493706);
        effector:SetKey(_TRACK_Y, 13.135000038147, 207.736444481102);
        effector:SetKey(_TRACK_X, 13.3200001716614, 133.743625714027);
        effector:SetKey(_TRACK_Y, 13.3200001716614, 189.206132729524);
        effector:SetKey(_TRACK_X, 13.5050008773804, 127.962214716191);
        effector:SetKey(_TRACK_Y, 13.5050008773804, 170.267359132777);
        effector:SetKey(_TRACK_X, 13.6799982070923, 125.923959161429);
        effector:SetKey(_TRACK_Y, 13.6799982070923, 162.925178012562);
    
        effector:Play();
    
    
        -- Layer Fly_2
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/fly_2.png");
        element:SetName("Fly_2");
        compositionFlies:AddElement(element);
        element:SetHotSpot(18.5, 17);
        element:SetParentElement(compositionFlies);
        element:SetScaleX(0.36);
        element:SetScaleY(0.36);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.7200005054474);
    
        effector:SetKey(_TRACK_X, 0, 199.8324180098);
        effector:SetKey(_TRACK_Y, 0, 117.339820771243);
        effector:SetKey(_TRACK_X, 0.18500000238419, 198.767247729648);
        effector:SetKey(_TRACK_Y, 0.18500000238419, 116.980024161235);
        effector:SetKey(_TRACK_X, 0.37000000476837, 195.972848144047);
        effector:SetKey(_TRACK_Y, 0.37000000476837, 116.036124331123);
        effector:SetKey(_TRACK_X, 0.55500000715256, 192.023789452688);
        effector:SetKey(_TRACK_Y, 0.55500000715256, 114.702202209588);
        effector:SetKey(_TRACK_X, 0.74000000953674, 187.502556670214);
        effector:SetKey(_TRACK_Y, 0.74000000953674, 113.175005647127);
        effector:SetKey(_TRACK_X, 0.92500001192093, 192.029999053017);
        effector:SetKey(_TRACK_Y, 0.92500001192093, 114.704298824825);
        effector:SetKey(_TRACK_X, 1.11000001430511, 195.978775820834);
        effector:SetKey(_TRACK_Y, 1.11000001430511, 116.03812696989);
        effector:SetKey(_TRACK_X, 1.2950000166893, 198.771955125903);
        effector:SetKey(_TRACK_Y, 1.2950000166893, 116.981614716385);
        effector:SetKey(_TRACK_X, 1.48000001907349, 199.832418786161);
        effector:SetKey(_TRACK_Y, 1.48000001907349, 117.339820288043);
        effector:SetKey(_TRACK_X, 1.66500002145767, 204.394335950522);
        effector:SetKey(_TRACK_Y, 1.66500002145767, 124.294816923177);
        effector:SetKey(_TRACK_X, 1.85000002384186, 179.935691321125);
        effector:SetKey(_TRACK_Y, 1.85000002384186, 146.671741840348);
        effector:SetKey(_TRACK_X, 2.03500002622604, 151.461906819205);
        effector:SetKey(_TRACK_Y, 2.03500002622604, 165.311223629865);
        effector:SetKey(_TRACK_X, 2.22000002861023, 151.45356177905);
        effector:SetKey(_TRACK_Y, 2.22000002861023, 168.86306068631);
        effector:SetKey(_TRACK_X, 2.40500003099442, 158.949218401126);
        effector:SetKey(_TRACK_Y, 2.40500003099442, 168.248955105306);
        effector:SetKey(_TRACK_X, 2.5900000333786, 155.80685687212);
        effector:SetKey(_TRACK_Y, 2.5900000333786, 182.889810040065);
        effector:SetKey(_TRACK_X, 2.77500003576279, 167.604211089013);
        effector:SetKey(_TRACK_Y, 2.77500003576279, 197.379704814676);
        effector:SetKey(_TRACK_X, 2.96000003814697, 174.732347434862);
        effector:SetKey(_TRACK_Y, 2.96000003814697, 200.982998930213);
        effector:SetKey(_TRACK_X, 3.14500004053116, 184.184937239735);
        effector:SetKey(_TRACK_Y, 3.14500004053116, 203.915412486873);
        effector:SetKey(_TRACK_X, 3.33000004291534, 162.747581499397);
        effector:SetKey(_TRACK_Y, 3.33000004291534, 187.273936984791);
        effector:SetKey(_TRACK_X, 3.51500004529953, 139.791419537283);
        effector:SetKey(_TRACK_Y, 3.51500004529953, 172.608533090253);
        effector:SetKey(_TRACK_X, 3.70000004768372, 148.508129103034);
        effector:SetKey(_TRACK_Y, 3.70000004768372, 178.487072538691);
        effector:SetKey(_TRACK_X, 3.8850000500679, 161.185059550352);
        effector:SetKey(_TRACK_Y, 3.8850000500679, 185.806642053868);
        effector:SetKey(_TRACK_X, 4.07000005245209, 192.172054319097);
        effector:SetKey(_TRACK_Y, 4.07000005245209, 197.676478455164);
        effector:SetKey(_TRACK_X, 4.25500005483627, 204.483501076151);
        effector:SetKey(_TRACK_Y, 4.25500005483627, 190.74021865711);
        effector:SetKey(_TRACK_X, 4.44000005722046, 193.61158606806);
        effector:SetKey(_TRACK_Y, 4.44000005722046, 184.505719899756);
        effector:SetKey(_TRACK_X, 4.62500005960464, 183.05986559356);
        effector:SetKey(_TRACK_Y, 4.62500005960464, 177.772489078757);
        effector:SetKey(_TRACK_X, 4.81000006198883, 172.016976460079);
        effector:SetKey(_TRACK_Y, 4.81000006198883, 149.097309875904);
        effector:SetKey(_TRACK_X, 4.99500006437302, 174.54784965282);
        effector:SetKey(_TRACK_Y, 4.99500006437302, 117.702681969925);
        effector:SetKey(_TRACK_X, 5.1800000667572, 168.762225661828);
        effector:SetKey(_TRACK_Y, 5.1800000667572, 103.668871747774);
        effector:SetKey(_TRACK_X, 5.36500006914139, 158.285796816586);
        effector:SetKey(_TRACK_Y, 5.36500006914139, 94.4578846551166);
        effector:SetKey(_TRACK_X, 5.55000007152557, 129.147978836339);
        effector:SetKey(_TRACK_Y, 5.55000007152557, 89.9534158427579);
        effector:SetKey(_TRACK_X, 5.73500007390976, 108.554608696367);
        effector:SetKey(_TRACK_Y, 5.73500007390976, 107.009423435062);
        effector:SetKey(_TRACK_X, 5.92000007629395, 114.450448467029);
        effector:SetKey(_TRACK_Y, 5.92000007629395, 115.353553519251);
        effector:SetKey(_TRACK_X, 6.10500007867813, 125.118109560248);
        effector:SetKey(_TRACK_Y, 6.10500007867813, 127.432985844753);
        effector:SetKey(_TRACK_X, 6.29000008106232, 149.145713597646);
        effector:SetKey(_TRACK_Y, 6.29000008106232, 162.402992482016);
        effector:SetKey(_TRACK_X, 6.4750000834465, 185.052861797441);
        effector:SetKey(_TRACK_Y, 6.4750000834465, 174.084536233673);
        effector:SetKey(_TRACK_X, 6.66000008583069, 199.782276365677);
        effector:SetKey(_TRACK_Y, 6.66000008583069, 162.776478634214);
        effector:SetKey(_TRACK_X, 6.84500008821487, 211.272347561192);
        effector:SetKey(_TRACK_Y, 6.84500008821487, 147.95075461635);
        effector:SetKey(_TRACK_X, 7.03000009059906, 176.665621669951);
        effector:SetKey(_TRACK_Y, 7.03000009059906, 140.423615058746);
        effector:SetKey(_TRACK_X, 7.21500009298325, 132.848766155322);
        effector:SetKey(_TRACK_Y, 7.21500009298325, 143.006895928769);
        effector:SetKey(_TRACK_X, 7.40000009536743, 116.1018964836);
        effector:SetKey(_TRACK_Y, 7.40000009536743, 140.916224744783);
        effector:SetKey(_TRACK_X, 7.58500009775162, 106.352450351516);
        effector:SetKey(_TRACK_Y, 7.58500009775162, 138.408072824644);
        effector:SetKey(_TRACK_X, 7.7700001001358, 137.965865478887);
        effector:SetKey(_TRACK_Y, 7.7700001001358, 139.68925904709);
        effector:SetKey(_TRACK_X, 7.95500010251999, 170.53736891529);
        effector:SetKey(_TRACK_Y, 7.95500010251999, 130.841093903564);
        effector:SetKey(_TRACK_X, 8.14000010490417, 173.043697829833);
        effector:SetKey(_TRACK_Y, 8.14000010490417, 116.345069038737);
        effector:SetKey(_TRACK_X, 8.32500010728836, 164.859107207591);
        effector:SetKey(_TRACK_Y, 8.32500010728836, 105.052166125292);
        effector:SetKey(_TRACK_X, 8.51000010967255, 134.430764583166);
        effector:SetKey(_TRACK_Y, 8.51000010967255, 107.963648091041);
        effector:SetKey(_TRACK_X, 8.69500011205673, 108.820617493679);
        effector:SetKey(_TRACK_Y, 8.69500011205673, 127.265889890991);
        effector:SetKey(_TRACK_X, 8.88000011444092, 114.015345936739);
        effector:SetKey(_TRACK_Y, 8.88000011444092, 130.1567407052);
        effector:SetKey(_TRACK_X, 9.0650001168251, 120.474129854273);
        effector:SetKey(_TRACK_Y, 9.0650001168251, 128.116321176908);
        effector:SetKey(_TRACK_X, 9.25000011920929, 136.166297829139);
        effector:SetKey(_TRACK_Y, 9.25000011920929, 119.392883791939);
        effector:SetKey(_TRACK_X, 9.43500012159348, 150.980253523126);
        effector:SetKey(_TRACK_Y, 9.43500012159348, 122.356672090292);
        effector:SetKey(_TRACK_X, 9.62000012397766, 156.689346977481);
        effector:SetKey(_TRACK_Y, 9.62000012397766, 128.587782721467);
        effector:SetKey(_TRACK_X, 9.80500012636185, 163.617284184697);
        effector:SetKey(_TRACK_Y, 9.80500012636185, 141.200237268239);
        effector:SetKey(_TRACK_X, 9.99000012874603, 169.704317600723);
        effector:SetKey(_TRACK_Y, 9.99000012874603, 171.409410765511);
        effector:SetKey(_TRACK_X, 10.1750001311302, 171.121135975754);
        effector:SetKey(_TRACK_Y, 10.1750001311302, 201.841489830606);
        effector:SetKey(_TRACK_X, 10.3600001335144, 172.225252696467);
        effector:SetKey(_TRACK_Y, 10.3600001335144, 199.307288505182);
        effector:SetKey(_TRACK_X, 10.5450001358986, 169.223476194026);
        effector:SetKey(_TRACK_Y, 10.5450001358986, 182.550702235493);
        effector:SetKey(_TRACK_X, 10.7300001382828, 149.774499218527);
        effector:SetKey(_TRACK_Y, 10.7300001382828, 136.67945874462);
        effector:SetKey(_TRACK_X, 10.915000140667, 122.752877152182);
        effector:SetKey(_TRACK_Y, 10.915000140667, 95.8653495921478);
        effector:SetKey(_TRACK_X, 11.1000001430511, 112.205385674371);
        effector:SetKey(_TRACK_Y, 11.1000001430511, 106.041715600552);
        effector:SetKey(_TRACK_X, 11.2850001454353, 114.869554267716);
        effector:SetKey(_TRACK_Y, 11.2850001454353, 122.746451828086);
        effector:SetKey(_TRACK_X, 11.4700001478195, 149.596315924091);
        effector:SetKey(_TRACK_Y, 11.4700001478195, 124.539576261017);
        effector:SetKey(_TRACK_X, 11.6550001502037, 186.90942518528);
        effector:SetKey(_TRACK_Y, 11.6550001502037, 119.741442305336);
        effector:SetKey(_TRACK_X, 11.8400001525879, 202.855490852111);
        effector:SetKey(_TRACK_Y, 11.8400001525879, 125.084319627256);
        effector:SetKey(_TRACK_X, 12.0250001549721, 210.554919743536);
        effector:SetKey(_TRACK_Y, 12.0250001549721, 136.671659896557);
        effector:SetKey(_TRACK_X, 12.2100001573563, 181.090447487555);
        effector:SetKey(_TRACK_Y, 12.2100001573563, 152.992612747497);
        effector:SetKey(_TRACK_X, 12.3950001597404, 147.765764486891);
        effector:SetKey(_TRACK_Y, 12.3950001597404, 152.254581149343);
        effector:SetKey(_TRACK_X, 12.5800001621246, 155.206117164224);
        effector:SetKey(_TRACK_Y, 12.5800001621246, 141.24457280173);
        effector:SetKey(_TRACK_X, 12.7650001645088, 158.368990330779);
        effector:SetKey(_TRACK_Y, 12.7650001645088, 138.799009767565);
        effector:SetKey(_TRACK_X, 12.950000166893, 166.460968006459);
        effector:SetKey(_TRACK_Y, 12.950000166893, 132.78738015097);
        effector:SetKey(_TRACK_X, 13.1350001692772, 177.58566297317);
        effector:SetKey(_TRACK_Y, 13.1350001692772, 125.27297872169);
        effector:SetKey(_TRACK_X, 13.3200001716614, 189.595431495599);
        effector:SetKey(_TRACK_Y, 13.3200001716614, 118.779123142139);
        effector:SetKey(_TRACK_X, 13.5050001740456, 198.066261681175);
        effector:SetKey(_TRACK_Y, 13.5050001740456, 116.691882473607);
        effector:SetKey(_TRACK_X, 13.6799976825714, 199.8324180098);
        effector:SetKey(_TRACK_Y, 13.6799976825714, 117.339820771243);
    
        effector:Play();
    
    
        -- Layer Fly_3
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/fly_3.png");
        element:SetName("Fly_3");
        compositionFlies:AddElement(element);
        element:SetHotSpot(16.5, 15.5);
        element:SetParentElement(compositionFlies);
        element:SetScaleX(0.36);
        element:SetScaleY(0.36);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.7199994564056);
    
        effector:SetKey(_TRACK_X, 0, 118.212709156381);
        effector:SetKey(_TRACK_Y, 0, 163.713001105115);
        effector:SetKey(_TRACK_X, 0.18500000238419, 116.769896145829);
        effector:SetKey(_TRACK_Y, 0.18500000238419, 169.271395881746);
        effector:SetKey(_TRACK_X, 0.37000000476837, 113.413813699289);
        effector:SetKey(_TRACK_Y, 0.37000000476837, 182.200592887704);
        effector:SetKey(_TRACK_X, 0.55500000715256, 114.750767986137);
        effector:SetKey(_TRACK_Y, 0.55500000715256, 177.050018209902);
        effector:SetKey(_TRACK_X, 0.74000000953674, 117.585890021356);
        effector:SetKey(_TRACK_Y, 0.74000000953674, 166.127801759762);
        effector:SetKey(_TRACK_X, 0.85840001106262, 118.212709546628);
        effector:SetKey(_TRACK_Y, 0.85840001106262, 163.713002112559);
        effector:SetKey(_TRACK_X, 0.92500001192093, 118.745651290616);
        effector:SetKey(_TRACK_Y, 0.92500001192093, 161.795237681212);
        effector:SetKey(_TRACK_X, 1.11000001430511, 131.780085331011);
        effector:SetKey(_TRACK_Y, 1.11000001430511, 145.917174125265);
        effector:SetKey(_TRACK_X, 1.2950000166893, 156.684407434941);
        effector:SetKey(_TRACK_Y, 1.2950000166893, 162.635507699555);
        effector:SetKey(_TRACK_X, 1.48000001907349, 152.513180779724);
        effector:SetKey(_TRACK_Y, 1.48000001907349, 181.949026438009);
        effector:SetKey(_TRACK_X, 1.59840002059937, 147.16238361757);
        effector:SetKey(_TRACK_Y, 1.59840002059937, 181.112244732125);
        effector:SetKey(_TRACK_X, 1.66500002145767, 145.462406922702);
        effector:SetKey(_TRACK_Y, 1.66500002145767, 180.617737123693);
        effector:SetKey(_TRACK_X, 1.85000002384186, 134.023596981735);
        effector:SetKey(_TRACK_Y, 1.85000002384186, 165.529280018844);
        effector:SetKey(_TRACK_X, 2.03500002622604, 141.219369626741);
        effector:SetKey(_TRACK_Y, 2.03500002622604, 135.385977975749);
        effector:SetKey(_TRACK_X, 2.22000002861023, 140.534412438069);
        effector:SetKey(_TRACK_Y, 2.22000002861023, 119.853008402433);
        effector:SetKey(_TRACK_X, 2.33840003013611, 135.937066051492);
        effector:SetKey(_TRACK_Y, 2.33840003013611, 123.127167838166);
        effector:SetKey(_TRACK_X, 2.40500003099442, 133.881684544366);
        effector:SetKey(_TRACK_Y, 2.40500003099442, 124.707735522203);
        effector:SetKey(_TRACK_X, 2.5900000333786, 143.63293055424);
        effector:SetKey(_TRACK_Y, 2.5900000333786, 122.427594717056);
        effector:SetKey(_TRACK_X, 2.77500003576279, 183.581171599841);
        effector:SetKey(_TRACK_Y, 2.77500003576279, 104.788439295487);
        effector:SetKey(_TRACK_X, 2.96000003814697, 210.027483835469);
        effector:SetKey(_TRACK_Y, 2.96000003814697, 105.45146058215);
        effector:SetKey(_TRACK_X, 3.07840003967285, 210.569257093648);
        effector:SetKey(_TRACK_Y, 3.07840003967285, 109.64708203634);
        effector:SetKey(_TRACK_X, 3.14500004053116, 210.447009081108);
        effector:SetKey(_TRACK_Y, 3.14500004053116, 110.990789917663);
        effector:SetKey(_TRACK_X, 3.33000004291534, 201.147283860991);
        effector:SetKey(_TRACK_Y, 3.33000004291534, 129.450601333622);
        effector:SetKey(_TRACK_X, 3.51500004529953, 172.116966232314);
        effector:SetKey(_TRACK_Y, 3.51500004529953, 149.883830481184);
        effector:SetKey(_TRACK_X, 3.70000004768372, 147.943332739585);
        effector:SetKey(_TRACK_Y, 3.70000004768372, 152.819293224911);
        effector:SetKey(_TRACK_X, 3.81840004920959, 148.935143454995);
        effector:SetKey(_TRACK_Y, 3.81840004920959, 149.801047078157);
        effector:SetKey(_TRACK_X, 3.8850000500679, 149.448804331986);
        effector:SetKey(_TRACK_Y, 3.8850000500679, 149.050629178863);
        effector:SetKey(_TRACK_X, 4.07000005245209, 162.200233413023);
        effector:SetKey(_TRACK_Y, 4.07000005245209, 154.621213675508);
        effector:SetKey(_TRACK_X, 4.25500005483627, 180.825914230448);
        effector:SetKey(_TRACK_Y, 4.25500005483627, 181.005072005179);
        effector:SetKey(_TRACK_X, 4.44000005722046, 187.393311685884);
        effector:SetKey(_TRACK_Y, 4.44000005722046, 189.497078614294);
        effector:SetKey(_TRACK_X, 4.55840005874634, 184.857778475036);
        effector:SetKey(_TRACK_Y, 4.55840005874634, 183.918574319492);
        effector:SetKey(_TRACK_X, 4.62500005960464, 184.072895481038);
        effector:SetKey(_TRACK_Y, 4.62500005960464, 182.197819457114);
        effector:SetKey(_TRACK_X, 4.81000006198883, 176.144774320097);
        effector:SetKey(_TRACK_Y, 4.81000006198883, 163.280920401977);
        effector:SetKey(_TRACK_X, 4.99500006437302, 186.27181603654);
        effector:SetKey(_TRACK_Y, 4.99500006437302, 173.593879997809);
        effector:SetKey(_TRACK_X, 5.1800000667572, 197.585842115682);
        effector:SetKey(_TRACK_Y, 5.1800000667572, 194.622580586978);
        effector:SetKey(_TRACK_X, 5.29840006828308, 199.926231869639);
        effector:SetKey(_TRACK_Y, 5.29840006828308, 199.21994485408);
        effector:SetKey(_TRACK_X, 5.36500006914139, 201.141015746448);
        effector:SetKey(_TRACK_Y, 5.36500006914139, 201.524961698694);
        effector:SetKey(_TRACK_X, 5.55000007152557, 217.683955113704);
        effector:SetKey(_TRACK_Y, 5.55000007152557, 202.646443364015);
        effector:SetKey(_TRACK_X, 5.73500007390976, 213.000471497455);
        effector:SetKey(_TRACK_Y, 5.73500007390976, 156.092626466753);
        effector:SetKey(_TRACK_X, 5.92000007629395, 195.145993417604);
        effector:SetKey(_TRACK_Y, 5.92000007629395, 123.732138512058);
        effector:SetKey(_TRACK_X, 6.03840007781982, 189.257327716462);
        effector:SetKey(_TRACK_Y, 6.03840007781982, 117.847710531477);
        effector:SetKey(_TRACK_X, 6.10500007867813, 188.06488432688);
        effector:SetKey(_TRACK_Y, 6.10500007867813, 116.798242359506);
        effector:SetKey(_TRACK_X, 6.29000008106232, 176.157826602422);
        effector:SetKey(_TRACK_Y, 6.29000008106232, 106.010703195835);
        effector:SetKey(_TRACK_X, 6.4750000834465, 191.613394869017);
        effector:SetKey(_TRACK_Y, 6.4750000834465, 118.019846156774);
        effector:SetKey(_TRACK_X, 6.66000008583069, 183.851789933405);
        effector:SetKey(_TRACK_Y, 6.66000008583069, 109.128196077289);
        effector:SetKey(_TRACK_X, 6.77840008735657, 181.040523918707);
        effector:SetKey(_TRACK_Y, 6.77840008735657, 106.468732108295);
        effector:SetKey(_TRACK_X, 6.84500008821487, 180.039236553127);
        effector:SetKey(_TRACK_Y, 6.84500008821487, 105.533481297167);
        effector:SetKey(_TRACK_X, 7.03000009059906, 168.984997649864);
        effector:SetKey(_TRACK_Y, 7.03000009059906, 96.8857092119579);
        effector:SetKey(_TRACK_X, 7.21500009298325, 162.886337417425);
        effector:SetKey(_TRACK_Y, 7.21500009298325, 113.252561442834);
        effector:SetKey(_TRACK_X, 7.40000009536743, 153.366953751529);
        effector:SetKey(_TRACK_Y, 7.40000009536743, 115.618586146211);
        effector:SetKey(_TRACK_X, 7.51840009689331, 149.570813529567);
        effector:SetKey(_TRACK_Y, 7.51840009689331, 111.898614820076);
        effector:SetKey(_TRACK_X, 7.58500009775162, 147.934851539282);
        effector:SetKey(_TRACK_Y, 7.58500009775162, 110.185428919356);
        effector:SetKey(_TRACK_X, 7.7700001001358, 150.557310787333);
        effector:SetKey(_TRACK_Y, 7.7700001001358, 107.552641434941);
        effector:SetKey(_TRACK_X, 7.95500010251999, 168.248541747389);
        effector:SetKey(_TRACK_Y, 7.95500010251999, 139.318618344887);
        effector:SetKey(_TRACK_X, 8.14000010490417, 159.082764439776);
        effector:SetKey(_TRACK_Y, 8.14000010490417, 164.466065116656);
        effector:SetKey(_TRACK_X, 8.25840010643005, 154.64485215562);
        effector:SetKey(_TRACK_Y, 8.25840010643005, 168.348702172966);
        effector:SetKey(_TRACK_X, 8.32500010728836, 153.161118919831);
        effector:SetKey(_TRACK_Y, 8.32500010728836, 169.501628269227);
        effector:SetKey(_TRACK_X, 8.51000010967255, 137.019546312566);
        effector:SetKey(_TRACK_Y, 8.51000010967255, 183.691727119914);
        effector:SetKey(_TRACK_X, 8.69500011205673, 144.964819817355);
        effector:SetKey(_TRACK_Y, 8.69500011205673, 190.389708333102);
        effector:SetKey(_TRACK_X, 8.88000011444092, 167.582412366364);
        effector:SetKey(_TRACK_Y, 8.88000011444092, 172.36101539991);
        effector:SetKey(_TRACK_X, 8.9984001159668, 172.168640602595);
        effector:SetKey(_TRACK_Y, 8.9984001159668, 167.884484959571);
        effector:SetKey(_TRACK_X, 9.0650001168251, 173.729168902744);
        effector:SetKey(_TRACK_Y, 9.0650001168251, 166.317461609834);
        effector:SetKey(_TRACK_X, 9.25000011920929, 191.1483914295);
        effector:SetKey(_TRACK_Y, 9.25000011920929, 148.862874421184);
        effector:SetKey(_TRACK_X, 9.4350004196167, 213.208906666313);
        effector:SetKey(_TRACK_Y, 9.4350004196167, 126.790409386283);
        effector:SetKey(_TRACK_X, 9.62000012397766, 191.839763865912);
        effector:SetKey(_TRACK_Y, 9.62000012397766, 147.835987671774);
        effector:SetKey(_TRACK_X, 9.73840012550354, 187.049465865015);
        effector:SetKey(_TRACK_Y, 9.73840012550354, 152.555617176754);
        effector:SetKey(_TRACK_X, 9.80500030517578, 185.327521356949);
        effector:SetKey(_TRACK_Y, 9.80500030517578, 154.270059766625);
        effector:SetKey(_TRACK_X, 9.99000012874603, 168.495166533072);
        effector:SetKey(_TRACK_Y, 9.99000012874603, 173.841636170877);
        effector:SetKey(_TRACK_X, 10.1750001907349, 163.853851760205);
        effector:SetKey(_TRACK_Y, 10.1750001907349, 207.827961806999);
        effector:SetKey(_TRACK_X, 10.3600001335144, 191.538574196714);
        effector:SetKey(_TRACK_Y, 10.3600001335144, 201.119458025661);
        effector:SetKey(_TRACK_X, 10.4784001350403, 197.013148796027);
        effector:SetKey(_TRACK_Y, 10.4784001350403, 197.730243906088);
        effector:SetKey(_TRACK_X, 10.5450000762939, 198.13999760326);
        effector:SetKey(_TRACK_Y, 10.5450000762939, 196.986465657121);
        effector:SetKey(_TRACK_X, 10.7300001382828, 208.564436866637);
        effector:SetKey(_TRACK_Y, 10.7300001382828, 190.598362686585);
        effector:SetKey(_TRACK_X, 10.914999961853, 189.216008836993);
        effector:SetKey(_TRACK_Y, 10.914999961853, 203.105450448672);
        effector:SetKey(_TRACK_X, 11.1000001430511, 192.664231480167);
        effector:SetKey(_TRACK_Y, 11.1000001430511, 192.563105278601);
        effector:SetKey(_TRACK_X, 11.218400144577, 195.863119444388);
        effector:SetKey(_TRACK_Y, 11.218400144577, 189.036283350453);
        effector:SetKey(_TRACK_X, 11.2849998474121, 197.653387371271);
        effector:SetKey(_TRACK_Y, 11.2849998474121, 187.018823947855);
        effector:SetKey(_TRACK_X, 11.4700001478195, 211.392956435805);
        effector:SetKey(_TRACK_Y, 11.4700001478195, 161.822737623935);
        effector:SetKey(_TRACK_X, 11.6549998760223, 216.321474114649);
        effector:SetKey(_TRACK_Y, 11.6549998760223, 119.336847036692);
        effector:SetKey(_TRACK_X, 11.8400001525879, 204.013132978592);
        effector:SetKey(_TRACK_Y, 11.8400001525879, 100.694364335988);
        effector:SetKey(_TRACK_X, 11.9584001541138, 202.300693804668);
        effector:SetKey(_TRACK_Y, 11.9584001541138, 107.672137633293);
        effector:SetKey(_TRACK_X, 12.0249997615814, 201.897606007186);
        effector:SetKey(_TRACK_Y, 12.0249997615814, 109.763891117534);
        effector:SetKey(_TRACK_X, 12.2100001573563, 193.429647258741);
        effector:SetKey(_TRACK_Y, 12.2100001573563, 129.661878299975);
        effector:SetKey(_TRACK_X, 12.3950006008148, 163.68749545327);
        effector:SetKey(_TRACK_Y, 12.3950006008148, 146.685615276768);
        effector:SetKey(_TRACK_X, 12.5800001621246, 143.022685954745);
        effector:SetKey(_TRACK_Y, 12.5800001621246, 155.071235477724);
        effector:SetKey(_TRACK_X, 12.6984001636505, 140.356023411657);
        effector:SetKey(_TRACK_Y, 12.6984001636505, 157.136324006711);
        effector:SetKey(_TRACK_X, 12.7649995326996, 140.121047044103);
        effector:SetKey(_TRACK_Y, 12.7649995326996, 157.340669536941);
        effector:SetKey(_TRACK_X, 12.950000166893, 137.300760861145);
        effector:SetKey(_TRACK_Y, 12.950000166893, 159.674856415571);
        effector:SetKey(_TRACK_X, 13.135000371933, 131.137869848877);
        effector:SetKey(_TRACK_Y, 13.135000371933, 163.864198832827);
        effector:SetKey(_TRACK_X, 13.3200001716614, 121.310496186088);
        effector:SetKey(_TRACK_Y, 13.3200001716614, 166.115648478646);
        effector:SetKey(_TRACK_X, 13.5049993038177, 118.729795527307);
        effector:SetKey(_TRACK_Y, 13.5049993038177, 164.485823589323);
        effector:SetKey(_TRACK_X, 13.6799985408783, 118.212709156381);
        effector:SetKey(_TRACK_Y, 13.6799985408783, 163.713001105115);
    
        effector:Play();
    
    
        -- Layer Fly_4
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/fly_4.png");
        element:SetName("Fly_4");
        compositionFlies:AddElement(element);
        element:SetHotSpot(12.5, 15);
        element:SetParentElement(compositionFlies);
        element:SetScaleX(0.36);
        element:SetScaleY(0.36);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.7200006008148);
    
        effector:SetKey(_TRACK_X, 0, 149.07586415989);
        effector:SetKey(_TRACK_Y, 0, 137.896386828556);
        effector:SetKey(_TRACK_X, 0.18500000238419, 152.533699820359);
        effector:SetKey(_TRACK_Y, 0.18500000238419, 140.603073884685);
        effector:SetKey(_TRACK_X, 0.37000000476837, 160.750506109029);
        effector:SetKey(_TRACK_Y, 0.37000000476837, 147.034935986908);
        effector:SetKey(_TRACK_X, 0.55500000715256, 160.374224135517);
        effector:SetKey(_TRACK_Y, 0.55500000715256, 146.7403930232);
        effector:SetKey(_TRACK_X, 0.74000000953674, 152.281444379122);
        effector:SetKey(_TRACK_Y, 0.74000000953674, 140.405616306204);
        effector:SetKey(_TRACK_X, 0.91760001182556, 149.075702429333);
        effector:SetKey(_TRACK_Y, 0.91760001182556, 137.896259869618);
        effector:SetKey(_TRACK_X, 0.92500001192093, 149.047775176793);
        effector:SetKey(_TRACK_Y, 0.92500001192093, 137.874376714873);
        effector:SetKey(_TRACK_X, 1.11000001430511, 148.532967392718);
        effector:SetKey(_TRACK_Y, 1.11000001430511, 122.665190330959);
        effector:SetKey(_TRACK_X, 1.2950000166893, 188.080411480901);
        effector:SetKey(_TRACK_Y, 1.2950000166893, 116.604671194608);
        effector:SetKey(_TRACK_X, 1.48000001907349, 222.658602427063);
        effector:SetKey(_TRACK_Y, 1.48000001907349, 128.899615850242);
        effector:SetKey(_TRACK_X, 1.6576000213623, 212.718801256576);
        effector:SetKey(_TRACK_Y, 1.6576000213623, 138.831343982279);
        effector:SetKey(_TRACK_X, 1.66500002145767, 212.703449342574);
        effector:SetKey(_TRACK_Y, 1.66500002145767, 138.84049003222);
        effector:SetKey(_TRACK_X, 1.85000002384186, 204.210368635148);
        effector:SetKey(_TRACK_Y, 1.85000002384186, 144.292920907616);
        effector:SetKey(_TRACK_X, 2.03500002622604, 189.102082162143);
        effector:SetKey(_TRACK_Y, 2.03500002622604, 160.594414120599);
        effector:SetKey(_TRACK_X, 2.22000002861023, 195.06135704899);
        effector:SetKey(_TRACK_Y, 2.22000002861023, 154.340321049515);
        effector:SetKey(_TRACK_X, 2.39760003089905, 191.018698248815);
        effector:SetKey(_TRACK_Y, 2.39760003089905, 145.85752846853);
        effector:SetKey(_TRACK_X, 2.40500003099442, 191.007414618616);
        effector:SetKey(_TRACK_Y, 2.40500003099442, 145.840337161159);
        effector:SetKey(_TRACK_X, 2.5900000333786, 183.417436629508);
        effector:SetKey(_TRACK_Y, 2.5900000333786, 139.524317769841);
        effector:SetKey(_TRACK_X, 2.77500003576279, 177.7217843161);
        effector:SetKey(_TRACK_Y, 2.77500003576279, 157.278378167878);
        effector:SetKey(_TRACK_X, 2.96000003814697, 157.649060334226);
        effector:SetKey(_TRACK_Y, 2.96000003814697, 154.75524390835);
        effector:SetKey(_TRACK_X, 3.13760004043579, 150.827479276976);
        effector:SetKey(_TRACK_Y, 3.13760004043579, 149.940061435224);
        effector:SetKey(_TRACK_X, 3.14500004053116, 150.807262459558);
        effector:SetKey(_TRACK_Y, 3.14500004053116, 149.924515033256);
        effector:SetKey(_TRACK_X, 3.33000004291534, 140.659953881625);
        effector:SetKey(_TRACK_Y, 3.33000004291534, 141.336887893335);
        effector:SetKey(_TRACK_X, 3.51500004529953, 156.541806689052);
        effector:SetKey(_TRACK_Y, 3.51500004529953, 154.598870705097);
        effector:SetKey(_TRACK_X, 3.70000004768372, 155.82508174723);
        effector:SetKey(_TRACK_Y, 3.70000004768372, 187.317377817863);
        effector:SetKey(_TRACK_X, 3.87760004997253, 145.370102929216);
        effector:SetKey(_TRACK_Y, 3.87760004997253, 198.708912770206);
        effector:SetKey(_TRACK_X, 3.8850000500679, 145.350649133407);
        effector:SetKey(_TRACK_Y, 3.8850000500679, 198.725099044201);
        effector:SetKey(_TRACK_X, 4.07000005245209, 134.433182430138);
        effector:SetKey(_TRACK_Y, 4.07000005245209, 207.469181271215);
        effector:SetKey(_TRACK_X, 4.25500005483627, 131.346629784359);
        effector:SetKey(_TRACK_Y, 4.25500005483627, 195.072197181585);
        effector:SetKey(_TRACK_X, 4.44000005722046, 137.869955368389);
        effector:SetKey(_TRACK_Y, 4.44000005722046, 167.072265505657);
        effector:SetKey(_TRACK_X, 4.61760005950928, 132.430211177832);
        effector:SetKey(_TRACK_Y, 4.61760005950928, 156.214224243068);
        effector:SetKey(_TRACK_X, 4.62500005960464, 132.40328049403);
        effector:SetKey(_TRACK_Y, 4.62500005960464, 156.190867795926);
        effector:SetKey(_TRACK_X, 4.81000006198883, 136.026061406625);
        effector:SetKey(_TRACK_Y, 4.81000006198883, 139.308720982553);
        effector:SetKey(_TRACK_X, 4.99500006437302, 169.904377597821);
        effector:SetKey(_TRACK_Y, 4.99500006437302, 116.574963432119);
        effector:SetKey(_TRACK_X, 5.1800000667572, 206.573229890366);
        effector:SetKey(_TRACK_Y, 5.1800000667572, 100.499761519717);
        effector:SetKey(_TRACK_X, 5.35760006904602, 213.66980402056);
        effector:SetKey(_TRACK_Y, 5.35760006904602, 102.840846537785);
        effector:SetKey(_TRACK_X, 5.36500006914139, 213.641449797981);
        effector:SetKey(_TRACK_Y, 5.36500006914139, 102.862555763722);
        effector:SetKey(_TRACK_X, 5.55000007152557, 198.907380277644);
        effector:SetKey(_TRACK_Y, 5.55000007152557, 117.592058375627);
        effector:SetKey(_TRACK_X, 5.73500007390976, 172.770486769595);
        effector:SetKey(_TRACK_Y, 5.73500007390976, 152.552925905599);
        effector:SetKey(_TRACK_X, 5.92000007629395, 152.550458600218);
        effector:SetKey(_TRACK_Y, 5.92000007629395, 189.956068117908);
        effector:SetKey(_TRACK_X, 6.09760007858276, 165.5564720993);
        effector:SetKey(_TRACK_Y, 6.09760007858276, 184.453872047196);
        effector:SetKey(_TRACK_X, 6.10500007867813, 165.572701972382);
        effector:SetKey(_TRACK_Y, 6.10500007867813, 184.438718270635);
        effector:SetKey(_TRACK_X, 6.29000008106232, 174.297538109072);
        effector:SetKey(_TRACK_Y, 6.29000008106232, 175.80834445836);
        effector:SetKey(_TRACK_X, 6.4750000834465, 177.069648656439);
        effector:SetKey(_TRACK_Y, 6.4750000834465, 160.710039300394);
        effector:SetKey(_TRACK_X, 6.66000008583069, 177.146018063555);
        effector:SetKey(_TRACK_Y, 6.66000008583069, 142.68546510437);
        effector:SetKey(_TRACK_X, 6.83760008811951, 181.677889288193);
        effector:SetKey(_TRACK_Y, 6.83760008811951, 135.821050371209);
        effector:SetKey(_TRACK_X, 6.84500008821487, 181.691410939553);
        effector:SetKey(_TRACK_Y, 6.84500008821487, 135.802129631376);
        effector:SetKey(_TRACK_X, 7.03000009059906, 191.055595332812);
        effector:SetKey(_TRACK_Y, 7.03000009059906, 127.593817446886);
        effector:SetKey(_TRACK_X, 7.21500009298325, 202.239549500375);
        effector:SetKey(_TRACK_Y, 7.21500009298325, 155.778733532078);
        effector:SetKey(_TRACK_X, 7.40000009536743, 203.688028814594);
        effector:SetKey(_TRACK_Y, 7.40000009536743, 187.493885023168);
        effector:SetKey(_TRACK_X, 7.57760009765625, 205.660235212901);
        effector:SetKey(_TRACK_Y, 7.57760009765625, 191.700136750693);
        effector:SetKey(_TRACK_X, 7.58500009775162, 205.665861138502);
        effector:SetKey(_TRACK_Y, 7.58500009775162, 191.676300644238);
        effector:SetKey(_TRACK_X, 7.7700001001358, 200.734487452748);
        effector:SetKey(_TRACK_Y, 7.7700001001358, 175.791773755547);
        effector:SetKey(_TRACK_X, 7.95499992370605, 173.213674204105);
        effector:SetKey(_TRACK_Y, 7.95499992370605, 141.911141487165);
        effector:SetKey(_TRACK_X, 8.14000010490417, 147.362011491061);
        effector:SetKey(_TRACK_Y, 8.14000010490417, 108.613832831241);
        effector:SetKey(_TRACK_X, 8.31760010719299, 152.589095900666);
        effector:SetKey(_TRACK_Y, 8.31760010719299, 102.564128799833);
        effector:SetKey(_TRACK_X, 8.32499980926514, 152.599863210161);
        effector:SetKey(_TRACK_Y, 8.32499980926514, 102.563698854154);
        effector:SetKey(_TRACK_X, 8.51000010967255, 158.392140169301);
        effector:SetKey(_TRACK_Y, 8.51000010967255, 102.873546080496);
        effector:SetKey(_TRACK_X, 8.69499969482422, 150.898672842374);
        effector:SetKey(_TRACK_Y, 8.69499969482422, 112.994953060922);
        effector:SetKey(_TRACK_X, 8.88000011444092, 149.756444278577);
        effector:SetKey(_TRACK_Y, 8.88000011444092, 120.998242022928);
        effector:SetKey(_TRACK_X, 9.05760011672974, 156.385366570996);
        effector:SetKey(_TRACK_Y, 9.05760011672974, 120.544038156942);
        effector:SetKey(_TRACK_X, 9.06500053405762, 156.403702131426);
        effector:SetKey(_TRACK_Y, 9.06500053405762, 120.542027886482);
        effector:SetKey(_TRACK_X, 9.25000011920929, 166.515680511671);
        effector:SetKey(_TRACK_Y, 9.25000011920929, 116.337857569972);
        effector:SetKey(_TRACK_X, 9.4350004196167, 170.669686740397);
        effector:SetKey(_TRACK_Y, 9.4350004196167, 90.9760922483289);
        effector:SetKey(_TRACK_X, 9.62000012397766, 171.792164205237);
        effector:SetKey(_TRACK_Y, 9.62000012397766, 88.0071842137281);
        effector:SetKey(_TRACK_X, 9.79760012626648, 176.560165373889);
        effector:SetKey(_TRACK_Y, 9.79760012626648, 97.351116288996);
        effector:SetKey(_TRACK_X, 9.80500030517578, 176.571409626483);
        effector:SetKey(_TRACK_Y, 9.80500030517578, 97.3728074224633);
        effector:SetKey(_TRACK_X, 9.99000012874603, 182.375766533049);
        effector:SetKey(_TRACK_Y, 9.99000012874603, 109.683002896522);
        effector:SetKey(_TRACK_X, 10.1750005245209, 170.966126650674);
        effector:SetKey(_TRACK_Y, 10.1750005245209, 129.189814570043);
        effector:SetKey(_TRACK_X, 10.3600001335144, 141.841912140261);
        effector:SetKey(_TRACK_Y, 10.3600001335144, 136.602631444203);
        effector:SetKey(_TRACK_X, 10.5376001358032, 130.950252494846);
        effector:SetKey(_TRACK_Y, 10.5376001358032, 144.431119889101);
        effector:SetKey(_TRACK_X, 10.54500041008, 130.929503792746);
        effector:SetKey(_TRACK_Y, 10.54500041008, 144.450263746524);
        effector:SetKey(_TRACK_X, 10.7300001382828, 123.078219665847);
        effector:SetKey(_TRACK_Y, 10.7300001382828, 151.906237145785);
        effector:SetKey(_TRACK_X, 10.915000295639, 145.816289658371);
        effector:SetKey(_TRACK_Y, 10.915000295639, 135.550780539949);
        effector:SetKey(_TRACK_X, 11.1000001430511, 169.776586163055);
        effector:SetKey(_TRACK_Y, 11.1000001430511, 129.717862868226);
        effector:SetKey(_TRACK_X, 11.27760014534, 170.598056771839);
        effector:SetKey(_TRACK_Y, 11.27760014534, 136.40676472742);
        effector:SetKey(_TRACK_X, 11.2849992275238, 170.596420292876);
        effector:SetKey(_TRACK_Y, 11.2849992275238, 136.420260311789);
        effector:SetKey(_TRACK_X, 11.4700001478195, 170.646793696182);
        effector:SetKey(_TRACK_Y, 11.4700001478195, 144.886944864921);
        effector:SetKey(_TRACK_X, 11.6550000667572, 185.184826138406);
        effector:SetKey(_TRACK_Y, 11.6550000667572, 162.465305658939);
        effector:SetKey(_TRACK_X, 11.8400001525879, 204.857071460726);
        effector:SetKey(_TRACK_Y, 11.8400001525879, 164.767637321857);
        effector:SetKey(_TRACK_X, 12.0176001548767, 206.365410588017);
        effector:SetKey(_TRACK_Y, 12.0176001548767, 163.373316079436);
        effector:SetKey(_TRACK_X, 12.0250009059906, 206.363091034607);
        effector:SetKey(_TRACK_Y, 12.0250009059906, 163.370999772744);
        effector:SetKey(_TRACK_X, 12.2100001573563, 199.066432000063);
        effector:SetKey(_TRACK_Y, 12.2100001573563, 160.132167931107);
        effector:SetKey(_TRACK_X, 12.3949998378754, 170.989087912056);
        effector:SetKey(_TRACK_Y, 12.3949998378754, 152.249110338411);
        effector:SetKey(_TRACK_X, 12.5800001621246, 139.523061224622);
        effector:SetKey(_TRACK_Y, 12.5800001621246, 145.043371213396);
        effector:SetKey(_TRACK_X, 12.7576001644135, 128.491755697068);
        effector:SetKey(_TRACK_Y, 12.7576001644135, 142.781169682143);
        effector:SetKey(_TRACK_X, 12.7650006771088, 128.483841722651);
        effector:SetKey(_TRACK_Y, 12.7650006771088, 142.779595424624);
        effector:SetKey(_TRACK_X, 12.950000166893, 123.992471432577);
        effector:SetKey(_TRACK_Y, 12.950000166893, 141.83392218046);
        effector:SetKey(_TRACK_X, 13.1349996089935, 115.803715254613);
        effector:SetKey(_TRACK_Y, 13.1349996089935, 138.83710218331);
        effector:SetKey(_TRACK_X, 13.3200001716614, 131.771006586976);
        effector:SetKey(_TRACK_Y, 13.3200001716614, 137.458849837584);
        effector:SetKey(_TRACK_X, 13.5050004482269, 144.317215746596);
        effector:SetKey(_TRACK_Y, 13.5050004482269, 137.716662088491);
        effector:SetKey(_TRACK_X, 13.6799977779388, 149.07586415989);
        effector:SetKey(_TRACK_Y, 13.6799977779388, 137.896386828556);
    
        effector:Play();
    
    
        -- Layer Fly_5
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/fly_5.png");
        element:SetName("Fly_5");
        compositionFlies:AddElement(element);
        element:SetHotSpot(21.5, 22.5);
        element:SetParentElement(compositionFlies);
        element:SetScaleX(0.36);
        element:SetScaleY(0.36);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.7199997425079);
    
        effector:SetKey(_TRACK_X, 0, 147.358099335524);
        effector:SetKey(_TRACK_Y, 0, 152.778829530055);
        effector:SetKey(_TRACK_X, 0.18500000238419, 148.443637609382);
        effector:SetKey(_TRACK_Y, 0.18500000238419, 153.182794344825);
        effector:SetKey(_TRACK_X, 0.37000000476837, 151.151290847835);
        effector:SetKey(_TRACK_Y, 0.37000000476837, 154.190401692063);
        effector:SetKey(_TRACK_X, 0.55500000715256, 154.357697637387);
        effector:SetKey(_TRACK_Y, 0.55500000715256, 155.38360944089);
        effector:SetKey(_TRACK_X, 0.74000000953674, 150.892118772026);
        effector:SetKey(_TRACK_Y, 0.74000000953674, 154.093954599074);
        effector:SetKey(_TRACK_X, 0.92500001192093, 148.286766586303);
        effector:SetKey(_TRACK_Y, 0.92500001192093, 153.124417459441);
        effector:SetKey(_TRACK_X, 1.09520001411438, 147.358099635324);
        effector:SetKey(_TRACK_Y, 1.09520001411438, 152.77882927218);
        effector:SetKey(_TRACK_X, 1.11000001430511, 147.312533964474);
        effector:SetKey(_TRACK_Y, 1.11000001430511, 152.761893751764);
        effector:SetKey(_TRACK_X, 1.2950000166893, 144.221063741602);
        effector:SetKey(_TRACK_Y, 1.2950000166893, 152.037214617824);
        effector:SetKey(_TRACK_X, 1.48000001907349, 167.010235936831);
        effector:SetKey(_TRACK_Y, 1.48000001907349, 155.275126217929);
        effector:SetKey(_TRACK_X, 1.66500002145767, 183.343927377681);
        effector:SetKey(_TRACK_Y, 1.66500002145767, 142.166387724875);
        effector:SetKey(_TRACK_X, 1.83520002365112, 185.441688731814);
        effector:SetKey(_TRACK_Y, 1.83520002365112, 134.837729682439);
        effector:SetKey(_TRACK_X, 1.85000002384186, 185.455382027759);
        effector:SetKey(_TRACK_Y, 1.85000002384186, 134.759720472316);
        effector:SetKey(_TRACK_X, 2.03500002622604, 186.007588433937);
        effector:SetKey(_TRACK_Y, 2.03500002622604, 123.62229487379);
        effector:SetKey(_TRACK_X, 2.22000002861023, 161.777258805202);
        effector:SetKey(_TRACK_Y, 2.22000002861023, 130.98680880698);
        effector:SetKey(_TRACK_X, 2.40500003099442, 138.058101519317);
        effector:SetKey(_TRACK_Y, 2.40500003099442, 150.473861984536);
        effector:SetKey(_TRACK_X, 2.57520003318787, 128.349463292198);
        effector:SetKey(_TRACK_Y, 2.57520003318787, 157.773609979068);
        effector:SetKey(_TRACK_X, 2.5900000333786, 128.31474468634);
        effector:SetKey(_TRACK_Y, 2.5900000333786, 157.798077188403);
        effector:SetKey(_TRACK_X, 2.77500003576279, 123.262122933427);
        effector:SetKey(_TRACK_Y, 2.77500003576279, 161.615209131074);
        effector:SetKey(_TRACK_X, 2.96000003814697, 116.563820701072);
        effector:SetKey(_TRACK_Y, 2.96000003814697, 172.01134630544);
        effector:SetKey(_TRACK_X, 3.14500004053116, 125.799808309636);
        effector:SetKey(_TRACK_Y, 3.14500004053116, 178.028287670451);
        effector:SetKey(_TRACK_X, 3.31520004272461, 124.532207721363);
        effector:SetKey(_TRACK_Y, 3.31520004272461, 182.019651052254);
        effector:SetKey(_TRACK_X, 3.33000004291534, 124.473690211565);
        effector:SetKey(_TRACK_Y, 3.33000004291534, 182.067272599361);
        effector:SetKey(_TRACK_X, 3.51500004529953, 131.891995720956);
        effector:SetKey(_TRACK_Y, 3.51500004529953, 176.670361788598);
        effector:SetKey(_TRACK_X, 3.70000004768372, 151.21482517814);
        effector:SetKey(_TRACK_Y, 3.70000004768372, 162.298979890991);
        effector:SetKey(_TRACK_X, 3.8850000500679, 157.059686412696);
        effector:SetKey(_TRACK_Y, 3.8850000500679, 160.333359146218);
        effector:SetKey(_TRACK_X, 4.05520005226135, 150.101347471085);
        effector:SetKey(_TRACK_Y, 4.05520005226135, 166.386697459619);
        effector:SetKey(_TRACK_X, 4.07000005245209, 150.015191008058);
        effector:SetKey(_TRACK_Y, 4.07000005245209, 166.460575548548);
        effector:SetKey(_TRACK_X, 4.25500005483627, 136.562858320264);
        effector:SetKey(_TRACK_Y, 4.25500005483627, 175.899768324553);
        effector:SetKey(_TRACK_X, 4.44000005722046, 135.503186208641);
        effector:SetKey(_TRACK_Y, 4.44000005722046, 153.292019427979);
        effector:SetKey(_TRACK_X, 4.62500005960464, 148.932066848084);
        effector:SetKey(_TRACK_Y, 4.62500005960464, 126.075543517294);
        effector:SetKey(_TRACK_X, 4.7952000617981, 152.674758638621);
        effector:SetKey(_TRACK_Y, 4.7952000617981, 119.840446660544);
        effector:SetKey(_TRACK_X, 4.81000006198883, 152.697837618747);
        effector:SetKey(_TRACK_Y, 4.81000006198883, 119.806917953106);
        effector:SetKey(_TRACK_X, 4.99500006437302, 157.973328266673);
        effector:SetKey(_TRACK_Y, 4.99500006437302, 128.902914777029);
        effector:SetKey(_TRACK_X, 5.1800000667572, 166.609519485889);
        effector:SetKey(_TRACK_Y, 5.1800000667572, 163.632120104657);
        effector:SetKey(_TRACK_X, 5.36500006914139, 180.776182893557);
        effector:SetKey(_TRACK_Y, 5.36500006914139, 192.99421516791);
        effector:SetKey(_TRACK_X, 5.53520007133484, 189.482157343306);
        effector:SetKey(_TRACK_Y, 5.53520007133484, 184.615707528476);
        effector:SetKey(_TRACK_X, 5.55000007152557, 189.52308820361);
        effector:SetKey(_TRACK_Y, 5.55000007152557, 184.52898595455);
        effector:SetKey(_TRACK_X, 5.73500007390976, 195.344508165228);
        effector:SetKey(_TRACK_Y, 5.73500007390976, 171.734698276194);
        effector:SetKey(_TRACK_X, 5.92000007629395, 205.897469039024);
        effector:SetKey(_TRACK_Y, 5.92000007629395, 148.228447589607);
        effector:SetKey(_TRACK_X, 6.10500007867813, 210.931054964946);
        effector:SetKey(_TRACK_Y, 6.10500007867813, 164.429708660576);
        effector:SetKey(_TRACK_X, 6.27520008087158, 211.392555195079);
        effector:SetKey(_TRACK_Y, 6.27520008087158, 172.426370774645);
        effector:SetKey(_TRACK_X, 6.29000008106232, 211.398117800212);
        effector:SetKey(_TRACK_Y, 6.29000008106232, 172.527272956779);
        effector:SetKey(_TRACK_X, 6.4750000834465, 215.296843658619);
        effector:SetKey(_TRACK_Y, 6.4750000834465, 179.493175369875);
        effector:SetKey(_TRACK_X, 6.66000008583069, 225.718524499469);
        effector:SetKey(_TRACK_Y, 6.66000008583069, 137.895364107202);
        effector:SetKey(_TRACK_X, 6.84500008821487, 217.762782019811);
        effector:SetKey(_TRACK_Y, 6.84500008821487, 102.685873800514);
        effector:SetKey(_TRACK_X, 7.01520009040833, 204.3581303669);
        effector:SetKey(_TRACK_Y, 7.01520009040833, 109.82176987572);
        effector:SetKey(_TRACK_X, 7.03000009059906, 204.279015390569);
        effector:SetKey(_TRACK_Y, 7.03000009059906, 109.894961406808);
        effector:SetKey(_TRACK_X, 7.21500009298325, 194.057057429991);
        effector:SetKey(_TRACK_Y, 7.21500009298325, 120.885639149653);
        effector:SetKey(_TRACK_X, 7.40000009536743, 216.780629199426);
        effector:SetKey(_TRACK_Y, 7.40000009536743, 119.402803792419);
        effector:SetKey(_TRACK_X, 7.58500009775162, 220.766195618084);
        effector:SetKey(_TRACK_Y, 7.58500009775162, 132.928273615809);
        effector:SetKey(_TRACK_X, 7.75520009994507, 213.514689026308);
        effector:SetKey(_TRACK_Y, 7.75520009994507, 141.060179130818);
        effector:SetKey(_TRACK_X, 7.7700001001358, 213.432751424182);
        effector:SetKey(_TRACK_Y, 7.7700001001358, 141.14689064104);
        effector:SetKey(_TRACK_X, 7.95500010251999, 201.177612294868);
        effector:SetKey(_TRACK_Y, 7.95500010251999, 154.522524878789);
        effector:SetKey(_TRACK_X, 8.14000010490417, 177.386851996278);
        effector:SetKey(_TRACK_Y, 8.14000010490417, 183.575262606017);
        effector:SetKey(_TRACK_X, 8.32500010728836, 164.291292743721);
        effector:SetKey(_TRACK_Y, 8.32500010728836, 208.134150280472);
        effector:SetKey(_TRACK_X, 8.49520010948181, 171.995570114637);
        effector:SetKey(_TRACK_Y, 8.49520010948181, 199.724597337485);
        effector:SetKey(_TRACK_X, 8.51000010967255, 172.082858644359);
        effector:SetKey(_TRACK_Y, 8.51000010967255, 199.614265074034);
        effector:SetKey(_TRACK_X, 8.69500011205673, 171.25859717335);
        effector:SetKey(_TRACK_Y, 8.69500011205673, 180.483870396137);
        effector:SetKey(_TRACK_X, 8.88000011444092, 139.404574162394);
        effector:SetKey(_TRACK_Y, 8.88000011444092, 146.817117287914);
        effector:SetKey(_TRACK_X, 9.0650001168251, 115.988444359824);
        effector:SetKey(_TRACK_Y, 9.0650001168251, 111.00918370089);
        effector:SetKey(_TRACK_X, 9.23520011901855, 117.834219237218);
        effector:SetKey(_TRACK_Y, 9.23520011901855, 97.7699178803439);
        effector:SetKey(_TRACK_X, 9.25000011920929, 117.860138755558);
        effector:SetKey(_TRACK_Y, 9.25000011920929, 97.7106771779751);
        effector:SetKey(_TRACK_X, 9.43500012159348, 122.857600244794);
        effector:SetKey(_TRACK_Y, 9.43500012159348, 89.7793860007483);
        effector:SetKey(_TRACK_X, 9.62000012397766, 140.927354002337);
        effector:SetKey(_TRACK_Y, 9.62000012397766, 98.4212866564329);
        effector:SetKey(_TRACK_X, 9.80500012636185, 140.659117607674);
        effector:SetKey(_TRACK_Y, 9.80500012636185, 107.080861487221);
        effector:SetKey(_TRACK_X, 9.9752001285553, 135.4679974954);
        effector:SetKey(_TRACK_Y, 9.9752001285553, 98.1370865541148);
        effector:SetKey(_TRACK_X, 9.99000012874603, 135.3908553544);
        effector:SetKey(_TRACK_Y, 9.99000012874603, 97.9922692414318);
        effector:SetKey(_TRACK_X, 10.1750001311302, 137.607233944669);
        effector:SetKey(_TRACK_Y, 10.1750001311302, 103.933783752703);
        effector:SetKey(_TRACK_X, 10.3600001335144, 160.885844258932);
        effector:SetKey(_TRACK_Y, 10.3600001335144, 145.783309589682);
        effector:SetKey(_TRACK_X, 10.5450001358986, 187.303713122267);
        effector:SetKey(_TRACK_Y, 10.5450001358986, 183.110001583441);
        effector:SetKey(_TRACK_X, 10.715200138092, 201.43695926178);
        effector:SetKey(_TRACK_Y, 10.715200138092, 185.667070416559);
        effector:SetKey(_TRACK_X, 10.7300001382828, 201.481210816402);
        effector:SetKey(_TRACK_Y, 10.7300001382828, 185.546485042929);
        effector:SetKey(_TRACK_X, 10.915000140667, 201.542680177477);
        effector:SetKey(_TRACK_Y, 10.915000140667, 166.292441934702);
        effector:SetKey(_TRACK_X, 11.1000001430511, 183.554756888089);
        effector:SetKey(_TRACK_Y, 11.1000001430511, 132.996578249914);
        effector:SetKey(_TRACK_X, 11.2849998474121, 158.224660798534);
        effector:SetKey(_TRACK_Y, 11.2849998474121, 106.459976619987);
        effector:SetKey(_TRACK_X, 11.4552001476288, 148.207275789987);
        effector:SetKey(_TRACK_Y, 11.4552001476288, 99.9341076181537);
        effector:SetKey(_TRACK_X, 11.4700001478195, 148.170745041302);
        effector:SetKey(_TRACK_Y, 11.4700001478195, 99.9216541458298);
        effector:SetKey(_TRACK_X, 11.6549997329712, 142.899460684838);
        effector:SetKey(_TRACK_Y, 11.6549997329712, 99.735922242012);
        effector:SetKey(_TRACK_X, 11.8400001525879, 149.02763246688);
        effector:SetKey(_TRACK_Y, 11.8400001525879, 112.276093411716);
        effector:SetKey(_TRACK_X, 12.0250005722046, 156.087285843254);
        effector:SetKey(_TRACK_Y, 12.0250005722046, 129.398583848239);
        effector:SetKey(_TRACK_X, 12.1952001571655, 157.802174407918);
        effector:SetKey(_TRACK_Y, 12.1952001571655, 134.624221799808);
        effector:SetKey(_TRACK_X, 12.2100001573563, 157.821095437404);
        effector:SetKey(_TRACK_Y, 12.2100001573563, 134.685062708617);
        effector:SetKey(_TRACK_X, 12.3950004577637, 161.324299300978);
        effector:SetKey(_TRACK_Y, 12.3950004577637, 145.466759643835);
        effector:SetKey(_TRACK_X, 12.5800001621246, 170.091557806112);
        effector:SetKey(_TRACK_Y, 12.5800001621246, 171.560826547404);
        effector:SetKey(_TRACK_X, 12.7650003433228, 172.770035948545);
        effector:SetKey(_TRACK_Y, 12.7650003433228, 194.577761497141);
        effector:SetKey(_TRACK_X, 12.9352001667023, 170.961999723985);
        effector:SetKey(_TRACK_Y, 12.9352001667023, 200.238957781341);
        effector:SetKey(_TRACK_X, 12.950000166893, 170.948403985161);
        effector:SetKey(_TRACK_Y, 12.950000166893, 200.268398123478);
        effector:SetKey(_TRACK_X, 13.1350002288818, 167.81093777779);
        effector:SetKey(_TRACK_Y, 13.1350002288818, 202.504559458313);
        effector:SetKey(_TRACK_X, 13.3200001716614, 156.791055953989);
        effector:SetKey(_TRACK_Y, 13.3200001716614, 182.831485025257);
        effector:SetKey(_TRACK_X, 13.5050005435944, 149.788267000607);
        effector:SetKey(_TRACK_Y, 13.5050005435944, 161.373676460239);
        effector:SetKey(_TRACK_X, 13.6799988269806, 147.358099335524);
        effector:SetKey(_TRACK_Y, 13.6799988269806, 152.778829530055);
    
        effector:Play();
    
        compositionFlies:Play();
    
        return compositionFlies;
    end
    
    createCompositionkotelna_life = function()
    
        local compositionkotelna_life = CreateCompositionSequence();
        local compositionDuration = 13.72;
        compositionkotelna_life:SetDuration(compositionDuration);
    
    
        -- Layer Water_drop_comp_1
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_1");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(573.903961181641, 549.654220581055);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.56, 10.96);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_2
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_2");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(678.303970336914, 421.254211425781);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.4, 8.8);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_3
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_3");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(300.303970336914, 428.454208374023);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.04, 2.44);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_4
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_4");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(831.903961181641, 386.454208374023);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.08, 11.48);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_5
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_5");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(991.503967285156, 465.654205322266);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.72, 8.12);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_6
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_6");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(932.703964233398, 364.854202270508);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.4, 12.8);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_7
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_7");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(531.172302246094, 447.42268371582);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.6, 7);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_8
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_8");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(462.176727294922, 448.553756713867);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.84, 2.24);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_9
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_9");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(84.2845306396484, 290.053024291992);
    
        element:SetScaleX(0.60752649412443);
        element:SetScaleY(0.60752649412443);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(3.12, 4.52);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_10
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_10");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(989.257736206055, 408.966125488281);
    
        element:SetScaleX(0.85272459499264);
        element:SetScaleY(0.85272459499264);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.24, 2.64);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_11
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_11");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(855.659805297852, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.68, 8.08);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_12
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_12");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(905.427108764648, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.32, 10.72);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_13
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_13");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(277.680419921875, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.48, 2.88);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_14
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_14");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(151, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 1.4);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_15
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_15");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(573.903961181641, 549.654220581055);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.4, 3.8);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_16
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_16");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(678.303970336914, 421.254211425781);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.28, 9.68);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_17
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_17");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(300.303970336914, 428.454208374023);
    
        element:SetScaleX(0.39107490447697);
        element:SetScaleY(0.39107490447697);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.72, 2.12);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_18
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_18");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(831.903961181641, 386.454208374023);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.48, 5.88);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_19
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_19");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(991.503967285156, 465.654205322266);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.6, 3);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_20
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_20");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(932.703964233398, 364.854202270508);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.72, 7.12);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_21
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_21");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(531.172302246094, 447.42268371582);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.2, 5.6);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_22
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_22");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(462.176727294922, 448.553756713867);
    
        element:SetScaleX(0.44142455482662);
        element:SetScaleY(0.44142455482662);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.84, 2.24);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_23
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_23");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(84.2845306396484, 290.053024291992);
    
        element:SetScaleX(0.60752649412443);
        element:SetScaleY(0.60752649412443);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.72, 12.12);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_24
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_24");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(989.257736206055, 408.966125488281);
    
        element:SetScaleX(0.85272459499264);
        element:SetScaleY(0.85272459499264);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.96, 4.36);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_25
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_25");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(855.659805297852, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.6, 7);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_26
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_26");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(905.427108764648, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.64, 10.04);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_27
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_27");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(277.680419921875, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.44, 1.84);
    
    
        effector:Play();
    
    
        -- Layer Water_drop_comp_28
        local element = createCompositionWaterDrop();
        element:SetName("Water_drop_comp_28");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(143, 553.5);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(151, 479);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 1.4);
    
    
        effector:Play();
    
    
        -- Layer Dust_1
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/dust.png");
        element:SetName("Dust_1");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(512, 512);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(512, 384);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 6.88);
    
        effector:SetKey(_TRACK_SX, 0, 1.14);
        effector:SetKey(_TRACK_SY, 0, 1.14);
        effector:SetKey(_TRACK_SX, 6.84, 1.28);
        effector:SetKey(_TRACK_SY, 6.84, 1.28);
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 6.84, 0);
    
        effector:Play();
    
    
        -- Layer Dust_2
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/dust.png");
        element:SetName("Dust_2");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(512, 512);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(512, 384);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.84, 20.56);
    
        effector:SetKey(_TRACK_SX, 6.84, 1);
        effector:SetKey(_TRACK_SY, 6.84, 1);
        effector:SetKey(_TRACK_SX, 20.52, 1.28);
        effector:SetKey(_TRACK_SY, 20.52, 1.28);
        effector:SetKey(_TRACK_O, 6.84, 0);
        effector:SetKey(_TRACK_O, 13.68, 1);
        effector:SetKey(_TRACK_O, 20.52, 1);
    
        effector:Play();
    
    
        -- Layer Dust_3
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/dust.png");
        element:SetName("Dust_3");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(512, 512);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(512, 384);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 13.68, 1.28);
        effector:SetKey(_TRACK_SY, 13.68, 1.28);
        effector:SetKey(_TRACK_O, 0, 0);
        effector:SetKey(_TRACK_O, 6.84, 1);
        effector:SetKey(_TRACK_O, 13.68, 0);
    
        effector:Play();
    
    
        -- Layer Flies_1
        local element = createCompositionFlies();
        element:SetName("Flies_1");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(60.1530303955078, 172.765060424805);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_2
        local element = createCompositionFlies();
        element:SetName("Flies_2");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(111.91259765625, 136.393478393555);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_3
        local element = createCompositionFlies();
        element:SetName("Flies_3");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(421.071044921875, 34.2732543945313);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_4
        local element = createCompositionFlies();
        element:SetName("Flies_4");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(205.639358520508, 114.010955810547);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_5
        local element = createCompositionFlies();
        element:SetName("Flies_5");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(696.65576171875, 132.196746826172);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_6
        local element = createCompositionFlies();
        element:SetName("Flies_6");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(407.081985473633, 49.6612243652344);
    
        element:SetScaleX(0.54302367941712);
        element:SetScaleY(0.54302367941712);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        -- Layer Flies_7
        local element = createCompositionFlies();
        element:SetName("Flies_7");
        compositionkotelna_life:AddElement(element);
        element:SetHotSpot(150, 150);
        element:SetParentElement(compositionkotelna_life);
        element:SetXY(404.284164428711, 32.8743286132813);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
    
        effector:Play();
    
    
        compositionkotelna_life:Play();
    
        return compositionkotelna_life;
    end
    
    createCompositionWaterDrop = function()
    
        local compositionWaterDrop = CreateCompositionSequence();
        local compositionDuration = 2.56;
        compositionWaterDrop:SetDuration(compositionDuration);
        
    
        -- Layer Water_drop_1
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/kaplya2.png");
        element:SetName("Water_drop_1");
        compositionWaterDrop:AddElement(element);
        element:SetHotSpot(5.5, 0);
        element:SetParentElement(compositionWaterDrop);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 1.4);
    
        effector:SetKey(_TRACK_X, 0.56, 141.65461730957);
        effector:SetKey(_TRACK_Y, 0.56, 93.5040130615234);
        effector:SetKey(_TRACK_X, 0.68, 141.65461730957);
        effector:SetKey(_TRACK_Y, 0.68, 93.5040130615234);
        effector:SetKey(_TRACK_X, 1.36, 141.65461730957);
        effector:SetKey(_TRACK_Y, 1.36, 923.504013061523);
        effector:SetKey(_TRACK_SX, 0.56, 1);
        effector:SetKey(_TRACK_SY, 0.56, 0.48611111111111);
        effector:SetKey(_TRACK_SX, 0.68, 1);
        effector:SetKey(_TRACK_SY, 0.68, 1.06944444444445);
        effector:SetKey(_TRACK_O, 0.56, 0);
        effector:SetKey(_TRACK_O, 0.6, 1);
        effector:SetKey(_TRACK_O, 0.92, 1);
        effector:SetKey(_TRACK_O, 1.16, 0);
    
        effector:Play();
    
    
        -- Layer Water_drop_2
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/kaplya.png");
        element:SetName("Water_drop_2");
        compositionWaterDrop:AddElement(element);
        element:SetHotSpot(30, 3);
        element:SetParentElement(compositionWaterDrop);
        element:SetXY(138.710861206055, 74.4718933105469);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 1.4);
    
        effector:SetKey(_TRACK_SX, 0, 1.75394912985274);
        effector:SetKey(_TRACK_SY, 0, 0.23327207133619);
        effector:SetKey(_TRACK_SX, 0.56, 1);
        effector:SetKey(_TRACK_SY, 0.56, 1);
        effector:SetKey(_TRACK_SX, 0.84, 1);
        effector:SetKey(_TRACK_SY, 0.84, 0.12871826288204);
        effector:SetKey(_TRACK_O, 0, 0);
        effector:SetKey(_TRACK_O, 0.2, 1);
        effector:SetKey(_TRACK_O, 0.68, 1);
        effector:SetKey(_TRACK_O, 0.84, 0);
    
        effector:Play();
    
        compositionWaterDrop:Play();
    
        return compositionWaterDrop;
    end
    
    createCompositionWater = function()
    
        local compositionWater = CreateCompositionSequence();
        local compositionDuration = 13.72;
        compositionWater:SetDuration(compositionDuration);
        
        local element = CreateCompositionElement("data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/voda_kotelnaya.png");
        element:SetName("Water");
        compositionWater:AddElement(element);
        element:SetHotSpot(532.5, 224.5);
        element:SetParentElement(compositionWater);
        element:SetXY(512, 553);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 13.72);
    
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 1.34405827522278, 0);
        effector:SetKey(_TRACK_O, 2.6879415512085, 1);
        effector:SetKey(_TRACK_O, 4.03205823898315, 0);
        effector:SetKey(_TRACK_O, 5.37594127655029, 1);
        effector:SetKey(_TRACK_O, 6.71999979019165, 0);
        effector:SetKey(_TRACK_O, 8.06405830383301, 1);
        effector:SetKey(_TRACK_O, 9.4079418182373, 0);
        effector:SetKey(_TRACK_O, 10.7520580291748, 1);
        effector:SetKey(_TRACK_O, 12.2400245666504, 0);
        effector:SetKey(_TRACK_O, 13.6799831390381, 1);
    
        effector:Play();
       
        compositionWater:Play(); 
        return compositionWater;
    end
    
    local res = {life = createCompositionkotelna_life(),
                 water = createCompositionWater()};
    res.life:SetCyclic(true);
    res.water:SetCyclic(true);
    --res.water:SetSpeed(10);
    return res;

end

function OnSceneFree(screen)
    DefaultOnSceneFree()
    FreeData(screen)
end

function OnUpdate(dt)
    DefaultOnUpdate(dt)
end

function OnAllItemsFound()
    DefaultOnAllItemsFound()
end

function OnLose()
    DefaultOnLose()
end

function OnExit()
    DefaultOnExit()
end

function OnClose()
    DefaultOnClose()
end

function OnObjectMouseEnter(object)
    DefaultOnObjectMouseEnter(object)
end

function OnObjectMouseLeave(object)
    DefaultOnObjectMouseLeave(object)
end

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

    DefaultOnObjectMouseDownProcessed(is_wrong_click);
end

function OnObjectMouseUp(object)
    DefaultOnObjectMouseUp(object)
end

function OnObjectFound(object)
    DefaultOnObjectFound(object)
end

function OnToolFound(tool)
    DefaultOnToolFound(tool)
end

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

function OnObjectReachPanel(object)
    DefaultOnObjectReachPanel(object)
end

function OnButtonPress(title)
    DefaultOnButtonPress(title)
end

function OnMouseMove(previous_pos, current_pos)
    DefaultOnMouseMove(previous_pos, current_pos)
end

function OnSetTool(tool)
    DefaultOnSetTool(tool)
end

function LevelLoaded(level)
end

function OnSceneDestroy(playfield)
    DefaultOnSceneDestroy(playfield)
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/20_Boiler_Room/Zone_Main/Layers/BG_Boiler_Room.JPG',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('BG_Boiler_Room',anim,512,384,40,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/BG_Generator.JPG',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('BG_Generator',anim,512,383,150,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_Zoom_Generator',anim,451,153,100,0,40,15)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_Zoom_Boiler',anim,897,464,130,0,30,30)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_ho',anim,450,535,93,0,30,20)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/BG_Zoom_Kotel.JPG',0,0,640,480,1,0)
	anim:SetHotSpot(320,240)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('BG_Zoom_Boiler',anim,512,382,160,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_back',anim,206,190,100,0,10,20)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/kotel.png',0,0,496,300,5,8)
	anim:SetHotSpot(249,150)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('kotel',anim,438,394,170,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Layers/Layer_Fire.png',0,0,248,213,1,0)
	anim:SetHotSpot(124,106)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Layer_Fire',anim,566,406,162,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Layers/Layer_Light_of_Fire.png',0,0,227,231,1,0)
	anim:SetHotSpot(113,115)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Layer_Light_of_Fire',anim,598,416,163,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Animations/fire1.png',0,0,86,128,31,30)
	anim:SetHotSpot(43,0)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('fire11',anim,609,328,165,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Animations/fire1.png',0,0,86,128,31,20)
	anim:SetHotSpot(43,0)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('fire12',anim,555,325,166,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Animations/fire1.png',0,0,86,128,31,25)
	anim:SetHotSpot(43,0)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('fire13',anim,566,345,167,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Animations/fire1.png',0,0,86,128,31,23)
	anim:SetHotSpot(43,0)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('fire14',anim,603,336,168,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Kotel/Animations/fire1.png',0,0,86,128,31,26)
	anim:SetHotSpot(43,0)
	anim:SetBlendMode(0)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('fire15',anim,586,358,169,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Layers/Layer_Water.png',0,0,1024,407,1,0)
	anim:SetHotSpot(512,203)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Layer_Water',anim,512,565,95,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Layers/Layer_Water_2.png',0,0,1024,381,1,0)
	anim:SetHotSpot(512,190)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Layer_Water_2',anim,512,577,94,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Layers/Layer_Door_Light.PNG',0,0,118,175,1,0)
	anim:SetHotSpot(59,87)
	anim:SetBlendMode(0)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Layer_Door_Light',anim,251,203,45,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Layers/Electrod_small.png',0,0,62,99,1,0)
	anim:SetHotSpot(31,49)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Electrod_small',anim,342,283,151,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Layers/Switch_Up.PNG',0,0,53,50,1,0)
	anim:SetHotSpot(37,10)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Switch_Up',anim,597,513,151,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Layers/Switch_Down.PNG',0,0,52,43,1,0)
	anim:SetHotSpot(26,21)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Switch_Down',anim,588,575,151,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Animation/koleso.png',0,0,120,129,4,8)
	anim:SetHotSpot(60,64)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('koleso',anim,413,294,151,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Animation/molnia_1.png',0,0,43,43,5,5)
	anim:SetHotSpot(21,21)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('molnia_1',anim,379,230,152,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Animation/molnia_2.png',0,0,33,32,5,5)
	anim:SetHotSpot(16,16)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('molnia_2',anim,527,208,152,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Zoom_Generator/Animation/molnia_3.png',0,0,30,29,5,5)
	anim:SetHotSpot(15,14)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('molnia_3',anim,545,213,152,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/Pors_Compose.png',0,0,119,96,10,10)
	anim:SetHotSpot(60,48)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Pors_Compose',anim,595,429,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Animations/Spring_Compose.png',0,0,52,62,10,10)
	anim:SetHotSpot(26,31)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Spring_Compose',anim,719,191,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/radial_glow.png',0,0,97,99,1,0)
	anim:SetHotSpot(48,49)
	anim:SetBlendMode(0)
	anim:SetColor('0xFFFFFFBB')
	screen:CreateObject('lamp_light',anim,415,24,100,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('area_fire',anim,600,405,161,45,20,20)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(3,3)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('area_electrode',anim,367,288,153,0,23,23)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_boiler',anim,760,376,125,10,60,40)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('area_generator',anim,476,319,152,0,38,22)
	local anim = CreateAnimation('data/Texture/Scenes/20_Boiler_Room/Zone_Main/Layers/Layer_Electrode.PNG',0,0,40,73,1,0)
	anim:SetHotSpot(20,36)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Layer_Electrode',anim,350,122,100,-10,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_dolls_1',anim,461,685,90,0,10,7)
	local anim = CreateAnimation('data/Texture/Scenes/Common/area.png',0,0,8,8,1,0)
	anim:SetHotSpot(4,4)
	anim:SetBlendMode(2)
	anim:SetColor('0x01FFFFFF')
	screen:CreateObject('area_dolls_2',anim,648,657,90,0,10,7)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
