--// Local auxiliary functions - - - - - - - - - - - - - - - - - - - - - - - -

--// 1.	rename:					" -> '
--// 2. comment root compositions routines:
--//	"createComposition23_Near_sacrifice_place_B1 = function()", 
--//	"createComposition23_Near_sacrifice_place_B2 = function()",
--//	"createComposition23_Near_sacrifice_place_B1 = function()"
--// 2.1. remove dynamite sprite from exploding composition (with texture "dinamit_pl.png")
--// 3. add auxiliaru routines for managing animations: 
--		auxPlayNearSacrificePlaceAnimation(), 
--		auxGetNearSacrificePlaceAnimation(), 
--		auxCreateNearSacrificePlaceAnimations()
--// 4. replace CreateCompositionElement() with auxCreateCompositionElement() for some corrections ...

------------------------------------------------------------------------------
--
function auxPlayNearSacrificePlaceAnimation(compositionName)
    local composition = auxGetNearSacrificePlaceAnimation(compositionName);
    composition:SetVisible(true);
    composition:Play();
end

------------------------------------------------------------------------------
--
function auxHideNearSacrificePlaceAnimation(compositionName)
    local composition = auxGetNearSacrificePlaceAnimation(compositionName);
    composition:Stop();
    composition:SetVisible(false);
end

------------------------------------------------------------------------------
--
function auxGetNearSacrificePlaceAnimation(compositionName)
    assert(nearSacrificePlaceCompositions ~= nil and compositionName ~= nil);
	assert(nearSacrificePlaceCompositions[compositionName] ~= nil and 'Composition with specified name not exists !');

    return nearSacrificePlaceCompositions[compositionName];
end

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--

function CreateComposition(parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic)
    assert(parent ~= nil and compositionRoutine ~= nil and name ~= nil and z ~= nil and duration ~= nil);

    local element = compositionRoutine();
    element:SetName(name);
    element:SetHotSpot(hotSpotX,hotSpotY);
    element:SetXY(x, y);
    assert(z - parent:GetZ());
    element:SetZ(z - parent:GetZ());
    element:AttachTo(parent);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);
    
    if (isCyclic == true) then
        element:SetDuration(duration);
        element:SetCyclic(true);
	else
		element:SetDestroysOnEnd(false);
    end
	element:Stop();
    element:SetVisible(false);
    element:AssignClippingRect(parent);
	element:SetConsiderParentOpacity(true);

	return element;
end

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function auxCreateCompositionElement(resourceName)
	local element = CreateCompositionElement(resourceName);
    local texName = string.sub(resourceName, string.len('data/Texture/Scenes/23_NearSacrificePlace/Animations/') + 1);

    --// set up bugs animation
	if (texName == 'Env/BUG_[00-06].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 22,30);
		anim:SetFrames(7);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end
	--// set up flies animation
	if (texName == 'Env/Bug_fly[01-02].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 19,18);
		anim:SetFrames(2);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end

	--// set up a dynamite fire animation
	if (texName == 'Expl/fire[0-9].jpg') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 64,64);
		anim:SetFrames(10);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end

    --// set additive alpha blending mode for light & flare objects without alpha chanel (*.jpg)
    if (texName == 'Env/EF_Blink_glass01.jpg' or
		texName == 'Env/EF_Dust_01.jpg' or
		texName == 'Env/EF_Light01.jpg' or
		texName == 'Expl/EF_explosion01.jpg' or
		texName == 'Expl/fire[0-9].jpg') then

        element:GetTexture():SetBlendMode(0);
    end
	return element;
end

------------------------------------------------------------------------------
--
function auxCreateNearSacrificePlaceAnimations(parent1, parent2)
    assert(parent1 ~= nil and parent2 ~= nil);
	subLocation1Animations = (subLocation1Animations ~= nil and subLocation1Animations or false);

    nearSacrificePlaceCompositions = {};
    local CreateAndRegisterComposition = function (parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic)
        local element = CreateComposition(parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic);
        nearSacrificePlaceCompositions[element:GetName()] = element;
    end

	--// Env1    
    CreateAndRegisterComposition(parent1, createCompositionEnv, 		'Env1',		0,0,108, 512,384, 10, true);
    CreateAndRegisterComposition(parent1, createCompositionBug2, 		'Bug2',		0,0,101, 512,384, 10, false);
    CreateAndRegisterComposition(parent1, createCompositionBug1, 		'Bug1',		0,0,101, 512,384, 10, false);
	--// Expl
    CreateAndRegisterComposition(parent1, createCompositionExplode, 	'Explode',	0,0,107, 512,384, 10, false);
	--// Env2
    CreateAndRegisterComposition(parent2, createCompositionEnv, 		'Env2',		0,0,208, 512,384, 10, true);
    CreateAndRegisterComposition(parent2, createCompositionFly1, 		'Fly1',		0,0,201, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionBugs1, 		'Bugs1',	0,0,201, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionBugs2,		'Bugs2',	0,0,201, 512,384, 10, false);
end

------------------------------------------------------------------------------
-- Env1
--createComposition23_Near_sacrifice_place_B1 = function()
--
--    local composition23_Near_sacrifice_place_B1 = CreateCompositionSequence();
--    local compositionDuration = 10;
--    composition23_Near_sacrifice_place_B1:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionBug2();
--    element:SetName('Layer_1');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_2
--    local element = createCompositionBug1();
--    element:SetName('Layer_2');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_3
--    local element = createCompositionEnv();
--    element:SetName('Layer_3');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_4
--    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/23_Near_sacrifice_place_B1.jpg');
--    element:SetName('Layer_4');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--    composition23_Near_sacrifice_place_B1:Play();
--
--    return composition23_Near_sacrifice_place_B1;
--end

createCompositionBug1 = function()

    local compositionBug1 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionBug1:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/BUG_[00-06].png');
    element:SetName('Layer_1');
    compositionBug1:AddElement(element);
    element:SetHotSpot(11, 15);
    element:SetParentElement(compositionBug1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10.0333333333333);

    effector:SetKey(_TRACK_X, 0, 651.74870300293);
    effector:SetKey(_TRACK_Y, 0, 789.567352294922);
    effector:SetKey(_TRACK_X, 0.36, 655.24870300293);
    effector:SetKey(_TRACK_Y, 0.36, 761.567352294922);
    effector:SetKey(_TRACK_X, 0.8, 678.24870300293);
    effector:SetKey(_TRACK_Y, 0.8, 749.567352294922);
    effector:SetKey(_TRACK_X, 1.2, 713.74870300293);
    effector:SetKey(_TRACK_Y, 1.2, 743.567352294922);
    effector:SetKey(_TRACK_X, 1.6, 737.24870300293);
    effector:SetKey(_TRACK_Y, 1.6, 730.567352294922);
    effector:SetKey(_TRACK_X, 1.92, 759.74870300293);
    effector:SetKey(_TRACK_Y, 1.92, 727.067352294922);
    effector:SetKey(_TRACK_X, 2.32, 771.24870300293);
    effector:SetKey(_TRACK_Y, 2.32, 715.067352294922);
    effector:SetKey(_TRACK_X, 2.6, 774.24870300293);
    effector:SetKey(_TRACK_Y, 2.6, 698.567352294922);
    effector:SetKey(_TRACK_X, 2.96, 783.24870300293);
    effector:SetKey(_TRACK_Y, 2.96, 688.067352294922);
    effector:SetKey(_TRACK_X, 3.28, 784.24870300293);
    effector:SetKey(_TRACK_Y, 3.28, 674.067352294922);
    effector:SetKey(_TRACK_X, 3.52, 781.49870300293);
    effector:SetKey(_TRACK_Y, 3.52, 663.817352294922);
    effector:SetKey(_TRACK_X, 3.8, 782.99870300293);
    effector:SetKey(_TRACK_Y, 3.8, 655.067352294922);
    effector:SetKey(_TRACK_X, 4.12, 787.49870300293);
    effector:SetKey(_TRACK_Y, 4.12, 645.817352294922);
    effector:SetKey(_TRACK_X, 4.68, 808.24870300293);
    effector:SetKey(_TRACK_Y, 4.68, 627.567352294922);
    effector:SetKey(_TRACK_X, 4.96, 812.24870300293);
    effector:SetKey(_TRACK_Y, 4.96, 620.567352294922);
    effector:SetKey(_TRACK_X, 5.28, 815.49870300293);
    effector:SetKey(_TRACK_Y, 5.28, 610.567352294922);
    effector:SetKey(_TRACK_X, 5.6, 815.99870300293);
    effector:SetKey(_TRACK_Y, 5.6, 599.567352294922);
    effector:SetKey(_TRACK_X, 6.36, 815.49870300293);
    effector:SetKey(_TRACK_Y, 6.36, 571.067352294922);
    effector:SetKey(_TRACK_X, 6.6, 820.24870300293);
    effector:SetKey(_TRACK_Y, 6.6, 563.067352294922);
    effector:SetKey(_TRACK_X, 6.88, 828.49870300293);
    effector:SetKey(_TRACK_Y, 6.88, 557.567352294922);
    effector:SetKey(_TRACK_X, 7.2, 829.99870300293);
    effector:SetKey(_TRACK_Y, 7.2, 546.817352294922);
    effector:SetKey(_TRACK_X, 7.52, 823.49870300293);
    effector:SetKey(_TRACK_Y, 7.52, 540.317352294922);
    effector:SetKey(_TRACK_X, 7.84, 818.24870300293);
    effector:SetKey(_TRACK_Y, 7.84, 533.067352294922);
    effector:SetKey(_TRACK_X, 8.24, 816.24870300293);
    effector:SetKey(_TRACK_Y, 8.24, 522.817352294922);
    effector:SetKey(_TRACK_X, 8.64, 815.74870300293);
    effector:SetKey(_TRACK_Y, 8.64, 513.067352294922);
    effector:SetKey(_TRACK_X, 8.96, 815.24870300293);
    effector:SetKey(_TRACK_Y, 8.96, 503.317352294922);
    effector:SetKey(_TRACK_X, 9.28, 813.49870300293);
    effector:SetKey(_TRACK_Y, 9.28, 496.067352294922);
    effector:SetKey(_TRACK_SX, 0, 1.31818181818182);
    effector:SetKey(_TRACK_SY, 0, 1.2);
    effector:SetKey(_TRACK_SX, 3.4, 0.7);
    effector:SetKey(_TRACK_SY, 3.4, 0.62365311460113);
    effector:SetKey(_TRACK_SX, 5.52, 0.5);
    effector:SetKey(_TRACK_SY, 5.52, 0.43208045136686);
    effector:SetKey(_TRACK_SX, 6.4, 0.53843138880756);
    effector:SetKey(_TRACK_SY, 6.4, 0.45853249240349);
    effector:SetKey(_TRACK_SX, 9.28, 0.48739931822116);
    effector:SetKey(_TRACK_SY, 9.28, 0.4);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 0.36, 0.43458426186048);
    effector:SetKey(_TRACK_A, 0.56, 1.05535637076057);
    effector:SetKey(_TRACK_A, 1.04, 1.43969170425241);
    effector:SetKey(_TRACK_A, 1.32, 1.16726473860395);
    effector:SetKey(_TRACK_A, 1.6, 1.24651505054197);
    effector:SetKey(_TRACK_A, 1.92, 0.98857943305075);
    effector:SetKey(_TRACK_A, 2.2, 0.67981348472979);
    effector:SetKey(_TRACK_A, 2.4, 0.13660344252955);
    effector:SetKey(_TRACK_A, 2.64, 0.65694170486967);
    effector:SetKey(_TRACK_A, 3.04, 0.12737929169717);
    effector:SetKey(_TRACK_A, 3.36, -0.19902071330262);
    effector:SetKey(_TRACK_A, 3.6, 0.24411656922866);
    effector:SetKey(_TRACK_A, 3.84, 0.54454463328507);
    effector:SetKey(_TRACK_A, 4.2, 0.85600126093885);
    effector:SetKey(_TRACK_A, 4.72, 0.61677552270883);
    effector:SetKey(_TRACK_A, 5, 0.27215191662362);
    effector:SetKey(_TRACK_A, 5.36, 0.06808809331069);
    effector:SetKey(_TRACK_A, 5.88, -0.02243170856772);
    effector:SetKey(_TRACK_A, 6.36, 0.21848675222671);
    effector:SetKey(_TRACK_A, 6.6, 0.86530550702519);
    effector:SetKey(_TRACK_A, 6.88, 0.24831832487);
    effector:SetKey(_TRACK_A, 7.12, 0.01381924832369);
    effector:SetKey(_TRACK_A, 7.32, -0.60456909848891);
    effector:SetKey(_TRACK_A, 7.76, -0.41962083824369);
    effector:SetKey(_TRACK_A, 8.16, -0.06635370056669);
    effector:SetKey(_TRACK_A, 9, -0.19753090024322);
    effector:SetKey(_TRACK_A, 9.28, -0.29734013328727);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 3.36, 1);
    effector:SetKey(_TRACK_O, 3.48, 0);
    effector:SetKey(_TRACK_O, 4.92, 0);
    effector:SetKey(_TRACK_O, 5.08, 1);
    effector:SetKey(_TRACK_O, 9.2, 1);
    effector:SetKey(_TRACK_O, 9.28, 0);

    effector:Play();

    compositionBug1:Play();

    return compositionBug1;
