function OnSceneLoad(screen)
    LoadData(screen)
    DefaultOnSceneLoad('data/Scenes/37_Grot_Main.lua', 'quest')
    
    LoadSound('37_Water_noise', 'data/Sound/37_Grot/Water_noise.ogg')
    LoadSound('37_Grot_final', 'data/Sound/37_Grot/Grot_final.ogg')
    LoadSound('37_Spider', 'data/Sound/37_Grot/37_Spider.ogg')

	--play_field:GetObject('Floor_Cell_2'):SetOpacity(0.)

	play_field.composes = BuildGrotCompositions();
	
	if HasGameState('TaskCompleted', '39_FreeBoy')
	then
        if not HasGameState('GirlGoneAway', '37')
        then
        
            play_field.composes.boatOpenCycle:AttachTo(play_field);
            play_field.composes.boatOpenCycle:SetZ(46);
            
            if not HasGameState('SpiderManVanished', '37')
            then
                PlaySpiderManFleeingAnimation(); 
            else
                ShowGirlComics();
            end
            play_field:GetObject('Grot_Layer'):SetOpacity(0);
        else
            HideAndLoadCredits();
            PlayRandomAmbientMusic();
        end
	else
	    ShowSeaIdle();
        RegisterZones();
	end
	MakeSoundEntity('37_Water_noise'):Play(true);
	
end

function RegisterZones()

    LinkScene('area_back', 'CursorDoorDown','data/Scenes/36_Hell_System_Main.lua')	
	LinkScene('area_ho', 'CursorGlass', 'data/Scenes/37_Grot_HO.lua', true)

	RegisterMonologObject('area_sea_before_boat', 'C_37_SEA_BEFORE_BOAT', true)

end

function PlaySpiderManFleeingAnimation()

    AddGameState('SpiderManVanished', '37');
    play_field.composes.spiderManFleeing:SetZ(106);
    play_field.composes.spiderManFleeing:AttachTo(play_field);
    
    TimerDoString("ShowGirlComics()", 6, play_field:GetTimer());
    MakeSoundEntity('37_Spider'):Play(false);

end

function ShowGirlComics()

    local c = CreateComics('37_Evil_girl',
                           CreateComicsFrame('Master', 'C_37_GIRL_FINAL', 'Girl_BIG'))
	if c then
        c.on_finish = function()
		    PlayBoatLeavingComposition();       
	    end
	
	    c.SetVisible(true)
    else
        PlayBoatLeavingComposition();
	end

end

function PlayBoatLeavingComposition()

    if not HasGameState('GirlGoneAway', '37')
    then

        play_field.composes.boatLeaving:AttachTo(play_field);
        play_field.composes.boatLeaving:SetZ(47);
        play_field.composes.boatOpenCycle:SetVisible(false);
        play_field.composes.boatOpenCycle:Destroy();
        
        TimerDoString("AddGameState('GirlGoneAway', '37');"..
                      "ShowSeaIdle();"..
                      "HideAndLoadCredits()"..
                      "PlayRandomAmbientMusic();",
                      play_field.composes.boatLeaving:GetDuration() - 1,
                      play_field:GetTimer());
                      
        MakeSoundEntity('37_Grot_final'):Play(false);
        StopAmbientMusic(true);
        
    else
        ShowSeaIdle();
        RegisterZones();
    
    end

end

function ShowSeaIdle()

    play_field.composes.seaCycle:SetZ(42);
    play_field.composes.seaCycle:AttachTo(play_field);
    play_field:GetObject('Grot_Layer'):SetOpacity(1);

end

function HideAndLoadCredits()

    local eff = CreateAnimationEffector();
    eff:SetKey(_TRACK_O, 0.0, 1.0)
    eff:SetKey(_TRACK_O, 5.0, 0.0)
    eff:AttachTo(play_field);
    eff:Play();
    
    TimerDoString("StartLevel('data/Scenes/40_Credits.lua');", 5, play_field:GetTimer());
    

end