end

createCompositionBug2 = function()

    local compositionBug2 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionBug2:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/BUG_[00-06].png');
    element:SetName('Layer_1');
    compositionBug2:AddElement(element);
    element:SetHotSpot(11, 15);
    element:SetParentElement(compositionBug2);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10.0333333333333);

    effector:SetKey(_TRACK_X, 0, 626.051818847656);
    effector:SetKey(_TRACK_Y, 0, 376.525909423828);
    effector:SetKey(_TRACK_X, 0.28, 616.301818847656);
    effector:SetKey(_TRACK_Y, 0.28, 371.025909423828);
    effector:SetKey(_TRACK_X, 0.64, 604.301818847656);
    effector:SetKey(_TRACK_Y, 0.64, 362.275909423828);
    effector:SetKey(_TRACK_X, 1.16, 585.301818847656);
    effector:SetKey(_TRACK_Y, 1.16, 341.775909423828);
    effector:SetKey(_TRACK_X, 1.64, 576.801818847656);
    effector:SetKey(_TRACK_Y, 1.64, 315.775909423828);
    effector:SetKey(_TRACK_X, 2, 565.051818847656);
    effector:SetKey(_TRACK_Y, 2, 295.025909423828);
    effector:SetKey(_TRACK_X, 2.32, 546.051818847656);
    effector:SetKey(_TRACK_Y, 2.32, 280.025909423828);
    effector:SetKey(_TRACK_X, 2.72, 519.301818847656);
    effector:SetKey(_TRACK_Y, 2.72, 269.775909423828);
    effector:SetKey(_TRACK_X, 3.08, 500.551818847656);
    effector:SetKey(_TRACK_Y, 3.08, 267.275909423828);
    effector:SetKey(_TRACK_X, 3.4, 486.551818847656);
    effector:SetKey(_TRACK_Y, 3.4, 263.275909423828);
    effector:SetKey(_TRACK_X, 3.96, 466.301818847656);
    effector:SetKey(_TRACK_Y, 3.96, 252.525909423828);
    effector:SetKey(_TRACK_X, 4.32, 464.551818847656);
    effector:SetKey(_TRACK_Y, 4.32, 243.025909423828);
    effector:SetKey(_TRACK_X, 4.6, 470.551818847656);
    effector:SetKey(_TRACK_Y, 4.6, 235.025909423828);
    effector:SetKey(_TRACK_X, 5, 474.551818847656);
    effector:SetKey(_TRACK_Y, 5, 223.025909423828);
    effector:SetKey(_TRACK_X, 5.4, 481.301818847656);
    effector:SetKey(_TRACK_Y, 5.4, 206.025909423828);
    effector:SetKey(_TRACK_X, 5.8, 493.801818847656);
    effector:SetKey(_TRACK_Y, 5.8, 190.025909423828);
    effector:SetKey(_TRACK_X, 6.2, 514.801818847656);
    effector:SetKey(_TRACK_Y, 6.2, 178.775909423828);
    effector:SetKey(_TRACK_X, 6.68, 541.051818847656);
    effector:SetKey(_TRACK_Y, 6.68, 171.775909423828);
    effector:SetKey(_TRACK_X, 7, 552.551818847656);
    effector:SetKey(_TRACK_Y, 7, 167.525909423828);
    effector:SetKey(_TRACK_X, 7.28, 559.551818847656);
    effector:SetKey(_TRACK_Y, 7.28, 158.775909423828);
    effector:SetKey(_TRACK_X, 7.56, 564.551818847656);
    effector:SetKey(_TRACK_Y, 7.56, 148.025909423828);
    effector:SetKey(_TRACK_X, 7.8, 565.051818847656);
    effector:SetKey(_TRACK_Y, 7.8, 135.775909423828);
    effector:SetKey(_TRACK_X, 8.12, 570.051818847656);
    effector:SetKey(_TRACK_Y, 8.12, 125.775909423828);
    effector:SetKey(_TRACK_X, 8.4, 575.801818847656);
    effector:SetKey(_TRACK_Y, 8.4, 120.775909423828);
    effector:SetKey(_TRACK_X, 8.72, 585.301818847656);
    effector:SetKey(_TRACK_Y, 8.72, 120.025909423828);
    effector:SetKey(_TRACK_X, 9.08, 595.051818847656);
    effector:SetKey(_TRACK_Y, 9.08, 120.525909423828);
    effector:SetKey(_TRACK_X, 9.52, 606.801818847656);
    effector:SetKey(_TRACK_Y, 9.52, 122.775909423828);
    effector:SetKey(_TRACK_SX, 0, 0.46006549179758);
    effector:SetKey(_TRACK_SY, 0, 0.29934860430916);
    effector:SetKey(_TRACK_SX, 0.08, 0.45121316388653);
    effector:SetKey(_TRACK_SY, 0.08, 0.45350877192983);
    effector:SetKey(_TRACK_SX, 2.28, 0.54721596471345);
    effector:SetKey(_TRACK_SY, 2.28, 0.55);
    effector:SetKey(_TRACK_SX, 2.44, 0.64670977647954);
    effector:SetKey(_TRACK_SY, 2.44, 0.65);
    effector:SetKey(_TRACK_SX, 2.64, 0.54721596471345);
    effector:SetKey(_TRACK_SY, 2.64, 0.55);
    effector:SetKey(_TRACK_SX, 4.16, 0.44772215294737);
    effector:SetKey(_TRACK_SY, 4.16, 0.45);
    effector:SetKey(_TRACK_SX, 6.6, 0.64670977647954);
    effector:SetKey(_TRACK_SY, 6.6, 0.65);
    effector:SetKey(_TRACK_SX, 8.12, 0.54721596471345);
    effector:SetKey(_TRACK_SY, 8.12, 0.55);
    effector:SetKey(_TRACK_SX, 9.52, 0.44772215294737);
    effector:SetKey(_TRACK_SY, 9.52, 0.45);
    effector:SetKey(_TRACK_A, 0, -1.52015124408258);
    effector:SetKey(_TRACK_A, 0.36, -0.90729806493698);
    effector:SetKey(_TRACK_A, 1.16, -0.54791904960192);
    effector:SetKey(_TRACK_A, 1.6, -0.43905236061768);
    effector:SetKey(_TRACK_A, 1.92, -0.73483992062391);
    effector:SetKey(_TRACK_A, 2.28, -1.06975164906615);
    effector:SetKey(_TRACK_A, 2.8, -1.37517123647705);
    effector:SetKey(_TRACK_A, 3.28, -1.19290434318131);
    effector:SetKey(_TRACK_A, 4, -0.47101931682811);
    effector:SetKey(_TRACK_A, 4.24, -0.08163829894409);
    effector:SetKey(_TRACK_A, 4.52, 0.52021454851136);
    effector:SetKey(_TRACK_A, 4.92, 0.2271068067968);
    effector:SetKey(_TRACK_A, 5.44, 0.65890398538051);
    effector:SetKey(_TRACK_A, 5.88, 1.06081959942682);
    effector:SetKey(_TRACK_A, 6.36, 1.33066843970947);
    effector:SetKey(_TRACK_A, 6.8, 1.09452482408969);
    effector:SetKey(_TRACK_A, 7.2, 0.56746434987995);
    effector:SetKey(_TRACK_A, 7.56, 0.07883779937731);
    effector:SetKey(_TRACK_A, 8.04, 0.64692345089534);
    effector:SetKey(_TRACK_A, 8.4, 1.31666564988259);
    effector:SetKey(_TRACK_A, 8.88, 1.60537536455163);
    effector:SetKey(_TRACK_A, 9.52, 1.74901857592752);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.04, 1);
    effector:SetKey(_TRACK_O, 9.52, 1);
    effector:SetKey(_TRACK_O, 9.56, 0);

    effector:Play();

    compositionBug2:Play();

    return compositionBug2;
end

createCompositionEnv = function()

    local compositionEnv = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionEnv:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/EF_Blink_glass01.jpg');
    element:SetName('Layer_1');
    compositionEnv:AddElement(element);
    element:SetHotSpot(10, 4.5);
    element:SetParentElement(compositionEnv);
    element:SetAngle(0.6824623751443);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0.2, 523.709838867188);
    effector:SetKey(_TRACK_Y, 0.2, 233.014251708984);
    effector:SetKey(_TRACK_X, 0.64, 550.459838867188);
    effector:SetKey(_TRACK_Y, 0.64, 202.014251708984);
    effector:SetKey(_TRACK_X, 0.88, 523.709838867188);
    effector:SetKey(_TRACK_Y, 0.88, 233.014251708984);
    effector:SetKey(_TRACK_X, 1.117578125, 550.459838867188);
    effector:SetKey(_TRACK_Y, 1.117578125, 202.014251708984);
    effector:SetKey(_TRACK_X, 3.04, 625.709838867188);
    effector:SetKey(_TRACK_Y, 3.04, 246.514251708984);
    effector:SetKey(_TRACK_X, 3.48, 630.959838867188);
    effector:SetKey(_TRACK_Y, 3.48, 216.514251708984);
    effector:SetKey(_TRACK_X, 3.76, 523.709838867188);
    effector:SetKey(_TRACK_Y, 3.76, 233.014251708984);
    effector:SetKey(_TRACK_X, 3.997578125, 550.459838867188);
    effector:SetKey(_TRACK_Y, 3.997578125, 202.014251708984);
    effector:SetKey(_TRACK_X, 6.72, 523.709838867188);
    effector:SetKey(_TRACK_Y, 6.72, 233.014251708984);
    effector:SetKey(_TRACK_X, 7.16, 550.459838867188);
    effector:SetKey(_TRACK_Y, 7.16, 202.014251708984);
    effector:SetKey(_TRACK_SX, 0.2, 1.34892489500665);
    effector:SetKey(_TRACK_SY, 0.2, 0.07034615862674);
    effector:SetKey(_TRACK_SX, 0.32, 2.03344509900758);
    effector:SetKey(_TRACK_SY, 0.32, 0.91743085689913);
    effector:SetKey(_TRACK_SX, 0.44, 2.44275474527155);
    effector:SetKey(_TRACK_SY, 0.44, 0.73769221717357);
    effector:SetKey(_TRACK_SX, 0.52, 2.18851691313873);
    effector:SetKey(_TRACK_SY, 0.52, 0.62039048906462);
    effector:SetKey(_TRACK_SX, 0.6, 1.56836760026797);
    effector:SetKey(_TRACK_SY, 0.6, 0.67929702006973);
    effector:SetKey(_TRACK_SX, 0.88, 1.34892489500665);
    effector:SetKey(_TRACK_SY, 0.88, 0.07034615862674);
    effector:SetKey(_TRACK_SX, 0.9448046875, 2.03344509900758);
    effector:SetKey(_TRACK_SY, 0.9448046875, 0.91743085689913);
    effector:SetKey(_TRACK_SX, 1.0095703125, 2.44275474527155);
    effector:SetKey(_TRACK_SY, 1.0095703125, 0.73769221717357);
    effector:SetKey(_TRACK_SX, 1.0527734375, 2.18851691313873);
    effector:SetKey(_TRACK_SY, 1.0527734375, 0.62039048906462);
    effector:SetKey(_TRACK_SX, 1.0959765625, 1.56836760026797);
    effector:SetKey(_TRACK_SY, 1.0959765625, 0.67929702006973);
    effector:SetKey(_TRACK_SX, 3.04, 0.52428874776077);
    effector:SetKey(_TRACK_SY, 3.04, -0.15844804676693);
    effector:SetKey(_TRACK_SX, 3.16, 1.00753762991303);
    effector:SetKey(_TRACK_SY, 3.16, 0.63952986328477);
    effector:SetKey(_TRACK_SX, 3.28, 1.13426568991036);
    effector:SetKey(_TRACK_SY, 3.28, 0.88009474177235);
    effector:SetKey(_TRACK_SX, 3.36, 1.09953886482942);
    effector:SetKey(_TRACK_SY, 3.36, 0.51493883726952);
    effector:SetKey(_TRACK_SX, 3.44, 0.72919982841814);
    effector:SetKey(_TRACK_SY, 3.44, 0.59548504094466);
    effector:SetKey(_TRACK_SX, 3.76, 1.34892489500665);
    effector:SetKey(_TRACK_SY, 3.76, 0.07034615862674);
    effector:SetKey(_TRACK_SX, 3.8248046875, 2.03344509900758);
    effector:SetKey(_TRACK_SY, 3.8248046875, 0.91743085689913);
    effector:SetKey(_TRACK_SX, 3.8895703125, 2.44275474527155);
    effector:SetKey(_TRACK_SY, 3.8895703125, 0.73769221717357);
    effector:SetKey(_TRACK_SX, 3.9327734375, 2.18851691313873);
    effector:SetKey(_TRACK_SY, 3.9327734375, 0.62039048906462);
    effector:SetKey(_TRACK_SX, 3.9759765625, 1.56836760026797);
    effector:SetKey(_TRACK_SY, 3.9759765625, 0.67929702006973);
    effector:SetKey(_TRACK_SX, 6.72, 1.34892489500665);
    effector:SetKey(_TRACK_SY, 6.72, 0.07034615862674);
    effector:SetKey(_TRACK_SX, 6.84, 2.03344509900758);
    effector:SetKey(_TRACK_SY, 6.84, 0.91743085689913);
    effector:SetKey(_TRACK_SX, 6.96, 2.44275474527155);
    effector:SetKey(_TRACK_SY, 6.96, 0.73769221717357);
    effector:SetKey(_TRACK_SX, 7.04, 2.18851691313873);
    effector:SetKey(_TRACK_SY, 7.04, 0.62039048906462);
    effector:SetKey(_TRACK_SX, 7.12, 1.56836760026797);
    effector:SetKey(_TRACK_SY, 7.12, 0.67929702006973);
    effector:SetKey(_TRACK_O, 0.2, 0);
    effector:SetKey(_TRACK_O, 0.24, 1);
    effector:SetKey(_TRACK_O, 0.6, 1);
    effector:SetKey(_TRACK_O, 0.64, 0);
    effector:SetKey(_TRACK_O, 0.88, 0);
    effector:SetKey(_TRACK_O, 0.9016015625, 1);
    effector:SetKey(_TRACK_O, 1.0959765625, 1);
    effector:SetKey(_TRACK_O, 1.117578125, 0);
    effector:SetKey(_TRACK_O, 3.04, 0);
    effector:SetKey(_TRACK_O, 3.08, 1);
    effector:SetKey(_TRACK_O, 3.44, 1);
    effector:SetKey(_TRACK_O, 3.48, 0);
    effector:SetKey(_TRACK_O, 3.76, 0);
    effector:SetKey(_TRACK_O, 3.7816015625, 1);
    effector:SetKey(_TRACK_O, 3.9759765625, 1);
    effector:SetKey(_TRACK_O, 3.997578125, 0);
    effector:SetKey(_TRACK_O, 6.72, 0);
    effector:SetKey(_TRACK_O, 6.76, 1);
    effector:SetKey(_TRACK_O, 7.12, 1);
    effector:SetKey(_TRACK_O, 7.16, 0);

    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/EF_Light01.jpg');
    element:SetName('Layer_2');
    compositionEnv:AddElement(element);
    element:SetHotSpot(86, 76);
    element:SetParentElement(compositionEnv);
    element:SetXY(576.766845703125, 242.52848815918);

    element:SetScaleX(-6.31678515483794);
    element:SetScaleY(8.51240796291247);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 1.08, 0.2);
    effector:SetKey(_TRACK_O, 2.4, 0);
    effector:SetKey(_TRACK_O, 3.44, 0.3);
    effector:SetKey(_TRACK_O, 4.4, 0.1);
    effector:SetKey(_TRACK_O, 5.28, 0.15);
    effector:SetKey(_TRACK_O, 6.2, 0);
    effector:SetKey(_TRACK_O, 7.08, 0.25);
    effector:SetKey(_TRACK_O, 8.04, 0.05);
    effector:SetKey(_TRACK_O, 8.76, 0.15);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionEnv:Play();

    return compositionEnv;
end

------------------------------------------------------------------------------
-- Env2
--createComposition23_Near_sacrifice_place_B2 = function()
--
--    local composition23_Near_sacrifice_place_B2 = CreateCompositionSequence();
--    local compositionDuration = 10;
--    composition23_Near_sacrifice_place_B2:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionEnv();
--    element:SetName('Layer_1');
--    composition23_Near_sacrifice_place_B2:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B2);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_2
--    local element = createCompositionFly1();
--    element:SetName('Layer_2');
--    composition23_Near_sacrifice_place_B2:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B2);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_3
--    local element = createCompositionBugs1();
--    element:SetName('Layer_3');
--    composition23_Near_sacrifice_place_B2:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B2);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_4
--    local element = createCompositionBugs2();
--    element:SetName('Layer_4');
--    composition23_Near_sacrifice_place_B2:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B2);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10.0333333333333);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_5
--    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/23_Near_sacrifice_place_B2.jpg');
--    element:SetName('Layer_5');
--    composition23_Near_sacrifice_place_B2:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B2);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--    composition23_Near_sacrifice_place_B2:Play();
--
--    return composition23_Near_sacrifice_place_B2;
--end

createCompositionBugs1 = function()

    local compositionBugs1 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionBugs1:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/BUG_[00-06].png');
    element:SetName('Layer_1');
    compositionBugs1:AddElement(element);
    element:SetHotSpot(11, 15);
    element:SetParentElement(compositionBugs1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10.0333333333333);

    effector:SetKey(_TRACK_X, 0, 677.668914794922);
    effector:SetKey(_TRACK_Y, 0, 577.087844848633);
    effector:SetKey(_TRACK_X, 0.04, 677.668914794922);
    effector:SetKey(_TRACK_Y, 0.04, 577.087844848633);
    effector:SetKey(_TRACK_X, 0.2, 679.543914794922);
    effector:SetKey(_TRACK_Y, 0.2, 568.212844848633);
    effector:SetKey(_TRACK_X, 0.36, 683.168914794922);
    effector:SetKey(_TRACK_Y, 0.36, 560.212844848633);
    effector:SetKey(_TRACK_X, 0.56, 691.043914794922);
    effector:SetKey(_TRACK_Y, 0.56, 553.712844848633);
    effector:SetKey(_TRACK_X, 0.76, 697.418914794922);
    effector:SetKey(_TRACK_Y, 0.76, 546.337844848633);
    effector:SetKey(_TRACK_X, 0.92, 697.918914794922);
    effector:SetKey(_TRACK_Y, 0.92, 535.587844848633);
    effector:SetKey(_TRACK_X, 1.08, 690.043914794922);
    effector:SetKey(_TRACK_Y, 1.08, 527.337844848633);
    effector:SetKey(_TRACK_X, 1.24, 679.668914794922);
    effector:SetKey(_TRACK_Y, 1.24, 524.962844848633);
    effector:SetKey(_TRACK_X, 1.4, 670.418914794922);
    effector:SetKey(_TRACK_Y, 1.4, 528.712844848633);
    effector:SetKey(_TRACK_X, 1.56, 664.793914794922);
    effector:SetKey(_TRACK_Y, 1.56, 535.962844848633);
    effector:SetKey(_TRACK_X, 1.72, 656.168914794922);
    effector:SetKey(_TRACK_Y, 1.72, 538.712844848633);
    effector:SetKey(_TRACK_X, 1.88, 645.543914794922);
    effector:SetKey(_TRACK_Y, 1.88, 535.462844848633);
    effector:SetKey(_TRACK_X, 2.04, 636.918914794922);
    effector:SetKey(_TRACK_Y, 2.04, 529.212844848633);
    effector:SetKey(_TRACK_X, 2.2, 633.918914794922);
    effector:SetKey(_TRACK_Y, 2.2, 520.212844848633);
    effector:SetKey(_TRACK_X, 2.36, 632.043914794922);
    effector:SetKey(_TRACK_Y, 2.36, 509.837844848633);
    effector:SetKey(_TRACK_X, 2.52, 637.293914794922);
    effector:SetKey(_TRACK_Y, 2.52, 499.462844848633);
    effector:SetKey(_TRACK_X, 2.68, 648.918914794922);
    effector:SetKey(_TRACK_Y, 2.68, 498.837844848633);
    effector:SetKey(_TRACK_X, 2.84, 662.043914794922);
    effector:SetKey(_TRACK_Y, 2.84, 502.837844848633);
    effector:SetKey(_TRACK_X, 3, 674.668914794922);
    effector:SetKey(_TRACK_Y, 3, 504.587844848633);
    effector:SetKey(_TRACK_X, 3.16, 687.168914794922);
    effector:SetKey(_TRACK_Y, 3.16, 502.587844848633);
    effector:SetKey(_TRACK_X, 3.32, 694.668914794922);
    effector:SetKey(_TRACK_Y, 3.32, 496.087844848633);
    effector:SetKey(_TRACK_X, 3.52, 697.168914794922);
    effector:SetKey(_TRACK_Y, 3.52, 484.837844848633);
    effector:SetKey(_TRACK_X, 3.72, 703.918914794922);
    effector:SetKey(_TRACK_Y, 3.72, 473.837844848633);
    effector:SetKey(_TRACK_X, 3.88, 713.543914794922);
    effector:SetKey(_TRACK_Y, 3.88, 470.587844848633);
    effector:SetKey(_TRACK_X, 4.04, 724.168914794922);
    effector:SetKey(_TRACK_Y, 4.04, 472.712844848633);
    effector:SetKey(_TRACK_X, 4.2, 730.043914794922);
    effector:SetKey(_TRACK_Y, 4.2, 480.962844848633);
    effector:SetKey(_TRACK_X, 4.36, 729.418914794922);
    effector:SetKey(_TRACK_Y, 4.36, 490.837844848633);
    effector:SetKey(_TRACK_X, 4.52, 722.668914794922);
    effector:SetKey(_TRACK_Y, 4.52, 496.712844848633);
    effector:SetKey(_TRACK_X, 4.72, 712.168914794922);
    effector:SetKey(_TRACK_Y, 4.72, 496.962844848633);
    effector:SetKey(_TRACK_X, 4.92, 705.418914794922);
    effector:SetKey(_TRACK_Y, 4.92, 489.462844848633);
    effector:SetKey(_TRACK_X, 5.08, 707.293914794922);
    effector:SetKey(_TRACK_Y, 5.08, 479.587844848633);
    effector:SetKey(_TRACK_X, 5.28, 717.043914794922);
    effector:SetKey(_TRACK_Y, 5.28, 475.462844848633);
    effector:SetKey(_TRACK_X, 5.44, 727.668914794922);
    effector:SetKey(_TRACK_Y, 5.44, 476.837844848633);
    effector:SetKey(_TRACK_X, 5.6, 736.418914794922);
    effector:SetKey(_TRACK_Y, 5.6, 475.212844848633);
    effector:SetKey(_TRACK_X, 5.76, 744.043914794922);
    effector:SetKey(_TRACK_Y, 5.76, 469.212844848633);
    effector:SetKey(_TRACK_X, 5.92, 746.168914794922);
    effector:SetKey(_TRACK_Y, 5.92, 459.462844848633);
    effector:SetKey(_TRACK_X, 6.08, 744.168914794922);
    effector:SetKey(_TRACK_Y, 6.08, 451.462844848633);
    effector:SetKey(_TRACK_X, 6.24, 746.918914794922);
    effector:SetKey(_TRACK_Y, 6.24, 443.837844848633);
    effector:SetKey(_TRACK_X, 6.4, 755.043914794922);
    effector:SetKey(_TRACK_Y, 6.4, 441.587844848633);
    effector:SetKey(_TRACK_X, 6.56, 765.168914794922);
    effector:SetKey(_TRACK_Y, 6.56, 445.837844848633);
    effector:SetKey(_TRACK_X, 6.72, 767.918914794922);
    effector:SetKey(_TRACK_Y, 6.72, 453.837844848633);
    effector:SetKey(_TRACK_X, 6.88, 765.293914794922);
    effector:SetKey(_TRACK_Y, 6.88, 464.712844848633);
    effector:SetKey(_TRACK_X, 7.04, 768.543914794922);
    effector:SetKey(_TRACK_Y, 7.04, 473.462844848633);
    effector:SetKey(_TRACK_X, 7.2, 776.543914794922);
    effector:SetKey(_TRACK_Y, 7.2, 475.212844848633);
    effector:SetKey(_TRACK_X, 7.36, 782.043914794922);
    effector:SetKey(_TRACK_Y, 7.36, 470.337844848633);
    effector:SetKey(_TRACK_X, 7.52, 782.418914794922);
    effector:SetKey(_TRACK_Y, 7.52, 460.587844848633);
    effector:SetKey(_TRACK_X, 7.68, 778.793914794922);
    effector:SetKey(_TRACK_Y, 7.68, 451.212844848633);
    effector:SetKey(_TRACK_X, 7.84, 781.168914794922);
    effector:SetKey(_TRACK_Y, 7.84, 442.337844848633);
    effector:SetKey(_TRACK_X, 8, 791.918914794922);
    effector:SetKey(_TRACK_Y, 8, 436.712844848633);
    effector:SetKey(_TRACK_X, 8.16, 798.668914794922);
    effector:SetKey(_TRACK_Y, 8.16, 430.587844848633);
    effector:SetKey(_TRACK_X, 8.32, 801.918914794922);
    effector:SetKey(_TRACK_Y, 8.32, 420.337844848633);
    effector:SetKey(_TRACK_X, 8.48, 799.668914794922);
    effector:SetKey(_TRACK_Y, 8.48, 408.962844848633);
    effector:SetKey(_TRACK_X, 8.64, 798.418914794922);
    effector:SetKey(_TRACK_Y, 8.64, 397.087844848633);
    effector:SetKey(_TRACK_X, 8.8, 799.418914794922);
    effector:SetKey(_TRACK_Y, 8.8, 388.587844848633);
    effector:SetKey(_TRACK_X, 8.96, 800.668914794922);
    effector:SetKey(_TRACK_Y, 8.96, 379.587844848633);
    effector:SetKey(_TRACK_X, 9.12, 798.168914794922);
    effector:SetKey(_TRACK_Y, 9.12, 368.712844848633);
    effector:SetKey(_TRACK_X, 9.28, 794.543914794922);
    effector:SetKey(_TRACK_Y, 9.28, 366.212844848633);
    effector:SetKey(_TRACK_X, 9.44, 789.793914794922);
    effector:SetKey(_TRACK_Y, 9.44, 368.212844848633);
    effector:SetKey(_TRACK_X, 9.6, 785.793914794922);
    effector:SetKey(_TRACK_Y, 9.6, 369.837844848633);
    effector:SetKey(_TRACK_X, 9.68, 784.043914794922);
    effector:SetKey(_TRACK_Y, 9.68, 369.712844848633);
    effector:SetKey(_TRACK_SX, 0, 0.38636363636364);
    effector:SetKey(_TRACK_SY, 0, 0.3);
    effector:SetKey(_TRACK_SX, 0.04, 0.38636363636364);
    effector:SetKey(_TRACK_SY, 0.04, 0.3);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 0.28, 0.42252532100852);
    effector:SetKey(_TRACK_A, 0.52, 0.82968801986014);
    effector:SetKey(_TRACK_A, 0.72, 0.65727633445486);
    effector:SetKey(_TRACK_A, 0.96, -1.30885173622583);
    effector:SetKey(_TRACK_A, 1.16, -1.3617882171193);
    effector:SetKey(_TRACK_A, 1.4, -2.44751519913789);
    effector:SetKey(_TRACK_A, 1.64, -1.92067052108674);
    effector:SetKey(_TRACK_A, 1.88, -1.06491248409295);
    effector:SetKey(_TRACK_A, 2.12, -0.53229213793652);
    effector:SetKey(_TRACK_A, 2.36, 0.20391014562735);
    effector:SetKey(_TRACK_A, 2.6, 1.34080429325696);
    effector:SetKey(_TRACK_A, 2.76, 1.98892262325651);
    effector:SetKey(_TRACK_A, 2.96, 1.77356964088328);
    effector:SetKey(_TRACK_A, 3.16, 0.91155710440161);
    effector:SetKey(_TRACK_A, 3.4, 0.26839127463928);
    effector:SetKey(_TRACK_A, 3.64, 0.54758249994428);
    effector:SetKey(_TRACK_A, 3.84, 1.42878157996009);
    effector:SetKey(_TRACK_A, 4.08, 2.2590013451675);
    effector:SetKey(_TRACK_A, 4.32, 3.41867120103024);
    effector:SetKey(_TRACK_A, 4.52, 4.36633800089225);
    effector:SetKey(_TRACK_A, 4.72, 5.16937695574656);
    effector:SetKey(_TRACK_A, 4.96, 6.49984879748135);
    effector:SetKey(_TRACK_A, 5.12, 7.21706945540086);
    effector:SetKey(_TRACK_A, 5.32, 8.15564982931377);
    effector:SetKey(_TRACK_A, 5.6, 7.27147620161068);
    effector:SetKey(_TRACK_A, 5.8, 6.59740011329874);
    effector:SetKey(_TRACK_A, 6.04, 6.17721203996574);
    effector:SetKey(_TRACK_A, 6.32, 7.55923671600252);
    effector:SetKey(_TRACK_A, 6.56, 8.76049895816256);
    effector:SetKey(_TRACK_A, 6.84, 9.92967082040649);
    effector:SetKey(_TRACK_A, 7.08, 8.54179505212691);
    effector:SetKey(_TRACK_A, 7.28, 6.94339386939099);
    effector:SetKey(_TRACK_A, 7.52, 6.03655752455546);
    effector:SetKey(_TRACK_A, 7.76, 6.59399500775045);
    effector:SetKey(_TRACK_A, 8, 7.25958099215745);
    effector:SetKey(_TRACK_A, 8.24, 6.51208437308829);
    effector:SetKey(_TRACK_A, 8.52, 6.1184191674089);
    effector:SetKey(_TRACK_A, 8.84, 6.53600949970792);
    effector:SetKey(_TRACK_A, 9.16, 5.60979992290074);
    effector:SetKey(_TRACK_A, 9.28, 4.8901724698777);
    effector:SetKey(_TRACK_A, 9.44, 4.24964020264631);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.04, 1);
    effector:SetKey(_TRACK_O, 9.64, 1);
    effector:SetKey(_TRACK_O, 9.68, 0);

    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/BUG_[00-06].png');
    element:SetName('Layer_2');
    compositionBugs1:AddElement(element);
    element:SetHotSpot(11, 15);
    element:SetParentElement(compositionBugs1);
    element:SetScaleX(0.36363636363636);
    element:SetScaleY(0.28333333333333);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10.0333333333333);

    effector:SetKey(_TRACK_X, 0, 669.5625);
    effector:SetKey(_TRACK_Y, 0, 581.4375);
    effector:SetKey(_TRACK_X, 0.04, 669.25);
    effector:SetKey(_TRACK_Y, 0.04, 578.25);
    effector:SetKey(_TRACK_X, 0.2, 668.75);
    effector:SetKey(_TRACK_Y, 0.2, 572.125);
    effector:SetKey(_TRACK_X, 0.4, 669.375);
    effector:SetKey(_TRACK_Y, 0.4, 563.1875);
    effector:SetKey(_TRACK_X, 0.6, 674.5);
    effector:SetKey(_TRACK_Y, 0.6, 556.8125);
    effector:SetKey(_TRACK_X, 0.72, 681.0625);
    effector:SetKey(_TRACK_Y, 0.72, 555.25);
    effector:SetKey(_TRACK_X, 1, 695.5);
    effector:SetKey(_TRACK_Y, 1, 547.9375);
    effector:SetKey(_TRACK_X, 1.12, 699.75);
    effector:SetKey(_TRACK_Y, 1.12, 540.5625);
    effector:SetKey(_TRACK_X, 1.28, 699.8125);
    effector:SetKey(_TRACK_Y, 1.28, 531.875);
    effector:SetKey(_TRACK_X, 1.4, 692.312317321853);
    effector:SetKey(_TRACK_Y, 1.4, 525.937432953234);
    effector:SetKey(_TRACK_X, 1.52, 681.3125);
    effector:SetKey(_TRACK_Y, 1.52, 524.875);
    effector:SetKey(_TRACK_X, 1.64, 672.1875);
    effector:SetKey(_TRACK_Y, 1.64, 521.75);
    effector:SetKey(_TRACK_X, 1.8, 668.0625);
    effector:SetKey(_TRACK_Y, 1.8, 512.875);
    effector:SetKey(_TRACK_X, 1.96, 670.9375);
    effector:SetKey(_TRACK_Y, 1.96, 501.125);
    effector:SetKey(_TRACK_X, 2.16, 681.4375);
    effector:SetKey(_TRACK_Y, 2.16, 498);
    effector:SetKey(_TRACK_X, 2.32, 693.1875);
    effector:SetKey(_TRACK_Y, 2.32, 500.5);
    effector:SetKey(_TRACK_X, 2.48, 699.3125);
    effector:SetKey(_TRACK_Y, 2.48, 510.125);
    effector:SetKey(_TRACK_X, 2.68, 697.0625);
    effector:SetKey(_TRACK_Y, 2.68, 519);
    effector:SetKey(_TRACK_X, 2.88, 688.4375);
    effector:SetKey(_TRACK_Y, 2.88, 523.375);
    effector:SetKey(_TRACK_X, 3, 682.3125);
    effector:SetKey(_TRACK_Y, 3, 521.625);
    effector:SetKey(_TRACK_X, 3.08, 677.8125);
    effector:SetKey(_TRACK_Y, 3.08, 517.625);
    effector:SetKey(_TRACK_X, 3.2, 674.750460638346);
    effector:SetKey(_TRACK_Y, 3.2, 509.508423101176);
    effector:SetKey(_TRACK_X, 3.32, 676.9375);
    effector:SetKey(_TRACK_Y, 3.32, 501.625);
    effector:SetKey(_TRACK_X, 3.44, 685.3125);
    effector:SetKey(_TRACK_Y, 3.44, 499.625);
    effector:SetKey(_TRACK_X, 3.6, 697.8125);
    effector:SetKey(_TRACK_Y, 3.6, 503.25);
    effector:SetKey(_TRACK_X, 3.84, 715.9375);
    effector:SetKey(_TRACK_Y, 3.84, 500.375);
    effector:SetKey(_TRACK_X, 4.04, 728.3125);
    effector:SetKey(_TRACK_Y, 4.04, 494.125);
    effector:SetKey(_TRACK_X, 4.28, 741.8125);
    effector:SetKey(_TRACK_Y, 4.28, 489.75);
    effector:SetKey(_TRACK_X, 4.52, 755.8125);
    effector:SetKey(_TRACK_Y, 4.52, 491.375);
    effector:SetKey(_TRACK_X, 4.72, 769.8125);
    effector:SetKey(_TRACK_Y, 4.72, 489.875);
    effector:SetKey(_TRACK_X, 4.96, 778.4375);
    effector:SetKey(_TRACK_Y, 4.96, 477.5);
    effector:SetKey(_TRACK_X, 5.2, 776.9375);
    effector:SetKey(_TRACK_Y, 5.2, 462.375);
    effector:SetKey(_TRACK_X, 5.44, 762.6875);
    effector:SetKey(_TRACK_Y, 5.44, 453.5);
    effector:SetKey(_TRACK_X, 5.64, 750.6875);
    effector:SetKey(_TRACK_Y, 5.64, 455.125);
    effector:SetKey(_TRACK_X, 5.88, 738.8125);
    effector:SetKey(_TRACK_Y, 5.88, 462.125);
    effector:SetKey(_TRACK_X, 6.08, 735.4375);
    effector:SetKey(_TRACK_Y, 6.08, 473.875);
    effector:SetKey(_TRACK_X, 6.24, 742.5625);
    effector:SetKey(_TRACK_Y, 6.24, 482.625);
    effector:SetKey(_TRACK_X, 6.44, 756.6875);
    effector:SetKey(_TRACK_Y, 6.44, 484.125);
    effector:SetKey(_TRACK_X, 6.72, 765.9375);
    effector:SetKey(_TRACK_Y, 6.72, 473);
    effector:SetKey(_TRACK_X, 6.92, 769.8125);
    effector:SetKey(_TRACK_Y, 6.92, 457.875);
    effector:SetKey(_TRACK_X, 7.16, 778.1875);
    effector:SetKey(_TRACK_Y, 7.16, 444.25);
    effector:SetKey(_TRACK_X, 7.4, 791.8125);
    effector:SetKey(_TRACK_Y, 7.4, 436.25);
    effector:SetKey(_TRACK_X, 7.68, 801.6875);
    effector:SetKey(_TRACK_Y, 7.68, 423.625);
    effector:SetKey(_TRACK_X, 7.92, 803.5625);
    effector:SetKey(_TRACK_Y, 7.92, 407.125);
    effector:SetKey(_TRACK_X, 8.12, 806.0625);
    effector:SetKey(_TRACK_Y, 8.12, 393.375);
    effector:SetKey(_TRACK_X, 8.36, 804.5625);
    effector:SetKey(_TRACK_Y, 8.36, 379.375);
    effector:SetKey(_TRACK_X, 8.6, 798.6875);
    effector:SetKey(_TRACK_Y, 8.6, 367.25);
    effector:SetKey(_TRACK_X, 8.84, 785.0625);
    effector:SetKey(_TRACK_Y, 8.84, 364.5);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 0.2, -0.05500208652994);
    effector:SetKey(_TRACK_A, 0.4, 0.15718894085033);
    effector:SetKey(_TRACK_A, 0.6, 0.86677831305522);
    effector:SetKey(_TRACK_A, 0.8, 1.08214291562421);
    effector:SetKey(_TRACK_A, 1.04, 0.52659021098054);
    effector:SetKey(_TRACK_A, 1.2, 0.04260665152793);
    effector:SetKey(_TRACK_A, 1.36, -0.88519282058591);
    effector:SetKey(_TRACK_A, 1.48, -1.37836920975126);
    effector:SetKey(_TRACK_A, 1.6, -1.1614413399058);
    effector:SetKey(_TRACK_A, 1.72, -0.4435897539696);
    effector:SetKey(_TRACK_A, 1.84, 0.26606556231331);
    effector:SetKey(_TRACK_A, 2, 1.27137765504006);
    effector:SetKey(_TRACK_A, 2.24, 1.79003968555795);
    effector:SetKey(_TRACK_A, 2.4, 2.52848185106305);
    effector:SetKey(_TRACK_A, 2.56, 3.27198427276453);
    effector:SetKey(_TRACK_A, 2.76, 4.1991460405713);
    effector:SetKey(_TRACK_A, 3, 5.23742409212702);
    effector:SetKey(_TRACK_A, 3.16, 6.07469591402531);
    effector:SetKey(_TRACK_A, 3.32, 7.04490448828597);
    effector:SetKey(_TRACK_A, 3.44, 7.96726958905629);
    effector:SetKey(_TRACK_A, 3.6, 7.98481164909364);
    effector:SetKey(_TRACK_A, 3.76, 7.69791140096805);
    effector:SetKey(_TRACK_A, 3.92, 7.34309972354271);
    effector:SetKey(_TRACK_A, 4.16, 7.5761334892528);
    effector:SetKey(_TRACK_A, 4.32, 7.95593114693484);
    effector:SetKey(_TRACK_A, 4.64, 7.72290275665978);
    effector:SetKey(_TRACK_A, 4.8, 6.9156850429558);
    effector:SetKey(_TRACK_A, 5.04, 6.16198443172869);
    effector:SetKey(_TRACK_A, 5.24, 5.39028166105344);
    effector:SetKey(_TRACK_A, 5.48, 4.76082110406566);
    effector:SetKey(_TRACK_A, 5.84, 4.10182525848183);
    effector:SetKey(_TRACK_A, 6, 3.43863853990369);
    effector:SetKey(_TRACK_A, 6.16, 2.45076239651697);
    effector:SetKey(_TRACK_A, 6.4, 1.58768880613333);
    effector:SetKey(_TRACK_A, 6.6, 0.67567025520478);
    effector:SetKey(_TRACK_A, 6.84, 0.22210078144862);
    effector:SetKey(_TRACK_A, 7.04, 0.61901816174452);
    effector:SetKey(_TRACK_A, 7.28, 1.23550836191576);
    effector:SetKey(_TRACK_A, 7.52, 0.73662278582814);
    effector:SetKey(_TRACK_A, 7.76, 0.08343937888835);
    effector:SetKey(_TRACK_A, 8.04, 0.26688394872462);
    effector:SetKey(_TRACK_A, 8.28, -0.07455591942083);
    effector:SetKey(_TRACK_A, 8.48, -0.44422574327022);
    effector:SetKey(_TRACK_A, 8.64, -1.24864646995267);
    effector:SetKey(_TRACK_A, 8.84, -1.45747736335808);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.04, 1);
    effector:SetKey(_TRACK_O, 8.76, 1);
    effector:SetKey(_TRACK_O, 8.84, 0);

    effector:Play();

    compositionBugs1:Play();

    return compositionBugs1;