function BuildGrotCompositions()

    createCompositionBoatClosedWaves = function()
    
        local compositionBoatClosedWaves = CreateCompositionSequence();
        local compositionDuration = 2.08;
        compositionBoatClosedWaves:SetDuration(compositionDuration);
    
    
        -- Layer Bort_mask
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/bort_mask.png");
        element:SetName("Bort_mask");
        compositionBoatClosedWaves:AddElement(element);
        element:SetHotSpot(137.5, 45);
        compositionBoatClosedWaves:RegisterParentInfo("Bort_mask", "Boat_open_waves");
        element:SetXY(432.988326788185, 496.997463896298);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Door_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_1.png");
        element:SetName("Door_1");
        compositionBoatClosedWaves:AddElement(element);
        element:SetHotSpot(40.5, 56.5);
        compositionBoatClosedWaves:RegisterParentInfo("Door_1", "Boat_open_waves");
        element:SetXY(403.475512935002, 446.504951397242);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
        effector:SetKey(_TRACK_O, -2.84, 0);
        effector:SetKey(_TRACK_O, -2.64, 1);
        effector:SetKey(_TRACK_O, -2.52, 1);
    
        effector:Play();
    
    
        -- Layer Boat_open_waves
        local element = createCompositionBoatOpenWaves();
        element:SetName("Boat_open_waves");
        compositionBoatClosedWaves:AddElement(element);
        element:SetHotSpot(423, 543);
        element:SetParentElement(compositionBoatClosedWaves);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
        effector:SetKey(_TRACK_X, 0, 430);
        effector:SetKey(_TRACK_Y, 0, 543);
        effector:SetKey(_TRACK_X, 0.72, 430);
        effector:SetKey(_TRACK_Y, 0.72, 542);
        effector:SetKey(_TRACK_X, 1.48, 430);
        effector:SetKey(_TRACK_Y, 1.48, 543);
        effector:SetKey(_TRACK_X, 2.04, 430);
        effector:SetKey(_TRACK_Y, 2.04, 543);
        effector:SetKey(_TRACK_A, 0, 0.00025375847739);
        effector:SetKey(_TRACK_A, 0.52, 0.00609882424643);
        effector:SetKey(_TRACK_A, 1.28, -0.00564947565132);
        effector:SetKey(_TRACK_A, 2.04, 0.00025375847739);
    
        effector:Play();
    
        compositionBoatClosedWaves:Play();
    
        return compositionBoatClosedWaves;
    end
    
    createCompositionBoatOpenWaves = function()
    
        local compositionBoatOpenWaves = CreateCompositionSequence();
        local compositionDuration = 2.08;
        compositionBoatOpenWaves:SetDuration(compositionDuration);
    
    
        -- Layer Girl
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/Girl.png");
        element:SetName("Girl");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(28, 52.5);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(403, 453);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Boat_top
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/mask_lodka.png");
        element:SetName("Boat_top");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(208.5, 128);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(395, 454);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_00.png");
        element:SetName("Boat_bottom_1");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.16);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_01.png");
        element:SetName("Boat_bottom_2");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.16, 0.32);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_02.png");
        element:SetName("Boat_bottom_3");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.32, 0.48);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_03.png");
        element:SetName("Boat_bottom_4");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.48, 0.64);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_04.png");
        element:SetName("Boat_bottom_5");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.64, 0.8);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_6
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_05.png");
        element:SetName("Boat_bottom_6");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.8, 0.96);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_7
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_06.png");
        element:SetName("Boat_bottom_7");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.96, 1.12);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_8
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_07.png");
        element:SetName("Boat_bottom_8");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.12, 1.28);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_9
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_08.png");
        element:SetName("Boat_bottom_9");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.28, 1.44);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_10
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_09.png");
        element:SetName("Boat_bottom_10");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.44, 1.6);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_11
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_10.png");
        element:SetName("Boat_bottom_11");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.6, 1.76);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_12
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_11.png");
        element:SetName("Boat_bottom_12");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.76, 1.92);
    
    
        effector:Play();
    
    
        -- Layer Boat_bottom_13
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_12.png");
        element:SetName("Boat_bottom_13");
        compositionBoatOpenWaves:AddElement(element);
        element:SetHotSpot(203.5, 79);
        element:SetParentElement(compositionBoatOpenWaves);
        element:SetXY(434, 595);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.92, 2.08);
    
    
        effector:Play();
    
        compositionBoatOpenWaves:Play();
    
        return compositionBoatOpenWaves;
    end
    
    createCompositionDoorClosing = function()
    
        local compositionDoorClosing = CreateCompositionSequence();
        local compositionDuration = 2.48;
        compositionDoorClosing:SetDuration(compositionDuration);
    
    
        -- Layer Door_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_5.png");
        element:SetName("Door_5");
        compositionDoorClosing:AddElement(element);
        element:SetHotSpot(30.5, 53);
        element:SetParentElement(compositionDoorClosing);
        element:SetXY(361.5, 449);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
        effector:SetKey(_TRACK_O, 0.2, 1);
        effector:SetKey(_TRACK_O, 0.32, 1);
        effector:SetKey(_TRACK_O, 0.52, 0);
    
        effector:Play();
    
    
        -- Layer Door_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_4.png");
        element:SetName("Door_4");
        compositionDoorClosing:AddElement(element);
        element:SetHotSpot(33.5, 54.5);
        element:SetParentElement(compositionDoorClosing);
        element:SetXY(375, 449);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.32, 30.57);
    
        effector:SetKey(_TRACK_O, 0.32, 0);
        effector:SetKey(_TRACK_O, 0.52, 1);
        effector:SetKey(_TRACK_O, 0.64, 1);
        effector:SetKey(_TRACK_O, 0.84, 0);
    
        effector:Play();
    
    
        -- Layer Door_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_3.png");
        element:SetName("Door_3");
        compositionDoorClosing:AddElement(element);
        element:SetHotSpot(37, 55.5);
        element:SetParentElement(compositionDoorClosing);
        element:SetXY(388, 449);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.64, 30.89);
    
        effector:SetKey(_TRACK_O, 0.64, 0);
        effector:SetKey(_TRACK_O, 0.84, 1);
        effector:SetKey(_TRACK_O, 0.96, 1);
        effector:SetKey(_TRACK_O, 1.16, 0);
    
        effector:Play();
    
    
        -- Layer Door_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_2.png");
        element:SetName("Door_2");
        compositionDoorClosing:AddElement(element);
        element:SetHotSpot(39.5, 56.5);
        element:SetParentElement(compositionDoorClosing);
        element:SetXY(399.5, 449);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.96, 31.21);
    
        effector:SetKey(_TRACK_O, 0.96, 0);
        effector:SetKey(_TRACK_O, 1.16, 1);
        effector:SetKey(_TRACK_O, 1.28, 1);
        effector:SetKey(_TRACK_O, 1.48, 0);
    
        effector:Play();
    
    
        -- Layer Door_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_1.png");
        element:SetName("Door_1");
        compositionDoorClosing:AddElement(element);
        element:SetHotSpot(40.5, 56.5);
        element:SetParentElement(compositionDoorClosing);
        element:SetXY(410.5, 446.5);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.28, 31.53);
    
        effector:SetKey(_TRACK_O, 1.28, 0);
        effector:SetKey(_TRACK_O, 1.48, 1);
        effector:SetKey(_TRACK_O, 1.6, 1);
    
        effector:Play();
    
        compositionDoorClosing:Play();
    
        return compositionDoorClosing;
    end
    
    createCompositionGrot_final = function()
    
        local compositionGrot_final = CreateCompositionSequence();
        local compositionDuration = 2.08;
        compositionGrot_final:SetDuration(compositionDuration);
    
    
        -- Layer Bort_mask
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/bort_mask.png");
        element:SetName("Bort_mask");
        compositionGrot_final:AddElement(element);
        element:SetHotSpot(137.5, 45);
        compositionGrot_final:RegisterParentInfo("Bort_mask", "Boat_open_waves");
        element:SetXY(432.988326788185, 496.997463896298);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Door_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_5.png");
        element:SetName("Door_5");
        compositionGrot_final:AddElement(element);
        element:SetHotSpot(30.5, 53);
        compositionGrot_final:RegisterParentInfo("Door_5", "Boat_open_waves");
        element:SetXY(354.476148908827, 449.017385482023);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Boat_open_waves
        local element = createCompositionBoatOpenWaves();
        element:SetName("Boat_open_waves");
        compositionGrot_final:AddElement(element);
        element:SetHotSpot(423, 543);
        element:SetParentElement(compositionGrot_final);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
        effector:SetKey(_TRACK_X, 0, 430);
        effector:SetKey(_TRACK_Y, 0, 543);
        effector:SetKey(_TRACK_X, 0.72, 430);
        effector:SetKey(_TRACK_Y, 0.72, 542);
        effector:SetKey(_TRACK_X, 1.48, 430);
        effector:SetKey(_TRACK_Y, 1.48, 543);
        effector:SetKey(_TRACK_X, 2.04, 430);
        effector:SetKey(_TRACK_Y, 2.04, 543);
        effector:SetKey(_TRACK_A, 0, 0.00025375847739);
        effector:SetKey(_TRACK_A, 0.52, 0.00609882424643);
        effector:SetKey(_TRACK_A, 1.28, -0.00564947565132);
        effector:SetKey(_TRACK_A, 2.04, 0.00025375847739);
    
        effector:Play();
    
    
        -- Layer Grot_mask
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/Grot_Color_s_vodoy_mask.png");
        element:SetName("Grot_mask");
        compositionGrot_final:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionGrot_final);
        element:SetXY(512, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Sea
        local element = createCompositionsea_cycle();
        element:SetName("Sea");
        compositionGrot_final:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionGrot_final);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
        effector:Play();
    
    
        compositionGrot_final:Play();
    
        return compositionGrot_final;
    end
    
    createCompositionsea_cycle = function()
    
        local compositionsea_cycle = CreateCompositionSequence();
        local compositionDuration = 2.08;
        compositionsea_cycle:SetDuration(compositionDuration);
    
    
        -- Layer Sea_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00000.png");
        element:SetName("Sea_1");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(382.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(512, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.16);
    
    
        effector:Play();
    
    
        -- Layer Sea_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00001.png");
        element:SetName("Sea_2");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(385, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(513.75, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.16, 0.32);
    
    
        effector:Play();
    
    
        -- Layer Sea_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00002.png");
        element:SetName("Sea_3");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(384.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(513.5, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.32, 0.48);
    
    
        effector:Play();
    
    
        -- Layer Sea_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00003.png");
        element:SetName("Sea_4");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(382.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(512.25, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.48, 0.64);
    
    
        effector:Play();
    
    
        -- Layer Sea_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00004.png");
        element:SetName("Sea_5");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(379.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(509.25, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.64, 0.8);
    
    
        effector:Play();
    
    
        -- Layer Sea_6
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00005.png");
        element:SetName("Sea_6");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(378, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(507.75, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.8, 0.96);
    
    
        effector:Play();
    
    
        -- Layer Sea_7
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00006.png");
        element:SetName("Sea_7");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(377, 137.5);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(506.75, 383.5);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.96, 1.12);
    
    
        effector:Play();
    
    
        -- Layer Sea_8
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00007.png");
        element:SetName("Sea_8");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(377, 137.5);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(506.75, 383.5);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.12, 1.28);
    
    
        effector:Play();
    
    
        -- Layer Sea_9
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00008.png");
        element:SetName("Sea_9");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(379, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(509, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.28, 1.44);
    
    
        effector:Play();
    
    
        -- Layer Sea_10
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00009.png");
        element:SetName("Sea_10");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(380.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(510.5, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.44, 1.6);
    
    
        effector:Play();
    
    
        -- Layer Sea_11
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00010.png");
        element:SetName("Sea_11");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(383, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(513, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.6, 1.76);
    
    
        effector:Play();
    
    
        -- Layer Sea_12
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00011.png");
        element:SetName("Sea_12");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(385, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(514, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.76, 1.92);
    
    
        effector:Play();
    
    
        -- Layer Sea_13
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sea_00012.png");
        element:SetName("Sea_13");
        compositionsea_cycle:AddElement(element);
        element:SetHotSpot(384.5, 137);
        element:SetParentElement(compositionsea_cycle);
        element:SetXY(513.25, 384.25);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(1.92, 2.08);
    
    
        effector:Play();
    
        compositionsea_cycle:Play();
    
        return compositionsea_cycle;
    end
    
    createCompositionWaves = function()
    
        local compositionWaves = CreateCompositionSequence();
        local compositionDuration = 0.6;
        compositionWaves:SetDuration(compositionDuration);
    
    
        -- Layer Water_waves_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp1.png");
        element:SetName("Water_waves_1");
        compositionWaves:AddElement(element);
        element:SetHotSpot(215.5, 157.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(433, 669);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.28, 0.88);
    
        effector:SetKey(_TRACK_SX, 0.28, 1);
        effector:SetKey(_TRACK_SY, 0.28, 1);
        effector:SetKey(_TRACK_SX, 0.56, 1.06728538283063);
        effector:SetKey(_TRACK_SY, 0.56, 1.20634920634921);
        effector:SetKey(_TRACK_O, 0.28, 0);
        effector:SetKey(_TRACK_O, 0.56, 1);
    
        effector:Play();
    
    
        -- Layer Water_waves_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp1.png");
        element:SetName("Water_waves_2");
        compositionWaves:AddElement(element);
        element:SetHotSpot(215.5, 157.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(433, 669);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.32);
    
        effector:SetKey(_TRACK_SX, 0, 1.06728538283063);
        effector:SetKey(_TRACK_SY, 0, 1.20634920634921);
        effector:SetKey(_TRACK_SX, 0.28, 1.13457076566125);
        effector:SetKey(_TRACK_SY, 0.28, 1.41269841269841);
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 0.28, 0);
    
        effector:Play();
    
    
        -- Layer Water_waves_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp1.png");
        element:SetName("Water_waves_3");
        compositionWaves:AddElement(element);
        element:SetHotSpot(215.5, 157.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(433, 669);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.6);
    
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 0.56, 1.13457076566125);
        effector:SetKey(_TRACK_SY, 0.56, 1.41269841269841);
        effector:SetKey(_TRACK_O, 0, 0);
        effector:SetKey(_TRACK_O, 0.28, 1);
        effector:SetKey(_TRACK_O, 0.56, 0);
    
        effector:Play();
    
    
        -- Layer Water_waves_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_waves_4");
        compositionWaves:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.6);
    
        effector:SetKey(_TRACK_SX, 0, 1);
        effector:SetKey(_TRACK_SY, 0, 1);
        effector:SetKey(_TRACK_SX, 0.56, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 0.56, 1.34181818181818);
        effector:SetKey(_TRACK_O, 0, 0);
        effector:SetKey(_TRACK_O, 0.28, 1);
        effector:SetKey(_TRACK_O, 0.56, 0);
    
        effector:Play();
    
    
        -- Layer Water_waves_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_waves_5");
        compositionWaves:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(469, 694);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.4, 0.6);
    
        effector:SetKey(_TRACK_SX, 0.4, 1);
        effector:SetKey(_TRACK_SY, 0.4, 1);
        effector:SetKey(_TRACK_SX, 0.56, 1.02834994462901);
        effector:SetKey(_TRACK_SY, 0.56, 1.09766233766234);
        effector:SetKey(_TRACK_O, 0.4, 0);
        effector:SetKey(_TRACK_O, 0.56, 0.57142857142857);
    
        effector:Play();
    
    
        -- Layer Water_waves_6
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_waves_6");
        compositionWaves:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0.28, 0.6);
    
        effector:SetKey(_TRACK_SX, 0.28, 1);
        effector:SetKey(_TRACK_SY, 0.28, 1);
        effector:SetKey(_TRACK_SX, 0.56, 1.04961240310078);
        effector:SetKey(_TRACK_SY, 0.56, 1.17090909090909);
        effector:SetKey(_TRACK_O, 0.28, 0);
        effector:SetKey(_TRACK_O, 0.56, 1);
    
        effector:Play();
    
    
        -- Layer Water_waves_7
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_waves_7");
        compositionWaves:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(469, 694);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.44);
    
        effector:SetKey(_TRACK_SX, 0, 1.02834994462901);
        effector:SetKey(_TRACK_SY, 0, 1.09766233766234);
        effector:SetKey(_TRACK_SX, 0.4, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 0.4, 1.34181818181818);
        effector:SetKey(_TRACK_O, 0, 0.57142857142857);
        effector:SetKey(_TRACK_O, 0.12, 1);
        effector:SetKey(_TRACK_O, 0.4, 0);
    
        effector:Play();
    
    
        -- Layer Water_waves_8
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_waves_8");
        compositionWaves:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionWaves);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 0.32);
    
        effector:SetKey(_TRACK_SX, 0, 1.04961240310078);
        effector:SetKey(_TRACK_SY, 0, 1.17090909090909);
        effector:SetKey(_TRACK_SX, 0.28, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 0.28, 1.34181818181818);
        effector:SetKey(_TRACK_O, -0.28, 0);
        effector:SetKey(_TRACK_O, 0, 1);
        effector:SetKey(_TRACK_O, 0.28, 0);
    
        effector:Play();
    
        compositionWaves:Play();
    
        return compositionWaves;
    end
    
    createCompositionBoatLeaving = function()
    
        local compositionBoatLeaving = CreateCompositionSequence();
        local compositionDuration = 14.48;
        compositionBoatLeaving:SetDuration(compositionDuration);
    
    
        -- Layer Grot_layer_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/Grot_Color_s_vodoy_mask2.png");
        element:SetName("Grot_layer_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 88);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(512, 680);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
    
        effector:Play();
    
    
        -- Layer Water_splash_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp1.png");
        element:SetName("Water_splash_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(215.5, 171.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(430, 635);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.84, 28.61);
    
        effector:SetKey(_TRACK_SX, 4.88, 0.69373549883991);
        effector:SetKey(_TRACK_SY, 4.88, 0.36231884057971);
        effector:SetKey(_TRACK_SX, 6.4, 1.2737819025522);
        effector:SetKey(_TRACK_SY, 6.4, 1.11450542950099);
        effector:SetKey(_TRACK_SX, 7.64, 1.35266821345708);
        effector:SetKey(_TRACK_SY, 7.64, 0.3215025140491);
        effector:SetKey(_TRACK_O, 4.88, 0);
        effector:SetKey(_TRACK_O, 5.68, 1);
        effector:SetKey(_TRACK_O, 7.64, 0.08);
    
        effector:Play();
    
    
        -- Layer Water_splash_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp2.png");
        element:SetName("Water_splash_3");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(138, 132);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(381, 632);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.44, 7.2);
    
        effector:SetKey(_TRACK_SX, 4.44, 0.58333333333333);
        effector:SetKey(_TRACK_SY, 4.44, 0.5);
        effector:SetKey(_TRACK_SX, 5.8, 1.40909090909091);
        effector:SetKey(_TRACK_SY, 5.8, 1.25757575757576);
        effector:SetKey(_TRACK_SX, 7.16, 2.03985507246377);
        effector:SetKey(_TRACK_SY, 7.16, 0.87878787878788);
        effector:SetKey(_TRACK_O, 4.4, 0.02);
        effector:SetKey(_TRACK_O, 5.08, 1);
        effector:SetKey(_TRACK_O, 6.16, 0.84);
        effector:SetKey(_TRACK_O, 7.24, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_4");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.36, 5.88);
    
        effector:SetKey(_TRACK_SX, 5.36, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 5.36, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 5.84, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 5.84, 1.13287080347992);
        effector:SetKey(_TRACK_O, 5.36, 0);
        effector:SetKey(_TRACK_O, 5.6, 1);
        effector:SetKey(_TRACK_O, 5.84, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_5");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.12, 5.64);
    
        effector:SetKey(_TRACK_SX, 5.12, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 5.12, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 5.6, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 5.6, 1.13287080347992);
        effector:SetKey(_TRACK_O, 5.12, 0);
        effector:SetKey(_TRACK_O, 5.36, 1);
        effector:SetKey(_TRACK_O, 5.6, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_6
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_6");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.88, 5.4);
    
        effector:SetKey(_TRACK_SX, 4.88, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 4.88, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 5.36, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 5.36, 1.13287080347992);
        effector:SetKey(_TRACK_O, 4.88, 0);
        effector:SetKey(_TRACK_O, 5.12, 1);
        effector:SetKey(_TRACK_O, 5.36, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_7
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_7");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.64, 5.16);
    
        effector:SetKey(_TRACK_SX, 4.64, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 4.64, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 5.12, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 5.12, 1.13287080347992);
        effector:SetKey(_TRACK_O, 4.64, 0);
        effector:SetKey(_TRACK_O, 4.88, 1);
        effector:SetKey(_TRACK_O, 5.12, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_8
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_8");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.4, 4.92);
    
        effector:SetKey(_TRACK_SX, 4.4, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 4.4, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 4.88, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 4.88, 1.13287080347992);
        effector:SetKey(_TRACK_O, 4.4, 0);
        effector:SetKey(_TRACK_O, 4.64, 1);
        effector:SetKey(_TRACK_O, 4.88, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_9
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_9");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 86.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(424, 633);
    
        element:SetAngle(0.09958292878473);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.16, 4.68);
    
        effector:SetKey(_TRACK_SX, 4.16, 0.78523489932886);
        effector:SetKey(_TRACK_SY, 4.16, 0.77856351600604);
        effector:SetKey(_TRACK_SX, 4.64, 0.82931017165704);
        effector:SetKey(_TRACK_SY, 4.64, 1.13287080347992);
        effector:SetKey(_TRACK_O, 4.16, 0);
        effector:SetKey(_TRACK_O, 4.4, 1);
        effector:SetKey(_TRACK_O, 4.64, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_10
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_10");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.2, 7.8);
    
        effector:SetKey(_TRACK_SX, 7.2, 1);
        effector:SetKey(_TRACK_SY, 7.2, 1);
        effector:SetKey(_TRACK_SX, 7.76, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 7.76, 1.34181818181818);
        effector:SetKey(_TRACK_O, 7.2, 0);
        effector:SetKey(_TRACK_O, 7.48, 1);
        effector:SetKey(_TRACK_O, 7.76, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_11
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_11");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.04, 7.64);
    
        effector:SetKey(_TRACK_SX, 7.04, 1);
        effector:SetKey(_TRACK_SY, 7.04, 1);
        effector:SetKey(_TRACK_SX, 7.6, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 7.6, 1.34181818181818);
        effector:SetKey(_TRACK_O, 7.04, 0);
        effector:SetKey(_TRACK_O, 7.32, 1);
        effector:SetKey(_TRACK_O, 7.6, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_12
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_12");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.88, 7.48);
    
        effector:SetKey(_TRACK_SX, 6.88, 1);
        effector:SetKey(_TRACK_SY, 6.88, 1);
        effector:SetKey(_TRACK_SX, 7.44, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 7.44, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.88, 0);
        effector:SetKey(_TRACK_O, 7.16, 1);
        effector:SetKey(_TRACK_O, 7.44, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_13
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_13");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.72, 7.32);
    
        effector:SetKey(_TRACK_SX, 6.72, 1);
        effector:SetKey(_TRACK_SY, 6.72, 1);
        effector:SetKey(_TRACK_SX, 7.28, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 7.28, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.72, 0);
        effector:SetKey(_TRACK_O, 7, 1);
        effector:SetKey(_TRACK_O, 7.28, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_14
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_14");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.56, 7.16);
    
        effector:SetKey(_TRACK_SX, 6.56, 1);
        effector:SetKey(_TRACK_SY, 6.56, 1);
        effector:SetKey(_TRACK_SX, 7.12, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 7.12, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.56, 0);
        effector:SetKey(_TRACK_O, 6.84, 1);
        effector:SetKey(_TRACK_O, 7.12, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_15
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_15");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.4, 7);
    
        effector:SetKey(_TRACK_SX, 6.4, 1);
        effector:SetKey(_TRACK_SY, 6.4, 1);
        effector:SetKey(_TRACK_SX, 6.96, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.96, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.4, 0);
        effector:SetKey(_TRACK_O, 6.68, 1);
        effector:SetKey(_TRACK_O, 6.96, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_16
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_16");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.24, 6.84);
    
        effector:SetKey(_TRACK_SX, 6.24, 1);
        effector:SetKey(_TRACK_SY, 6.24, 1);
        effector:SetKey(_TRACK_SX, 6.8, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.8, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.24, 0);
        effector:SetKey(_TRACK_O, 6.52, 1);
        effector:SetKey(_TRACK_O, 6.8, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_17
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_17");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.08, 6.68);
    
        effector:SetKey(_TRACK_SX, 6.08, 1);
        effector:SetKey(_TRACK_SY, 6.08, 1);
        effector:SetKey(_TRACK_SX, 6.64, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.64, 1.34181818181818);
        effector:SetKey(_TRACK_O, 6.08, 0);
        effector:SetKey(_TRACK_O, 6.36, 1);
        effector:SetKey(_TRACK_O, 6.64, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_18
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_18");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.92, 6.52);
    
        effector:SetKey(_TRACK_SX, 5.92, 1);
        effector:SetKey(_TRACK_SY, 5.92, 1);
        effector:SetKey(_TRACK_SX, 6.48, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.48, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.92, 0);
        effector:SetKey(_TRACK_O, 6.2, 1);
        effector:SetKey(_TRACK_O, 6.48, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_19
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_19");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.76, 6.36);
    
        effector:SetKey(_TRACK_SX, 5.76, 1);
        effector:SetKey(_TRACK_SY, 5.76, 1);
        effector:SetKey(_TRACK_SX, 6.32, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.32, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.76, 0);
        effector:SetKey(_TRACK_O, 6.04, 1);
        effector:SetKey(_TRACK_O, 6.32, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_20
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_20");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.6, 6.2);
    
        effector:SetKey(_TRACK_SX, 5.6, 1);
        effector:SetKey(_TRACK_SY, 5.6, 1);
        effector:SetKey(_TRACK_SX, 6.16, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6.16, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.6, 0);
        effector:SetKey(_TRACK_O, 5.88, 1);
        effector:SetKey(_TRACK_O, 6.16, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_21
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_21");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.44, 6.04);
    
        effector:SetKey(_TRACK_SX, 5.44, 1);
        effector:SetKey(_TRACK_SY, 5.44, 1);
        effector:SetKey(_TRACK_SX, 6, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 6, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.44, 0);
        effector:SetKey(_TRACK_O, 5.72, 1);
        effector:SetKey(_TRACK_O, 6, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_22
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_22");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.28, 5.88);
    
        effector:SetKey(_TRACK_SX, 5.28, 1);
        effector:SetKey(_TRACK_SY, 5.28, 1);
        effector:SetKey(_TRACK_SX, 5.84, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.84, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.28, 0);
        effector:SetKey(_TRACK_O, 5.56, 1);
        effector:SetKey(_TRACK_O, 5.84, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_23
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_23");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.12, 5.72);
    
        effector:SetKey(_TRACK_SX, 5.12, 1);
        effector:SetKey(_TRACK_SY, 5.12, 1);
        effector:SetKey(_TRACK_SX, 5.68, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.68, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5.12, 0);
        effector:SetKey(_TRACK_O, 5.4, 1);
        effector:SetKey(_TRACK_O, 5.68, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_24
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_24");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(483, 690);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5, 5.6);
    
        effector:SetKey(_TRACK_SX, 5, 1);
        effector:SetKey(_TRACK_SY, 5, 1);
        effector:SetKey(_TRACK_SX, 5.56, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.56, 1.34181818181818);
        effector:SetKey(_TRACK_O, 5, 0);
        effector:SetKey(_TRACK_O, 5.28, 1);
        effector:SetKey(_TRACK_O, 5.56, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_25
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_25");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(458, 674);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.8, 5.4);
    
        effector:SetKey(_TRACK_SX, 4.8, 1);
        effector:SetKey(_TRACK_SY, 4.8, 1);
        effector:SetKey(_TRACK_SX, 5.36, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.36, 1.34181818181818);
        effector:SetKey(_TRACK_O, 4.8, 0);
        effector:SetKey(_TRACK_O, 5.08, 1);
        effector:SetKey(_TRACK_O, 5.36, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_26
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_26");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(481, 670);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.64, 5.24);
    
        effector:SetKey(_TRACK_SX, 4.64, 1);
        effector:SetKey(_TRACK_SY, 4.64, 1);
        effector:SetKey(_TRACK_SX, 5.2, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.2, 1.34181818181818);
        effector:SetKey(_TRACK_O, 4.64, 0);
        effector:SetKey(_TRACK_O, 4.92, 1);
        effector:SetKey(_TRACK_O, 5.2, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_27
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_27");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(460, 685);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.48, 5.08);
    
        effector:SetKey(_TRACK_SX, 4.48, 1);
        effector:SetKey(_TRACK_SY, 4.48, 1);
        effector:SetKey(_TRACK_SX, 5.04, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 5.04, 1.34181818181818);
        effector:SetKey(_TRACK_O, 4.48, 0);
        effector:SetKey(_TRACK_O, 4.76, 1);
        effector:SetKey(_TRACK_O, 5.04, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_28
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_28");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(486, 675);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.32, 4.92);
    
        effector:SetKey(_TRACK_SX, 4.32, 1);
        effector:SetKey(_TRACK_SY, 4.32, 1);
        effector:SetKey(_TRACK_SX, 4.88, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 4.88, 1.34181818181818);
        effector:SetKey(_TRACK_O, 4.32, 0);
        effector:SetKey(_TRACK_O, 4.6, 1);
        effector:SetKey(_TRACK_O, 4.88, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_29
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp5.png");
        element:SetName("Water_splash_29");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(322.5, 137.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(471, 675);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.16, 4.76);
    
        effector:SetKey(_TRACK_SX, 4.16, 1);
        effector:SetKey(_TRACK_SY, 4.16, 1);
        effector:SetKey(_TRACK_SX, 4.72, 1.09922480620155);
        effector:SetKey(_TRACK_SY, 4.72, 1.34181818181818);
        effector:SetKey(_TRACK_O, 4.16, 0);
        effector:SetKey(_TRACK_O, 4.44, 1);
        effector:SetKey(_TRACK_O, 4.72, 0);
    
        effector:Play();
    
    
        -- Layer bort_mask_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/bort_mask.png");
        element:SetName("bort_mask_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(137.5, 45);
        compositionBoatLeaving:RegisterParentInfo("bort_mask_1", "BoatOpenWaves_1");
        element:SetXY(432.988326788185, 496.997463896298);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.08, 4.16);
    
    
        effector:Play();
    
    
        -- Layer Water_splash_31
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_31");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(376, 431);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.08, 12.32);
    
        effector:SetKey(_TRACK_SX, 11.08, 0.102584697218);
        effector:SetKey(_TRACK_SY, 11.08, 0.39775381144486);
        effector:SetKey(_TRACK_SX, 12.28, 0.42137664352673);
        effector:SetKey(_TRACK_SY, 12.28, 0.536367672831);
        effector:SetKey(_TRACK_O, 11.08, 0.02);
        effector:SetKey(_TRACK_O, 11.36, 1);
        effector:SetKey(_TRACK_O, 12.28, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_32
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_32");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(376, 464);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.44, 11.68);
    
        effector:SetKey(_TRACK_SX, 10.44, 0.16118895143335);
        effector:SetKey(_TRACK_SY, 10.44, 0.45635806566021);
        effector:SetKey(_TRACK_SX, 11.64, 0.47998089774208);
        effector:SetKey(_TRACK_SY, 11.64, 0.59497192704635);
        effector:SetKey(_TRACK_O, 10.44, 0.02);
        effector:SetKey(_TRACK_O, 10.72, 1);
        effector:SetKey(_TRACK_O, 11.64, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_33
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_33");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(386, 505);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.64, 10.88);
    
        effector:SetKey(_TRACK_SX, 9.64, 0.254147423637);
        effector:SetKey(_TRACK_SY, 9.64, 0.54931653786386);
        effector:SetKey(_TRACK_SX, 10.84, 0.57293936994573);
        effector:SetKey(_TRACK_SY, 10.84, 0.68793039925);
        effector:SetKey(_TRACK_O, 9.64, 0.02);
        effector:SetKey(_TRACK_O, 9.92, 1);
        effector:SetKey(_TRACK_O, 10.84, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_34
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_34");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(392, 546);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.16, 10.4);
    
        effector:SetKey(_TRACK_SX, 9.16, 0.31275167785235);
        effector:SetKey(_TRACK_SY, 9.16, 0.60792079207921);
        effector:SetKey(_TRACK_SX, 10.36, 0.63154362416108);
        effector:SetKey(_TRACK_SY, 10.36, 0.74653465346535);
        effector:SetKey(_TRACK_O, 9.16, 0.02);
        effector:SetKey(_TRACK_O, 9.44, 1);
        effector:SetKey(_TRACK_O, 10.36, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_35
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_35");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(390, 599);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.44, 9.68);
    
        effector:SetKey(_TRACK_SX, 8.44, 0.31275167785235);
        effector:SetKey(_TRACK_SY, 8.44, 0.60792079207921);
        effector:SetKey(_TRACK_SX, 9.64, 0.63154362416108);
        effector:SetKey(_TRACK_SY, 9.64, 0.74653465346535);
        effector:SetKey(_TRACK_O, 8.44, 0.02);
        effector:SetKey(_TRACK_O, 8.72, 1);
        effector:SetKey(_TRACK_O, 9.64, 0);
    
        effector:Play();
    
    
        -- Layer Water_splash_36
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/sp4.png");
        element:SetName("Water_splash_36");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(298, 50.5);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(372, 421);
    
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(12.12, 13.36);
    
        effector:SetKey(_TRACK_SX, 12.12, 0.16107382550336);
        effector:SetKey(_TRACK_SY, 12.12, 0.36633663366337);
        effector:SetKey(_TRACK_SX, 13.32, 0.28859060402685);
        effector:SetKey(_TRACK_SY, 13.32, 0.32673267326733);
        effector:SetKey(_TRACK_O, 12.12, 0);
        effector:SetKey(_TRACK_O, 12.28, 1);
        effector:SetKey(_TRACK_O, 13.04, 1);
        effector:SetKey(_TRACK_O, 13.32, 0);
    
        effector:Play();
    
    
        -- Layer bort_mask_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/bort_mask.png");
        element:SetName("bort_mask_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(137.5, 45);
        compositionBoatLeaving:RegisterParentInfo("bort_mask_2", "BoatOpenWaves_2");
        element:SetXY(432.988326788185, 496.997463896298);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer Waves_1
        local element = createCompositionWaves();
        element:SetName("Waves_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(391.030374139072, 360.086012776373);
    
        element:SetScaleX(0.14228698821752);
        element:SetScaleY(0.25143892849093);
        element:SetAngle(-0.02456779080014);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.96, 12.56);
    
        effector:SetKey(_TRACK_O, 11.96, 0.01);
        effector:SetKey(_TRACK_O, 12.08, 1);
        effector:SetKey(_TRACK_O, 12.36, 1);
        effector:SetKey(_TRACK_O, 12.52, 0);
    
        effector:Play();
    
    
        -- Layer Waves_2
        local element = createCompositionWaves();
        element:SetName("Waves_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(396.030374139072, 321.086012776373);
    
        element:SetScaleX(0.21771618950861);
        element:SetScaleY(0.37977225389992);
        element:SetAngle(-0.02456779080014);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.72, 12.32);
    
        effector:SetKey(_TRACK_O, 11.72, 0.01);
        effector:SetKey(_TRACK_O, 11.84, 1);
        effector:SetKey(_TRACK_O, 12.12, 1);
        effector:SetKey(_TRACK_O, 12.28, 0);
    
        effector:Play();
    
    
        -- Layer Waves_3
        local element = createCompositionWaves();
        element:SetName("Waves_3");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(393.030374139072, 349.086012776373);
    
        element:SetScaleX(0.21771618950861);
        element:SetScaleY(0.29652804050223);
        element:SetAngle(-0.02456779080014);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.48, 12.08);
    
        effector:SetKey(_TRACK_O, 11.48, 0.01);
        effector:SetKey(_TRACK_O, 11.6, 1);
        effector:SetKey(_TRACK_O, 11.88, 1);
        effector:SetKey(_TRACK_O, 12.04, 0);
    
        effector:Play();
    
    
        -- Layer Waves_4
        local element = createCompositionWaves();
        element:SetName("Waves_4");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_4", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(11.04, 11.64);
    
    
        effector:Play();
    
    
        -- Layer Waves_5
        local element = createCompositionWaves();
        element:SetName("Waves_5");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_5", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.44, 11.04);
    
    
        effector:Play();
    
    
        -- Layer Waves_6
        local element = createCompositionWaves();
        element:SetName("Waves_6");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_6", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.84, 10.44);
    
    
        effector:Play();
    
    
        -- Layer Waves_7
        local element = createCompositionWaves();
        element:SetName("Waves_7");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_7", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(9.24, 9.84);
    
    
        effector:Play();
    
    
        -- Layer Waves_8
        local element = createCompositionWaves();
        element:SetName("Waves_8");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_8", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.64, 9.24);
    
    
        effector:Play();
    
    
        -- Layer Waves_9
        local element = createCompositionWaves();
        element:SetName("Waves_9");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_9", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.04, 8.64);
    
    
        effector:Play();
    
    
        -- Layer Waves_10
        local element = createCompositionWaves();
        element:SetName("Waves_10");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("Waves_10", "Boat_turning_4");
        element:SetXY(193.949880503203, 29.0932299866304);
    
        element:SetScaleX(0.62506629510276);
        element:SetScaleY(1.06154444679212);
        element:SetAngle(-0.02456779080014);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.44, 8.04);
    
    
        effector:Play();
    
    
        -- Layer Boat_turning_7
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_6.png");
        element:SetName("Boat_turning_7");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(86, 58);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_7", "Boat_turning_6");
        element:SetXY(172.870669213425, 154.595878824571);
    
        element:SetScaleX(2.05617300176484);
        element:SetScaleY(2.05617300176484);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
        effector:SetKey(_TRACK_O, 10.64, 0);
        effector:SetKey(_TRACK_O, 11.12, 1);
        effector:SetKey(_TRACK_O, 11.92, 1);
        effector:SetKey(_TRACK_O, 12.04, 0);
    
        effector:Play();
    
    
        -- Layer Boat_turning_6
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_5.png");
        element:SetName("Boat_turning_6");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(171.5, 218);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_6", "Boat_turning_5");
        element:SetXY(170.693654201673, 265.379898626732);
    
        element:SetScaleX(0.9613613417773);
        element:SetScaleY(0.9613613417773);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.76, 38.01);
    
        effector:SetKey(_TRACK_O, 9.72, 0);
        effector:SetKey(_TRACK_O, 10.2, 1);
        effector:SetKey(_TRACK_O, 10.64, 1);
        effector:SetKey(_TRACK_O, 11.12, 0);
    
        effector:Play();
    
    
        -- Layer Boat_turning_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_4.png");
        element:SetName("Boat_turning_5");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(171.5, 218);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_5", "Boat_turning_4");
        element:SetXY(176.560750114551, 239.000844942474);
    
        element:SetScaleX(1.00085995249889);
        element:SetScaleY(1.00085995249889);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
        effector:SetKey(_TRACK_O, 8.52, 0);
        effector:SetKey(_TRACK_O, 9.32, 1);
        effector:SetKey(_TRACK_O, 9.72, 1);
        effector:SetKey(_TRACK_O, 10.2, 0);
    
        effector:Play();
    
    
        -- Layer Boat_turning_4
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_3.png");
        element:SetName("Boat_turning_4");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(171.5, 218);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_4", "BoatClosedWaves_1");
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(7.28, 32.57);
    
        effector:SetKey(_TRACK_X, 7.28, 434);
        effector:SetKey(_TRACK_Y, 7.28, 452);
        effector:SetKey(_TRACK_X, 11.56, 378);
        effector:SetKey(_TRACK_Y, 11.56, 278);
        effector:SetKey(_TRACK_X, 12, 382);
        effector:SetKey(_TRACK_Y, 12, 288);
        effector:SetKey(_TRACK_SX, 7.28, 1);
        effector:SetKey(_TRACK_SY, 7.28, 1);
        effector:SetKey(_TRACK_SX, 11.56, 0.17952764329847);
        effector:SetKey(_TRACK_SY, 11.56, 0.17952764329847);
        effector:SetKey(_TRACK_SX, 12, 0.17952764329847);
        effector:SetKey(_TRACK_SY, 12, 0.10154599192233);
        effector:SetKey(_TRACK_O, 6.52, 0);
        effector:SetKey(_TRACK_O, 6.76, 1);
        effector:SetKey(_TRACK_O, 8.52, 1);
        effector:SetKey(_TRACK_O, 9.32, 0);
    
        effector:Play();
    
    
        -- Layer Boat_turning_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_3.png");
        element:SetName("Boat_turning_3");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(171.5, 218);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_3", "BoatClosedWaves_1");
        element:SetXY(434, 452);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.48, 7.28);
    
        effector:SetKey(_TRACK_O, 6.52, 0);
        effector:SetKey(_TRACK_O, 6.76, 1);
    
        effector:Play();
    
    
        -- Layer Boat_turning_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_2.png");
        element:SetName("Boat_turning_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(195, 217.5);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_2", "BoatClosedWaves_1");
        element:SetXY(365, 457);
    
        element:SetScaleX(0.90769230769231);
        element:SetScaleY(0.90769230769231);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.96, 32.05);
    
        effector:SetKey(_TRACK_O, 5.96, 0.01);
        effector:SetKey(_TRACK_O, 6.24, 1);
        effector:SetKey(_TRACK_O, 6.52, 1);
        effector:SetKey(_TRACK_O, 6.76, 0.01);
    
        effector:Play();
    
    
        -- Layer Boat_turning_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/lodka_povorot_1.png");
        element:SetName("Boat_turning_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(239, 205.5);
        compositionBoatLeaving:RegisterParentInfo("Boat_turning_1", "BoatClosedWaves_1");
        element:SetXY(413, 518);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(5.4, 30.21);
    
        effector:SetKey(_TRACK_O, 5.4, 0.01);
        effector:SetKey(_TRACK_O, 5.68, 1);
        effector:SetKey(_TRACK_O, 5.96, 1);
        effector:SetKey(_TRACK_O, 6.24, 0);
    
        effector:Play();
    
    
        -- Layer BoatClosedWaves_1
        local element = createCompositionBoatClosedWaves();
        element:SetName("BoatClosedWaves_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.16, 8.16);
    
        effector:SetKey(_TRACK_X, 4.16, 512);
        effector:SetKey(_TRACK_Y, 4.16, 384);
        effector:SetKey(_TRACK_X, 7.28, 512);
        effector:SetKey(_TRACK_Y, 7.28, 516);
        effector:SetKey(_TRACK_O, 5.4, 1);
        effector:SetKey(_TRACK_O, 5.68, 0);
    
        effector:Play();
    
    
        -- Layer DoorClosing_1
        local element = createCompositionDoorClosing();
        element:SetName("DoorClosing_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        compositionBoatLeaving:RegisterParentInfo("DoorClosing_1", "BoatOpenWaves_2");
        element:SetXY(504.959649762353, 383.979196924326);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.08, 4.16);
    
    
        effector:Play();
    
    
        -- Layer BoatOpenWaves_1
        local element = createCompositionBoatOpenWaves();
        element:SetName("BoatOpenWaves_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(423, 543);
        element:SetParentElement(compositionBoatLeaving);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.08, 4.16);
    
        effector:SetKey(_TRACK_X, 2.08, 430);
        effector:SetKey(_TRACK_Y, 2.08, 543);
        effector:SetKey(_TRACK_X, 2.8, 430);
        effector:SetKey(_TRACK_Y, 2.8, 542);
        effector:SetKey(_TRACK_X, 3.56, 430);
        effector:SetKey(_TRACK_Y, 3.56, 543);
        effector:SetKey(_TRACK_X, 4.12, 430);
        effector:SetKey(_TRACK_Y, 4.12, 543);
        effector:SetKey(_TRACK_A, 2.08, 0.00025375847739);
        effector:SetKey(_TRACK_A, 2.6, 0.00609882424643);
        effector:SetKey(_TRACK_A, 3.36, -0.00564947565132);
        effector:SetKey(_TRACK_A, 4.12, 0.00025375847739);
    
        effector:Play();
    
    
        -- Layer Door_5
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/door_5.png");
        element:SetName("Door_5");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(30.5, 53);
        compositionBoatLeaving:RegisterParentInfo("Door_5", "BoatOpenWaves_2");
        element:SetXY(354.476148908827, 449.017385482023);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(-0.00025375847739);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
    
        -- Layer BoatOpenWaves_2
        local element = createCompositionBoatOpenWaves();
        element:SetName("BoatOpenWaves_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(423, 543);
        element:SetParentElement(compositionBoatLeaving);
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
        effector:SetKey(_TRACK_X, 0, 430);
        effector:SetKey(_TRACK_Y, 0, 543);
        effector:SetKey(_TRACK_X, 0.72, 430);
        effector:SetKey(_TRACK_Y, 0.72, 542);
        effector:SetKey(_TRACK_X, 1.48, 430);
        effector:SetKey(_TRACK_Y, 1.48, 543);
        effector:SetKey(_TRACK_X, 2.04, 430);
        effector:SetKey(_TRACK_Y, 2.04, 543);
        effector:SetKey(_TRACK_A, 0, 0.00025375847739);
        effector:SetKey(_TRACK_A, 0.52, 0.00609882424643);
        effector:SetKey(_TRACK_A, 1.28, -0.00564947565132);
        effector:SetKey(_TRACK_A, 2.04, 0.00025375847739);
    
        effector:Play();
    
    
        -- Layer Grot_layer
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/Grot_Color_s_vodoy_mask.png");
        element:SetName("Grot_layer");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(512, 384);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 30.25);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_1
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_1");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(12.48, 14.56);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_2
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_2");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(10.4, 12.48);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_3
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_3");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(8.32, 10.4);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_4
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_4");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(6.24, 8.32);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_5
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_5");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.16, 6.24);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_6
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_6");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(2.08, 4.16);
    
    
        effector:Play();
    
    
        -- Layer Sea_cycle_7
        local element = createCompositionsea_cycle();
        element:SetName("Sea_cycle_7");
        compositionBoatLeaving:AddElement(element);
        element:SetHotSpot(512, 384);
        element:SetParentElement(compositionBoatLeaving);
        element:SetXY(452, 517);
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 2.08);
    
    
        effector:Play();
    
        compositionBoatLeaving:Play();
    
        return compositionBoatLeaving;
    end
    
    createCompositionSpiderManFleeing = function()
    
        local compositionSpiderManFleeing = CreateCompositionSequence();
        local compositionDuration = 5.75;
        compositionSpiderManFleeing:SetDuration(compositionDuration);
    
    
        -- Layer SpiderMan_1
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/SpiderMan_3.png");
        element:SetName("SpiderMan_1");
        compositionSpiderManFleeing:AddElement(element);
        element:SetHotSpot(77, 93.5);
        element:SetParentElement(compositionSpiderManFleeing);
        element:SetXY(434, 543);
        
            anim = element:GetTexture();
			anim:SetSpeed(15);
			anim:SetFrames(14);
			anim:SetFrame(0);
			anim:SetTextureRect(0, 0, 154, 187);
			anim:SetMode(HGEANIM_FWD);
			anim:Play();
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(4.66666666666667, 5.6);
    
    
        effector:Play();
    
    
        -- Layer SpiderMan_2
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/SpiderMan_2.png");
        element:SetName("SpiderMan_2");
        compositionSpiderManFleeing:AddElement(element);
        element:SetHotSpot(262, 105.5);
        element:SetParentElement(compositionSpiderManFleeing);
        element:SetXY(313, 640);
        
            anim = element:GetTexture();
			anim:SetSpeed(15);
			anim:SetFrames(15);
			anim:SetFrame(0);
			anim:SetTextureRect(0, 0, 524, 211);
			anim:SetMode(HGEANIM_FWD);
			anim:Play();
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(3.66666666666667, 4.66666666666667);
    
    
        effector:Play();
    
    
        -- Layer SpiderMan_3
        local element = CreateCompositionElement("data/Texture/Scenes/37_Grot/Zone_Main/Animations/SpiderMan_1.png");
        element:SetName("SpiderMan_3");
        compositionSpiderManFleeing:AddElement(element);
        element:SetHotSpot(80.5, 91);
        element:SetParentElement(compositionSpiderManFleeing);
        element:SetXY(78, 657);
        
            anim = element:GetTexture();
			anim:SetSpeed(15);
			anim:SetFrames(55);
			anim:SetFrame(0);
			anim:SetTextureRect(0, 0, 161, 182);
			anim:SetMode(HGEANIM_FWD);
			anim:Play();
    
        element:SetScaleX(1);
        element:SetScaleY(1);
        element:SetAngle(0);
        element:SetOpacity(1);
    
        effector = element:GetEffector();
        effector:SetLifeTime(0, 3.66666666666667);
    
    
        effector:Play();
    
        compositionSpiderManFleeing:Play();
    
        return compositionSpiderManFleeing;
    end
    
    
    
    local res = {boatOpenCycle = createCompositionGrot_final(),
                 seaCycle = createCompositionsea_cycle(),
                 boatLeaving = createCompositionBoatLeaving(),
                 spiderManFleeing = createCompositionSpiderManFleeing()}
    
    res.boatOpenCycle:SetCyclic(true);
    
    res.seaCycle:SetCyclic(true);
    res.seaCycle:SetHotSpot(512, 384);
    res.seaCycle:SetXY(452, 517);
    
    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/37_Grot/Layers/BG_Grot.jpg',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('BG_Grot',anim,512,384,40,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/37_Grot/Layers/Stone_Stages.PNG',0,0,888,254,1,0)
	anim:SetHotSpot(444,127)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Stone_Stages',anim,549,606,105,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/37_Grot/Zone_Main/Characters/Girl_BIG.jpg',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0x00FFFFFF')
	screen:CreateObject('Girl_BIG',anim,512,384,120,0,1,1)
	local anim = CreateAnimation('data/Texture/Scenes/37_Grot/Zone_Main/Animations/Grot_Color_s_vodoy_mask.png',0,0,1024,768,1,0)
	anim:SetHotSpot(512,384)
	anim:SetBlendMode(2)
	anim:SetColor('0xFFFFFFFF')
	screen:CreateObject('Grot_Layer',anim,512,384,45,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_ho',anim,839,454,100,0,15,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_back',anim,522,697,110,0,140,19)
	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_sea_before_boat',anim,454,522,104,0,80,29)
end

function FreeData(screen)
end
-- CLEAR_ON_SAVE_END