end

createCompositionBugs2 = function()

    local compositionBugs2 = CreateCompositionSequence();
    local compositionDuration = 10.0333333333333;
    compositionBugs2:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/BUG_[00-06].png');
    element:SetName('Layer_1');
    compositionBugs2:AddElement(element);
    element:SetHotSpot(11, 15);
    element:SetParentElement(compositionBugs2);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10.0333333333333);

    effector:SetKey(_TRACK_X, 0, 333.405410766602);
    effector:SetKey(_TRACK_Y, 0, 787.5);
    effector:SetKey(_TRACK_X, 0.3171875, 315.405410766602);
    effector:SetKey(_TRACK_Y, 0.3171875, 765.5);
    effector:SetKey(_TRACK_X, 0.713671875, 288.905410766602);
    effector:SetKey(_TRACK_Y, 0.713671875, 751);
    effector:SetKey(_TRACK_X, 1.0308203125, 267.405410766602);
    effector:SetKey(_TRACK_Y, 1.0308203125, 739);
    effector:SetKey(_TRACK_X, 1.3480078125, 249.905410766602);
    effector:SetKey(_TRACK_Y, 1.3480078125, 725.5);
    effector:SetKey(_TRACK_X, 1.64, 249.905410766602);
    effector:SetKey(_TRACK_Y, 1.64, 718.25);
    effector:SetKey(_TRACK_X, 1.72, 254.655410766602);
    effector:SetKey(_TRACK_Y, 1.72, 719.75);
    effector:SetKey(_TRACK_X, 1.76, 257.155410766602);
    effector:SetKey(_TRACK_Y, 1.76, 720.75);
    effector:SetKey(_TRACK_X, 2.12, 255.655410766602);
    effector:SetKey(_TRACK_Y, 2.12, 714.5);
    effector:SetKey(_TRACK_X, 2.36, 257.155410766602);
    effector:SetKey(_TRACK_Y, 2.36, 707.25);
    effector:SetKey(_TRACK_X, 2.6, 261.905410766602);
    effector:SetKey(_TRACK_Y, 2.6, 701.25);
    effector:SetKey(_TRACK_X, 2.84, 271.905410766602);
    effector:SetKey(_TRACK_Y, 2.84, 699);
    effector:SetKey(_TRACK_X, 3.08, 283.405410766602);
    effector:SetKey(_TRACK_Y, 3.08, 698.25);
    effector:SetKey(_TRACK_X, 3.32, 296.405410766602);
    effector:SetKey(_TRACK_Y, 3.32, 698.25);
    effector:SetKey(_TRACK_X, 3.56, 308.155410766602);
    effector:SetKey(_TRACK_Y, 3.56, 697.5);
    effector:SetKey(_TRACK_X, 3.8, 320.155410766602);
    effector:SetKey(_TRACK_Y, 3.8, 695.25);
    effector:SetKey(_TRACK_X, 4.04, 329.905410766602);
    effector:SetKey(_TRACK_Y, 4.04, 691.25);
    effector:SetKey(_TRACK_X, 4.28, 339.405410766602);
    effector:SetKey(_TRACK_Y, 4.28, 689);
    effector:SetKey(_TRACK_X, 4.52, 352.155410766602);
    effector:SetKey(_TRACK_Y, 4.52, 688.25);
    effector:SetKey(_TRACK_X, 4.76, 361.155410766602);
    effector:SetKey(_TRACK_Y, 4.76, 685);
    effector:SetKey(_TRACK_X, 5, 363.155410766602);
    effector:SetKey(_TRACK_Y, 5, 678.75);
    effector:SetKey(_TRACK_X, 5.24, 358.905410766602);
    effector:SetKey(_TRACK_Y, 5.24, 674);
    effector:SetKey(_TRACK_X, 5.48, 351.405410766602);
    effector:SetKey(_TRACK_Y, 5.48, 672.75);
    effector:SetKey(_TRACK_X, 5.72, 342.155410766602);
    effector:SetKey(_TRACK_Y, 5.72, 672.75);
    effector:SetKey(_TRACK_X, 5.96, 333.405410766602);
    effector:SetKey(_TRACK_Y, 5.96, 672);
    effector:SetKey(_TRACK_X, 6.2, 325.405410766602);
    effector:SetKey(_TRACK_Y, 6.2, 669.5);
    effector:SetKey(_TRACK_X, 6.44, 317.905410766602);
    effector:SetKey(_TRACK_Y, 6.44, 667.5);
    effector:SetKey(_TRACK_X, 6.68, 305.655410766602);
    effector:SetKey(_TRACK_Y, 6.68, 666.5);
    effector:SetKey(_TRACK_X, 7.36, 277.405410766602);
    effector:SetKey(_TRACK_Y, 7.36, 665.5);
    effector:SetKey(_TRACK_X, 7.64, 269.405410766602);
    effector:SetKey(_TRACK_Y, 7.64, 664.25);
    effector:SetKey(_TRACK_X, 7.88, 262.405410766602);
    effector:SetKey(_TRACK_Y, 7.88, 663);
    effector:SetKey(_TRACK_X, 8.12, 254.655410766602);
    effector:SetKey(_TRACK_Y, 8.12, 661.25);
    effector:SetKey(_TRACK_X, 8.36, 247.405410766602);
    effector:SetKey(_TRACK_Y, 8.36, 659.5);
    effector:SetKey(_TRACK_X, 8.6, 239.905410766602);
    effector:SetKey(_TRACK_Y, 8.6, 657.25);
    effector:SetKey(_TRACK_X, 8.84, 236.155410766602);
    effector:SetKey(_TRACK_Y, 8.84, 653.25);
    effector:SetKey(_TRACK_X, 9.08, 238.905410766602);
    effector:SetKey(_TRACK_Y, 9.08, 648.75);
    effector:SetKey(_TRACK_X, 9.32, 244.155410766602);
    effector:SetKey(_TRACK_Y, 9.32, 648.25);
    effector:SetKey(_TRACK_X, 9.56, 249.405410766602);
    effector:SetKey(_TRACK_Y, 9.56, 651);
    effector:SetKey(_TRACK_X, 9.8, 251.655410766602);
    effector:SetKey(_TRACK_Y, 9.8, 653.25);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 1.0308203125, 0.79693550118224);
    effector:SetKey(_TRACK_SY, 1.0308203125, 0.79440555641201);
    effector:SetKey(_TRACK_SX, 1.64, 0.86934431352293);
    effector:SetKey(_TRACK_SY, 1.64, 0.61579247201703);
    effector:SetKey(_TRACK_SX, 1.72, 0.64317812293255);
    effector:SetKey(_TRACK_SY, 1.72, 0.53766973774463);
    effector:SetKey(_TRACK_SX, 2.12, 0.61175936474244);
    effector:SetKey(_TRACK_SY, 2.12, 0.50837762597456);
    effector:SetKey(_TRACK_SX, 3, 0.4864573806304);
    effector:SetKey(_TRACK_SY, 3, 0.60057544094264);
    effector:SetKey(_TRACK_SX, 4.84, 0.50750096359516);
    effector:SetKey(_TRACK_SY, 4.84, 0.43952413586867);
    effector:SetKey(_TRACK_SX, 5.76, 0.4341223582571);
    effector:SetKey(_TRACK_SY, 5.76, 0.4491724530886);
    effector:SetKey(_TRACK_SX, 7.92, 0.38382020049775);
    effector:SetKey(_TRACK_SY, 7.92, 0.49001982144036);
    effector:SetKey(_TRACK_A, 0, -0.55746264806592);
    effector:SetKey(_TRACK_A, 0.3171875, -0.83610282676804);
    effector:SetKey(_TRACK_A, 0.713671875, -1.03174709079115);
    effector:SetKey(_TRACK_A, 1.3480078125, -0.88895121043004);
    effector:SetKey(_TRACK_A, 1.64, 0.10911475195006);
    effector:SetKey(_TRACK_A, 1.72, 1.13059234807367);
    effector:SetKey(_TRACK_A, 2.12, 0.08253647504611);
    effector:SetKey(_TRACK_A, 2.44, 0.52965240631593);
    effector:SetKey(_TRACK_A, 2.64, 1.06973245262737);
    effector:SetKey(_TRACK_A, 2.8, 1.27060361676158);
    effector:SetKey(_TRACK_A, 3, 1.39153238009246);
    effector:SetKey(_TRACK_A, 3.44, 1.41610876475017);
    effector:SetKey(_TRACK_A, 4.12, 1.17916268648678);
    effector:SetKey(_TRACK_A, 4.4, 1.33714651933125);
    effector:SetKey(_TRACK_A, 4.64, 1.00250472935939);
    effector:SetKey(_TRACK_A, 4.84, 0.53064418903639);
    effector:SetKey(_TRACK_A, 4.96, 0.23222250657178);
    effector:SetKey(_TRACK_A, 5.08, -0.40976830672157);
    effector:SetKey(_TRACK_A, 5.2, -0.8661312552785);
    effector:SetKey(_TRACK_A, 5.36, -1.46140759078304);
    effector:SetKey(_TRACK_A, 5.6, -1.65408643629311);
    effector:SetKey(_TRACK_A, 5.84, -1.53237193191035);
    effector:SetKey(_TRACK_A, 5.96, -1.34845436372825);
    effector:SetKey(_TRACK_A, 6.4, -1.27482789131362);
    effector:SetKey(_TRACK_A, 6.6, -1.56564994342006);
    effector:SetKey(_TRACK_A, 7.36, -1.37022396115732);
    effector:SetKey(_TRACK_A, 7.84, -1.39264965839123);
    effector:SetKey(_TRACK_A, 8.16, -1.27758061217204);
    effector:SetKey(_TRACK_A, 8.56, -0.94411606079324);
    effector:SetKey(_TRACK_A, 8.8, -0.01823494666098);
    effector:SetKey(_TRACK_A, 9, 0.63090868804718);
    effector:SetKey(_TRACK_A, 9.16, 1.26595753985848);
    effector:SetKey(_TRACK_A, 9.36, 1.96165249674891);
    effector:SetKey(_TRACK_A, 9.52, 2.44507023808792);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 1.72, 1);
    effector:SetKey(_TRACK_O, 1.76, 0);
    effector:SetKey(_TRACK_O, 2.08, 0);
    effector:SetKey(_TRACK_O, 2.12, 1);
    effector:SetKey(_TRACK_O, 9.8, 1);
    effector:SetKey(_TRACK_O, 9.84, 0);

    effector:Play();

    compositionBugs2:Play();

    return compositionBugs2;
end

createCompositionEnv = function()

    local compositionEnv = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionEnv:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/EF_Light01.jpg');
    element:SetName('Layer_1');
    compositionEnv:AddElement(element);
    element:SetHotSpot(86, 76);
    element:SetParentElement(compositionEnv);
    element:SetXY(415.567565917969, 84.1621704101563);

    element:SetScaleX(6.28032683846638);
    element:SetScaleY(9.56614509246089);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0.1);
    effector:SetKey(_TRACK_O, 1.28, 0.4);
    effector:SetKey(_TRACK_O, 2.76, 0.1);
    effector:SetKey(_TRACK_O, 4.2, 0.4);
    effector:SetKey(_TRACK_O, 5.56, 0);
    effector:SetKey(_TRACK_O, 6.76, 0.15);
    effector:SetKey(_TRACK_O, 7.88, 0.05);
    effector:SetKey(_TRACK_O, 8.96, 0.15);
    effector:SetKey(_TRACK_O, 9.96, 0.1);

    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/EF_Dust_01.jpg');
    element:SetName('Layer_2');
    compositionEnv:AddElement(element);
    element:SetHotSpot(130.5, 131);
    element:SetParentElement(compositionEnv);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 246.48649597168);
    effector:SetKey(_TRACK_Y, 0, 530.594604492188);
    effector:SetKey(_TRACK_X, 9.96, 251.675689697266);
    effector:SetKey(_TRACK_Y, 9.96, 326.918930053711);
    effector:SetKey(_TRACK_SX, 0, 1.5);
    effector:SetKey(_TRACK_SY, 0, 1.5);
    effector:SetKey(_TRACK_SX, 9.96, 1.2);
    effector:SetKey(_TRACK_SY, 9.96, 1.2);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 9.96, -0.34906585);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 1.48, 0.8);
    effector:SetKey(_TRACK_O, 2.6, 0);
    effector:SetKey(_TRACK_O, 3.56, 0.6);
    effector:SetKey(_TRACK_O, 4.84, 0.1);
    effector:SetKey(_TRACK_O, 5.96, 0.6);
    effector:SetKey(_TRACK_O, 6.68, 0.2);
    effector:SetKey(_TRACK_O, 7.48, 0.8);
    effector:SetKey(_TRACK_O, 8.36, 0.2);
    effector:SetKey(_TRACK_O, 9.12, 0.6);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionEnv:Play();

    return compositionEnv;
end

createCompositionFly1 = function()

    local compositionFly1 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly1:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('Layer_1');
    compositionFly1:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly1);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, -32.5945892333984);
    effector:SetKey(_TRACK_Y, 0, 465.675674438477);
    effector:SetKey(_TRACK_X, 0.52, 66.4054107666016);
    effector:SetKey(_TRACK_Y, 0.52, 483.675674438477);
    effector:SetKey(_TRACK_X, 1.16, 148.405410766602);
    effector:SetKey(_TRACK_Y, 1.16, 465.675674438477);
    effector:SetKey(_TRACK_X, 1.84, 217.405410766602);
    effector:SetKey(_TRACK_Y, 1.84, 397.675674438477);
    effector:SetKey(_TRACK_X, 2.4, 229.405410766602);
    effector:SetKey(_TRACK_Y, 2.4, 337.675674438477);
    effector:SetKey(_TRACK_X, 2.88, 210.405410766602);
    effector:SetKey(_TRACK_Y, 2.88, 309.175674438477);
    effector:SetKey(_TRACK_X, 3.48, 179.405410766602);
    effector:SetKey(_TRACK_Y, 3.48, 302.675674438477);
    effector:SetKey(_TRACK_X, 4, 157.405410766602);
    effector:SetKey(_TRACK_Y, 4, 320.675674438477);
    effector:SetKey(_TRACK_X, 4.48, 160.405410766602);
    effector:SetKey(_TRACK_Y, 4.48, 347.675674438477);
    effector:SetKey(_TRACK_X, 4.92, 178.405410766602);
    effector:SetKey(_TRACK_Y, 4.92, 361.175674438477);
    effector:SetKey(_TRACK_X, 5.4, 200.405410766602);
    effector:SetKey(_TRACK_Y, 5.4, 365.175674438477);
    effector:SetKey(_TRACK_X, 6.32, 244.405410766602);
    effector:SetKey(_TRACK_Y, 6.32, 360.175674438477);
    effector:SetKey(_TRACK_X, 6.96, 284.905410766602);
    effector:SetKey(_TRACK_Y, 6.96, 344.675674438477);
    effector:SetKey(_TRACK_X, 7.52, 300.405410766602);
    effector:SetKey(_TRACK_Y, 7.52, 329.175674438477);
    effector:SetKey(_TRACK_X, 8.08, 304.905410766602);
    effector:SetKey(_TRACK_Y, 8.08, 310.675674438477);
    effector:SetKey(_TRACK_X, 8.64, 294.405410766602);
    effector:SetKey(_TRACK_Y, 8.64, 300.675674438477);
    effector:SetKey(_TRACK_X, 9.24, 281.223544003483);
    effector:SetKey(_TRACK_Y, 9.24, 291.03928818668);
    effector:SetKey(_TRACK_X, 9.96, 265.405410766602);
    effector:SetKey(_TRACK_Y, 9.96, 287.175674438477);
    effector:SetKey(_TRACK_SX, 0, 1.5);
    effector:SetKey(_TRACK_SY, 0, 1.5);
    effector:SetKey(_TRACK_SX, 9.96, 0.2);
    effector:SetKey(_TRACK_SY, 9.96, 0.2);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 5.48, 1);
    effector:SetKey(_TRACK_O, 5.56, 0);
    effector:SetKey(_TRACK_O, 7.24, 0);
    effector:SetKey(_TRACK_O, 7.28, 1);
    effector:SetKey(_TRACK_O, 9.76, 1);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionFly1:Play();

    return compositionFly1;
end

createCompositionFly2 = function()

    local compositionFly2 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly2:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('Layer_1');
    compositionFly2:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly2);
    element:SetXY(9.5, 9);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);


    effector:Play();

    compositionFly2:Play();

    return compositionFly2;
end


------------------------------------------------------------------------------
-- Expl
--createComposition23_Near_sacrifice_place_B1 = function()
--
--    local composition23_Near_sacrifice_place_B1 = CreateCompositionSequence();
--    local compositionDuration = 10;
--    composition23_Near_sacrifice_place_B1:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionExplode();
--    element:SetName('Layer_1');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_2
--    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/z_2.png');
--    element:SetName('Layer_2');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(180.5, 223.5);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(298.5, 280);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--    effector:SetKey(_TRACK_O, 0, 0);
--    effector:SetKey(_TRACK_O, 3.36, 0);
--    effector:SetKey(_TRACK_O, 3.56, 1);
--    effector:SetKey(_TRACK_O, 9.96, 1);
--
--    effector:Play();
--
--
--    -- Layer Layer_3
--    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/23_Near_sacrifice_place_B1.jpg');
--    element:SetName('Layer_3');
--    composition23_Near_sacrifice_place_B1:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(composition23_Near_sacrifice_place_B1);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--    composition23_Near_sacrifice_place_B1:Play();
--
--    return composition23_Near_sacrifice_place_B1;
--end

createCompositionExplode = function()

    local compositionExplode = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionExplode:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/fire[0-9].jpg');
    element:SetName('Layer_1');
    compositionExplode:AddElement(element);
    element:SetHotSpot(32, 32);
    element:SetParentElement(compositionExplode);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 2.92);

    effector:SetKey(_TRACK_X, 0, 266.507125854492);
    effector:SetKey(_TRACK_Y, 0, 211.882125854492);
    effector:SetKey(_TRACK_X, 0.28, 269.632125854492);
    effector:SetKey(_TRACK_Y, 0.28, 218.132125854492);
    effector:SetKey(_TRACK_X, 0.52, 275.132125854492);
    effector:SetKey(_TRACK_Y, 0.52, 221.132125854492);
    effector:SetKey(_TRACK_X, 0.8, 281.507125854492);
    effector:SetKey(_TRACK_Y, 0.8, 219.882125854492);
    effector:SetKey(_TRACK_X, 1.12, 284.507125854492);
    effector:SetKey(_TRACK_Y, 1.12, 216.132125854492);
    effector:SetKey(_TRACK_X, 1.36, 283.257125854492);
    effector:SetKey(_TRACK_Y, 1.36, 212.632125854492);
    effector:SetKey(_TRACK_X, 1.64, 279.507125854492);
    effector:SetKey(_TRACK_Y, 1.64, 213.882125854492);
    effector:SetKey(_TRACK_X, 1.92, 278.632125854492);
    effector:SetKey(_TRACK_Y, 1.92, 218.382125854492);
    effector:SetKey(_TRACK_X, 2.24, 279.007125854492);
    effector:SetKey(_TRACK_Y, 2.24, 222.757125854492);
    effector:SetKey(_TRACK_X, 2.52, 280.257125854492);
    effector:SetKey(_TRACK_Y, 2.52, 226.257125854492);
    effector:SetKey(_TRACK_X, 2.8, 283.257125854492);
    effector:SetKey(_TRACK_Y, 2.8, 229.257125854492);
    effector:SetKey(_TRACK_SX, 0, 0.840625);
    effector:SetKey(_TRACK_SY, 0, 0.8484375);
    effector:SetKey(_TRACK_SX, 0.2, 2.040625);
    effector:SetKey(_TRACK_SY, 0.2, 2.0484375);
    effector:SetKey(_TRACK_SX, 0.44, 1.640625);
    effector:SetKey(_TRACK_SY, 0.44, 1.6484375);
    effector:SetKey(_TRACK_SX, 1.24, 1.440625);
    effector:SetKey(_TRACK_SY, 1.24, 1.4484375);
    effector:SetKey(_TRACK_SX, 1.8, 1.240625);
    effector:SetKey(_TRACK_SY, 1.8, 1.2484375);
    effector:SetKey(_TRACK_SX, 2.8, 1.640625);
    effector:SetKey(_TRACK_SY, 2.8, 1.6484375);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.04, 1);
    effector:SetKey(_TRACK_O, 2.8, 1);

    effector:Play();


--    -- Layer Layer_2
--    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/dinamit_pl.png');
--    element:SetName('Layer_2');
--    compositionExplode:AddElement(element);
--    element:SetHotSpot(34, 36.5);
--    element:SetParentElement(compositionExplode);
--    element:SetXY(285.860107421875, 232.888595581055);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--    effector:SetKey(_TRACK_O, 0, 1);
--    effector:SetKey(_TRACK_O, 2.8, 1);
--    effector:SetKey(_TRACK_O, 2.84, 0);
--    effector:SetKey(_TRACK_O, 9.96, 0);
--
--    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/Stone_02.png');
    element:SetName('Layer_3');
    compositionExplode:AddElement(element);
    element:SetHotSpot(40, 44);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 2.8, 244.5);
    effector:SetKey(_TRACK_Y, 2.8, 230);
    effector:SetKey(_TRACK_X, 2.84, 221.950775146484);
    effector:SetKey(_TRACK_Y, 2.84, 212.756469726563);
    effector:SetKey(_TRACK_X, 2.88, 178.178756713867);
    effector:SetKey(_TRACK_Y, 2.88, 204.797927856445);
    effector:SetKey(_TRACK_X, 2.92, 129.101043701172);
    effector:SetKey(_TRACK_Y, 2.92, 224.694305419922);
    effector:SetKey(_TRACK_X, 2.96, 76.0440521240234);
    effector:SetKey(_TRACK_Y, 2.96, 279.077728271484);
    effector:SetKey(_TRACK_X, 3, 36.2513122558594);
    effector:SetKey(_TRACK_Y, 3, 346.725402832031);
    effector:SetKey(_TRACK_X, 3.04, -3.54142761230469);
    effector:SetKey(_TRACK_Y, 3.04, 428.963745117188);
    effector:SetKey(_TRACK_X, 3.08, -39.3549041748047);
    effector:SetKey(_TRACK_Y, 3.08, 511.202087402344);
    effector:SetKey(_TRACK_SX, 2.8, 1);
    effector:SetKey(_TRACK_SY, 2.8, 1);
    effector:SetKey(_TRACK_SX, 3.08, 3);
    effector:SetKey(_TRACK_SY, 3.08, 3);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 3.08, 0);
    effector:SetKey(_TRACK_O, 2.8, 1);
    effector:SetKey(_TRACK_O, 3.04, 1);
    effector:SetKey(_TRACK_O, 3.08, 0);

    effector:Play();


    -- Layer Layer_4
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/Stone_01.png');
    element:SetName('Layer_4');
    compositionExplode:AddElement(element);
    element:SetHotSpot(30, 25);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 278.354919433594);
    effector:SetKey(_TRACK_Y, 0, 192.740936279297);
    effector:SetKey(_TRACK_X, 2.8, 278.354919433594);
    effector:SetKey(_TRACK_Y, 2.8, 192.740936279297);
    effector:SetKey(_TRACK_X, 2.887734375, 223.960269480838);
    effector:SetKey(_TRACK_Y, 2.887734375, 173.381878472274);
    effector:SetKey(_TRACK_X, 2.9658203125, 174.546241430846);
    effector:SetKey(_TRACK_Y, 2.9658203125, 172.259891351771);
    effector:SetKey(_TRACK_X, 3.0438671875, 136.634889901955);
    effector:SetKey(_TRACK_Y, 3.0438671875, 196.338667584938);
    effector:SetKey(_TRACK_X, 3.121953125, 93.4221907097781);
    effector:SetKey(_TRACK_Y, 3.121953125, 254.228135442378);
    effector:SetKey(_TRACK_X, 3.2, 50.2098541259766);
    effector:SetKey(_TRACK_Y, 3.2, 334.668380737305);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 2.8, 1);
    effector:SetKey(_TRACK_SY, 2.8, 1);
    effector:SetKey(_TRACK_SX, 3.2, 4);
    effector:SetKey(_TRACK_SY, 3.2, 4);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 3.2, -3.4906585);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 2.8, 1);
    effector:SetKey(_TRACK_O, 3.121953125, 1);
    effector:SetKey(_TRACK_O, 3.2, 0);

    effector:Play();


    -- Layer Layer_5
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/Stone_03.png');
    element:SetName('Layer_5');
    compositionExplode:AddElement(element);
    element:SetHotSpot(32, 30);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 382.5);
    effector:SetKey(_TRACK_Y, 0, 187);
    effector:SetKey(_TRACK_X, 2.8, 382.5);
    effector:SetKey(_TRACK_Y, 2.8, 187);
    effector:SetKey(_TRACK_X, 2.84, 399.5);
    effector:SetKey(_TRACK_Y, 2.84, 174);
    effector:SetKey(_TRACK_X, 2.88, 437.5);
    effector:SetKey(_TRACK_Y, 2.88, 154);
    effector:SetKey(_TRACK_X, 2.92, 501.5);
    effector:SetKey(_TRACK_Y, 2.92, 143);
    effector:SetKey(_TRACK_X, 2.96, 564.5);
    effector:SetKey(_TRACK_Y, 2.96, 170);
    effector:SetKey(_TRACK_X, 3, 602.5);
    effector:SetKey(_TRACK_Y, 3, 233);
    effector:SetKey(_TRACK_X, 3.04, 623.5);
    effector:SetKey(_TRACK_Y, 3.04, 299);
    effector:SetKey(_TRACK_X, 3.08, 636.5);
    effector:SetKey(_TRACK_Y, 3.08, 380);
    effector:SetKey(_TRACK_X, 3.12, 642.5);
    effector:SetKey(_TRACK_Y, 3.12, 462);
    effector:SetKey(_TRACK_X, 3.16, 643.5);
    effector:SetKey(_TRACK_Y, 3.16, 552);
    effector:SetKey(_TRACK_X, 3.2, 643.5);
    effector:SetKey(_TRACK_Y, 3.2, 646);
    effector:SetKey(_TRACK_X, 3.24, 659.5);
    effector:SetKey(_TRACK_Y, 3.24, 631);
    effector:SetKey(_TRACK_X, 3.28, 682.5);
    effector:SetKey(_TRACK_Y, 3.28, 619);
    effector:SetKey(_TRACK_X, 3.32, 715.5);
    effector:SetKey(_TRACK_Y, 3.32, 629);
    effector:SetKey(_TRACK_X, 3.36, 738.5);
    effector:SetKey(_TRACK_Y, 3.36, 666);
    effector:SetKey(_TRACK_X, 3.4, 746.5);
    effector:SetKey(_TRACK_Y, 3.4, 715);
    effector:SetKey(_TRACK_X, 3.44, 760.5);
    effector:SetKey(_TRACK_Y, 3.44, 707);
    effector:SetKey(_TRACK_X, 3.48, 779.5);
    effector:SetKey(_TRACK_Y, 3.48, 729);
    effector:SetKey(_TRACK_X, 3.52, 794.5);
    effector:SetKey(_TRACK_Y, 3.52, 733);
    effector:SetKey(_TRACK_X, 3.56, 806.5);
    effector:SetKey(_TRACK_Y, 3.56, 758);
    effector:SetKey(_TRACK_X, 3.6, 839.5);
    effector:SetKey(_TRACK_Y, 3.6, 803);
    effector:SetKey(_TRACK_X, 3.64, 839.5);
    effector:SetKey(_TRACK_Y, 3.64, 810);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 2.8, 1);
    effector:SetKey(_TRACK_SY, 2.8, 1);
    effector:SetKey(_TRACK_SX, 3.2, 1.4);
    effector:SetKey(_TRACK_SY, 3.2, 1.4);
    effector:SetKey(_TRACK_SX, 3.6, 1.6);
    effector:SetKey(_TRACK_SY, 3.6, 1.6);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 3.2, 4.6251225125);
    effector:SetKey(_TRACK_A, 3.4, 5.619960185);
    effector:SetKey(_TRACK_A, 3.48, 5.8817595725);
    effector:SetKey(_TRACK_A, 3.56, 5.5676003075);
    effector:SetKey(_TRACK_A, 3.64, 5.829399695);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 2.8, 1);

    effector:Play();


    -- Layer Layer_6
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/Stone_04.png');
    element:SetName('Layer_6');
    compositionExplode:AddElement(element);
    element:SetHotSpot(22, 24);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 296.5);
    effector:SetKey(_TRACK_Y, 0, 213);
    effector:SetKey(_TRACK_X, 2.8, 296.5);
    effector:SetKey(_TRACK_Y, 2.8, 213);
    effector:SetKey(_TRACK_X, 2.84, 307.5);
    effector:SetKey(_TRACK_Y, 2.84, 202);
    effector:SetKey(_TRACK_X, 2.88, 321);
    effector:SetKey(_TRACK_Y, 2.88, 193.5);
    effector:SetKey(_TRACK_X, 2.92, 338);
    effector:SetKey(_TRACK_Y, 2.92, 193);
    effector:SetKey(_TRACK_X, 2.96, 349);
    effector:SetKey(_TRACK_Y, 2.96, 198.5);
    effector:SetKey(_TRACK_X, 3, 360.5);
    effector:SetKey(_TRACK_Y, 3, 210);
    effector:SetKey(_TRACK_X, 3.04, 372.5);
    effector:SetKey(_TRACK_Y, 3.04, 223);
    effector:SetKey(_TRACK_X, 3.08, 384.5);
    effector:SetKey(_TRACK_Y, 3.08, 248);
    effector:SetKey(_TRACK_X, 3.12, 395.5);
    effector:SetKey(_TRACK_Y, 3.12, 283);
    effector:SetKey(_TRACK_X, 3.16, 406.5);
    effector:SetKey(_TRACK_Y, 3.16, 323);
    effector:SetKey(_TRACK_X, 3.2, 415.5);
    effector:SetKey(_TRACK_Y, 3.2, 372);
    effector:SetKey(_TRACK_X, 3.24, 422.5);
    effector:SetKey(_TRACK_Y, 3.24, 437);
    effector:SetKey(_TRACK_X, 3.28, 425.5);
    effector:SetKey(_TRACK_Y, 3.28, 513);
    effector:SetKey(_TRACK_X, 3.32, 425.5);
    effector:SetKey(_TRACK_Y, 3.32, 593);
    effector:SetKey(_TRACK_X, 3.36, 424.5);
    effector:SetKey(_TRACK_Y, 3.36, 685);
    effector:SetKey(_TRACK_X, 3.4, 424.5);
    effector:SetKey(_TRACK_Y, 3.4, 740);
    effector:SetKey(_TRACK_X, 3.44, 441.764251708984);
    effector:SetKey(_TRACK_Y, 3.44, 724.611404418945);
    effector:SetKey(_TRACK_X, 3.48, 462.375640869141);
    effector:SetKey(_TRACK_Y, 3.48, 799.652847290039);
    effector:SetKey(_TRACK_X, 3.52, 471.354919433594);
    effector:SetKey(_TRACK_Y, 3.52, 866.549224853516);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 2.8, 1);
    effector:SetKey(_TRACK_SY, 2.8, 1);
    effector:SetKey(_TRACK_SX, 3, 1.5);
    effector:SetKey(_TRACK_SY, 3, 1.5);
    effector:SetKey(_TRACK_SX, 3.36, 2);
    effector:SetKey(_TRACK_SY, 3.36, 2);
    effector:SetKey(_TRACK_SX, 3.44, 2.6);
    effector:SetKey(_TRACK_SY, 3.44, 2.6);
    effector:SetKey(_TRACK_SX, 3.52, 2.8);
    effector:SetKey(_TRACK_SY, 3.52, 2.8);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 3.36, 7.2780229725);
    effector:SetKey(_TRACK_A, 3.52, 7.6794487);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 2.8, 1);

    effector:Play();


    -- Layer Layer_7
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/Stone_05.png');
    element:SetName('Layer_7');
    compositionExplode:AddElement(element);
    element:SetHotSpot(14, 13);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 309.5);
    effector:SetKey(_TRACK_Y, 0, 171);
    effector:SetKey(_TRACK_X, 2.8, 309.5);
    effector:SetKey(_TRACK_Y, 2.8, 171);
    effector:SetKey(_TRACK_X, 2.862734375, 319.5);
    effector:SetKey(_TRACK_Y, 2.862734375, 138.5);
    effector:SetKey(_TRACK_X, 2.92546875, 336.5);
    effector:SetKey(_TRACK_Y, 2.92546875, 88.5);
    effector:SetKey(_TRACK_X, 2.988203125, 364.5);
    effector:SetKey(_TRACK_Y, 2.988203125, 22.5);
    effector:SetKey(_TRACK_X, 3.0509375, 395.5);
    effector:SetKey(_TRACK_Y, 3.0509375, -35.5);
    effector:SetKey(_TRACK_X, 3.113671875, 423.5);
    effector:SetKey(_TRACK_Y, 3.113671875, -84.5);
    effector:SetKey(_TRACK_X, 3.84, 707.5);
    effector:SetKey(_TRACK_Y, 3.84, -84.5);
    effector:SetKey(_TRACK_X, 3.9660546875, 752.5);
    effector:SetKey(_TRACK_Y, 3.9660546875, 37.5);
    effector:SetKey(_TRACK_X, 4.0291015625, 769.5);
    effector:SetKey(_TRACK_Y, 4.0291015625, 97.5);
    effector:SetKey(_TRACK_X, 4.092109375, 785.5);
    effector:SetKey(_TRACK_Y, 4.092109375, 169.5);
    effector:SetKey(_TRACK_X, 4.15515625, 799.5);
    effector:SetKey(_TRACK_Y, 4.15515625, 265.5);
    effector:SetKey(_TRACK_X, 4.2181640625, 808.5);
    effector:SetKey(_TRACK_Y, 4.2181640625, 361.5);
    effector:SetKey(_TRACK_X, 4.2812109375, 814.5);
    effector:SetKey(_TRACK_Y, 4.2812109375, 462.5);
    effector:SetKey(_TRACK_X, 4.3442578125, 815.5);
    effector:SetKey(_TRACK_Y, 4.3442578125, 523.5);
    effector:SetKey(_TRACK_X, 4.407265625, 835.764251708984);
    effector:SetKey(_TRACK_Y, 4.407265625, 488.888610839844);
    effector:SetKey(_TRACK_X, 4.4703125, 862.049224853516);
    effector:SetKey(_TRACK_Y, 4.4703125, 450.56217956543);
    effector:SetKey(_TRACK_X, 4.5333203125, 897.354919433594);
    effector:SetKey(_TRACK_Y, 4.5333203125, 416.56217956543);
    effector:SetKey(_TRACK_X, 4.5963671875, 938.702072143555);
    effector:SetKey(_TRACK_Y, 4.5963671875, 389.888595581055);
    effector:SetKey(_TRACK_X, 4.6594140625, 999.354919433594);
    effector:SetKey(_TRACK_Y, 4.6594140625, 373.867874145508);
    effector:SetKey(_TRACK_X, 4.722421875, 1085.35491943359);
    effector:SetKey(_TRACK_Y, 4.722421875, 370.867874145508);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 2.8, 1);
    effector:SetKey(_TRACK_SY, 2.8, 1);
    effector:SetKey(_TRACK_SX, 3.12, 1.2);
    effector:SetKey(_TRACK_SY, 3.12, 1.2);
    effector:SetKey(_TRACK_SX, 3.84, 1.2);
    effector:SetKey(_TRACK_SY, 3.84, 1.2);
    effector:SetKey(_TRACK_SX, 4.3442578125, 1.4);
    effector:SetKey(_TRACK_SY, 4.3442578125, 1.4);
    effector:SetKey(_TRACK_SX, 4.722421875, 1.6);
    effector:SetKey(_TRACK_SY, 4.722421875, 1.6);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 4.3442578125, 37.6991118);
    effector:SetKey(_TRACK_A, 4.72, 50.1447642442516);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 2.8, 1);

    effector:Play();


    -- Layer Layer_8
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion03.png');
    element:SetName('Layer_8');
    compositionExplode:AddElement(element);
    element:SetHotSpot(40, 40);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 281);
    effector:SetKey(_TRACK_Y, 0, 238);
    effector:SetKey(_TRACK_X, 2.84, 312);
    effector:SetKey(_TRACK_Y, 2.84, 178);
    effector:SetKey(_TRACK_X, 2.92, 330);
    effector:SetKey(_TRACK_Y, 2.92, 143);
    effector:SetKey(_TRACK_X, 3.52, 345);
    effector:SetKey(_TRACK_Y, 3.52, 70);
    effector:SetKey(_TRACK_X, 4.24, 352);
    effector:SetKey(_TRACK_Y, 4.24, -33);
    effector:SetKey(_TRACK_SX, 0, 3.95);
    effector:SetKey(_TRACK_SY, 0, 3.575);
    effector:SetKey(_TRACK_SX, 2.84, 1.025);
    effector:SetKey(_TRACK_SY, 2.84, 0.975);
    effector:SetKey(_TRACK_SX, 2.92, 3.4);
    effector:SetKey(_TRACK_SY, 2.92, 3.375);
    effector:SetKey(_TRACK_SX, 3.52, 5.475);
    effector:SetKey(_TRACK_SY, 3.52, 5.85);
    effector:SetKey(_TRACK_SX, 4.24, 7);
    effector:SetKey(_TRACK_SY, 4.24, 7.47945205479452);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.84, 0);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.84, 0);
    effector:SetKey(_TRACK_O, 2.92, 1);
    effector:SetKey(_TRACK_O, 3.92, 1);
    effector:SetKey(_TRACK_O, 4.24, 0);

    effector:Play();


    -- Layer Layer_9
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion01.jpg');
    element:SetName('Layer_9');
    compositionExplode:AddElement(element);
    element:SetHotSpot(128, 128);
    element:SetParentElement(compositionExplode);
    element:SetXY(257.25, 254);


    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_SX, 0, -0.390625);
    effector:SetKey(_TRACK_SY, 0, -0.359375);
    effector:SetKey(_TRACK_SX, 2.84, -0.390625);
    effector:SetKey(_TRACK_SY, 2.84, -0.359375);
    effector:SetKey(_TRACK_SX, 2.92, 0.64829885644344);
    effector:SetKey(_TRACK_SY, 2.92, 0.70919486001852);
    effector:SetKey(_TRACK_SX, 3.08, 1.23871128753062);
    effector:SetKey(_TRACK_SY, 3.08, 1.31937129348908);
    effector:SetKey(_TRACK_SX, 3.4, 1.4453125);
    effector:SetKey(_TRACK_SY, 3.4, 1.54178370786517);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.84, 0);
    effector:SetKey(_TRACK_A, 3.08, 0.7853981625);
    effector:SetKey(_TRACK_A, 3.4, 0.9599310875);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.84, 0);
    effector:SetKey(_TRACK_O, 2.88, 1);
    effector:SetKey(_TRACK_O, 3.04, 1);
    effector:SetKey(_TRACK_O, 3.4, 0);

    effector:Play();


    -- Layer Layer_10
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion03.png');
    element:SetName('Layer_10');
    compositionExplode:AddElement(element);
    element:SetHotSpot(40, 40);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 281);
    effector:SetKey(_TRACK_Y, 0, 238);
    effector:SetKey(_TRACK_X, 2.92, 273);
    effector:SetKey(_TRACK_Y, 2.92, 187);
    effector:SetKey(_TRACK_X, 3, 253);
    effector:SetKey(_TRACK_Y, 3, 158);
    effector:SetKey(_TRACK_X, 3.6, 230);
    effector:SetKey(_TRACK_Y, 3.6, 84);
    effector:SetKey(_TRACK_X, 5.4, 212);
    effector:SetKey(_TRACK_Y, 5.4, -24);
    effector:SetKey(_TRACK_SX, 0, 1.9);
    effector:SetKey(_TRACK_SY, 0, 3.5);
    effector:SetKey(_TRACK_SX, 2.92, -1.025);
    effector:SetKey(_TRACK_SY, 2.92, 0.9);
    effector:SetKey(_TRACK_SX, 3, -4.35624544805094);
    effector:SetKey(_TRACK_SY, 3, 4.74179155448974);
    effector:SetKey(_TRACK_SX, 3.6, -10.3659392879274);
    effector:SetKey(_TRACK_SY, 3.6, 10.2628300498906);
    effector:SetKey(_TRACK_SX, 5.4, -12.1205623449308);
    effector:SetKey(_TRACK_SY, 5.4, 12);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.92, -0.41822432910134);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.92, 0);
    effector:SetKey(_TRACK_O, 3, 1);
    effector:SetKey(_TRACK_O, 4.64, 1);
    effector:SetKey(_TRACK_O, 5.4, 0);

    effector:Play();


    -- Layer Layer_11
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion01.jpg');
    element:SetName('Layer_11');
    compositionExplode:AddElement(element);
    element:SetHotSpot(128, 128);
    element:SetParentElement(compositionExplode);
    element:SetXY(322.25, 216);


    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_SX, 0, 0.1640625);
    effector:SetKey(_TRACK_SY, 0, 0.171875);
    effector:SetKey(_TRACK_SX, 2.8, 0.1640625);
    effector:SetKey(_TRACK_SY, 2.8, 0.171875);
    effector:SetKey(_TRACK_SX, 2.88, 1.20298635644344);
    effector:SetKey(_TRACK_SY, 2.88, 1.24044486001852);
    effector:SetKey(_TRACK_SX, 3.04, 1.79339878753062);
    effector:SetKey(_TRACK_SY, 3.04, 1.85062129348908);
    effector:SetKey(_TRACK_SX, 3.36, 2);
    effector:SetKey(_TRACK_SY, 3.36, 2.07303370786517);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_A, 3.04, -0.7853981625);
    effector:SetKey(_TRACK_A, 3.36, -0.9599310875);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.8, 0);
    effector:SetKey(_TRACK_O, 2.84, 1);
    effector:SetKey(_TRACK_O, 3, 1);
    effector:SetKey(_TRACK_O, 3.36, 0);

    effector:Play();


    -- Layer Layer_12
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion03.png');
    element:SetName('Layer_12');
    compositionExplode:AddElement(element);
    element:SetHotSpot(40, 40);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 244);
    effector:SetKey(_TRACK_Y, 0, 371);
    effector:SetKey(_TRACK_X, 2.84, 308);
    effector:SetKey(_TRACK_Y, 2.84, 296);
    effector:SetKey(_TRACK_X, 2.92, 280);
    effector:SetKey(_TRACK_Y, 2.92, 278);
    effector:SetKey(_TRACK_X, 3.52, 266);
    effector:SetKey(_TRACK_Y, 3.52, 247);
    effector:SetKey(_TRACK_X, 5.32, 259);
    effector:SetKey(_TRACK_Y, 5.32, 208);
    effector:SetKey(_TRACK_SX, 0, 3.95);
    effector:SetKey(_TRACK_SY, 0, 3.575);
    effector:SetKey(_TRACK_SX, 2.84, 1.025);
    effector:SetKey(_TRACK_SY, 2.84, 0.975);
    effector:SetKey(_TRACK_SX, 2.92, 3.4);
    effector:SetKey(_TRACK_SY, 2.92, 3.375);
    effector:SetKey(_TRACK_SX, 3.52, 5.475);
    effector:SetKey(_TRACK_SY, 3.52, 5.85);
    effector:SetKey(_TRACK_SX, 5.32, 7);
    effector:SetKey(_TRACK_SY, 5.32, 7.47945205479452);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.84, 0);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.84, 0);
    effector:SetKey(_TRACK_O, 2.92, 1);
    effector:SetKey(_TRACK_O, 4.72, 1);
    effector:SetKey(_TRACK_O, 5.32, 0);

    effector:Play();


    -- Layer Layer_13
    local element = auxCreateCompositionElement('data/Texture/Scenes/23_NearSacrificePlace/Animations/Expl/EF_explosion03.png');
    element:SetName('Layer_13');
    compositionExplode:AddElement(element);
    element:SetHotSpot(40, 40);
    element:SetParentElement(compositionExplode);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 244);
    effector:SetKey(_TRACK_Y, 0, 371);
    effector:SetKey(_TRACK_X, 2.8, 304);
    effector:SetKey(_TRACK_Y, 2.8, 309);
    effector:SetKey(_TRACK_X, 2.88, 281);
    effector:SetKey(_TRACK_Y, 2.88, 316);
    effector:SetKey(_TRACK_X, 3.48, 251);
    effector:SetKey(_TRACK_Y, 3.48, 401);
    effector:SetKey(_TRACK_X, 5.56, 192);
    effector:SetKey(_TRACK_Y, 5.56, 479);
    effector:SetKey(_TRACK_SX, 0, 3.95);
    effector:SetKey(_TRACK_SY, 0, 3.575);
    effector:SetKey(_TRACK_SX, 2.8, 1.025);
    effector:SetKey(_TRACK_SY, 2.8, 0.975);
    effector:SetKey(_TRACK_SX, 2.88, 3.4);
    effector:SetKey(_TRACK_SY, 2.88, 3.375);
    effector:SetKey(_TRACK_SX, 3.48, 5.475);
    effector:SetKey(_TRACK_SY, 3.48, 5.85);
    effector:SetKey(_TRACK_SX, 5.56, 7);
    effector:SetKey(_TRACK_SY, 5.56, 7.47945205479452);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 2.8, 0);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 2.8, 0);
    effector:SetKey(_TRACK_O, 2.88, 1);
    effector:SetKey(_TRACK_O, 4.56, 1);
    effector:SetKey(_TRACK_O, 5.56, 0);

    effector:Play();

    compositionExplode:Play();

    return compositionExplode;
end

