require "JS&B Library"

NewAudio.CreateChannel("Song")
NewAudio.PlaySound("Song", "cYsmix - Peer Gynt", false, 1)
NewAudio.Pause("Song")
BG = CreateSprite("Pixel","BelowPlayer")
BG.color = {0,0,0}
BG.Scale(640, 480)
BG.MoveTo(320, 240)
Black = CreateSprite("Pixel", "Top")
Black.color = {0,0,0}
Black.Scale(640, 480)
Black.MoveTo(320, 240)
Cargador = CreateSprite("Peer Gynt Level/Boss","Bottom")
Cargador.Set("Peer Gynt Level/Boss2")
Cargador.Set("Peer Gynt Level/Boss3")
Cargador.Set("Peer Gynt Level/Boss4")
Cargador.Set("Peer Gynt Level/Boss5")
Cargador.Set("Peer Gynt Level/Boss6")
Cargador.Set("Peer Gynt Level/Boss7")
Cargador.Set("Peer Gynt Level/Boss8")
Cargador.Set("Peer Gynt Level/Shoot")
Cargador.Set("Peer Gynt Level/Spiky")
Cargador.Set("Peer Gynt Level/Piece1")
Cargador.Set("Peer Gynt Level/Piece2")
Cargador.Set("Peer Gynt Level/Piece3")
Cargador.Set("Peer Gynt Level/Piece4")
Cargador.Set("Peer Gynt Level/Skorpy")
Cargador.Set("Peer Gynt Level/Effect")
Cargador.Set("Peer Gynt Level/Egg")
Cargador.Set("Peer Gynt Level/Eye")
Cargador.Set("Peer Gynt Level/Eye2")
Cargador.Set("Peer Gynt Level/Eye3")
Cargador.Set("Peer Gynt Level/Eye4")
Cargador.Set("Peer Gynt Level/Hand")
Cargador.Set("Peer Gynt Level/Onda")
Cargador.Set("Peer Gynt Level/Dientes")
Cargador.Set("Peer Gynt Level/Dientes2")
Cargador.Set("Peer Gynt Level/Dientes3")
Cargador.Set("Peer Gynt Level/Dientes4")
Cargador.Set("Peer Gynt Level/Dorito")
Cargador.Set("Peer Gynt Level/Poderoso Dorito")
Cargador.Set("Peer Gynt Level/Poderoso Dorito Bueno")
Cargador.Set("Peer Gynt Level/Poderoso Dorito Metido")
Cargador.Set("Peer Gynt Level/Crack")
Cargador.Set("Peer Gynt Level/CircleE")
Cargador.Set("Peer Gynt Level/Semicircle")
Cargador.Remove()
Cargador = nil

timer = -240
Empezar = 60
phases = {0,0,0}
Old = 1
CheckPoints = {}

Especial = {}
Scorpion = {}

SetMaxHits(6)
SetPPCollision(true)

function Update()
	SongTime = NewAudio.GetPlayTime("Song")
	Player.sprite.alpha = 0
	if not Pause then
		timer = timer + 1
		if timer > -210 and timer <= -150 then
			Black.alpha = (-150 - timer)/60
		elseif timer > -90 and timer <= -60 then
			if not TituloSong then
				TituloSong = CreateSprite("Peer Gynt Level/Song","Top")
				VersionLevel = CreateSprite("Peer Gynt Level/Version","Top")
				Advice = CreateSprite("Advice "..GetAlMightyGlobal("Idioma"),"BelowPlayer")
				Advice.MoveTo(320, 240)
				VersionLevel.color = {0.5,0.5,0.5}
				Advice.color = {0.75,0.75,0.75}
			end
			TituloSong.MoveTo(629.5 - 100*math.sin(math.rad(90/30*(timer + 90))), 45)
			TituloSong.alpha = 1/30*(timer + 90)
			VersionLevel.MoveTo(-45.5 + 100*math.sin(math.rad(90/30*(timer + 90))), 17.5)
			VersionLevel.alpha = 1/30*(timer + 90)
			Advice.alpha = 1/30*(timer + 90)
		elseif timer > 60 and timer <= 90 and TituloSong then
			if not Spawned then
				Spawned = true
				SpawnMeter(139.87)
			end
			TituloSong.MoveTo(529.5 + 100/30*(timer - 60), 45)
			TituloSong.alpha = 1 - 1/30*(timer - 60)
			VersionLevel.MoveTo(54.5 - 100*math.sin(math.rad(90/30*(timer - 60))), 17.5)
			VersionLevel.alpha = 1 - 1/30*(timer - 60)
			Advice.alpha = 1 - 1/30*(timer - 60)
			if timer == 90 then
				TituloSong.Remove()
				VersionLevel.Remove()
				Advice.Remove()
				TituloSong = nil
				VersionLevel = nil
				Advice = nil
			end
		end
		if timer == 60 then
			Boss = CreateProjectileAbs("JS&B Library Sprites/Circle", 320, 240)
			Boss.SetVar("SpeedRot", 0)
			Boss.SetVar("NoDamage", 30)
			Boss.sprite.color = {1,1,1}
			Boss.sprite.Scale(0,0)
			Boss.SetVar("X", 320)
			Boss.SetVar("Y", 240)
			table.insert(Bullets, Boss)
			NewAudio.Unpause("Song")
		elseif timer > 60 then
			if NewAudio.isStopped("Song") then
				DespawnMeter()
				if not wait then
					wait = 0
				end
				wait = wait + 1
				if wait > 120 and wait <= 180 then
					Black.alpha = (wait - 120)/60
				elseif wait == 300 then
					EndAll = true
				end
			end
			if phases[1] >= 0 and phases[1] <= 3 then
				if SongTime > 0.105*phases[1] and not backwards then
					local randomizador = math.random(8,24)
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255/8, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255/8}
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255}
					Boss.sprite.Scale(randomizador/480, randomizador/480)
					phases[1] = phases[1] + 1
				elseif SongTime <= 0.105*phases[1] and backwards then
					phases[1] = phases[1] - 1
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255/8, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255/8}
					local randomizador = math.random(8,24)
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255}
					Boss.sprite.Scale(randomizador/480, randomizador/480)
				end
			elseif phases[1] == 4 then
				if SongTime > 0.42 then
					if not Triangulos then
						Triangulos = {CreateProjectileAbs("JS&B Library Sprites/Triangulo", 320, 240), CreateProjectileAbs("JS&B Library Sprites/Triangulo", 320, 240)}
						Triangulos[1].SetVar("SpeedRot", 0)
						Triangulos[1].SetVar("NoDamage", 1)
						Triangulos[1].SetVar("Rot", -45)
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].SetVar("SpeedRot", 0)
						Triangulos[2].SetVar("NoDamage", 1)
						Triangulos[2].SetVar("Rot", 45)
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						table.insert(Bullets, Triangulos[1])
						table.insert(Bullets, Triangulos[2])
					end
					BG.color = {255/255/8, 32/255/8, 112/255/8}
					Boss.sprite.Set("Peer Gynt Level/Boss")
					Boss.sprite.color = {1, 32/255, 112/255}
					if SongTime <= 0.62 then
						Boss.sprite.Scale(130*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480, 130*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480)
						Triangulos[1].sprite.Scale(10*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480, 10*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480)
						Triangulos[2].sprite.Scale(10*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480, 10*math.sin(math.rad(90/0.2*(SongTime - 0.42)))/480)
					elseif not backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Triangulos[1].sprite.Scale(10/480, 10/480)
						Triangulos[2].sprite.Scale(10/480, 10/480)
						phases[1] = 5
					end
				elseif backwards then
					phases[1] = 3
					if Triangulos then
						Triangulos[1].SetVar("Remove", true)
						Triangulos[2].SetVar("Remove", true)
						Triangulos = nil
					end
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255/8, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255/8}
					local randomizador = math.random(8,24)
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*phases[1])))/255, (183.5 - 71.5*math.cos(math.rad(180*phases[1])))/255}
					Boss.sprite.Scale(randomizador/480, randomizador/480)
				end
			elseif phases[1] == 5 then
				if SongTime <= 0.62 then
					if Eye1 then
						Eye1.SetVar("Remove", true)
						Eye1 = nil
					end
					phases[1] = 4
				elseif SongTime <= 3.85 then
					if Eye1 then
						Eye1.SetVar("Remove", true)
						Eye1 = nil
					end
				elseif SongTime > 3.85 and SongTime <= 4.05 then
					if not Eye1 then
						Eye1 = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						Eye1.SetVar("NoDamage", 1)
						Eye1.SetVar("Parpadear", true)
						Eye1.SetVar("SpeedRot", 0)
						Eye1.SetVar("Altura", 7)
						Eye1.SetVar("Horizontal", 0)
						Eye1.SetVar("Scale", 25)
						Eye1.SetVar("X", 320)
						Eye1.SetVar("Y", 240)
						table.insert(Bullets, Eye1)
					end
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255}
					Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 3.85))))/255}
					Data2 = (20*math.sin(math.rad(90/0.2*(SongTime - 3.85))) + 35*math.sin(math.rad(180/0.2*(SongTime - 3.85))))/480
				elseif SongTime > 7.29 and SongTime <= 7.49 then
					if not Eye1 then
						Eye1 = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						Eye1.SetVar("NoDamage", 1)
						Eye1.SetVar("Parpadear", true)
						Eye1.SetVar("SpeedRot", 0)
						Eye1.SetVar("Altura", 7)
						Eye1.SetVar("Horizontal", 0)
						Eye1.SetVar("Scale", 25)
						Eye1.SetVar("X", 320)
						Eye1.SetVar("Y", 240)
						Data2 = 20/480
						table.insert(Bullets, Eye1)
					end
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255}
					Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.2*(SongTime - 7.29))))/255}
				elseif SongTime > 4.05 then
					if not Eye1 then
						Eye1 = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						Eye1.SetVar("NoDamage", 1)
						Eye1.SetVar("Parpadear", true)
						Eye1.SetVar("SpeedRot", 0)
						Eye1.SetVar("Altura", 7)
						Eye1.SetVar("Horizontal", 0)
						Eye1.SetVar("Scale", 25)
						Eye1.SetVar("X", 320)
						Eye1.SetVar("Y", 240)
						table.insert(Bullets, Eye1)
					end
					Eye1.sprite.color = {1, 32/255, 112/255}
					Data2 = 20/480
					Boss.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
				end
				if SongTime > 7.29 and SongTime <= 12.43 then
					Boss.sprite.Scale((130 + 30/5.14*(SongTime - 7.29))/480, (130 + 30/5.14*(SongTime - 7.29))/480)
					Boss.SetVar("X", 320 + 100*math.sin(math.rad(90/5.14*(SongTime - 7.29)))*math.sin(math.rad(720/5.14*(SongTime - 7.29))))
					Boss.SetVar("Y", 240 + 100*math.sin(math.rad(90/5.14*(SongTime - 7.29)))*math.cos(math.rad(720/5.14*(SongTime - 7.29))))
					Data2 = (20 + 5/5.14*(SongTime - 7.29))/480
				elseif SongTime > 12.43 then
					Boss.sprite.Scale(160/480, 160/480)
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 340)
					Data2 = 25/480
				end
				if (SongTime > 1.07 and SongTime <= 1.32) or (SongTime > 1.93 and SongTime <= 2.18) or (SongTime > 2.79 and SongTime <= 3.04) or (SongTime > 4.5 and SongTime <= 4.75) or (SongTime > 5.36 and SongTime <= 5.61) or (SongTime > 6.22 and SongTime <= 6.47) or (SongTime > 7.93 and SongTime <= 8.18) or (SongTime > 8.79 and SongTime <= 9.04) or (SongTime > 9.65 and SongTime <= 9.9) or (SongTime > 10.5 and SongTime <= 10.75) or (SongTime > 11.36 and SongTime <= 11.61) then
					Boss.sprite.rotation = Boss.sprite.rotation - 15*NewAudio.GetPitch("Song")
				elseif SongTime > 3.85 and SongTime <= 4.35 then
					Boss.sprite.rotation = Boss.sprite.rotation - (SongTime - 3.85)*4*NewAudio.GetPitch("Song")
				elseif SongTime > 4.35 and SongTime <= 12.43 then
					Boss.sprite.rotation = Boss.sprite.rotation - 2*NewAudio.GetPitch("Song")
				elseif SongTime > 12.43 and SongTime <= 12.53 then
					Boss.sprite.rotation = 0
					Eye1.SetVar("Parpadear", nil)
					Boss.sprite.Scale((160 + 20*math.sin(math.rad(180/0.1*(SongTime - 12.43))))/480, (160 + 20*math.sin(math.rad(180/0.1*(SongTime - 12.43))))/480)
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.1*(SongTime - 12.43))))/255}
				elseif SongTime > 12.53 then
					Boss.sprite.rotation = 0
					Eye1.SetVar("Parpadear", nil)
					Boss.sprite.Scale(160/480, 160/480)
					Boss.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					phases[1] = 6
				end
				if Eye1 then
					Eye1.SetVar("X", Boss.GetVar("X"))
					Eye1.SetVar("Y", Boss.GetVar("Y"))
					Eye1.sprite.Scale(Data2, Data2)
				end
			elseif phases[1] == 6 then
				if SongTime > 13.09 then
					if SongTime <= 13.49 then
						if not Bars then
							Bars = {CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0)}
							for i=1,#Bars do
								Bars[i].SetVar("NoDamage", 1)
								Bars[i].SetVar("SpeedRot", 0)
								Bars[i].SetVar("X", 320)
								Bars[i].SetVar("Y", 20)
								Bars[i].sprite.color = {1, 32/255, 112/255}
								Bars[i].sprite.Scale(0, 6)
								table.insert(Bullets, Bars[i])
							end
						end
						if SongTime <= 13.39 then
							if Triangulos[3] then
								Triangulos[3].SetVar("Remove", true)
								Triangulos[3] = nil
							end
							if Triangulos[4] then
								Triangulos[4].SetVar("Remove", true)
								Triangulos[4] = nil
							end
							Eye1.sprite.Set("JS&B Library Sprites/Circle")
						end
						if SongTime > 13.39 then
							if not Triangulos[3] then
								Triangulos[3] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
								Triangulos[3].SetVar("NoDamage", 1)
								Triangulos[3].SetVar("SpeedRot", 0)
								Triangulos[3].sprite.color = {1, 32/255, 112/255}
								Triangulos[3].sprite.xscale = 12.5/480
								Triangulos[3].sprite.rotation = 180
								table.insert(Bullets, Triangulos[3])
							end
							if SongTime <= 13.44 then
								Triangulos[3].sprite.yscale = (12.5*math.sin(math.rad(90/0.05*(SongTime - 13.39))))/480
								Triangulos[3].SetVar("X", 320)
								Triangulos[3].SetVar("Y", 320 - 240*Triangulos[3].sprite.yscale)
							else
								if not Triangulos[4] then
									Triangulos[4] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
									Triangulos[4].SetVar("NoDamage", 1)
									Triangulos[4].SetVar("SpeedRot", 0)
									Triangulos[4].sprite.color = {1, 32/255, 112/255}
									Triangulos[4].sprite.Scale(12.5/480, 12.5/480)
									Triangulos[4].sprite.rotation = 180
									table.insert(Bullets, Triangulos[4])
								end
								if not Triangulos[3] then
									Triangulos[3] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
									Triangulos[3].SetVar("NoDamage", 1)
									Triangulos[3].SetVar("SpeedRot", 0)
									Triangulos[3].sprite.color = {1, 32/255, 112/255}
									Triangulos[3].sprite.xscale = 12.5/480
									Triangulos[3].sprite.rotation = 180
									table.insert(Bullets, Triangulos[3])
								end
								Triangulos[3].sprite.yscale = 12.5/480
								Triangulos[3].SetVar("X", 320 - 9.375*math.sin(math.rad(90/0.05*(SongTime - 13.44))))
								Triangulos[3].SetVar("Y", 303.75)
								Triangulos[4].SetVar("X", 320 + 9.375*math.sin(math.rad(90/0.05*(SongTime - 13.44))))
								Triangulos[4].SetVar("Y", 303.75)
								Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
								Bars[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
								Bars[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
								Triangulos[3].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
								Triangulos[4].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
							end
							Boss.sprite.yscale = (160 - 14*math.cos(math.rad(90/0.1*(SongTime - 13.39))))/480
							Eye1.sprite.yscale = (25 - 3*math.cos(math.rad(90/0.1*(SongTime - 13.39))))/480
							Boss.SetVar("Y", 340 + 7*math.cos(math.rad(90/0.1*(SongTime - 13.39))))
							if SongTime > 13.44 then
								Eye1.sprite.Set("Peer Gynt Level/Eye")
							else
								Eye1.sprite.Set("JS&B Library Sprites/Circle")
							end
							Eye1.SetVar("Y", 347 + 10*math.cos(math.rad(90/0.1*(SongTime - 13.39))))
							Bars[1].sprite.rotation = 22.5*math.cos(math.rad(90/0.1*(SongTime - 13.39))) - 22.5
							Bars[2].sprite.rotation = 22.5 - 22.5*math.cos(math.rad(90/0.1*(SongTime - 13.39)))
							Bars[1].sprite.xscale = 32
							Bars[2].sprite.xscale = 32
							Bars[1].SetVar("X", 293 + 16*math.cos(math.rad(Bars[1].sprite.rotation)) - 3*math.sin(math.rad(Bars[1].sprite.rotation)))
							Bars[2].SetVar("X", 347 - 16*math.cos(math.rad(Bars[2].sprite.rotation)) - 3*math.sin(math.rad(Bars[2].sprite.rotation)))
							Bars[1].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale - 13 + 10*math.cos(math.rad(90/0.1*(SongTime - 13.39))) + 3*math.cos(math.rad(Bars[1].sprite.rotation)) - 16*math.sin(math.rad(Bars[1].sprite.rotation)))
							Bars[2].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale - 13 + 10*math.cos(math.rad(90/0.1*(SongTime - 13.39))) + 3*math.cos(math.rad(Bars[2].sprite.rotation)) + 16*math.sin(math.rad(Bars[2].sprite.rotation)))
						elseif SongTime <= 13.29 then
							Boss.sprite.yscale = (160 - 14*math.sin(math.rad(90/0.2*(SongTime - 13.09))))/480
							Eye1.sprite.yscale = (25 - 3*math.sin(math.rad(90/0.2*(SongTime - 13.09))))/480
							Boss.SetVar("Y", 340 + 7*math.sin(math.rad(90/0.2*(SongTime - 13.09))))
							Eye1.SetVar("Y", Boss.GetVar("Y") + 10*math.sin(math.rad(90/0.2*(SongTime - 13.09))))
							Bars[1].sprite.xscale = 27*math.sin(math.rad(90/0.2*(SongTime - 13.09)))
							Bars[2].sprite.xscale = 27*math.sin(math.rad(90/0.2*(SongTime - 13.09)))
							Bars[1].SetVar("X", 320 - Bars[1].sprite.xscale/2)
							Bars[2].SetVar("X", 320 + Bars[2].sprite.xscale/2)
							Bars[1].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale + 3*math.cos(math.rad(180/0.2*(SongTime - 13.09))))
							Bars[2].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale + 3*math.cos(math.rad(180/0.2*(SongTime - 13.09))))
						end
					elseif SongTime <= 13.54 then
						Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
						Bars[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
						Bars[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
						Triangulos[3].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
						Triangulos[4].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.05*(SongTime - 13.44))))/255}
					elseif not backwards then
						Data2 = nil
						if Bars then
							Bars[1].SetVar("Remove", true)
							Bars[2].SetVar("Remove", true)
							Bars = nil
						end
						if Triangulos[3] then
							Triangulos[3].SetVar("Remove", true)
							Triangulos[3] = nil
						end
						if Triangulos[4] then
							Triangulos[4].SetVar("Remove", true)
							Triangulos[4] = nil
						end
						Dientes = CreateProjectileAbs("Peer Gynt Level/Dientes", 0, 0)
						Dientes.SetVar("NoDamage", 1)
						Dientes.SetVar("SpeedRot", 0)
						Dientes.SetVar("Altura", -36)
						Dientes.SetVar("Multiplicador", 1)
						Dientes.sprite.Scale(12.5/200, 12.5/200)
						Dientes.sprite.color = {1, 32/255, 112/255}
						table.insert(Bullets, Dientes)
						Eye1.sprite.Set("Peer Gynt Level/Eye2")
						Eye1.sprite.color = {1, 32/255, 112/255}
						Boss.sprite.yscale = 160/480
						Eye1.sprite.yscale = 25/480
						Boss.SetVar("Y", 340)
						Eye1.SetVar("Y", 347)
						phases[1] = 7
					end
				elseif backwards then
					if Bars then
						Bars[1].SetVar("Remove", true)
						Bars[2].SetVar("Remove", true)
						Bars = nil
					end
					if Triangulos[3] then
						Triangulos[3].SetVar("Remove", true)
						Triangulos[3] = nil
					end
					if Triangulos[4] then
						Triangulos[4].SetVar("Remove", true)
						Triangulos[4] = nil
					end
					Eye1.sprite.Set("JS&B Library Sprites/Circle")
					Data2 = 25/480
					phases[1] = 5
				end
			elseif phases[1] >= 7 and phases[1] <= 9 then
				if SongTime > 13.72 + 0.105*(phases[1] - 7) and not backwards then
					local randomizador = math.random(130, 160)
					Boss.sprite.Scale(randomizador/480, randomizador/480)
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8}
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Dientes.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					phases[1] = phases[1] + 1
				elseif SongTime <= 13.72 + 0.105*(phases[1] - 7) and backwards then
					phases[1] = phases[1] - 1
					local randomizador = math.random(130, 160)
					Boss.sprite.Scale(randomizador/480, randomizador/480)
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8}
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Dientes.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					if phases[1] == 6 then
						Boss.sprite.Scale(160/480, 160/480)
						Eye1.sprite.Scale(25/480, 25/480)
						Eye1.sprite.Set("Peer Gynt Level/Eye")
						Dientes.SetVar("Remove", true)
						Dientes = nil
						if not Triangulos[4] then
							Triangulos[4] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
							Triangulos[4].SetVar("NoDamage", 1)
							Triangulos[4].SetVar("SpeedRot", 0)
							Triangulos[4].sprite.color = {1, 32/255, 112/255}
							Triangulos[4].sprite.Scale(12.5/480, 12.5/480)
							Triangulos[4].sprite.rotation = 180
							table.insert(Bullets, Triangulos[4])
						end
						if not Triangulos[3] then
							Triangulos[3] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
							Triangulos[3].SetVar("NoDamage", 1)
							Triangulos[3].SetVar("SpeedRot", 0)
							Triangulos[3].sprite.color = {1, 32/255, 112/255}
							Triangulos[3].sprite.Scale(12.5/480, 12.5/480)
							Triangulos[3].sprite.rotation = 180
							table.insert(Bullets, Triangulos[3])
						end
						if not Bars then
							Bars = {CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0)}
							for i=1,#Bars do
								Bars[i].SetVar("NoDamage", 1)
								Bars[i].SetVar("SpeedRot", 0)
								Bars[i].SetVar("X", 320)
								Bars[i].SetVar("Y", 20)
								Bars[i].sprite.color = {1, 32/255, 112/255}
								Bars[i].sprite.Scale(32, 6)
								table.insert(Bullets, Bars[i])
							end
						end
						Triangulos[3].SetVar("X", 310.625)
						Triangulos[3].SetVar("Y", 303.75)
						Triangulos[4].SetVar("X", 329.375)
						Triangulos[4].SetVar("Y", 303.75)
						Eye1.sprite.color = {1, 32/255, 112/255}
						Bars[1].sprite.color = {1, 32/255, 112/255}
						Bars[2].sprite.color = {1, 32/255, 112/255}
						Triangulos[3].sprite.color = {1, 32/255, 112/255}
						Triangulos[4].sprite.color = {1, 32/255, 112/255}
						Bars[1].sprite.rotation = -22.5
						Bars[2].sprite.rotation = 22.5
						Bars[1].SetVar("X", 293 + 16*math.cos(math.rad(Bars[1].sprite.rotation)) - 3*math.sin(math.rad(Bars[1].sprite.rotation)))
						Bars[2].SetVar("X", 347 - 16*math.cos(math.rad(Bars[2].sprite.rotation)) - 3*math.sin(math.rad(Bars[2].sprite.rotation)))
						Bars[1].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale - 13 + 3*math.cos(math.rad(Bars[1].sprite.rotation)) - 16*math.sin(math.rad(Bars[1].sprite.rotation)))
						Bars[2].SetVar("Y", Eye1.GetVar("Y") + 240*Eye1.sprite.yscale - 13 + 3*math.cos(math.rad(Bars[2].sprite.rotation)) + 16*math.sin(math.rad(Bars[2].sprite.rotation)))
					end
				end
			elseif phases[1] == 10 then
				if SongTime > 14.04 then
					Boss.sprite.Scale(130/480, 130/480)
					BG.color = {0,0,0}
					Boss.sprite.color = {1, 32/255, 112/255}
					Eye1.sprite.color = {1, 32/255, 112/255}
					Dientes.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					phases[1] = 11
				elseif backwards then
					phases[1] = 9
					local randomizador = math.random(130, 160)
					Boss.sprite.Scale(randomizador/480, randomizador/480)
					BG.color = {1/8, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255/8}
					Boss.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Eye1.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Dientes.sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
					Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180*(phases[1] - 6))))/255, (183.5 - 71.5*math.cos(math.rad(180*(phases[1] - 6))))/255}
				end
			elseif phases[1] == 11 then
				if SongTime > 14.14 then
					if not RightArm then
						RightArm = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("Peer Gynt Level/Hand", 0, 0)}
						RightArm[1].sprite.Scale(16/480, 16/480)
						RightArm[2].sprite.Scale(40/480, 40/480)
						RightArm[3].sprite.Scale(50/480, 50/480)
						RightArm[4].sprite.Scale(60/480, 60/480)
						RightArm[5].sprite.Scale(80/480, 80/480)
						for i=1,#RightArm do
							RightArm[i].SetVar("SpeedRot", 1)
							RightArm[i].SetVar("NoDamage", 1)
							RightArm[i].SetVar("X", -200)
							RightArm[i].SetVar("Y", -200)
							RightArm[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, RightArm[i])
						end
						RightArm[5].SetVar("SpeedRot", 0)
						for i=1,25 do
							local Misil = CreateProjectileAbs("Pixel", 0, 0)
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.sprite.Scale(10, 10)
							table.insert(Caida, {Bullet = Misil, X = 320, Y = 340, Vel = math.random(40, 160)/10, Fuerza = math.random(-10, 140)/10, Gravedad = 0.2, VelRot = math.random(60)/10, SpawnTime = 14.14, Remove = {Right = 660, Left = -20, Down = -20}})
						end
					end
					if SongTime <= 14.24 then
						RightArm[1].SetVar("X", 320 - 4*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[1].SetVar("Y", 340 + 20*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[2].SetVar("X", 320 + 34*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[2].SetVar("Y", 340 + 40*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[3].SetVar("X", 320 + 84*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[3].SetVar("Y", 340 + 60*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[4].SetVar("X", 320 + 144*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[4].SetVar("Y", 340 + 80*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[5].SetVar("X", 320 + 220*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[5].SetVar("Y", 340 + 100*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						RightArm[5].sprite.rotation = 105
						Boss.SetVar("X", 320 - 80*math.sin(math.rad(90/0.1*(SongTime - 14.14))))
						Boss.sprite.rotation = 20*math.sin(math.rad(90/0.1*(SongTime - 14.14)))
					elseif SongTime > 14.37 and SongTime <= 14.57 then
						RightArm[1].SetVar("X", 334 - 18*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[1].SetVar("Y", 360)
						RightArm[2].SetVar("X", 364 - 10*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[2].SetVar("Y", 370 + 10*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[3].SetVar("X", 410 - 6*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[3].SetVar("Y", 380 + 20*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[4].SetVar("X", 465 - math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[4].SetVar("Y", 390 + 30*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[5].SetVar("X", 535 + 5*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[5].SetVar("Y", 395 + 45*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						RightArm[5].sprite.rotation = 95 + 10*math.cos(math.rad(90/0.2*(SongTime - 14.37)))
						Boss.SetVar("X", 260 - 20*math.cos(math.rad(90/0.2*(SongTime - 14.37))))
						Boss.sprite.rotation = 20*math.cos(math.rad(90/0.2*(SongTime - 14.37)))
					elseif SongTime > 14.57 and not backwards then
						RightArm[1].SetVar("X", 334)
						RightArm[1].SetVar("Y", 360)
						RightArm[2].SetVar("X", 364)
						RightArm[2].SetVar("Y", 370)
						RightArm[3].SetVar("X", 410)
						RightArm[3].SetVar("Y", 380)
						RightArm[4].SetVar("X", 465)
						RightArm[4].SetVar("Y", 390)
						RightArm[5].SetVar("X", 535)
						RightArm[5].SetVar("Y", 395)
						RightArm[5].sprite.rotation = 95
						Boss.SetVar("X", 260)
						Boss.sprite.rotation = 0
						phases[1] = 12
					end
				elseif backwards then
					if RightArm then
						for i=1,#RightArm do
							RightArm[i].SetVar("Remove", true)
						end
						RightArm = nil
					end
					Boss.sprite.rotation = 0
					Boss.SetVar("X", 320)
					phases[1] = 10
				end
			elseif phases[1] == 12 then
				if SongTime > 14.57 then
					if not LeftArm then
						LeftArm = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("Peer Gynt Level/Hand", 0, 0)}
						LeftArm[1].sprite.Scale(16/480, 16/480)
						LeftArm[2].sprite.Scale(40/480, 40/480)
						LeftArm[3].sprite.Scale(50/480, 50/480)
						LeftArm[4].sprite.Scale(60/480, 60/480)
						LeftArm[5].sprite.Scale(80/480, 80/480)
						for i=1,#LeftArm do
							LeftArm[i].SetVar("SpeedRot", 1)
							LeftArm[i].SetVar("NoDamage", 1)
							LeftArm[i].SetVar("X", -200)
							LeftArm[i].SetVar("Y", -200)
							LeftArm[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, LeftArm[i])
						end
						LeftArm[5].SetVar("SpeedRot", 0)
						for i=1,25 do
							local Misil = CreateProjectileAbs("Pixel", 0, 0)
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.sprite.Scale(10, 10)
							table.insert(Caida, {Bullet = Misil, X = 260, Y = 340, Vel = math.random(-40, -160)/10, Fuerza = math.random(-10, 140)/10, Gravedad = 0.2, VelRot = math.random(60)/10, SpawnTime = 14.57, Remove = {Right = 660, Left = -20, Down = -20}})
						end
					end
					if SongTime <= 14.67 then
						RightArm[1].SetVar("X", 334 + 82*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[1].SetVar("Y", 360 - 10*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[2].SetVar("X", 364 + 82*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[2].SetVar("Y", 370 - 10*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[3].SetVar("X", 410 + 80*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[3].SetVar("Y", 380 - 10*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[4].SetVar("X", 465 + 80*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[4].SetVar("Y", 390 - 25*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[5].SetVar("X", 535 + 75*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[5].SetVar("Y", 395 - 55*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						RightArm[5].sprite.rotation = 95 - 25*math.sin(math.rad(90/0.1*(SongTime - 14.57)))
						LeftArm[1].SetVar("X", 260 + 4*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[1].SetVar("Y", 340 + 20*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[2].SetVar("X", 260 - 34*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[2].SetVar("Y", 340 + 40*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[3].SetVar("X", 260 - 84*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[3].SetVar("Y", 340 + 60*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[4].SetVar("X", 260 - 144*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[4].SetVar("Y", 340 + 80*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[5].SetVar("X", 260 - 220*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[5].SetVar("Y", 340 + 100*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						LeftArm[5].sprite.rotation = -105
						Boss.SetVar("X", 260 + 80*math.sin(math.rad(90/0.1*(SongTime - 14.57))))
						Boss.SetVar("Y", 340)
						Boss.sprite.rotation = -20*math.sin(math.rad(90/0.1*(SongTime - 14.57)))
					elseif SongTime > 14.8 and SongTime <= 15 then
						RightArm[1].SetVar("X", 396 + 20*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[1].SetVar("Y", 350)
						RightArm[2].SetVar("X", 416 + 30*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[2].SetVar("Y", 370 - 10*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[3].SetVar("X", 450 + 40*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[3].SetVar("Y", 400 - 30*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[4].SetVar("X", 485 + 60*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[4].SetVar("Y", 360 + 5*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[5].SetVar("X", 520 + 90*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[5].SetVar("Y", 300 + 40*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						RightArm[5].sprite.rotation = 28 + 42*math.cos(math.rad(90/0.2*(SongTime - 14.8)))
						LeftArm[1].SetVar("X", 244 + 20*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[1].SetVar("Y", 350 + 10*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[2].SetVar("X", 224 + 2*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[2].SetVar("Y", 370 + 10*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[3].SetVar("X", 190 - 14*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[3].SetVar("Y", 400)
						LeftArm[4].SetVar("X", 155 - 39*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[4].SetVar("Y", 360 + 60*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[5].SetVar("X", 120 - 80*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[5].SetVar("Y", 300 + 140*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						LeftArm[5].sprite.rotation = -28 - 77*math.cos(math.rad(90/0.2*(SongTime - 14.8)))
						Boss.SetVar("X", 320 + 20*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						Boss.SetVar("Y", 330 + 10*math.cos(math.rad(90/0.2*(SongTime - 14.8))))
						Boss.sprite.rotation = -20*math.cos(math.rad(90/0.2*(SongTime - 14.8)))
					elseif SongTime > 15 and not backwards then
						RightArm[1].SetVar("X", 396)
						RightArm[1].SetVar("Y", 350)
						RightArm[2].SetVar("X", 416)
						RightArm[2].SetVar("Y", 370)
						RightArm[3].SetVar("X", 450)
						RightArm[3].SetVar("Y", 400)
						RightArm[4].SetVar("X", 485)
						RightArm[4].SetVar("Y", 360)
						RightArm[5].SetVar("X", 520)
						RightArm[5].SetVar("Y", 300)
						RightArm[5].sprite.rotation = 28
						LeftArm[1].SetVar("X", 244)
						LeftArm[1].SetVar("Y", 350)
						LeftArm[2].SetVar("X", 224)
						LeftArm[2].SetVar("Y", 370)
						LeftArm[3].SetVar("X", 190)
						LeftArm[3].SetVar("Y", 400)
						LeftArm[4].SetVar("X", 155)
						LeftArm[4].SetVar("Y", 360)
						LeftArm[5].SetVar("X", 120)
						LeftArm[5].SetVar("Y", 300)
						LeftArm[5].sprite.rotation = -28
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 330)
						Boss.sprite.rotation = 0
						phases[1] = 13
					end
				else
					if LeftArm then
						for i=1,#LeftArm do
							LeftArm[i].SetVar("Remove", true)
						end
						LeftArm = nil
					end
					RightArm[1].SetVar("X", 334)
					RightArm[1].SetVar("Y", 360)
					RightArm[2].SetVar("X", 364)
					RightArm[2].SetVar("Y", 370)
					RightArm[3].SetVar("X", 410)
					RightArm[3].SetVar("Y", 380)
					RightArm[4].SetVar("X", 465)
					RightArm[4].SetVar("Y", 390)
					RightArm[5].SetVar("X", 535)
					RightArm[5].SetVar("Y", 395)
					RightArm[5].sprite.rotation = 95
					Boss.SetVar("X", 260)
					Boss.SetVar("Y", 340)
					Boss.sprite.rotation = 0
					phases[1] = 11
				end
			elseif phases[1] == 13 then
				if SongTime > 15.2 then
					if SongTime <= 15.76 then
						RightArm[1].SetVar("X", 391 + 5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[1].SetVar("Y", 365 - 15*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[2].SetVar("X", 410.5 + 5.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[2].SetVar("Y", 390 - 20*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[3].SetVar("X", 442.5 + 7.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[3].SetVar("Y", 422.5 - 22.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[4].SetVar("X", 480 + 5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[4].SetVar("Y", 385 - 25*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[5].SetVar("X", 497.5 + 22.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[5].SetVar("Y", 320 - 20*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						RightArm[5].sprite.rotation = 11 + 17*math.cos(math.rad(180/0.56*(SongTime - 15.2)))
						LeftArm[1].SetVar("X", 244)
						LeftArm[1].SetVar("Y", 350)
						LeftArm[2].SetVar("X", 214.5 + 9.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[2].SetVar("Y", 370)
						LeftArm[3].SetVar("X", 175 + 15*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[3].SetVar("Y", 378.5 + 21.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[4].SetVar("X", 145 + 10*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[4].SetVar("Y", 331 + 29*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[5].SetVar("X", 137.5 - 17.5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[5].SetVar("Y", 265 + 35*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						LeftArm[5].sprite.rotation = -1.5 - 26.5*math.cos(math.rad(180/0.56*(SongTime - 15.2)))
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 335 - 5*math.cos(math.rad(180/0.56*(SongTime - 15.2))))
						Boss.sprite.rotation = 4 - 4*math.cos(math.rad(180/0.56*(SongTime - 15.2)))
					else
						RightArm[1].SetVar("X", 386)
						RightArm[1].SetVar("Y", 380)
						RightArm[2].SetVar("X", 405)
						RightArm[2].SetVar("Y", 410)
						RightArm[3].SetVar("X", 435)
						RightArm[3].SetVar("Y", 445)
						RightArm[4].SetVar("X", 475)
						RightArm[4].SetVar("Y", 410)
						RightArm[5].SetVar("X", 475)
						RightArm[5].SetVar("Y", 340)
						RightArm[5].sprite.rotation = -6
						LeftArm[1].SetVar("X", 244)
						LeftArm[1].SetVar("Y", 350)
						LeftArm[2].SetVar("X", 205)
						LeftArm[2].SetVar("Y", 370)
						LeftArm[3].SetVar("X", 160)
						LeftArm[3].SetVar("Y", 357)
						LeftArm[4].SetVar("X", 135)
						LeftArm[4].SetVar("Y", 302)
						LeftArm[5].SetVar("X", 155)
						LeftArm[5].SetVar("Y", 230)
						LeftArm[5].sprite.rotation = 25
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 340)
						Boss.sprite.rotation = 8
						phases[1] = 14
					end
				elseif backwards then
					RightArm[1].SetVar("X", 396)
					RightArm[1].SetVar("Y", 350)
					RightArm[2].SetVar("X", 416)
					RightArm[2].SetVar("Y", 370)
					RightArm[3].SetVar("X", 450)
					RightArm[3].SetVar("Y", 400)
					RightArm[4].SetVar("X", 485)
					RightArm[4].SetVar("Y", 360)
					RightArm[5].SetVar("X", 520)
					RightArm[5].SetVar("Y", 300)
					RightArm[5].sprite.rotation = 28
					LeftArm[1].SetVar("X", 244)
					LeftArm[1].SetVar("Y", 350)
					LeftArm[2].SetVar("X", 224)
					LeftArm[2].SetVar("Y", 370)
					LeftArm[3].SetVar("X", 190)
					LeftArm[3].SetVar("Y", 400)
					LeftArm[4].SetVar("X", 155)
					LeftArm[4].SetVar("Y", 360)
					LeftArm[5].SetVar("X", 120)
					LeftArm[5].SetVar("Y", 300)
					LeftArm[5].sprite.rotation = -28
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 330)
					Boss.sprite.rotation = 0
					phases[1] = 12
				end
			elseif phases[1] == 14 then
				if SongTime > 15.76 then
					if SongTime <= 15.86 then
						RightArm[1].SetVar("X", 376 + 10*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[1].SetVar("Y", 250 + 130*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[2].SetVar("X", 395 + 10*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[2].SetVar("Y", 215 + 195*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[3].SetVar("X", 420 + 15*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[3].SetVar("Y", 170 + 275*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[4].SetVar("X", 445 + 30*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[4].SetVar("Y", 115 + 295*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[5].SetVar("X", 465 + 10*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[5].SetVar("Y", 40 + 300*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						RightArm[5].sprite.rotation = 10 - 16*math.cos(math.rad(90/0.1*(SongTime - 15.76)))
						LeftArm[1].SetVar("X", 260 - 16*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[1].SetVar("Y", 360 - 10*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[2].SetVar("X", 240 - 35*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[2].SetVar("Y", 390 - 20*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[3].SetVar("X", 210 - 50*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[3].SetVar("Y", 435 - 78*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[4].SetVar("X", 175 - 40*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[4].SetVar("Y", 385 - 83*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[5].SetVar("X", 150 + 5*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[5].SetVar("Y", 315 - 85*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						LeftArm[5].sprite.rotation = -15 + 40*math.cos(math.rad(90/0.1*(SongTime - 15.76)))
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315 + 25*math.cos(math.rad(90/0.1*(SongTime - 15.76))))
						Boss.sprite.rotation = -35 + 43*math.cos(math.rad(90/0.1*(SongTime - 15.76)))
					elseif SongTime <= 16 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 15.86, Direction = 3, X = 465, Stay = 0.6, Lenght = 30, Sentido = 1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 465, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 15.86, Remove = {Right = 660, Left = -20, Down = -20}})
							end
							Data1 = true
						end
						RightArm[1].SetVar("X", 376 - 10*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[1].SetVar("Y", 250 - 5*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[2].SetVar("X", 395 - 20*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[2].SetVar("Y", 215 - 10*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[3].SetVar("X", 420 - 30*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[3].SetVar("Y", 170 - 15*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[4].SetVar("X", 445 - 20*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[4].SetVar("Y", 115 - 10*math.sin(math.rad(360/0.14*(SongTime - 15.86))))
						RightArm[5].SetVar("X", 465)
						RightArm[5].SetVar("Y", 40)
						RightArm[5].sprite.rotation = 10
						LeftArm[1].SetVar("X", 260)
						LeftArm[1].SetVar("Y", 360)
						LeftArm[2].SetVar("X", 240)
						LeftArm[2].SetVar("Y", 390)
						LeftArm[3].SetVar("X", 210)
						LeftArm[3].SetVar("Y", 435)
						LeftArm[4].SetVar("X", 175)
						LeftArm[4].SetVar("Y", 385)
						LeftArm[5].SetVar("X", 150)
						LeftArm[5].SetVar("Y", 315)
						LeftArm[5].sprite.rotation = -15
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = -35
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 15.86, Direction = 3, X = 465, Stay = 0.6, Lenght = 30, Sentido = 1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 465, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 15.86, Remove = {Right = 660, Left = -20, Down = -20}})
							end
						else
							Data1 = nil
						end
						RightArm[1].SetVar("X", 376)
						RightArm[1].SetVar("Y", 250)
						RightArm[2].SetVar("X", 395)
						RightArm[2].SetVar("Y", 215)
						RightArm[3].SetVar("X", 420)
						RightArm[3].SetVar("Y", 170)
						RightArm[4].SetVar("X", 445)
						RightArm[4].SetVar("Y", 115)
						RightArm[5].SetVar("X", 465)
						RightArm[5].SetVar("Y", 40)
						RightArm[5].sprite.rotation = 10
						LeftArm[1].SetVar("X", 260)
						LeftArm[1].SetVar("Y", 360)
						LeftArm[2].SetVar("X", 240)
						LeftArm[2].SetVar("Y", 390)
						LeftArm[3].SetVar("X", 210)
						LeftArm[3].SetVar("Y", 435)
						LeftArm[4].SetVar("X", 175)
						LeftArm[4].SetVar("Y", 385)
						LeftArm[5].SetVar("X", 150)
						LeftArm[5].SetVar("Y", 315)
						LeftArm[5].sprite.rotation = -15
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = -35
						phases[1] = 15
					end
				elseif backwards then
					Data1 = nil
					RightArm[1].SetVar("X", 386)
					RightArm[1].SetVar("Y", 380)
					RightArm[2].SetVar("X", 405)
					RightArm[2].SetVar("Y", 410)
					RightArm[3].SetVar("X", 435)
					RightArm[3].SetVar("Y", 445)
					RightArm[4].SetVar("X", 475)
					RightArm[4].SetVar("Y", 410)
					RightArm[5].SetVar("X", 475)
					RightArm[5].SetVar("Y", 340)
					RightArm[5].sprite.rotation = -6
					LeftArm[1].SetVar("X", 244)
					LeftArm[1].SetVar("Y", 350)
					LeftArm[2].SetVar("X", 205)
					LeftArm[2].SetVar("Y", 370)
					LeftArm[3].SetVar("X", 160)
					LeftArm[3].SetVar("Y", 357)
					LeftArm[4].SetVar("X", 135)
					LeftArm[4].SetVar("Y", 302)
					LeftArm[5].SetVar("X", 155)
					LeftArm[5].SetVar("Y", 230)
					LeftArm[5].sprite.rotation = 25
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 340)
					Boss.sprite.rotation = 8
					phases[1] = 13
				end
			elseif phases[1] == 15 then
				if SongTime > 16.19 then
					if SongTime <= 16.29 then
						RightArm[1].SetVar("X", 380 - 4*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[1].SetVar("Y", 360 - 110*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[2].SetVar("X", 400 - 5*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[2].SetVar("Y", 390 - 175*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[3].SetVar("X", 430 - 10*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[3].SetVar("Y", 435 - 265*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[4].SetVar("X", 465 - 20*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[4].SetVar("Y", 385 - 270*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].SetVar("X", 490 - 25*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].SetVar("Y", 315 - 275*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].sprite.rotation = 15 - 5*math.cos(math.rad(90/0.1*(SongTime - 16.19)))
						LeftArm[1].SetVar("X", 264 - 4*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[1].SetVar("Y", 250 + 110*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[2].SetVar("X", 245 - 5*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[2].SetVar("Y", 215 + 175*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[3].SetVar("X", 220 - 10*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[3].SetVar("Y", 170 + 265*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[4].SetVar("X", 195 - 20*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[4].SetVar("Y", 115 + 270*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[5].SetVar("X", 175 - 25*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[5].SetVar("Y", 40 + 275*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						LeftArm[5].sprite.rotation = -10 - 5*math.cos(math.rad(90/0.1*(SongTime - 16.19)))
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 35 - 70*math.cos(math.rad(90/0.1*(SongTime - 16.19)))
					elseif SongTime <= 16.43 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 16.29, Direction = 3, X = 175, Stay = 0.6, Lenght = 30, Sentido = -1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 175, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 16.29, Remove = {Right = 660, Left = -20, Down = -20}})
							end
							Data1 = true
						end
						RightArm[1].SetVar("X", 380)
						RightArm[1].SetVar("Y", 360)
						RightArm[2].SetVar("X", 400)
						RightArm[2].SetVar("Y", 390)
						RightArm[3].SetVar("X", 430)
						RightArm[3].SetVar("Y", 435)
						RightArm[4].SetVar("X", 465)
						RightArm[4].SetVar("Y", 385)
						RightArm[5].SetVar("X", 490)
						RightArm[5].SetVar("Y", 315)
						RightArm[5].sprite.rotation = 15
						LeftArm[1].SetVar("X", 264 + 10*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[1].SetVar("Y", 250 + 5*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[2].SetVar("X", 245 + 20*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[2].SetVar("Y", 215 + 10*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[3].SetVar("X", 220 + 30*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[3].SetVar("Y", 170 + 15*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[4].SetVar("X", 195 + 20*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[4].SetVar("Y", 115 + 10*math.sin(math.rad(360/0.14*(SongTime - 16.29))))
						LeftArm[5].SetVar("X", 175)
						LeftArm[5].SetVar("Y", 40)
						LeftArm[5].sprite.rotation = -10
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 35
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 16.29, Direction = 3, X = 175, Stay = 0.6, Lenght = 30, Sentido = -1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 175, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 16.29, Remove = {Right = 660, Left = -20, Down = -20}})
							end
						else
							Data1 = nil
						end
						RightArm[1].SetVar("X", 380)
						RightArm[1].SetVar("Y", 360)
						RightArm[2].SetVar("X", 400)
						RightArm[2].SetVar("Y", 390)
						RightArm[3].SetVar("X", 430)
						RightArm[3].SetVar("Y", 435)
						RightArm[4].SetVar("X", 465)
						RightArm[4].SetVar("Y", 385)
						RightArm[5].SetVar("X", 490)
						RightArm[5].SetVar("Y", 315)
						RightArm[5].sprite.rotation = 15
						LeftArm[1].SetVar("X", 264)
						LeftArm[1].SetVar("Y", 250)
						LeftArm[2].SetVar("X", 245)
						LeftArm[2].SetVar("Y", 215)
						LeftArm[3].SetVar("X", 220)
						LeftArm[3].SetVar("Y", 170)
						LeftArm[4].SetVar("X", 195)
						LeftArm[4].SetVar("Y", 115)
						LeftArm[5].SetVar("X", 175)
						LeftArm[5].SetVar("Y", 40)
						LeftArm[5].sprite.rotation = -10
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 35
						phases[1] = 16
					end
				elseif backwards then
					Data1 = nil
					RightArm[1].SetVar("X", 376)
					RightArm[1].SetVar("Y", 250)
					RightArm[2].SetVar("X", 395)
					RightArm[2].SetVar("Y", 215)
					RightArm[3].SetVar("X", 420)
					RightArm[3].SetVar("Y", 170)
					RightArm[4].SetVar("X", 445)
					RightArm[4].SetVar("Y", 115)
					RightArm[5].SetVar("X", 465)
					RightArm[5].SetVar("Y", 40)
					RightArm[5].sprite.rotation = 10
					LeftArm[1].SetVar("X", 260)
					LeftArm[1].SetVar("Y", 360)
					LeftArm[2].SetVar("X", 240)
					LeftArm[2].SetVar("Y", 390)
					LeftArm[3].SetVar("X", 210)
					LeftArm[3].SetVar("Y", 435)
					LeftArm[4].SetVar("X", 175)
					LeftArm[4].SetVar("Y", 385)
					LeftArm[5].SetVar("X", 150)
					LeftArm[5].SetVar("Y", 315)
					LeftArm[5].sprite.rotation = -15
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 315)
					Boss.sprite.rotation = -35
					phases[1] = 14
				end
			elseif phases[1] == 16 then
				if SongTime > 16.61 then
					if SongTime <= 16.71 then
						RightArm[1].SetVar("X", 376 + 4*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[1].SetVar("Y", 250 + 110*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[2].SetVar("X", 395 + 5*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[2].SetVar("Y", 215 + 175*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[3].SetVar("X", 420 + 10*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[3].SetVar("Y", 170 + 265*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[4].SetVar("X", 445 + 20*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[4].SetVar("Y", 115 + 270*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].SetVar("X", 465 + 25*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].SetVar("Y", 40 + 275*math.cos(math.rad(90/0.1*(SongTime - 16.19))))
						RightArm[5].sprite.rotation = 10 + 5*math.cos(math.rad(90/0.1*(SongTime - 16.19)))
						LeftArm[1].SetVar("X", 264)
						LeftArm[1].SetVar("Y", 250)
						LeftArm[2].SetVar("X", 245)
						LeftArm[2].SetVar("Y", 215)
						LeftArm[3].SetVar("X", 220)
						LeftArm[3].SetVar("Y", 170)
						LeftArm[4].SetVar("X", 195)
						LeftArm[4].SetVar("Y", 115)
						LeftArm[5].SetVar("X", 175)
						LeftArm[5].SetVar("Y", 40)
						LeftArm[5].sprite.rotation = -10
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 35*math.cos(math.rad(90/0.1*(SongTime - 16.19)))
					elseif SongTime <= 16.85 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 16.71, Direction = 3, X = 465, Stay = 0.6, Lenght = 30, Sentido = 1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 465, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 16.71, Remove = {Right = 660, Left = -20, Down = -20}})
							end
							Data1 = true
						end
						RightArm[1].SetVar("X", 376 - 10*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[1].SetVar("Y", 250 - 5*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[2].SetVar("X", 395 - 20*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[2].SetVar("Y", 215 - 10*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[3].SetVar("X", 420 - 30*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[3].SetVar("Y", 170 - 15*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[4].SetVar("X", 445 - 20*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[4].SetVar("Y", 115 - 10*math.sin(math.rad(360/0.14*(SongTime - 16.71))))
						RightArm[5].SetVar("X", 465)
						RightArm[5].SetVar("Y", 40)
						RightArm[5].sprite.rotation = 10
						LeftArm[1].SetVar("X", 264)
						LeftArm[1].SetVar("Y", 250)
						LeftArm[2].SetVar("X", 245)
						LeftArm[2].SetVar("Y", 215)
						LeftArm[3].SetVar("X", 220)
						LeftArm[3].SetVar("Y", 170)
						LeftArm[4].SetVar("X", 195)
						LeftArm[4].SetVar("Y", 115)
						LeftArm[5].SetVar("X", 175)
						LeftArm[5].SetVar("Y", 40)
						LeftArm[5].sprite.rotation = -10
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 0
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 16.71, Direction = 3, X = 465, Stay = 0.6, Lenght = 30, Sentido = 1, Increment = 30, Speed = 0.05})
							for i=1,25 do
								local Misil = CreateProjectileAbs("Pixel", 0, 0)
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.Scale(10, 10)
								table.insert(Caida, {Bullet = Misil, X = 465, Y = 0, Vel = math.random(-60, 60)/10, Fuerza = math.random(120, 210)/10, Gravedad = 0.5, VelRot = math.random(60)/10, SpawnTime = 16.71, Remove = {Right = 660, Left = -20, Down = -20}})
							end
						else
							Data1 = nil
						end
						RightArm[1].SetVar("X", 376)
						RightArm[1].SetVar("Y", 250)
						RightArm[2].SetVar("X", 395)
						RightArm[2].SetVar("Y", 215)
						RightArm[3].SetVar("X", 420)
						RightArm[3].SetVar("Y", 170)
						RightArm[4].SetVar("X", 445)
						RightArm[4].SetVar("Y", 115)
						RightArm[5].SetVar("X", 465)
						RightArm[5].SetVar("Y", 40)
						RightArm[5].sprite.rotation = 10
						LeftArm[1].SetVar("X", 264)
						LeftArm[1].SetVar("Y", 250)
						LeftArm[2].SetVar("X", 245)
						LeftArm[2].SetVar("Y", 215)
						LeftArm[3].SetVar("X", 220)
						LeftArm[3].SetVar("Y", 170)
						LeftArm[4].SetVar("X", 195)
						LeftArm[4].SetVar("Y", 115)
						LeftArm[5].SetVar("X", 175)
						LeftArm[5].SetVar("Y", 40)
						LeftArm[5].sprite.rotation = -10
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 315)
						Boss.sprite.rotation = 0
						phases[1] = 17
					end
				elseif backwards then
					Data1 = nil
					RightArm[1].SetVar("X", 380)
					RightArm[1].SetVar("Y", 360)
					RightArm[2].SetVar("X", 400)
					RightArm[2].SetVar("Y", 390)
					RightArm[3].SetVar("X", 430)
					RightArm[3].SetVar("Y", 435)
					RightArm[4].SetVar("X", 465)
					RightArm[4].SetVar("Y", 385)
					RightArm[5].SetVar("X", 490)
					RightArm[5].SetVar("Y", 315)
					RightArm[5].sprite.rotation = 15
					LeftArm[1].SetVar("X", 264)
					LeftArm[1].SetVar("Y", 250)
					LeftArm[2].SetVar("X", 245)
					LeftArm[2].SetVar("Y", 215)
					LeftArm[3].SetVar("X", 220)
					LeftArm[3].SetVar("Y", 170)
					LeftArm[4].SetVar("X", 195)
					LeftArm[4].SetVar("Y", 115)
					LeftArm[5].SetVar("X", 175)
					LeftArm[5].SetVar("Y", 40)
					LeftArm[5].sprite.rotation = -10
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 315)
					Boss.sprite.rotation = 35
					phases[1] = 15
				end
			elseif phases[1] == 17 then
				if SongTime > 17.14 then
					if SongTime <= 17.6 then
						RightArm[1].SetVar("Y", 250 - 40*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						RightArm[2].SetVar("Y", 215 - 30*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						RightArm[3].SetVar("Y", 170 - 20*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						RightArm[4].SetVar("Y", 115 - 10*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						LeftArm[1].SetVar("Y", 250 - 40*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						LeftArm[2].SetVar("Y", 215 - 30*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						LeftArm[3].SetVar("Y", 170 - 20*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						LeftArm[4].SetVar("Y", 115 - 10*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
						Boss.SetVar("Y", 315 - 50*math.sin(math.rad(90/0.46*(SongTime - 17.14))))
					elseif not backwards then
						RightArm[1].SetVar("Y", 210)
						RightArm[2].SetVar("Y", 185)
						RightArm[3].SetVar("Y", 150)
						RightArm[4].SetVar("Y", 105)
						LeftArm[1].SetVar("Y", 210)
						LeftArm[2].SetVar("Y", 185)
						LeftArm[3].SetVar("Y", 150)
						LeftArm[4].SetVar("Y", 105)
						Boss.SetVar("Y", 265)
						phases[1] = 18
					end
				elseif backwards then
					RightArm[1].SetVar("Y", 250)
					RightArm[2].SetVar("Y", 215)
					RightArm[3].SetVar("Y", 170)
					RightArm[4].SetVar("Y", 115)
					LeftArm[1].SetVar("Y", 250)
					LeftArm[2].SetVar("Y", 215)
					LeftArm[3].SetVar("Y", 170)
					LeftArm[4].SetVar("Y", 115)
					Boss.SetVar("Y", 315)
					phases[1] = 16
				end
			elseif phases[1] == 18 then
				if SongTime > 17.68 then
					if SongTime <= 18 then
						RightArm[1].SetVar("X", 376 + 199*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[1].SetVar("Y", 210 + 20*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[2].SetVar("X", 395 + 180*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[2].SetVar("Y", 185 + 13*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[3].SetVar("X", 420 + 125*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[3].SetVar("Y", 150 + 10*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[4].SetVar("X", 445 + 45*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[4].SetVar("Y", 105 + 60*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[5].SetVar("X", 465 - 20*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[5].SetVar("Y", 40 + 185*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						RightArm[5].sprite.rotation = 10 - 185*math.sin(math.rad(90/0.32*(SongTime - 17.68)))
						LeftArm[1].SetVar("X", 264 + 178*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[1].SetVar("Y", 210 + 92*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[2].SetVar("X", 245 + 162*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[2].SetVar("Y", 185 + 117*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[3].SetVar("X", 220 + 137*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[3].SetVar("Y", 150 + 152*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[4].SetVar("X", 195 + 102*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[4].SetVar("Y", 105 + 197*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[5].SetVar("X", 175 + 47*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[5].SetVar("Y", 40 + 262*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						LeftArm[5].sprite.rotation = -10 - 80*math.sin(math.rad(90/0.32*(SongTime - 17.68)))
						Boss.SetVar("X", 320 + 200*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						Boss.SetVar("Y", 265 + 25*math.sin(math.rad(90/0.32*(SongTime - 17.68))))
						Boss.sprite.rotation = -25*math.sin(math.rad(90/0.32*(SongTime - 17.68)))
					elseif not backwards then
						local spruait = CreateSprite("JS&B Library Sprites/Triangulo","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 90
						spruait.Scale(480/480, 875/480)
						table.insert(Warnings, {Sprite = spruait, X = 262, Y = 302, Appear = 18, Disappear = 19.3})
						RightArm[1].SetVar("X", 575)
						RightArm[1].SetVar("Y", 230)
						RightArm[2].SetVar("X", 575)
						RightArm[2].SetVar("Y", 198)
						RightArm[3].SetVar("X", 545)
						RightArm[3].SetVar("Y", 160)
						RightArm[4].SetVar("X", 490)
						RightArm[4].SetVar("Y", 165)
						RightArm[5].SetVar("X", 445)
						RightArm[5].SetVar("Y", 225)
						RightArm[5].sprite.rotation = 185
						LeftArm[1].SetVar("X", 442)
						LeftArm[1].SetVar("Y", 302)
						LeftArm[2].SetVar("X", 407)
						LeftArm[2].SetVar("Y", 302)
						LeftArm[3].SetVar("X", 357)
						LeftArm[3].SetVar("Y", 302)
						LeftArm[4].SetVar("X", 297)
						LeftArm[4].SetVar("Y", 302)
						LeftArm[5].SetVar("X", 222)
						LeftArm[5].SetVar("Y", 302)
						LeftArm[5].sprite.rotation = -90
						Boss.SetVar("X", 520)
						Boss.SetVar("Y", 290)
						Boss.sprite.rotation = -25
						phases[1] = 19
					end
				elseif backwards then
					RightArm[1].SetVar("X", 376)
					RightArm[1].SetVar("Y", 210)
					RightArm[2].SetVar("X", 395)
					RightArm[2].SetVar("Y", 185)
					RightArm[3].SetVar("X", 420)
					RightArm[3].SetVar("Y", 150)
					RightArm[4].SetVar("X", 445)
					RightArm[4].SetVar("Y", 105)
					RightArm[5].SetVar("X", 465)
					RightArm[5].SetVar("Y", 40)
					RightArm[5].sprite.rotation = 10
					LeftArm[1].SetVar("X", 264)
					LeftArm[1].SetVar("Y", 210)
					LeftArm[2].SetVar("X", 245)
					LeftArm[2].SetVar("Y", 185)
					LeftArm[3].SetVar("X", 220)
					LeftArm[3].SetVar("Y", 150)
					LeftArm[4].SetVar("X", 195)
					LeftArm[4].SetVar("Y", 105)
					LeftArm[5].SetVar("X", 175)
					LeftArm[5].SetVar("Y", 40)
					LeftArm[5].sprite.rotation = -10
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 265)
					Boss.sprite.rotation = 0
					phases[1] = 17
				end
			elseif phases[1] == 19 then
				if SongTime > 18 then
					if SongTime <= 19.3 then
						if SongTime <= 19 then
							if SongTime <= 18.6 then
								Data1 = 1
							else
								Data1 = 2
							end
							if (SongTime - 18)%(0.3/Data1) <= 0.0375/Data1 then
								LeftArm[1].sprite.color = {1,1,1}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.075/Data1 then
								LeftArm[1].sprite.color = {1,1,1}
								LeftArm[2].sprite.color = {1,1,1}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.1125/Data1 then
								LeftArm[1].sprite.color = {1,1,1}
								LeftArm[2].sprite.color = {1,1,1}
								LeftArm[3].sprite.color = {1,1,1}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.15/Data1 then
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1,1,1}
								LeftArm[3].sprite.color = {1,1,1}
								LeftArm[4].sprite.color = {1,1,1}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.1875/Data1 then
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1,1,1}
								LeftArm[4].sprite.color = {1,1,1}
								LeftArm[5].sprite.color = {1,1,1}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.225/Data1 then
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1,1,1}
								LeftArm[5].sprite.color = {1,1,1}
							elseif (SongTime - 18)%(0.3/Data1) <= 0.2625/Data1 then
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1,1,1}
							else
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							end
						else
							Data1 = nil
							if (SongTime - 19)%0.04 <= 0.02 then
								LeftArm[1].sprite.color = {1,1,1}
								LeftArm[2].sprite.color = {1,1,1}
								LeftArm[3].sprite.color = {1,1,1}
								LeftArm[4].sprite.color = {1,1,1}
								LeftArm[5].sprite.color = {1,1,1}
							else
								LeftArm[1].sprite.color = {1, 32/255, 112/255}
								LeftArm[2].sprite.color = {1, 32/255, 112/255}
								LeftArm[3].sprite.color = {1, 32/255, 112/255}
								LeftArm[4].sprite.color = {1, 32/255, 112/255}
								LeftArm[5].sprite.color = {1, 32/255, 112/255}
							end
						end
					elseif not backwards then
						Data1 = nil
						LeftArm[1].sprite.color = {1,1,1}
						LeftArm[2].sprite.color = {1,1,1}
						LeftArm[3].sprite.color = {1,1,1}
						LeftArm[4].sprite.color = {1,1,1}
						LeftArm[5].sprite.color = {1,1,1}
						phases[1] = 20
					end
				elseif backwards then
					Data1 = nil
					LeftArm[1].sprite.color = {1, 32/255, 112/255}
					LeftArm[2].sprite.color = {1, 32/255, 112/255}
					LeftArm[3].sprite.color = {1, 32/255, 112/255}
					LeftArm[4].sprite.color = {1, 32/255, 112/255}
					LeftArm[5].sprite.color = {1, 32/255, 112/255}
					phases[1] = 18
				end
			elseif phases[1] == 20 then
				if SongTime > 19.3 then
					if SongTime <= 19.5 then
						RightArm[1].SetVar("X", 575 + 45*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[1].SetVar("Y", 230 + 5*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[2].SetVar("X", 575 + 60*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[2].SetVar("Y", 198 + 2*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[3].SetVar("X", 545 + 105*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[3].SetVar("Y", 160 - 11*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[4].SetVar("X", 490 + 150*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[4].SetVar("Y", 165 - 80*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[5].SetVar("X", 445 + 155*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[5].SetVar("Y", 225 - 210*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						RightArm[5].sprite.rotation = 185 + 130*math.sin(math.rad(90/0.2*(SongTime - 19.3)))
						Boss.SetVar("X", 520 + 50*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						Boss.SetVar("Y", 290 + 5*math.sin(math.rad(90/0.2*(SongTime - 19.3))))
						Boss.sprite.rotation = -25 - 25*math.sin(math.rad(90/0.2*(SongTime - 19.3)))
					elseif SongTime <= 19.6 then
						RightArm[1].SetVar("X", 620)
						RightArm[1].SetVar("Y", 235)
						RightArm[2].SetVar("X", 635)
						RightArm[2].SetVar("Y", 200)
						RightArm[3].SetVar("X", 650)
						RightArm[3].SetVar("Y", 149)
						RightArm[4].SetVar("X", 640)
						RightArm[4].SetVar("Y", 85)
						RightArm[5].SetVar("X", 600)
						RightArm[5].SetVar("Y", 15)
						RightArm[5].sprite.rotation = -45
						Boss.SetVar("X", 570)
						Boss.SetVar("Y", 295)
						Boss.sprite.rotation = -50
					elseif SongTime <= 20.2 then
						RightArm[1].SetVar("X", 400 + 220*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[1].SetVar("Y", 240 - 5*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[2].SetVar("X", 435 + 200*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[2].SetVar("Y", 237 - 37*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[3].SetVar("X", 485 + 165*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[3].SetVar("Y", 225 - 76*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[4].SetVar("X", 540 + 100*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[4].SetVar("Y", 200 - 115*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[5].SetVar("X", 580 + 20*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[5].SetVar("Y", 130 - 115*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						RightArm[5].sprite.rotation = 22.5 - 67.5*math.cos(math.rad(90/0.6*(SongTime - 19.6)))
						Boss.SetVar("X", 320 + 250*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						Boss.SetVar("Y", 240 + 55*math.cos(math.rad(90/0.6*(SongTime - 19.6))))
						Boss.sprite.rotation = -50*math.cos(math.rad(90/0.6*(SongTime - 19.6)))
					else
						RightArm[1].SetVar("X", 400)
						RightArm[1].SetVar("Y", 240)
						RightArm[2].SetVar("X", 435)
						RightArm[2].SetVar("Y", 237)
						RightArm[3].SetVar("X", 485)
						RightArm[3].SetVar("Y", 225)
						RightArm[4].SetVar("X", 540)
						RightArm[4].SetVar("Y", 200)
						RightArm[5].SetVar("X", 580)
						RightArm[5].SetVar("Y", 130)
						RightArm[5].sprite.rotation = 22.5
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 240)
						Boss.sprite.rotation = 0
					end
					if SongTime <= 19.4 then
						LeftArm[1].SetVar("X", 442 - 182/0.1*(SongTime - 19.3))
						LeftArm[1].SetVar("Y", 302)
						LeftArm[2].SetVar("X", 407 - 182/0.1*(SongTime - 19.3))
						LeftArm[2].SetVar("Y", 302)
						LeftArm[3].SetVar("X", 357 - 182/0.1*(SongTime - 19.3))
						LeftArm[3].SetVar("Y", 302)
						LeftArm[4].SetVar("X", 297 - 182/0.1*(SongTime - 19.3))
						LeftArm[4].SetVar("Y", 302)
						LeftArm[5].SetVar("X", 222 - 182/0.1*(SongTime - 19.3))
						LeftArm[5].SetVar("Y", 302)
						LeftArm[5].sprite.rotation = -90
						LeftArm[1].sprite.color = {1,1,1}
						LeftArm[2].sprite.color = {1,1,1}
						LeftArm[3].sprite.color = {1,1,1}
						LeftArm[4].sprite.color = {1,1,1}
						LeftArm[5].sprite.color = {1,1,1}
					elseif SongTime <= 19.7 then
						if not Data1 and not backwards then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							for i=0,2 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Onda", -100, -100)
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = -36 - 192*i, Y = 302, Vel = 16, Scale = {Initial = (43 - 101*i)/480, Increment = (437 + 101*i)/480, Time = 51 + 12*i}, Direction = 0, SpawnTime = 19.4})
								table.insert(Especial, misil)
							end
							Data1 = true
						elseif Data1 and backwards then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							Data1 = nil
						end
						LeftArm[1].SetVar("X", 260)
						LeftArm[1].SetVar("Y", 302)
						LeftArm[2].SetVar("X", 225)
						LeftArm[2].SetVar("Y", 302)
						LeftArm[3].SetVar("X", 175)
						LeftArm[3].SetVar("Y", 302)
						LeftArm[4].SetVar("X", 115)
						LeftArm[4].SetVar("Y", 302)
						LeftArm[5].SetVar("X", 40)
						LeftArm[5].SetVar("Y", 302)
						LeftArm[5].sprite.rotation = -90
						LeftArm[1].sprite.color = {1, 32/255, 112/255}
						LeftArm[2].sprite.color = {1, 32/255, 112/255}
						LeftArm[3].sprite.color = {1, 32/255, 112/255}
						LeftArm[4].sprite.color = {1, 32/255, 112/255}
						LeftArm[5].sprite.color = {1, 32/255, 112/255}
					elseif SongTime <= 20.35 then
						Data1 = SongTime - 19.7
						if not Data2 then
							Data2 = 19.7
						end
						while SongTime > Data2 and not backwards do
							local misil = CreateProjectileAbs("Pixel", -100, -100)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 0, Y = 302, Vel = 10, VelRot = math.random(10, 60)/10, Scale = {Initial = 0, Increment = 10, Time = 5}, Direction = math.random(-17, 17), SpawnTime = Data2})
							Data2 = Data2 + 0.025
						end
						LeftArm[1].SetVar("X", -240 - 220*math.sin(math.rad(-90 - 3*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.15, 0))))))) + 280*math.cos(math.rad(90/0.65*(SongTime - 19.7))))
						LeftArm[1].SetVar("Y", 302 + 220*math.cos(math.rad(-90 - 3*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.15, 0))))))))
						LeftArm[2].SetVar("X", -240 - 185*math.sin(math.rad(-90 - 6*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.1, 0))))))) + 280*math.cos(math.rad(90/0.65*(SongTime - 19.7))))
						LeftArm[2].SetVar("Y", 302 + 185*math.cos(math.rad(-90 - 6*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.1, 0))))))))
						LeftArm[3].SetVar("X", -240 - 135*math.sin(math.rad(-90 - 9*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.05, 0))))))) + 280*math.cos(math.rad(90/0.65*(SongTime - 19.7))))
						LeftArm[3].SetVar("Y", 302 + 135*math.cos(math.rad(-90 - 9*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1 - 0.05, 0))))))))
						LeftArm[4].SetVar("X", -240 - 75*math.sin(math.rad(-90 - 10*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1, 0))))))) + 280*math.cos(math.rad(90/0.65*(SongTime - 19.7))))
						LeftArm[4].SetVar("Y", 302 + 75*math.cos(math.rad(-90 - 10*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*math.max(Data1, 0))))))))
						LeftArm[5].SetVar("X", -240 + 280*math.cos(math.rad(90/0.65*(SongTime - 19.7))))
						LeftArm[5].SetVar("Y", 302)
						LeftArm[5].sprite.rotation = -90 - 10*math.sin(math.rad(360*3 - 360*3*math.cos(math.rad(90/0.65*Data1))))
						LeftArm[1].sprite.color = {1, 32/255, 112/255}
						LeftArm[2].sprite.color = {1, 32/255, 112/255}
						LeftArm[3].sprite.color = {1, 32/255, 112/255}
						LeftArm[4].sprite.color = {1, 32/255, 112/255}
						LeftArm[5].sprite.color = {1, 32/255, 112/255}
					else
						if not Data2 then
							Data2 = 19.7
						end
						while math.min(SongTime, 20.35) > Data2 do
							local misil = CreateProjectileAbs("Pixel", -100, -100)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 0, Y = 302, Vel = 10, VelRot = math.random(10, 60)/10, Scale = {Initial = 0, Increment = 10, Time = 5}, Direction = math.random(-17, 17), SpawnTime = Data2})
							Data2 = Data2 + 0.025
						end
						Data1 = nil
						Data2 = nil
						LeftArm[1].SetVar("Remove", true)
						LeftArm[2].SetVar("Remove", true)
						LeftArm[3].SetVar("Remove", true)
						LeftArm[4].SetVar("Remove", true)
						LeftArm[5].SetVar("Remove", true)
						LeftArm = nil
						phases[1] = 21
					end
				elseif backwards then
					Data1 = nil
					Data2 = nil
					local spruait = CreateSprite("JS&B Library Sprites/Triangulo","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = 90
					spruait.Scale(480/480, 875/480)
					table.insert(Warnings, {Sprite = spruait, X = 262, Y = 302, Appear = 18, Disappear = 19.3})
					RightArm[1].SetVar("X", 575)
					RightArm[1].SetVar("Y", 230)
					RightArm[2].SetVar("X", 575)
					RightArm[2].SetVar("Y", 198)
					RightArm[3].SetVar("X", 545)
					RightArm[3].SetVar("Y", 160)
					RightArm[4].SetVar("X", 490)
					RightArm[4].SetVar("Y", 165)
					RightArm[5].SetVar("X", 445)
					RightArm[5].SetVar("Y", 225)
					RightArm[5].sprite.rotation = 185
					LeftArm[1].SetVar("X", 442)
					LeftArm[1].SetVar("Y", 302)
					LeftArm[2].SetVar("X", 407)
					LeftArm[2].SetVar("Y", 302)
					LeftArm[3].SetVar("X", 357)
					LeftArm[3].SetVar("Y", 302)
					LeftArm[4].SetVar("X", 297)
					LeftArm[4].SetVar("Y", 302)
					LeftArm[5].SetVar("X", 222)
					LeftArm[5].SetVar("Y", 302)
					LeftArm[5].sprite.rotation = -90
					Boss.SetVar("X", 520)
					Boss.SetVar("Y", 290)
					Boss.sprite.rotation = -25
					LeftArm[1].sprite.color = {1,1,1}
					LeftArm[2].sprite.color = {1,1,1}
					LeftArm[3].sprite.color = {1,1,1}
					LeftArm[4].sprite.color = {1,1,1}
					LeftArm[5].sprite.color = {1,1,1}
					phases[1] = 19
				end
			elseif phases[1] == 21 then
				if SongTime > 20.35 then
					RightArm[5].sprite.rotation = RightArm[5].sprite.rotation - math.min(32*(SongTime - 20.35), 10)*NewAudio.GetPitch("Song")
					RightArm[1].SetVar("X", 320 + 80*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[1].SetVar("Y", 240 + 80*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[2].SetVar("X", 320 + 115*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 3*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[2].SetVar("Y", 240 - 3*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 115*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[3].SetVar("X", 320 + 165*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 15*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[3].SetVar("Y", 240 - 15*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 165*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[4].SetVar("X", 320 + 220*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 40*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[4].SetVar("Y", 240 - 40*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 220*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[5].SetVar("X", 320 + 260*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 110*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					RightArm[5].SetVar("Y", 240 - 110*math.cos(math.rad(RightArm[5].sprite.rotation - 22.5)) + 260*math.sin(math.rad(RightArm[5].sprite.rotation - 22.5)))
					if SongTime <= 21 then
						Boss.sprite.rotation = -10 + 10*math.cos(math.rad(180/0.65*(SongTime - 20.35)))
						if SongTime > 20.88 then
							if SongTime <= 20.9 then
								RightArm[1].sprite.color = {1, 32/255, 112/255}
								RightArm[2].sprite.color = {1, 32/255, 112/255}
								RightArm[3].sprite.color = {1, 32/255, 112/255}
								RightArm[4].sprite.color = {1, 32/255, 112/255}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 1
								RightArm[3].sprite.alpha = 1
								RightArm[4].sprite.alpha = 1
								RightArm[5].sprite.alpha = 1
							elseif SongTime <= 20.92 then
								RightArm[1].sprite.color = {1, 32/255, 112/255}
								RightArm[2].sprite.color = {1, 32/255, 112/255}
								RightArm[3].sprite.color = {1, 32/255, 112/255}
								RightArm[4].sprite.color = {1, 1, 1}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 1
								RightArm[3].sprite.alpha = 1
								RightArm[4].sprite.alpha = 1
								RightArm[5].sprite.alpha = 1
							elseif SongTime <= 20.94 then
								RightArm[1].sprite.color = {1, 32/255, 112/255}
								RightArm[2].sprite.color = {1, 32/255, 112/255}
								RightArm[3].sprite.color = {1, 1, 1}
								RightArm[4].sprite.color = {1, 1, 1}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 1
								RightArm[3].sprite.alpha = 1
								RightArm[4].sprite.alpha = 1
								RightArm[5].sprite.alpha = 0
							elseif SongTime <= 20.96 then
								RightArm[1].sprite.color = {1, 32/255, 112/255}
								RightArm[2].sprite.color = {1, 1, 1}
								RightArm[3].sprite.color = {1, 1, 1}
								RightArm[4].sprite.color = {1, 1, 1}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 1
								RightArm[3].sprite.alpha = 1
								RightArm[4].sprite.alpha = 0
								RightArm[5].sprite.alpha = 0
							elseif SongTime <= 20.98 then
								RightArm[1].sprite.color = {1, 1, 1}
								RightArm[2].sprite.color = {1, 1, 1}
								RightArm[3].sprite.color = {1, 1, 1}
								RightArm[4].sprite.color = {1, 1, 1}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 1
								RightArm[3].sprite.alpha = 0
								RightArm[4].sprite.alpha = 0
								RightArm[5].sprite.alpha = 0
							else
								RightArm[1].sprite.color = {1, 1, 1}
								RightArm[2].sprite.color = {1, 1, 1}
								RightArm[3].sprite.color = {1, 1, 1}
								RightArm[4].sprite.color = {1, 1, 1}
								RightArm[5].sprite.color = {1, 1, 1}
								RightArm[1].sprite.alpha = 1
								RightArm[2].sprite.alpha = 0
								RightArm[3].sprite.alpha = 0
								RightArm[4].sprite.alpha = 0
								RightArm[5].sprite.alpha = 0
							end
						else
							RightArm[1].sprite.color = {1, 32/255, 112/255}
							RightArm[2].sprite.color = {1, 32/255, 112/255}
							RightArm[3].sprite.color = {1, 32/255, 112/255}
							RightArm[4].sprite.color = {1, 32/255, 112/255}
							RightArm[5].sprite.color = {1, 32/255, 112/255}
							RightArm[1].sprite.alpha = 1
							RightArm[2].sprite.alpha = 1
							RightArm[3].sprite.alpha = 1
							RightArm[4].sprite.alpha = 1
							RightArm[5].sprite.alpha = 1
						end
						if SongTime > 20.4 and not Data1 then
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Zoom_in_out, {Bullet = misil, X = 320, Y = 240, Scale = 200/480, SpawnTime = 20.4, In = 0.25, Stay = 0, Out = 0.25, NoDamage = true})
							Data1 = true
						end
						if SongTime > 20.5 and not Data2 then
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Zoom_in_out, {Bullet = misil, X = 320, Y = 240, Scale = 200/480, SpawnTime = 20.5, In = 0.25, Stay = 0, Out = 0.25, NoDamage = true})
							Data2 = true
						end
					else
						RightArm[1].SetVar("Remove", true)
						RightArm[2].SetVar("Remove", true)
						RightArm[3].SetVar("Remove", true)
						RightArm[4].SetVar("Remove", true)
						RightArm[5].SetVar("Remove", true)
						RightArm = nil
						Data1 = nil
						Data2 = nil
						Boss.sprite.rotation = -20
						phases[1] = 22
					end
				elseif backwards then
					if not LeftArm then
						LeftArm = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("Peer Gynt Level/Hand", 0, 0)}
						LeftArm[1].sprite.Scale(16/480, 16/480)
						LeftArm[2].sprite.Scale(40/480, 40/480)
						LeftArm[3].sprite.Scale(50/480, 50/480)
						LeftArm[4].sprite.Scale(60/480, 60/480)
						LeftArm[5].sprite.Scale(80/480, 80/480)
						for i=1,#LeftArm do
							LeftArm[i].SetVar("SpeedRot", 1)
							LeftArm[i].SetVar("NoDamage", 1)
							LeftArm[i].SetVar("X", -100)
							LeftArm[i].SetVar("Y", -100)
							LeftArm[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, LeftArm[i])
						end
						LeftArm[5].SetVar("SpeedRot", 0)
					end
					Data1 = nil
					Data2 = nil
					RightArm[1].SetVar("X", 400)
					RightArm[1].SetVar("Y", 240)
					RightArm[2].SetVar("X", 435)
					RightArm[2].SetVar("Y", 237)
					RightArm[3].SetVar("X", 485)
					RightArm[3].SetVar("Y", 225)
					RightArm[4].SetVar("X", 540)
					RightArm[4].SetVar("Y", 200)
					RightArm[5].SetVar("X", 580)
					RightArm[5].SetVar("Y", 130)
					RightArm[5].sprite.rotation = 22.5
					Boss.sprite.rotation = 0
					phases[1] = 20
				end
			elseif phases[1] >= 22 and phases[1] <= 32 then
				if SongTime > 21 then
					if SongTime <= 25.4 then
						Boss.SetVar("X", 320 - 120*math.sin(math.rad(360/4.4*(SongTime - 21))))
						Boss.SetVar("Y", 240 + 80*math.sin(math.rad(360*2/4.4*(SongTime - 21))))
					else
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 240)
					end
					if SongTime > 21 + 0.43*(phases[1] - 22) then
						if SongTime <= 21.1 + 0.43*(phases[1] - 22) then
							if not Data1 then
								if not rango or rango <= 4 then
									shakescreen = 0
									rango = 4
								end
								Data1 = true
							end
							Boss.sprite.rotation = -20*math.cos(math.rad(180/0.1*(SongTime - (21 + 0.33*(phases[1] - 22)))))
							Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480)
							Triangulos[1].sprite.Scale((10 + 3*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480, (10 + 3*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480)
							Triangulos[2].sprite.Scale((10 + 3*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480, (10 + 3*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/480)
							Boss.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255}
							Eye1.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255}
							Dientes.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255}
							Triangulos[1].sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255}
							Triangulos[2].sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - (21 + 0.43*(phases[1] - 22))))))/255}
						elseif not backwards then
							Data1 = nil
							Boss.sprite.rotation = -20*math.cos(math.rad(180*(phases[1] - 21)))
							Boss.sprite.Scale(130/480, 130/480)
							Triangulos[1].sprite.Scale(10/480, 10/480)
							Triangulos[2].sprite.Scale(10/480, 10/480)
							Boss.sprite.color = {1, 32/255, 112/255}
							Eye1.sprite.color = {1, 32/255, 112/255}
							Dientes.sprite.color = {1, 32/255, 112/255}
							Triangulos[1].sprite.color = {1, 32/255, 112/255}
							Triangulos[2].sprite.color = {1, 32/255, 112/255}
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						Data1 = nil
						Boss.sprite.rotation = -20*math.cos(math.rad(180*(phases[1] - 22)))
						Boss.sprite.Scale(130/480, 130/480)
						Triangulos[1].sprite.Scale(10/480, 10/480)
						Triangulos[2].sprite.Scale(10/480, 10/480)
						Boss.sprite.color = {1, 32/255, 112/255}
						Eye1.sprite.color = {1, 32/255, 112/255}
						Dientes.sprite.color = {1, 32/255, 112/255}
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					if not RightArm then
						RightArm = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), CreateProjectileAbs("Peer Gynt Level/Hand", 0, 0)}
						RightArm[1].sprite.Scale(16/480, 16/480)
						RightArm[2].sprite.Scale(40/480, 40/480)
						RightArm[3].sprite.Scale(50/480, 50/480)
						RightArm[4].sprite.Scale(60/480, 60/480)
						RightArm[5].sprite.Scale(80/480, 80/480)
						for i=1,#RightArm do
							RightArm[i].SetVar("SpeedRot", 1)
							RightArm[i].SetVar("NoDamage", 1)
							RightArm[i].SetVar("X", -100)
							RightArm[i].SetVar("Y", -100)
							RightArm[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, RightArm[i])
						end
						RightArm[5].SetVar("SpeedRot", 0)
					end
					Boss.sprite.Scale(130/480, 130/480)
					Triangulos[1].sprite.Scale(10/480, 10/480)
					Triangulos[2].sprite.Scale(10/480, 10/480)
					Boss.sprite.color = {1, 32/255, 112/255}
					Eye1.sprite.color = {1, 32/255, 112/255}
					Dientes.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					Boss.SetVar("X", 320)
					Boss.SetVar("Y", 240)
					Boss.sprite.rotation = -20
					phases[1] = 21
				end
			elseif phases[1] == 33 then
				if SongTime > 25.73 then
					Dientes.sprite.Set("Peer Gynt Level/Dientes2")
					Boss.sprite.Set("Peer Gynt Level/Boss2")
					if SongTime <= 25.83 then
						if not Data1 then
							if not rango or rango <= 4 then
								shakescreen = 0
								rango = 4
							end
							Data1 = true
						end
						Eye1.SetVar("Altura", 7 + 23*math.sin(math.rad(90/0.1*(SongTime - 25.73))))
						Dientes.SetVar("Altura", -36 + 6*math.sin(math.rad(90/0.1*(SongTime - 25.73))))
						Boss.sprite.rotation = 10 + 10*math.cos(math.rad(180/0.1*(SongTime - 25.73)))
						Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480)
						Triangulos[1].sprite.Scale((10 + 3*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480, (10 + 3*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480)
						Triangulos[2].sprite.Scale((10 + 3*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480, (10 + 3*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/480)
						Boss.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255}
						Eye1.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255}
						Dientes.sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255}
						Triangulos[1].sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255}
						Triangulos[2].sprite.color = {1, (32 + 42*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255, (112 + 28*math.sin(math.rad(180/0.1*(SongTime - 25.73))))/255}
					elseif not backwards then
						Data1 = nil
						Eye1.SetVar("Altura", 30)
						Dientes.SetVar("Altura", -30)
						Boss.sprite.rotation = 0
						Boss.sprite.Scale(130/480, 130/480)
						Triangulos[1].sprite.Scale(10/480, 10/480)
						Triangulos[2].sprite.Scale(10/480, 10/480)
						Boss.sprite.color = {1, 32/255, 112/255}
						Eye1.sprite.color = {1, 32/255, 112/255}
						Dientes.sprite.color = {1, 32/255, 112/255}
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						phases[1] = 34
					end
				elseif backwards then
					Dientes.sprite.Set("Peer Gynt Level/Dientes")
					Boss.sprite.Set("Peer Gynt Level/Boss")
					Data1 = nil
					Eye1.SetVar("Altura", 7)
					Dientes.SetVar("Altura", -36)
					Boss.sprite.rotation = 20
					Boss.sprite.Scale(130/480, 130/480)
					Triangulos[1].sprite.Scale(10/480, 10/480)
					Triangulos[2].sprite.Scale(10/480, 10/480)
					Boss.sprite.color = {1, 32/255, 112/255}
					Eye1.sprite.color = {1, 32/255, 112/255}
					Dientes.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					phases[1] = 32
				end
			elseif phases[1] == 34 then
				if SongTime > 26.14 then
					if not Ojo then
						Ojo = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)}
						for i=1,2 do
							Ojo[i].SetVar("NoDamage", 1)
							Ojo[i].SetVar("SpeedRot", 0)
							Ojo[i].SetVar("X", Eye1.GetVar("X"))
							Ojo[i].SetVar("Y", Eye1.GetVar("Y") + 4)
							Ojo[i].sprite.Scale(0, 0)
							table.insert(Bullets, Ojo[i])
						end
						Ojo[1].sprite.color = {1, 32/255, 112/255}
					end
					if SongTime <= 26.34 then
						BG.color = {math.sin(math.rad(180/0.2*(SongTime - 26.14)))/8, 32*math.sin(math.rad(180/0.2*(SongTime - 26.14)))/255/8, 112*math.sin(math.rad(180/0.2*(SongTime - 26.14)))/255/8}
						Ojo[1].sprite.Scale((50*math.sin(math.rad(90/0.2*(SongTime - 26.14))))/480, (50*math.sin(math.rad(90/0.2*(SongTime - 26.14))))/480)
						Ojo[2].sprite.Scale((36*math.sin(math.rad(90/0.2*(SongTime - 26.14))))/480, (36*math.sin(math.rad(90/0.2*(SongTime - 26.14))))/480)
					elseif not backwards then
						BG.color = {0, 0, 0}
						Eye1.SetVar("Altura", 35)
						Eye1.sprite.Set("JS&B Library Sprites/Circle")
						Eye1.SetVar("Scale", 50)
						Eye2 = Ojo[2]
						Ojo[1].SetVar("Remove", true)
						Ojo = nil
						phases[1] = 35
					end
				elseif backwards then
					BG.color = {0, 0, 0}
					if Ojo then
						Ojo[1].SetVar("Remove", true)
						Ojo[2].SetVar("Remove", true)
						Ojo = nil
					end
					phases[1] = 33
				end
			elseif phases[1] == 35 then
				if SongTime > 26.57 then
					if not Eye3 then
						Eye3 = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						Eye3.SetVar("NoDamage", 1)
						Eye3.SetVar("SpeedRot", 0)
						Eye3.SetVar("Scale", 36)
						Eye3.SetVar("Altura", 35)
						Eye3.SetVar("Horizontal", 0)
						Eye3.sprite.color = {1, 32/255, 112/255}
						table.insert(Bullets, Eye3)
					end
					if not Eye4 then
						Eye4 = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						Eye4.SetVar("NoDamage", 1)
						Eye4.SetVar("SpeedRot", 0)
						table.insert(Bullets, Eye4)
						Eye2.sprite.SendToTop()
					end
					if SongTime <= 26.77 then
						BG.color = {math.sin(math.rad(180/0.2*(SongTime - 26.57)))/8, 32*math.sin(math.rad(180/0.2*(SongTime - 26.57)))/255/8, 112*math.sin(math.rad(180/0.2*(SongTime - 26.57)))/255/8}
						Eye1.SetVar("Altura", 35 - 17*math.sin(math.rad(90/0.2*(SongTime - 26.57))))
						Eye1.SetVar("Horizontal", -30*math.sin(math.rad(90/0.2*(SongTime - 26.57))))
						Eye3.SetVar("Altura", 35 - 17*math.sin(math.rad(90/0.2*(SongTime - 26.57))))
						Eye3.SetVar("Horizontal", 34*math.sin(math.rad(90/0.2*(SongTime - 26.57))))
					elseif not backwards then
						BG.color = {0, 0, 0}
						Eye1.SetVar("Altura", 18)
						Eye1.SetVar("Horizontal", -30)
						Eye3.SetVar("Altura", 18)
						Eye3.SetVar("Horizontal", 34)
						phases[1] = 36
					end
				elseif backwards then
					BG.color = {0, 0, 0}
					Eye1.SetVar("Altura", 7)
					Eye1.SetVar("Scale", 25)
					Eye1.sprite.Set("Peer Gynt Level/Eye2")
					Eye2.SetVar("Remove", true)
					Eye2 = nil
					if Eye3 then
						Eye3.SetVar("Remove", true)
						Eye3 = nil
					end
					if Eye4 then
						Eye4.SetVar("Remove", true)
						Eye4 = nil
					end
					phases[1] = 34
				end
			elseif phases[1] == 36 then
				if SongTime > 26.9 then
					if #Triangulos <= 2 then
						Triangulos[1].SetVar("Scale", 10)
						Triangulos[2].SetVar("Scale", 10)
						Triangulos[3] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
						Triangulos[3].SetVar("NoDamage", 1)
						Triangulos[3].SetVar("SpeedRot", 0)
						Triangulos[3].SetVar("Rot", 75)
						Triangulos[3].SetVar("Scale", 20)
						table.insert(Bullets, Triangulos[3])
						Triangulos[4] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
						Triangulos[4].SetVar("NoDamage", 1)
						Triangulos[4].SetVar("SpeedRot", 0)
						Triangulos[4].SetVar("Rot", 30)
						Triangulos[4].SetVar("Scale", 10)
						table.insert(Bullets, Triangulos[4])
						Triangulos[5] = CreateProjectileAbs("JS&B Library Sprites/Triangulo", 0, 0)
						Triangulos[5].SetVar("NoDamage", 1)
						Triangulos[5].SetVar("SpeedRot", 0)
						Triangulos[5].SetVar("Rot", -15)
						Triangulos[5].SetVar("Scale", 20)
						table.insert(Bullets, Triangulos[5])
					end
					if SongTime <= 27 then
						BG.color = {math.sin(math.rad(180/0.2*(SongTime - 26.9)))/8, 32*math.sin(math.rad(180/0.2*(SongTime - 26.9)))/255/8, 112*math.sin(math.rad(180/0.2*(SongTime - 26.9)))/255/8}
						Dientes.sprite.Set("Peer Gynt Level/Dientes2")
						Dientes.SetVar("Altura", -32.5 + 2.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))
						Eye1.SetVar("Altura", 14 + 4*math.cos(math.rad(180/0.1*(SongTime - 26.9))))
						Eye3.SetVar("Altura", 14 + 4*math.cos(math.rad(180/0.1*(SongTime - 26.9))))
						Triangulos[1].SetVar("Rot", 47.5 - 2.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))
						Triangulos[2].SetVar("Rot", -42.5 - 2.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))
						Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[3].sprite.alpha = 0
						Triangulos[4].sprite.alpha = 0
						Triangulos[5].sprite.alpha = 0
					elseif SongTime <= 27.1 then
						BG.color = {math.sin(math.rad(180/0.2*(SongTime - 26.9)))/8, 32*math.sin(math.rad(180/0.2*(SongTime - 26.9)))/255/8, 112*math.sin(math.rad(180/0.2*(SongTime - 26.9)))/255/8}
						Dientes.sprite.Set("Peer Gynt Level/Dientes3")
						Dientes.SetVar("Altura", -35)
						Eye1.SetVar("Altura", 10)
						Eye3.SetVar("Altura", 10)
						Triangulos[1].SetVar("Rot", 50)
						Triangulos[2].SetVar("Rot", -40)
						Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[3].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[4].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[5].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255, (183.5 - 71.5*math.cos(math.rad(180/0.1*(SongTime - 26.9))))/255}
						Triangulos[3].sprite.alpha = 1
						Triangulos[4].sprite.alpha = 1
						Triangulos[5].sprite.alpha = 1
					elseif not backwards then
						BG.color = {0, 0, 0}
						Dientes.sprite.Set("Peer Gynt Level/Dientes3")
						Dientes.SetVar("Altura", -35)
						Eye1.SetVar("Altura", 10)
						Eye3.SetVar("Altura", 10)
						Triangulos[1].SetVar("Rot", 50)
						Triangulos[2].SetVar("Rot", -40)
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						Triangulos[3].sprite.color = {1, 32/255, 112/255}
						Triangulos[4].sprite.color = {1, 32/255, 112/255}
						Triangulos[5].sprite.color = {1, 32/255, 112/255}
						Triangulos[3].sprite.alpha = 1
						Triangulos[4].sprite.alpha = 1
						Triangulos[5].sprite.alpha = 1
						phases[1] = 37
					end
				elseif backwards then
					BG.color = {0, 0, 0}
					Dientes.sprite.Set("Peer Gynt Level/Dientes2")
					Dientes.SetVar("Altura", 30)
					Eye1.SetVar("Altura", 18)
					Eye3.SetVar("Altura", 18)
					if #Triangulos > 2 then
						Triangulos[3].SetVar("Remove", true)
						Triangulos[4].SetVar("Remove", true)
						Triangulos[5].SetVar("Remove", true)
						Triangulos[3] = nil
						Triangulos[4] = nil
						Triangulos[5] = nil
					end
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					Triangulos[1].SetVar("Rot", 45)
					Triangulos[2].SetVar("Rot", -45)
					phases[1] = 35
				end
			elseif phases[1] == 37 then
				if SongTime > 27.43 then
					Dientes.sprite.Set("Peer Gynt Level/Dientes4")
					Dientes.SetVar("Altura", -43)
					if SongTime <= 27.73 then
						Boss.sprite.Scale((130 + 170*math.sin(math.rad(90/0.3*(SongTime - 27.43))))/480, (130 + 170*math.sin(math.rad(90/0.3*(SongTime - 27.43))))/480)
						Boss.sprite.rotation = -25*math.sin(math.rad(90/0.3*(SongTime - 27.43)))
					elseif not backwards then
						Boss.sprite.Scale(300/480, 300/480)
						Boss.sprite.rotation = -25
						phases[1] = 38
					end
				elseif backwards then
					Dientes.sprite.Set("Peer Gynt Level/Dientes3")
					Dientes.SetVar("Altura", -35)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 36
				end
			elseif phases[1] == 38 then
				if SongTime > 27.86 then
					if SongTime <= 27.96 then
						if SongTime <= 27.91 then
							BG.color = {math.sin(math.rad(90/0.05*(SongTime - 27.86)))/8, math.sin(math.rad(90/0.05*(SongTime - 27.86)))/8, math.sin(math.rad(90/0.05*(SongTime - 27.86)))/8}
						else
							BG.color = {1/8, (143.5 + 111.5*math.cos(math.rad(90/0.05*(SongTime - 27.91))))/255/8, (183.5 + 71.5*math.cos(math.rad(90/0.05*(SongTime - 27.91))))/255/8}
						end
						Boss.sprite.Scale((130 + 170*math.cos(math.rad(90/0.1*(SongTime - 27.86))))/480, (130 + 170*math.cos(math.rad(90/0.1*(SongTime - 27.86))))/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(90/0.1*(SongTime - 27.86)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 27.96, LifeTime = 5})
						end
						BG.color = {1/8, 32/255/8, 112/255/8}
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 39
					end
				elseif backwards then
					BG.color = {0, 0, 0}
					Boss.sprite.Scale(300/480, 300/480)
					Boss.sprite.rotation = -25
					phases[1] = 37
				end
			elseif phases[1] == 39 then
				if SongTime > 28.28 and SongTime <= 29.34 then
					Boss.SetVar("X", 220 + 100*math.cos(math.rad(180/1.06*(SongTime - 28.28))))
				elseif SongTime > 29.34 then
					Boss.SetVar("X", 120)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 27.96 then
					if SongTime > 28.38 and not backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = -25
						phases[1] = 40
					elseif SongTime > 28.28 and SongTime <= 28.38 then
						Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - 28.28))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - 28.28))))/480)
						Boss.sprite.rotation = -25*math.sin(math.rad(90/0.1*(SongTime - 28.28)))
					elseif SongTime <= 28.28 then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					end
				elseif backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 38
				end
			elseif phases[1] >= 40 and phases[1] <= 41 then
				if SongTime > 28.28 and SongTime <= 29.34 then
					Boss.SetVar("X", 220 + 100*math.cos(math.rad(180/1.06*(SongTime - 28.28))))
				elseif SongTime > 29.34 then
					Boss.SetVar("X", 120)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 28.72 then
					if SongTime > 28.72 + 0.43*(phases[1] - 40) then
						if SongTime <= 28.82 + 0.43*(phases[1] - 40) then
							Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - (28.72 + 0.43*(phases[1] - 40))))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - (28.72 + 0.43*(phases[1] - 40))))))/480)
							Boss.sprite.rotation = -25*math.cos(math.rad(180/0.1*(SongTime - (28.72 + 0.33*(phases[1] - 40)))))
						elseif not backwards then
							Boss.sprite.Scale(130/480, 130/480)
							Boss.sprite.rotation = -25*math.cos(math.rad(180*(phases[1] - 39)))
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(180*(phases[1] - 40)))
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = -25
					phases[1] = 39
				end
			elseif phases[1] == 42 then
				if SongTime > 28.28 and SongTime <= 29.34 then
					Boss.SetVar("X", 220 + 100*math.cos(math.rad(180/1.06*(SongTime - 28.28))))
				elseif SongTime > 29.34 then
					Boss.SetVar("X", 120)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 29.35 then
					if SongTime <= 29.47 then
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.12*(SongTime - 29.35))))/480, (130 + 100*math.sin(math.rad(90/0.12*(SongTime - 29.35))))/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(180/0.12*(SongTime - 29.35)))
					elseif not backwards then
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 25
						phases[1] = 43
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = -25
					phases[1] = 41
				end
			elseif phases[1] == 43 then
				if SongTime > 29.57 then
					if SongTime <= 29.67 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 29.57))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 29.57))))/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(90/0.1*(SongTime - 29.57)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 29.67, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 44
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = 25
					phases[1] = 42
				end
			elseif phases[1] == 44 then
				if SongTime > 30 and SongTime <= 31.06 then
					Boss.SetVar("X", 220 - 100*math.cos(math.rad(180/1.06*(SongTime - 30))))
				elseif SongTime > 31.06 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 120)
				end
				if SongTime > 29.67 then
					if SongTime > 30.1 and not backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 25
						phases[1] = 45
					elseif SongTime > 30 and SongTime <= 30.1 then
						Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - 30))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - 30))))/480)
						Boss.sprite.rotation = 25*math.sin(math.rad(90/0.1*(SongTime - 30)))
					elseif SongTime <= 30 then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					end
				elseif backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 43
				end
			elseif phases[1] >= 45 and phases[1] <= 46 then
				if SongTime > 30 and SongTime <= 31.06 then
					Boss.SetVar("X", 220 - 100*math.cos(math.rad(180/1.06*(SongTime - 30))))
				elseif SongTime > 31.06 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 120)
				end
				if SongTime > 30.43 then
					if SongTime > 30.43 + 0.43*(phases[1] - 45) then
						if SongTime <= 30.53 + 0.43*(phases[1] - 45) then
							Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - (30.43 + 0.43*(phases[1] - 45))))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - (30.43 + 0.43*(phases[1] - 45))))))/480)
							Boss.sprite.rotation = 25*math.cos(math.rad(180/0.1*(SongTime - (30.43 + 0.33*(phases[1] - 45)))))
						elseif not backwards then
							Boss.sprite.Scale(130/480, 130/480)
							Boss.sprite.rotation = 25*math.cos(math.rad(180*(phases[1] - 44)))
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(180*(phases[1] - 45)))
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 25
					phases[1] = 44
				end
			elseif phases[1] == 47 then
				if SongTime > 30 and SongTime <= 31.06 then
					Boss.SetVar("X", 220 - 100*math.cos(math.rad(180/1.06*(SongTime - 30))))
				elseif SongTime > 31.06 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 120)
				end
				if SongTime > 31.07 then
					if SongTime <= 31.19 then
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.12*(SongTime - 31.07))))/480, (130 + 100*math.sin(math.rad(90/0.12*(SongTime - 31.07))))/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(180/0.12*(SongTime - 31.07)))
					elseif not backwards then
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = -25
						phases[1] = 48
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 25
					phases[1] = 46
				end
			elseif phases[1] == 48 then
				if SongTime > 31.29 then
					if SongTime <= 31.39 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 31.29))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 31.29))))/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(90/0.1*(SongTime - 31.29)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 31.39, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 49
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = -25
					phases[1] = 47
				end
			elseif phases[1] == 49 then
				if SongTime > 31.39 then
					if not Canon then
						Canon = {CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0)}
						for i=1,#Canon do
							Canon[i].SetVar("NoDamage", 1)
							Canon[i].SetVar("SpeedRot", 0)
							Canon[i].SetVar("Altura", -45)
							Canon[i].SetVar("Horizontal", 0)
							Canon[i].SetVar("Rot", 0)
							table.insert(Bullets, Canon[i])
						end
						Canon[1].sprite.color = {1, 32/255, 112/255}
						Canon[2].sprite.color = {1, 32/255, 112/255}
						Canon[3].sprite.color = {0, 0, 0}
						Canon[4].sprite.color = {1, 32/255, 112/255}
						Canon[5].sprite.color = {0, 0, 0}
						Canon[1].sprite.Scale(8, 28)
						Canon[2].sprite.Scale(8, 28)
						Canon[3].sprite.Scale(64, 28)
						Canon[4].sprite.Scale(36, 82)
						Canon[5].sprite.Scale(20, 66)
						Canon[4].SetVar("Altura", 0)
						Canon[5].SetVar("Altura", 0)
						Canon[1].sprite.alpha = 0
						Canon[2].sprite.alpha = 0
					end
					if SongTime > 31.71 then
						if SongTime <= 31.91 then
							Canon[1].sprite.alpha = 0
							Canon[2].sprite.alpha = 0
							Eye1.SetVar("Horizontal", -30*math.cos(math.rad(90/0.2*(SongTime - 31.71))))
							Eye3.SetVar("Horizontal", 34*math.cos(math.rad(90/0.2*(SongTime - 31.71))))
							Dientes.SetVar("Multiplicador", math.cos(math.rad(90/0.2*(SongTime - 31.71))))
						elseif not backwards then
							Canon[1].sprite.alpha = 1
							Canon[2].sprite.alpha = 1
							Eye1.SetVar("Horizontal", 0)
							Eye3.SetVar("Horizontal", 0)
							Dientes.SetVar("Multiplicador", 0)
							phases[1] = 50
						end
					elseif backwards then
						Canon[1].sprite.alpha = 0
						Canon[2].sprite.alpha = 0
						Eye1.SetVar("Horizontal", -30)
						Eye3.SetVar("Horizontal", 34)
						Dientes.SetVar("Multiplicador", 1)
					end
				elseif backwards then
					if Canon then
						for i=1,#Canon do
							Canon[i].SetVar("Remove", true)
						end
						Canon = nil
					end
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Eye1.SetVar("Horizontal", -30)
					Eye3.SetVar("Horizontal", 34)
					Dientes.SetVar("Multiplicador", 1)
					phases[1] = 48
				end
			elseif phases[1] == 50 then
				if SongTime > 31.97 then
					if SongTime <= 32.07 then
						Canon[1].SetVar("Horizontal", -36*math.sin(math.rad(90/0.1*(SongTime - 31.97))))
						Canon[2].SetVar("Horizontal", 36*math.sin(math.rad(90/0.1*(SongTime - 31.97))))
					elseif not backwards then
						Canon[1].SetVar("Horizontal", -36)
						Canon[2].SetVar("Horizontal", 36)
						phases[1] = 51
					end
				elseif backwards then
					Canon[1].SetVar("Horizontal", 0)
					Canon[2].SetVar("Horizontal", 0)
					phases[1] = 49
				end
			elseif phases[1] == 51 then
				if SongTime > 32.17 then
					if SongTime <= 32.57 then
						Boss.SetVar("Y", 340 - 100*math.cos(math.rad(180/0.4*(SongTime - 32.17))))
					else
						Boss.SetVar("Y", 440)
					end
					if SongTime <= 32.27 then
						Canon[1].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 32.17))))
						Canon[2].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 32.17))))
						Canon[3].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 32.17))))
					elseif not backwards then
						Canon[1].SetVar("Altura", -85)
						Canon[2].SetVar("Altura", -85)
						Canon[3].SetVar("Altura", -85)
						phases[1] = 52
					end
				elseif backwards then
					Boss.SetVar("Y", 240)
					Canon[1].SetVar("Altura", -45)
					Canon[2].SetVar("Altura", -45)
					Canon[3].SetVar("Altura", -45)
					phases[1] = 50
				end
			elseif phases[1] == 52 then
				if SongTime > 32.27 then
					if SongTime <= 32.57 then
						Boss.SetVar("Y", 340 - 100*math.cos(math.rad(180/0.4*(SongTime - 32.17))))
					else
						Boss.SetVar("Y", 440)
					end
					if SongTime <= 32.37 then
						Canon[4].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 32.27))))
						Canon[5].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 32.27))))
						Canon[4].SetVar("Rot", 0)
						Canon[5].SetVar("Rot", 0)
						Eye1.SetVar("Altura", 10 - 10*math.sin(math.rad(90/0.1*(SongTime - 32.27))))
						Eye3.SetVar("Altura", 10 - 10*math.sin(math.rad(90/0.1*(SongTime - 32.27))))
					elseif SongTime <= 32.57 then
						Canon[4].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 32.27))))
						Canon[5].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 32.27))))
						Canon[4].SetVar("Rot", -45*math.sin(math.rad(90/0.2*(SongTime - 32.37))))
						Canon[5].SetVar("Rot", -45*math.sin(math.rad(90/0.2*(SongTime - 32.37))))
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
					elseif SongTime <= 32.67 then
						Canon[4].SetVar("Altura", -124 - 43*math.cos(math.rad(90/0.1*(SongTime - 32.57))))
						Canon[5].SetVar("Altura", -124 - 43*math.cos(math.rad(90/0.1*(SongTime - 32.57))))
						Canon[4].SetVar("Rot", -45 - 45/0.1*(SongTime - 32.57))
						Canon[5].SetVar("Rot", -45 - 45/0.1*(SongTime - 32.57))
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
					elseif not backwards then
						Data1 = 0
						Canon[4].SetVar("Altura", -124)
						Canon[5].SetVar("Altura", -124)
						Canon[4].SetVar("Rot", -90)
						Canon[5].SetVar("Rot", -90)
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
						phases[1] = 53
					end
				elseif backwards then
					if SongTime <= 32.17 then
						Boss.SetVar("Y", 240)
					elseif SongTime <= 32.57 then
						Boss.SetVar("Y", 340 - 100*math.cos(math.rad(180/0.4*(SongTime - 32.17))))
					else
						Boss.SetVar("Y", 440)
					end
					Canon[4].SetVar("Altura", 0)
					Canon[5].SetVar("Altura", 0)
					Canon[4].SetVar("Rot", 0)
					Canon[5].SetVar("Rot", 0)
					Eye1.SetVar("Altura", 10)
					Eye3.SetVar("Altura", 10)
					phases[1] = 51
				end
			elseif phases[1] == 53 then
				if SongTime > 32.77 then
					if SongTime > 33 and SongTime <= 33.2 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 33)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 440 + 10*math.sin(math.rad(180/0.2*(SongTime - 33)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33))))
					elseif SongTime > 33.43 and SongTime <= 33.63 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 33.43)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 440 + 10*math.sin(math.rad(180/0.2*(SongTime - 33.43)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33.43))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33.43))))
					elseif SongTime > 33.86 and SongTime <= 34.06 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 33.86)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 440 + 10*math.sin(math.rad(180/0.2*(SongTime - 33.86)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33.86))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 33.86))))
					else
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 440)
						Canon[4].SetVar("Altura", -124)
						Canon[5].SetVar("Altura", -124)
					end
					if SongTime <= 32.97 then
						Boss.sprite.rotation = 15 - 15*math.cos(math.rad(180/0.2*(SongTime - 32.77)))
					elseif SongTime <= 33.2 then
						Boss.sprite.rotation = 30
					elseif SongTime <= 33.4 then
						Boss.sprite.rotation = 15 + 15*math.cos(math.rad(180/0.2*(SongTime - 33.2)))
					elseif SongTime <= 33.63 then
						Boss.sprite.rotation = 0
					elseif SongTime <= 33.83 then
						Boss.sprite.rotation = -15 + 15*math.cos(math.rad(180/0.2*(SongTime - 33.63)))
					elseif SongTime <= 34.07 then
						Boss.sprite.rotation = -30
					elseif not backwards then
						Data1 = nil
						Boss.sprite.rotation = -30
						phases[1] = 54
					end
					if Data1 and SongTime > 33 + 0.43*Data1 and Data1 < 3 then
						if not rango or rango <= 5 then
							shakescreen = 0
							rango = 5
						end
						local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0)
						misil.sprite.color = {1, 32/255, 112/255}
						table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X") + 80*math.sin(math.rad(Boss.sprite.rotation)), Y = Boss.GetVar("Y") - 80*math.cos(math.rad(Boss.sprite.rotation)), Vel = 10, VelRot = 4, Scale = {Initial = 70/480, Increment = 30/480, Time = 10}, Direction = Boss.sprite.rotation + 270, SpawnTime = 33 + 0.43*Data1, NoLag = true, Especiales = 33 + 0.43*Data1})
						Data1 = Data1 + 1
					end
				elseif backwards then
					Data1 = nil
					Boss.sprite.rotation = 0
					phases[1] = 52
				end
			elseif phases[1] == 54 then
				if SongTime > 34.07 and SongTime <= 34.47 then
					Boss.sprite.rotation = -30*math.cos(math.rad(90/0.4*(SongTime - 34.07)))
					Boss.SetVar("Y", 340 + 100*math.cos(math.rad(180/0.4*(SongTime - 34.07))))
				elseif SongTime > 34.47 then
					Boss.sprite.rotation = 0
					Boss.SetVar("Y", 240)
				else
					Boss.sprite.rotation = -30
					Boss.SetVar("Y", 440)
				end
				if SongTime > 34.07 then
					if SongTime <= 34.17 then
						Canon[1].SetVar("Horizontal", -36 + 36*math.sin(math.rad(90/0.1*(SongTime - 34.07))))
						Canon[2].SetVar("Horizontal", 36 - 36*math.sin(math.rad(90/0.1*(SongTime - 34.07))))
						Canon[3].sprite.xscale = 64 - 64*math.sin(math.rad(90/0.1*(SongTime - 34.07)))
						Canon[4].sprite.yscale = 82 - 74*math.sin(math.rad(90/0.1*(SongTime - 34.07)))
						Canon[5].sprite.yscale = math.min(66 - 74*math.sin(math.rad(90/0.1*(SongTime - 34.07))), 0)
					elseif not backwards then
						Canon[1].SetVar("Horizontal", 0)
						Canon[2].SetVar("Horizontal", 0)
						Canon[3].sprite.xscale = 0
						Canon[4].sprite.yscale = 8
						Canon[5].sprite.yscale = 0
						phases[1] = 55
					end
				elseif backwards then
					Canon[1].SetVar("Horizontal", -36)
					Canon[2].SetVar("Horizontal", 36)
					Canon[3].sprite.xscale = 64
					Canon[4].sprite.yscale = 82
					Canon[5].sprite.yscale = 66
					phases[1] = 53
				end
			elseif phases[1] == 55 then
				if SongTime > 34.07 and SongTime <= 34.47 then
					Boss.sprite.rotation = -30*math.cos(math.rad(90/0.4*(SongTime - 34.07)))
					Boss.SetVar("Y", 340 + 100*math.cos(math.rad(180/0.4*(SongTime - 34.07))))
				elseif SongTime > 34.47 then
					Boss.sprite.rotation = 0
					Boss.SetVar("Y", 240)
				else
					Boss.sprite.rotation = -30
					Boss.SetVar("Y", 440)
				end
				if SongTime > 34.27 then
					if SongTime <= 34.47 then
						Canon[1].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Canon[2].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Canon[3].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Canon[4].SetVar("Altura", -124 + 124*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Canon[5].SetVar("Altura", -124 + 124*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Eye1.SetVar("Altura", 10*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
						Eye3.SetVar("Altura", 10*math.sin(math.rad(90/0.2*(SongTime - 34.27))))
					elseif not backwards then
						Canon[1].SetVar("Altura", -45)
						Canon[2].SetVar("Altura", -45)
						Canon[3].SetVar("Altura", -45)
						Canon[4].SetVar("Altura", 0)
						Canon[5].SetVar("Altura", 0)
						Eye1.SetVar("Altura", 10)
						Eye3.SetVar("Altura", 10)
						phases[1] = 56
					end
				elseif backwards then
					Canon[1].SetVar("Altura", -85)
					Canon[2].SetVar("Altura", -85)
					Canon[3].SetVar("Altura", -85)
					Canon[4].SetVar("Altura", -124)
					Canon[5].SetVar("Altura", -124)
					Eye1.SetVar("Altura", 0)
					Eye3.SetVar("Altura", 0)
					phases[1] = 54
				end
			elseif phases[1] == 56 then
				if SongTime > 34.5 then
					Canon[1].sprite.alpha = 0
					Canon[2].sprite.alpha = 0
					if SongTime <= 34.62 then
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.12*(SongTime - 34.5))))/480, (130 + 100*math.sin(math.rad(90/0.12*(SongTime - 34.5))))/480)
						Boss.sprite.rotation = 25*math.sin(math.rad(90/0.12*(SongTime - 34.5)))
						Eye1.SetVar("Horizontal", -30*math.sin(math.rad(90/0.12*(SongTime - 34.5))))
						Eye3.SetVar("Horizontal", 34*math.sin(math.rad(90/0.12*(SongTime - 34.5))))
						Dientes.SetVar("Multiplicador", math.sin(math.rad(90/0.12*(SongTime - 34.5))))
					elseif not backwards then
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 25
						Eye1.SetVar("Horizontal", -30)
						Eye3.SetVar("Horizontal", 34)
						Dientes.SetVar("Multiplicador", 1)
						phases[1] = 57
					end
				elseif backwards then
					Canon[1].sprite.alpha = 1
					Canon[2].sprite.alpha = 1
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					Eye1.SetVar("Horizontal", 0)
					Eye3.SetVar("Horizontal", 0)
					Dientes.SetVar("Multiplicador", 0)
					phases[1] = 55
				end
			elseif phases[1] == 57 then
				if SongTime > 34.72 then
					if SongTime <= 34.82 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 34.72))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 34.72))))/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(90/0.1*(SongTime - 34.72)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 34.82, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 58
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = -25
					phases[1] = 56
				end
			elseif phases[1] == 58 then
				if SongTime > 35.14 and SongTime <= 36.2 then
					Boss.SetVar("X", 420 - 100*math.cos(math.rad(180/1.06*(SongTime - 35.14))))
				elseif SongTime > 36.2 then
					Boss.SetVar("X", 520)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 34.82 then
					if SongTime > 35.24 and not backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 25
						phases[1] = 59
					elseif SongTime > 35.14 and SongTime <= 35.24 then
						Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - 30))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - 30))))/480)
						Boss.sprite.rotation = 25*math.sin(math.rad(90/0.1*(SongTime - 30)))
					elseif SongTime <= 35.14 then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					end
				elseif backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 57
				end
			elseif phases[1] >= 59 and phases[1] <= 60 then
				if SongTime > 35.14 and SongTime <= 36.2 then
					Boss.SetVar("X", 420 - 100*math.cos(math.rad(180/1.06*(SongTime - 35.14))))
				elseif SongTime > 36.2 then
					Boss.SetVar("X", 520)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 35.57 then
					if SongTime > 35.57 + 0.43*(phases[1] - 59) then
						if SongTime <= 35.67 + 0.43*(phases[1] - 59) then
							Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - (35.57 + 0.43*(phases[1] - 59))))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - (35.57 + 0.43*(phases[1] - 59))))))/480)
							Boss.sprite.rotation = 25*math.cos(math.rad(180/0.1*(SongTime - (35.57 + 0.33*(phases[1] - 59)))))
						elseif not backwards then
							Boss.sprite.Scale(130/480, 130/480)
							Boss.sprite.rotation = 25*math.cos(math.rad(180*(phases[1] - 58)))
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(180*(phases[1] - 59)))
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 25
					phases[1] = 58
				end
			elseif phases[1] == 61 then
				if SongTime > 35.14 and SongTime <= 36.2 then
					Boss.SetVar("X", 420 - 100*math.cos(math.rad(180/1.06*(SongTime - 35.14))))
				elseif SongTime > 36.2 then
					Boss.SetVar("X", 520)
				else
					Boss.SetVar("X", 320)
				end
				if SongTime > 36.21 then
					if SongTime <= 36.33 then
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.12*(SongTime - 36.21))))/480, (130 + 100*math.sin(math.rad(90/0.12*(SongTime - 36.21))))/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(180/0.12*(SongTime - 36.21)))
					elseif not backwards then
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = -25
						phases[1] = 62
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 25
					phases[1] = 60
				end
			elseif phases[1] == 62 then
				if SongTime > 36.43 then
					if SongTime <= 36.53 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 36.43))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 36.43))))/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(90/0.1*(SongTime - 36.43)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 36.53, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 63
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = -25
					phases[1] = 61
				end
			elseif phases[1] == 63 then
				if SongTime > 36.86 and SongTime <= 37.92 then
					Boss.SetVar("X", 420 + 100*math.cos(math.rad(180/1.06*(SongTime - 36.86))))
				elseif SongTime > 37.92 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 520)
				end
				if SongTime > 36.53 then
					if SongTime > 36.96 and not backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = -25
						phases[1] = 64
					elseif SongTime > 36.86 and SongTime <= 36.96 then
						Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - 36.86))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - 36.86))))/480)
						Boss.sprite.rotation = -25*math.sin(math.rad(90/0.1*(SongTime - 36.86)))
					elseif SongTime <= 36.86 then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					end
				elseif backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 62
				end
			elseif phases[1] >= 64 and phases[1] <= 65 then
				if SongTime > 36.86 and SongTime <= 37.92 then
					Boss.SetVar("X", 420 + 100*math.cos(math.rad(180/1.06*(SongTime - 36.86))))
				elseif SongTime > 37.92 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 520)
				end
				if SongTime > 37.29 then
					if SongTime > 37.29 + 0.43*(phases[1] - 64) then
						if SongTime <= 37.39 + 0.43*(phases[1] - 64) then
							Boss.sprite.Scale((130 + 30*math.sin(math.rad(180/0.1*(SongTime - (37.29 + 0.43*(phases[1] - 64))))))/480, (130 + 30*math.sin(math.rad(180/0.1*(SongTime - (37.29 + 0.43*(phases[1] - 64))))))/480)
							Boss.sprite.rotation = -25*math.cos(math.rad(180/0.1*(SongTime - (37.29 + 0.33*(phases[1] - 64)))))
						elseif not backwards then
							Boss.sprite.Scale(130/480, 130/480)
							Boss.sprite.rotation = -25*math.cos(math.rad(180*(phases[1] - 63)))
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(180*(phases[1] - 64)))
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = -25
					phases[1] = 63
				end
			elseif phases[1] == 66 then
				if SongTime > 36.86 and SongTime <= 37.92 then
					Boss.SetVar("X", 420 + 100*math.cos(math.rad(180/1.06*(SongTime - 36.86))))
				elseif SongTime > 37.92 then
					Boss.SetVar("X", 320)
				else
					Boss.SetVar("X", 520)
				end
				if SongTime > 37.93 then
					if SongTime <= 38.05 then
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.12*(SongTime - 37.93))))/480, (130 + 100*math.sin(math.rad(90/0.12*(SongTime - 37.93))))/480)
						Boss.sprite.rotation = -25*math.cos(math.rad(180/0.12*(SongTime - 37.93)))
					elseif not backwards then
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 25
						phases[1] = 67
					end
				elseif backwards then
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = -25
					phases[1] = 65
				end
			elseif phases[1] == 67 then
				if SongTime > 38.15 then
					if SongTime <= 38.25 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 38.15))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 38.15))))/480)
						Boss.sprite.rotation = 25*math.cos(math.rad(90/0.1*(SongTime - 38.15)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 38.25, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 68
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = 25
					phases[1] = 66
				end
			elseif phases[1] == 68 then
				if SongTime > 38.25 then
					if not Data1 then
						for i=1,#Canon do
							Canon[i].SetVar("Altura", -45)
							Canon[i].SetVar("Horizontal", 0)
							Canon[i].SetVar("Rot", 0)
						end
						Canon[3].sprite.Scale(64, 28)
						Canon[4].sprite.Scale(36, 82)
						Canon[5].sprite.Scale(20, 66)
						Canon[4].SetVar("Altura", 0)
						Canon[5].SetVar("Altura", 0)
						Data1 = true
					end
					if SongTime > 38.57 then
						if SongTime <= 38.77 then
							Canon[1].sprite.alpha = 0
							Canon[2].sprite.alpha = 0
							Eye1.SetVar("Horizontal", -30*math.cos(math.rad(90/0.2*(SongTime - 38.57))))
							Eye3.SetVar("Horizontal", 34*math.cos(math.rad(90/0.2*(SongTime - 38.57))))
							Dientes.SetVar("Multiplicador", math.cos(math.rad(90/0.2*(SongTime - 38.57))))
						elseif not backwards then
							Canon[1].sprite.alpha = 1
							Canon[2].sprite.alpha = 1
							Eye1.SetVar("Horizontal", 0)
							Eye3.SetVar("Horizontal", 0)
							Dientes.SetVar("Multiplicador", 0)
							phases[1] = 69
							Data1 = nil
						end
					elseif backwards then
						Canon[1].sprite.alpha = 0
						Canon[2].sprite.alpha = 0
						Eye1.SetVar("Horizontal", -30)
						Eye3.SetVar("Horizontal", 34)
						Dientes.SetVar("Multiplicador", 1)
					end
				elseif backwards then
					if Data1 then
						for i=1,#Canon do
							Canon[i].SetVar("Altura", -45)
							Canon[i].SetVar("Horizontal", 0)
							Canon[i].SetVar("Rot", 0)
						end
						Canon[3].sprite.Scale(64, 28)
						Canon[4].sprite.Scale(36, 82)
						Canon[5].sprite.Scale(20, 66)
						Canon[4].SetVar("Altura", 0)
						Canon[5].SetVar("Altura", 0)
						Canon[1].sprite.alpha = 0
						Canon[2].sprite.alpha = 0
					end
					Data1 = nil
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Eye1.SetVar("Horizontal", -30)
					Eye3.SetVar("Horizontal", 34)
					Dientes.SetVar("Multiplicador", 1)
					phases[1] = 67
				end
			elseif phases[1] == 69 then
				if SongTime > 38.77 then
					if SongTime <= 38.87 then
						Canon[1].SetVar("Horizontal", -36*math.sin(math.rad(90/0.1*(SongTime - 38.77))))
						Canon[2].SetVar("Horizontal", 36*math.sin(math.rad(90/0.1*(SongTime - 38.77))))
					elseif not backwards then
						Canon[1].SetVar("Horizontal", -36)
						Canon[2].SetVar("Horizontal", 36)
						phases[1] = 70
					end
				elseif backwards then
					Canon[1].SetVar("Horizontal", 0)
					Canon[2].SetVar("Horizontal", 0)
					phases[1] = 68
				end
			elseif phases[1] == 70 then
				if SongTime > 38.87 then
					if SongTime <= 39.27 then
						Boss.SetVar("Y", 140 + 100*math.cos(math.rad(180/0.4*(SongTime - 38.87))))
						Boss.sprite.rotation = -150*math.sin(math.rad(90/0.4*(SongTime - 38.87)))
					else
						Boss.SetVar("Y", 40)
						Boss.sprite.rotation = -150
					end
					if SongTime <= 38.97 then
						Canon[1].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 38.87))))
						Canon[2].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 38.87))))
						Canon[3].SetVar("Altura", -45 - 40*math.sin(math.rad(90/0.1*(SongTime - 38.87))))
					elseif not backwards then
						Canon[1].SetVar("Altura", -85)
						Canon[2].SetVar("Altura", -85)
						Canon[3].SetVar("Altura", -85)
						phases[1] = 71
					end
				elseif backwards then
					Boss.SetVar("Y", 240)
					Boss.sprite.rotation = 0
					Canon[1].SetVar("Altura", -45)
					Canon[2].SetVar("Altura", -45)
					Canon[3].SetVar("Altura", -45)
					phases[1] = 69
				end
			elseif phases[1] == 71 then
				if SongTime > 38.97 then
					if SongTime <= 39.27 then
						Boss.SetVar("Y", 140 + 100*math.cos(math.rad(180/0.4*(SongTime - 38.87))))
						Boss.sprite.rotation = -150*math.sin(math.rad(90/0.4*(SongTime - 38.87)))
					else
						Boss.SetVar("Y", 40)
						Boss.sprite.rotation = -150
					end
					if SongTime <= 39.07 then
						Canon[4].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 38.97))))
						Canon[5].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 38.97))))
						Canon[4].SetVar("Rot", 0)
						Canon[5].SetVar("Rot", 0)
						Eye1.SetVar("Altura", 10 - 10*math.sin(math.rad(90/0.1*(SongTime - 38.97))))
						Eye3.SetVar("Altura", 10 - 10*math.sin(math.rad(90/0.1*(SongTime - 38.97))))
					elseif SongTime <= 39.27 then
						Canon[4].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 38.97))))
						Canon[5].SetVar("Altura", -167*math.sin(math.rad(90/0.3*(SongTime - 38.97))))
						Canon[4].SetVar("Rot", -45*math.sin(math.rad(90/0.2*(SongTime - 39.07))))
						Canon[5].SetVar("Rot", -45*math.sin(math.rad(90/0.2*(SongTime - 39.07))))
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
					elseif SongTime <= 39.37 then
						Canon[4].SetVar("Altura", -124 - 43*math.cos(math.rad(90/0.1*(SongTime - 39.27))))
						Canon[5].SetVar("Altura", -124 - 43*math.cos(math.rad(90/0.1*(SongTime - 39.27))))
						Canon[4].SetVar("Rot", -45 - 45/0.1*(SongTime - 39.27))
						Canon[5].SetVar("Rot", -45 - 45/0.1*(SongTime - 39.27))
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
					elseif not backwards then
						Data1 = 0
						Canon[4].SetVar("Altura", -124)
						Canon[5].SetVar("Altura", -124)
						Canon[4].SetVar("Rot", -90)
						Canon[5].SetVar("Rot", -90)
						Eye1.SetVar("Altura", 0)
						Eye3.SetVar("Altura", 0)
						phases[1] = 72
					end
				elseif backwards then
					if SongTime <= 38.87 then
						Boss.SetVar("Y", 240)
						Boss.sprite.rotation = 0
					elseif SongTime <= 39.27 then
						Boss.SetVar("Y", 140 + 100*math.cos(math.rad(180/0.4*(SongTime - 38.87))))
						Boss.sprite.rotation = -150*math.sin(math.rad(90/0.4*(SongTime - 38.87)))
					else
						Boss.SetVar("Y", 40)
						Boss.sprite.rotation = -150
					end
					Canon[4].SetVar("Altura", 0)
					Canon[5].SetVar("Altura", 0)
					Canon[4].SetVar("Rot", 0)
					Canon[5].SetVar("Rot", 0)
					Eye1.SetVar("Altura", 10)
					Eye3.SetVar("Altura", 10)
					phases[1] = 70
				end
			elseif phases[1] == 72 then
				if SongTime > 39.47 then
					if SongTime > 39.7 and SongTime <= 39.9 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 39.7)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 40 + 10*math.sin(math.rad(180/0.2*(SongTime - 39.7)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 39.7))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 39.7))))
					elseif SongTime > 40.13 and SongTime <= 40.33 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 40.13)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 40 + 10*math.sin(math.rad(180/0.2*(SongTime - 40.13)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 40.13))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 40.13))))
					elseif SongTime > 40.56 and SongTime <= 40.76 then
						Boss.SetVar("X", 320 - 10*math.sin(math.rad(180/0.2*(SongTime - 40.56)))*math.sin(math.rad(Boss.sprite.rotation)))
						Boss.SetVar("Y", 40 + 10*math.sin(math.rad(180/0.2*(SongTime - 40.56)))*math.cos(math.rad(Boss.sprite.rotation)))
						Canon[4].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 40.56))))
						Canon[5].SetVar("Altura", -124 + 8*math.sin(math.rad(180/0.2*(SongTime - 40.56))))
					else
						Boss.SetVar("X", 320)
						Boss.SetVar("Y", 40)
						Canon[4].SetVar("Altura", -124)
						Canon[5].SetVar("Altura", -124)
					end
					if SongTime <= 39.9 then
						Boss.sprite.rotation = -150
					elseif SongTime <= 40.1 then
						Boss.sprite.rotation = -165 + 15*math.cos(math.rad(180/0.2*(SongTime - 39.9)))
					elseif SongTime <= 40.33 then
						Boss.sprite.rotation = -180
					elseif SongTime <= 40.53 then
						Boss.sprite.rotation = 165 + 15*math.cos(math.rad(180/0.2*(SongTime - 40.33)))
					elseif SongTime <= 40.77 then
						Boss.sprite.rotation = 150
					elseif not backwards then
						Data1 = nil
						Boss.sprite.rotation = 150
						phases[1] = 73
					end
					if Data1 and SongTime > 39.7 + 0.43*Data1 and Data1 < 3 then
						if not rango or rango <= 5 then
							shakescreen = 0
							rango = 5
						end
						local misil = CreateProjectileAbs("Peer Gynt Level/Shoot", 0, 0)
						misil.sprite.rotation = Boss.sprite.rotation + 270
						table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X") + 120*math.sin(math.rad(Boss.sprite.rotation)), Y = Boss.GetVar("Y") - 120*math.cos(math.rad(Boss.sprite.rotation)), Vel = 0, Scale = {Initial = 100/480, Increment = 0/480, Time = 1}, Direction = Boss.sprite.rotation + 270, SpawnTime = 39.7 + 0.43*Data1, LifeTime = 0.5, Desacelerar = {{X = Boss.GetVar("X") + 120*math.sin(math.rad(Boss.sprite.rotation)), Y = Boss.GetVar("Y") - 120*math.cos(math.rad(Boss.sprite.rotation))}, 400, 0}})
						Data1 = Data1 + 1
					end
				elseif backwards then
					Data1 = nil
					Boss.sprite.rotation = -150
					phases[1] = 71
				end
			elseif phases[1] == 73 then
				if SongTime > 40.77 and SongTime <= 41.17 then
					Boss.sprite.rotation = 150*math.cos(math.rad(90/0.4*(SongTime - 40.77)))
					Boss.SetVar("Y", 115 - 75*math.cos(math.rad(180/0.4*(SongTime - 40.77))))
				elseif SongTime > 41.17 then
					Boss.sprite.rotation = 0
					Boss.SetVar("Y", 190)
				else
					Boss.sprite.rotation = 150
					Boss.SetVar("Y", 40)
				end
				if SongTime > 40.77 then
					if SongTime <= 40.87 then
						Canon[1].SetVar("Horizontal", -36 + 36*math.sin(math.rad(90/0.1*(SongTime - 40.77))))
						Canon[2].SetVar("Horizontal", 36 - 36*math.sin(math.rad(90/0.1*(SongTime - 40.77))))
						Canon[3].sprite.xscale = 64 - 64*math.sin(math.rad(90/0.1*(SongTime - 40.77)))
						Canon[4].sprite.yscale = 82 - 74*math.sin(math.rad(90/0.1*(SongTime - 40.77)))
						Canon[5].sprite.yscale = math.min(66 - 74*math.sin(math.rad(90/0.1*(SongTime - 40.77))), 0)
					elseif not backwards then
						Canon[1].SetVar("Horizontal", 0)
						Canon[2].SetVar("Horizontal", 0)
						Canon[3].sprite.xscale = 0
						Canon[4].sprite.yscale = 8
						Canon[5].sprite.yscale = 0
						phases[1] = 74
					end
				elseif backwards then
					Canon[1].SetVar("Horizontal", -36)
					Canon[2].SetVar("Horizontal", 36)
					Canon[3].sprite.xscale = 64
					Canon[4].sprite.yscale = 82
					Canon[5].sprite.yscale = 66
					phases[1] = 72
				end
			elseif phases[1] == 74 then
				if SongTime > 40.77 and SongTime <= 41.17 then
					Boss.sprite.rotation = 150*math.cos(math.rad(90/0.4*(SongTime - 40.77)))
					Boss.SetVar("Y", 115 - 75*math.cos(math.rad(180/0.4*(SongTime - 40.77))))
				elseif SongTime > 41.17 then
					Boss.sprite.rotation = 0
					Boss.SetVar("Y", 190)
				else
					Boss.sprite.rotation = 150
					Boss.SetVar("Y", 40)
				end
				if SongTime > 40.97 then
					if SongTime <= 41.17 then
						Canon[1].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Canon[2].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Canon[3].SetVar("Altura", -85 + 40*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Canon[4].SetVar("Altura", -124 + 124*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Canon[5].SetVar("Altura", -124 + 124*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Eye1.SetVar("Altura", 10*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
						Eye3.SetVar("Altura", 10*math.sin(math.rad(90/0.2*(SongTime - 40.97))))
					elseif not backwards then
						Canon[1].SetVar("Altura", -45)
						Canon[2].SetVar("Altura", -45)
						Canon[3].SetVar("Altura", -45)
						Canon[4].SetVar("Altura", 0)
						Canon[5].SetVar("Altura", 0)
						Eye1.SetVar("Altura", 10)
						Eye3.SetVar("Altura", 10)
						phases[1] = 75
					end
				elseif backwards then
					Canon[1].SetVar("Altura", -85)
					Canon[2].SetVar("Altura", -85)
					Canon[3].SetVar("Altura", -85)
					Canon[4].SetVar("Altura", -124)
					Canon[5].SetVar("Altura", -124)
					Eye1.SetVar("Altura", 0)
					Eye3.SetVar("Altura", 0)
					phases[1] = 73
				end
			elseif phases[1] == 75 then
				if SongTime > 41.17 and SongTime <= 41.47 then
					Boss.sprite.rotation = 10*math.sin(math.rad(360/0.3*(SongTime - 41.17)))
				elseif SongTime > 41.47 then
					Boss.sprite.rotation = 0
				else
					Boss.sprite.rotation = 0
				end
				if SongTime > 41.17 then
					Canon[1].sprite.alpha = 0
					Canon[2].sprite.alpha = 0
					if SongTime <= 41.32 then
						Eye1.SetVar("Horizontal", -30*math.sin(math.rad(90/0.15*(SongTime - 41.17))))
						Eye3.SetVar("Horizontal", 34*math.sin(math.rad(90/0.15*(SongTime - 41.17))))
						Dientes.SetVar("Multiplicador", math.sin(math.rad(90/0.15*(SongTime - 41.17))))
					elseif not backwards then
						for i=1,#Canon do
							Canon[i].SetVar("Remove", true)
						end
						Canon = nil
						Eye1.SetVar("Horizontal", -30)
						Eye3.SetVar("Horizontal", 34)
						Dientes.SetVar("Multiplicador", 1)
						phases[1] = 76
					end
				elseif backwards then
					Canon[1].sprite.alpha = 1
					Canon[2].sprite.alpha = 1
					Eye1.SetVar("Horizontal", 0)
					Eye3.SetVar("Horizontal", 0)
					Dientes.SetVar("Multiplicador", 0)
					phases[1] = 74
				end
			elseif phases[1] == 76 then
				if SongTime > 41.17 and SongTime <= 41.47 then
					Boss.sprite.rotation = 10*math.sin(math.rad(360/0.3*(SongTime - 41.17)))
				elseif SongTime > 41.47 then
					Boss.sprite.rotation = 0
				else
					Boss.sprite.rotation = 0
				end
				if SongTime > 41.47 then
					if SongTime <= 41.57 then
						Boss.SetVar("Y", -90 + 280*math.cos(math.rad(90/0.2*(SongTime - 41.47))))
					elseif not backwards then
						if not rango or rango <= 20 then
							movement = {0, "Down"}
							rango = 20
						end
						table.insert(GeneraMontes, {SpawnTime = 41.57, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
						table.insert(GeneraMontes, {SpawnTime = 41.57, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						Boss.SetVar("Y", -90)
						phases[1] = 77
					end
				elseif backwards then
					Canon = {CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Pixel", 0, 0)}
					for i=1,#Canon do
						Canon[i].SetVar("NoDamage", 1)
						Canon[i].SetVar("SpeedRot", 0)
						Canon[i].SetVar("Altura", -45)
						Canon[i].SetVar("Horizontal", 0)
						Canon[i].SetVar("Rot", 0)
						table.insert(Bullets, Canon[i])
					end
					Canon[1].sprite.color = {1, 32/255, 112/255}
					Canon[2].sprite.color = {1, 32/255, 112/255}
					Canon[3].sprite.color = {0, 0, 0}
					Canon[4].sprite.color = {1, 32/255, 112/255}
					Canon[5].sprite.color = {0, 0, 0}
					Canon[1].sprite.Scale(8, 28)
					Canon[2].sprite.Scale(8, 28)
					Canon[3].sprite.Scale(64, 28)
					Canon[4].sprite.Scale(36, 82)
					Canon[5].sprite.Scale(20, 66)
					Canon[4].SetVar("Altura", 0)
					Canon[5].SetVar("Altura", 0)
					Canon[1].sprite.alpha = 0
					Canon[2].sprite.alpha = 0
					Boss.SetVar("Y", 190)
					phases[1] = 75
				end
			elseif phases[1] == 77 then
				if SongTime > 41.57 then
					if not Data1 then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130/480, 130/480)
						spruait.rotation = -90
						table.insert(Warnings, {Sprite = spruait, X = 287.5, Y = 240, Appear = 41.57, Disappear = 43.49})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(330, 130)
						table.insert(Warnings, {Sprite = spruait, X = 485, Y = 240, Appear = 41.57, Disappear = 43.49})
						Data1 = 0
					elseif SongTime > 42.29 and Data1 == 0 then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(960/480, 1040/480)
						table.insert(Warnings, {Sprite = spruait, X = 582.5, Y = 240, Appear = 42.29, Disappear = 43.29})
						Data1 = 1
					end
					if not Data3 and SongTime <= 43.29 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(960/480, 1040/480)
						table.insert(Warnings, {Sprite = spruait, X = 582.5, Y = 240, Appear = 42.29, Disappear = 43.29})
						Data3 = true
					end
					if not Data4 and SongTime <= 43.49 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130/480, 130/480)
						spruait.rotation = -90
						table.insert(Warnings, {Sprite = spruait, X = 287.5, Y = 240, Appear = 41.57, Disappear = 43.49})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(330, 130)
						table.insert(Warnings, {Sprite = spruait, X = 485, Y = 240, Appear = 41.57, Disappear = 43.49})
						Data4 = true
					end
					if SongTime <= 42.43 then
						Boss.SetVar("Y", -90)
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 43.19 then
						Boss.SetVar("Y", 240)
						if SongTime <= 42.83 then
							Boss.SetVar("X", 730 - 230*math.sin(math.rad(90/0.4*(SongTime - 42.43))))
						else
							Boss.SetVar("X", 500)
						end
						Boss.sprite.Scale(130/480, 130/480)
						if SongTime > 42.85 then
							Boss.sprite.rotation = 360*math.sin(math.rad(90/0.34*(SongTime - 42.85)))
						else
							Boss.sprite.rotation = 10*math.sin(math.rad(360/0.42*(SongTime - 42.43)))
						end
					elseif SongTime <= 43.29 then
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 500 + 80*math.sin(math.rad(90/0.1*(SongTime - 43.19))))
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 43.49 then
						if not Data2 and not backwards then
							if not rango or rango <= 20 then
								movement = {0, "Right"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 43.29, Direction = 0, Y = 240, Stay = 0.4, Lenght = 120, Sentido = 1, Increment = 30, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 43.29, Direction = 0, Y = 240, Stay = 0.4, Lenght = 120, Sentido = -1, Increment = 30, Speed = 0.03})
							Data2 = true
						end
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 580 - 260*math.sin(math.rad(90/0.2*(SongTime - 43.29))))
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.2*(SongTime - 43.29))))/480, (130 + 100*math.sin(math.rad(90/0.2*(SongTime - 43.29))))/480)
						Boss.sprite.rotation = 30*math.sin(math.rad(90/0.2*(SongTime - 43.29)))
					elseif not backwards then
						if not Data2 then
							if not rango or rango <= 20 then
								movement = {0, "Right"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 43.29, Direction = 0, Y = 240, Stay = 0.4, Lenght = 120, Sentido = 1, Increment = 30, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 43.29, Direction = 0, Y = 240, Stay = 0.4, Lenght = 120, Sentido = -1, Increment = 30, Speed = 0.03})
						end
						Data1 = nil
						Data2 = nil
						Data3 = nil
						Data4 = nil
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 30
						phases[1] = 78
					end
				elseif backwards then
					Data1 = nil
					Data2 = nil
					Data3 = nil
					Data4 = nil
					if not rango or rango <= 20 then
						movement = {0, "Down"}
						rango = 20
					end
					Boss.SetVar("Y", -90)
					Boss.SetVar("X", 320)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 76
				end
			elseif phases[1] == 78 then
				if SongTime > 43.71 then
					if SongTime <= 43.81 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 43.71))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 43.71))))/480)
						Boss.sprite.rotation = 30*math.cos(math.rad(90/0.1*(SongTime - 43.71)))
					elseif SongTime <= 44.01 then
						if not Data1 and not backwards then
							table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 43.71, Eliminate = 43.71, NoCegar = true})
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							for i=0,1 do
								local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
								misil.sprite.color = {1, 32/255, 112/255}
								misil.sprite.alpha = 0.2
								misil.SetVar("NoDamage", 100000)
								table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 43.81, LifeTime = 5})
							end
							Data1 = true
						end
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.2*(SongTime - 43.81))))/480, (130 + 100*math.sin(math.rad(90/0.2*(SongTime - 43.81))))/480)
						Boss.sprite.rotation = -30*math.sin(math.rad(90/0.2*(SongTime - 43.81)))
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							for i=0,1 do
								local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
								misil.sprite.color = {1, 32/255, 112/255}
								misil.sprite.alpha = 0.2
								misil.SetVar("NoDamage", 100000)
								table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 43.81, LifeTime = 5})
							end
							table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 43.71, Eliminate = 43.71, NoCegar = true})
						end
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 180
						spruait.Scale(960/480, 1040/480)
						table.insert(Warnings, {Sprite = spruait, X = 57.5, Y = 240, Appear = 44, Disappear = 45})
						Data1 = nil
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = -30
						phases[1] = 79
					end
				elseif backwards then
					Data1 = nil
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = 30
					phases[1] = 77
				end
			elseif phases[1] == 79 then
				if SongTime > 44.14 then
					if SongTime <= 44.24 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 44.14))))/480, (130 + 100*math.cos(math.rad(90/0.2*(SongTime - 44.14))))/480)
						Boss.sprite.rotation = -30*math.cos(math.rad(90/0.1*(SongTime - 44.14)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 44.24, LifeTime = 5})
						end
						table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 44.14, Eliminate = 44.14, NoCegar = true})
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 80
					end
				elseif SongTime <= 44.01 and backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = -30
					phases[1] = 78
				end
			elseif phases[1] == 80 then
				if SongTime > 44.57 then
					if SongTime <= 44.87 then
						Boss.SetVar("X", 320)
						Boss.sprite.rotation = -360*math.sin(math.rad(90/0.3*(SongTime - 44.57)))
					elseif SongTime <= 44.9 then
						Boss.SetVar("X", 320)
						Boss.sprite.rotation = 0
					elseif SongTime <= 45 then
						Boss.SetVar("X", 320 - 410*math.sin(math.rad(90/0.1*(SongTime - 44.9))))
						Boss.sprite.rotation = 0
					elseif not backwards then
						if not rango or rango <= 20 then
							movement = {0, "Left"}
							rango = 20
						end
						table.insert(GeneraMontes, {SpawnTime = 45, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = 1, Increment = 30, Speed = 0.03})
						table.insert(GeneraMontes, {SpawnTime = 45, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = -1, Increment = 30, Speed = 0.03})
						Boss.SetVar("X", -90)
						Boss.sprite.rotation = 0
						phases[1] = 81
					end
				elseif SongTime <= 44.27 and backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.SetVar("X", 320)
					Boss.sprite.rotation = 0
					phases[1] = 79
				else
					Boss.SetVar("X", 320)
					Boss.sprite.rotation = 0
				end
			elseif phases[1] == 81 then
				if SongTime > 46.71 then
					if not Data1 then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130/480, 130/480)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 207.5, Appear = 46.71, Disappear = 48.63})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130, 250)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 365, Appear = 46.71, Disappear = 48.63})
						Data1 = 0
					elseif SongTime > 47.43 and Data1 == 0 then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 90
						spruait.Scale(480/480, 800/480)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 424, Appear = 47.43, Disappear = 48.43})
						Data1 = 1
					end
					if not Data3 and SongTime <= 48.43 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 90
						spruait.Scale(480/480, 800/480)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 424, Appear = 47.43, Disappear = 48.43})
						Data3 = true
					end
					if not Data4 and SongTime <= 48.63 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130/480, 130/480)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 207.5, Appear = 46.71, Disappear = 48.63})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(130, 250)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 365, Appear = 46.71, Disappear = 48.63})
						Data4 = true
					end
					if SongTime <= 47.14 then
						Boss.SetVar("X", -90)
						Boss.SetVar("Y", 240)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 48.11 then
						Boss.SetVar("X", 320)
						if SongTime <= 47.54 then
							Boss.SetVar("Y", 570 - 230*math.sin(math.rad(90/0.4*(SongTime - 47.14))))
						else
							Boss.SetVar("Y", 340)
						end
						Boss.sprite.Scale(130/480, 130/480)
						if SongTime > 47.77 then
							Boss.sprite.rotation = 360*math.sin(math.rad(90/0.34*(SongTime - 47.77)))
						else
							Boss.sprite.rotation = 10*math.sin(math.rad(540/0.63*(SongTime - 47.14)))
						end
					elseif SongTime <= 48.33 then
						Boss.SetVar("Y", 340)
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 48.43 then
						Boss.SetVar("Y", 340 + 80*math.sin(math.rad(90/0.1*(SongTime - 48.33))))
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 48.63 then
						if not Data2 and not backwards then
							if not rango or rango <= 20 then
								movement = {0, "Up"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 48.43, Direction = 1, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 48.43, Direction = 1, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
							Data2 = true
						end
						Boss.SetVar("Y", 420 - 180*math.sin(math.rad(90/0.2*(SongTime - 48.43))))
						Boss.SetVar("X", 320)
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.2*(SongTime - 48.43))))/480, (130 + 100*math.sin(math.rad(90/0.2*(SongTime - 48.43))))/480)
						Boss.sprite.rotation = 30*math.sin(math.rad(90/0.2*(SongTime - 48.43)))
					elseif not backwards then
						if not Data2 then
							if not rango or rango <= 20 then
								movement = {0, "Up"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 48.43, Direction = 1, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 48.43, Direction = 1, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						end
						Data1 = nil
						Data2 = nil
						Data3 = nil
						Data4 = nil
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 30
						phases[1] = 82
					end
				elseif SongTime <= 45 and backwards then
					Data1 = nil
					Data2 = nil
					Data3 = nil
					Data4 = nil
					if not rango or rango <= 20 then
						movement = {0, "Left"}
						rango = 20
					end
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = 180
					spruait.Scale(960/480, 1040/480)
					table.insert(Warnings, {Sprite = spruait, X = 57.5, Y = 240, Appear = 44, Disappear = 45})
					Boss.SetVar("Y", 570)
					Boss.SetVar("X", 320)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 80
				else
					Boss.SetVar("Y", 570)
					Boss.SetVar("X", 320)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
				end
			elseif phases[1] == 82 then
				if SongTime > 48.85 then
					if SongTime <= 48.95 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 48.85))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 48.85))))/480)
						Boss.sprite.rotation = 30*math.cos(math.rad(90/0.1*(SongTime - 48.85)))
					elseif SongTime <= 49.15 then
						if not Data1 and not backwards then
							table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 48.85, Eliminate = 48.85, NoCegar = true})
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							for i=0,1 do
								local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
								misil.sprite.color = {1, 32/255, 112/255}
								misil.sprite.alpha = 0.2
								misil.SetVar("NoDamage", 100000)
								table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 48.95, LifeTime = 5})
							end
							Data1 = true
						end
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.2*(SongTime - 48.95))))/480, (130 + 100*math.sin(math.rad(90/0.2*(SongTime - 48.95))))/480)
						Boss.sprite.rotation = -30*math.sin(math.rad(90/0.2*(SongTime - 48.95)))
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							for i=0,1 do
								local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
								misil.sprite.color = {1, 32/255, 112/255}
								misil.sprite.alpha = 0.2
								misil.SetVar("NoDamage", 100000)
								table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 48.95, LifeTime = 5})
							end
							table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 48.85, Eliminate = 48.85, NoCegar = true})
						end
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = -90
						spruait.Scale(480/480, 800/480)
						table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 49.14, Disappear = 50.14})
						Data1 = nil
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = -30
						phases[1] = 83
					end
				elseif backwards then
					Data1 = nil
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = 30
					phases[1] = 81
				end
			elseif phases[1] == 83 then
				if SongTime > 49.28 then
					if SongTime <= 49.38 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 49.28))))/480, (130 + 100*math.cos(math.rad(90/0.2*(SongTime - 49.28))))/480)
						Boss.sprite.rotation = -30*math.cos(math.rad(90/0.1*(SongTime - 49.28)))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 49.38, LifeTime = 5})
						end
						table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 18, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 49.28, Eliminate = 49.28, NoCegar = true})
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						phases[1] = 84
					end
				elseif SongTime <= 49.15 and backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = -30
					phases[1] = 82
				end
			elseif phases[1] == 84 then
				if SongTime > 49.71 then
					if SongTime <= 50.01 then
						Boss.SetVar("Y", 240)
						Boss.sprite.rotation = -360*math.sin(math.rad(90/0.3*(SongTime - 49.71)))
					elseif SongTime <= 50.04 then
						Boss.SetVar("Y", 240)
						Boss.sprite.rotation = 0
					elseif SongTime <= 50.14 then
						Boss.SetVar("Y", 240 - 330*math.sin(math.rad(90/0.1*(SongTime - 50.04))))
						Boss.sprite.rotation = 0
					elseif not backwards then
						if not rango or rango <= 20 then
							movement = {0, "Down"}
							rango = 20
						end
						table.insert(GeneraMontes, {SpawnTime = 50.14, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
						table.insert(GeneraMontes, {SpawnTime = 50.14, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						Boss.SetVar("Y", -90)
						Boss.sprite.rotation = 0
						phases[1] = 85
					end
				elseif SongTime <= 49.38 and backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					Boss.SetVar("Y", 240)
					Boss.sprite.rotation = 0
					phases[1] = 83
				else
					Boss.SetVar("Y", 240)
					Boss.sprite.rotation = 0
				end
			elseif phases[1] == 85 then
				if SongTime > 51.42 then
					if not Data1 then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 90
						spruait.Scale(130/480, 130/480)
						table.insert(Warnings, {Sprite = spruait, X = 352.5, Y = 240, Appear = 51.42, Disappear = 53.34})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(330, 130)
						table.insert(Warnings, {Sprite = spruait, X = 155, Y = 240, Appear = 51.42, Disappear = 53.34})
						Data1 = 0
					elseif SongTime > 52.14 and Data1 == 0 then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 180
						spruait.Scale(960/480, 1040/480)
						table.insert(Warnings, {Sprite = spruait, X = 57.5, Y = 240, Appear = 52.14, Disappear = 53.14})
						Data1 = 1
					end
					if not Data3 and SongTime <= 53.14 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 180
						spruait.Scale(960/480, 1040/480)
						table.insert(Warnings, {Sprite = spruait, X = 57.5, Y = 240, Appear = 52.14, Disappear = 53.14})
						Data3 = true
					end
					if not Data4 and SongTime <= 53.34 and backwards then
						local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.rotation = 90
						spruait.Scale(130/480, 130/480)
						table.insert(Warnings, {Sprite = spruait, X = 352.5, Y = 240, Appear = 51.42, Disappear = 53.34})
						local spruait = CreateSprite("Pixel","BelowPlayer")
						spruait.color = {1, 32/255, 112/255}
						spruait.Scale(330, 130)
						table.insert(Warnings, {Sprite = spruait, X = 155, Y = 240, Appear = 51.42, Disappear = 53.34})
						Data4 = true
					end
					if SongTime <= 51.85 then
						Boss.SetVar("X", -90)
						Boss.SetVar("Y", 240)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 52.82 then
						Boss.SetVar("Y", 240)
						if SongTime <= 52.25 then
							Boss.SetVar("X", -90 + 230*math.sin(math.rad(90/0.4*(SongTime - 51.85))))
						else
							Boss.SetVar("X", 140)
						end
						Boss.sprite.Scale(130/480, 130/480)
						if SongTime > 52.48 then
							Boss.sprite.rotation = 360*math.sin(math.rad(90/0.34*(SongTime - 52.48)))
						else
							Boss.sprite.rotation = 10*math.sin(math.rad(540/0.63*(SongTime - 51.85)))
						end
					elseif SongTime <= 53.04 then
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 140)
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 53.14 then
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 140 - 80*math.sin(math.rad(90/0.1*(SongTime - 53.04))))
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
					elseif SongTime <= 53.34 then
						if not Data2 and not backwards then
							if not rango or rango <= 20 then
								movement = {0, "Left"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 53.14, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = 1, Increment = 30, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 53.14, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = -1, Increment = 30, Speed = 0.03})
							Data2 = true
						end
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 60 + 260*math.sin(math.rad(90/0.2*(SongTime - 53.14))))
						Boss.sprite.Scale((130 + 100*math.sin(math.rad(90/0.2*(SongTime - 53.14))))/480, (130 + 100*math.sin(math.rad(90/0.2*(SongTime - 53.14))))/480)
						Boss.sprite.rotation = 30*math.sin(math.rad(90/0.2*(SongTime - 53.14)))
					elseif not backwards then
						if not Data2 then
							if not rango or rango <= 20 then
								movement = {0, "Left"}
								rango = 20
							end
							table.insert(GeneraMontes, {SpawnTime = 53.14, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = 1, Increment = 30, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 53.14, Direction = 2, Y = 240, Stay = 0.4, Lenght = 120, Sentido = -1, Increment = 30, Speed = 0.03})
						end
						Data1 = nil
						Data2 = nil
						Data3 = nil
						Data4 = nil
						Boss.SetVar("Y", 240)
						Boss.SetVar("X", 320)
						Boss.sprite.Scale(230/480, 230/480)
						Boss.sprite.rotation = 30
						phases[1] = 86
					end
				elseif SongTime <= 50.14 and backwards then
					Data1 = nil
					Data2 = nil
					Data3 = nil
					Data4 = nil
					if not rango or rango <= 20 then
						movement = {0, "Down"}
						rango = 20
					end
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(480/480, 800/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 49.14, Disappear = 50.14})
					Boss.SetVar("Y", 570)
					Boss.SetVar("X", 320)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
					phases[1] = 84
				else
					Boss.SetVar("Y", 570)
					Boss.SetVar("X", 320)
					Boss.sprite.Scale(130/480, 130/480)
					Boss.sprite.rotation = 0
				end
			elseif phases[1] == 86 then
				if SongTime > 53.56 then
					if SongTime <= 53.66 then
						Boss.sprite.Scale((130 + 100*math.cos(math.rad(90/0.1*(SongTime - 53.56))))/480, (130 + 100*math.cos(math.rad(90/0.1*(SongTime - 53.56))))/480)
						Boss.sprite.rotation = 30*math.cos(math.rad(90/0.1*(SongTime - 53.56)))
					elseif not backwards then
						table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 36, Vel = 5, ScaleLimit = 40, PX = 320, PY = 240, X = 0, Y = 0, Stay = 0, Appear = 53.56, Eliminate = 53.56, NoCegar = true})
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						for i=0,1 do
							local misil = CreateProjectileAbs("JS&B Library Sprites/Hole", -100, -100, "BelowPlayer")
							misil.sprite.color = {1, 32/255, 112/255}
							misil.sprite.alpha = 0.2
							misil.SetVar("NoDamage", 100000)
							table.insert(Movement, {Bullet = misil, X = Boss.GetVar("X"), Y = Boss.GetVar("Y"), Vel = 0, Scale = {Initial = 130*i/480, Increment = 1800/480, Time = 40}, Direction = 0, SpawnTime = 53.66, LifeTime = 5})
						end
						Boss.sprite.Scale(130/480, 130/480)
						Boss.sprite.rotation = 0
						desenfoque = {53.66, 67.5}
						rangoD = 10
						phases[1] = 87
					end
				elseif backwards then
					Boss.sprite.Scale(230/480, 230/480)
					Boss.sprite.rotation = 30
					phases[1] = 85
				end
			elseif phases[1] == 87 then
				if SongTime > 53.66 then
					if SongTime <= 54.1 then
						if SongTime <= 53.76 then
							BG.color = {math.cos(math.rad(90/0.1*(SongTime - 53.66)))/8, 32*math.cos(math.rad(90/0.1*(SongTime - 53.66)))/255/8, 112*math.cos(math.rad(90/0.1*(SongTime - 53.66)))/255/8}
						else
							BG.color = {0,0,0}
						end
						Boss.SetVar("Y", 240)
					elseif SongTime <= 55.27 then
						BG.color = {0,0,0}
						Boss.SetVar("Y", 570 - 330*math.cos(math.rad(90/1.17*(SongTime - 54.1))))
					elseif not backwards then
						BG.color = {0,0,0}
						Boss.SetVar("Y", 570)
						phases[1] = 88
					end
				elseif backwards then
					BG.color = {1/8, 32/255/8, 112/255/8}
					desenfoque = nil
					rangoD = nil
					Boss.SetVar("Y", 240)
					phases[1] = 86
				end
			elseif phases[1] == 88 then
				if not Dorito1 then
					Dorito1 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito", 0, 0)
					Dorito1.SetVar("NoDamage", 1)
					Dorito1.SetVar("SpeedRot", 0)
					Dorito1.SetVar("Horizontal", 0)
					Dorito1.SetVar("Altura", 104)
					Dorito1.SetVar("X", 320)
					Dorito1.SetVar("Y", 700)
					Dorito1.sprite.Scale(180/480, 180/480)
					Dorito1.sprite.rotation = 180
					table.insert(Bullets, Dorito1)
				end
				if SongTime > 55.27 then
					if SongTime <= 57.27 then
						Dorito1.SetVar("Y", 700 - 420*math.sin(math.rad(90/2*(SongTime - 55.27))))
					elseif not backwards then
						Dorito1.SetVar("Y", 280)
						phases[1] = 89
					end
				elseif backwards then
					Dorito1.SetVar("Remove", true)
					Dorito1 = nil
					phases[1] = 87
				end
			elseif phases[1] == 89 then
				if not Dorito2 then
					Dorito2 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito2.SetVar("NoDamage", 100000000000)
					Dorito2.SetVar("SpeedRot", 1)
					Dorito2.SetVar("X", 160)
					Dorito2.SetVar("Y", 700)
					Dorito2.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito2)
				end
				if not Dorito3 then
					Dorito3 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito3.SetVar("NoDamage", 100000000000)
					Dorito3.SetVar("SpeedRot", -1)
					Dorito3.SetVar("X", 480)
					Dorito3.SetVar("Y", 700)
					Dorito3.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito3)
				end
				if SongTime > 57.42 then
					if SongTime <= 60.02 then
						Dorito1.sprite.Scale((140 + 40*math.cos(math.rad(180/2.6*(SongTime - 57.42))))/480, (140 + 40*math.cos(math.rad(180/2.6*(SongTime - 57.42))))/480)
						Dorito1.SetVar("Y", 280 + 100*math.sin(math.rad(90/2.6*(SongTime - 57.42))))
						Dorito2.SetVar("Y", 700 - 580*math.sin(math.rad(90/2.6*(SongTime - 57.42))))
						Dorito3.SetVar("Y", 700 - 580*math.sin(math.rad(90/2.6*(SongTime - 57.42))))
					elseif not backwards then
						Dorito1.sprite.Scale(100/480, 100/480)
						Dorito1.SetVar("Y", 380)
						Dorito2.SetVar("Y", 120)
						Dorito3.SetVar("Y", 120)
						phases[1] = 90
					end
				elseif backwards then
					Dorito1.sprite.Scale(180/480, 180/480)
					Dorito2.SetVar("Remove", true)
					Dorito3.SetVar("Remove", true)
					Dorito1.SetVar("Y", 280)
					Dorito2 = nil
					Dorito3 = nil
					phases[1] = 88
				end
			elseif phases[1] == 90 then
				if SongTime > 60.02 then
					if SongTime <= 61.72 then
						Dorito2.SetVar("X", -100 + 260*math.cos(math.rad(90/1.7*(SongTime - 60.02))))
						Dorito3.SetVar("X", 740 - 260*math.cos(math.rad(90/1.7*(SongTime - 60.02))))
						Dorito2.SetVar("Y", -100 + 220*math.cos(math.rad(90/1.7*(SongTime - 60.02))))
						Dorito3.SetVar("Y", -100 + 220*math.cos(math.rad(90/1.7*(SongTime - 60.02))))
					elseif not backwards then
						Dorito2.SetVar("Remove", true)
						Dorito3.SetVar("Remove", true)
						Dorito2.SetVar("X", -100)
						Dorito3.SetVar("X", 740)
						Dorito2.SetVar("Y", -100)
						Dorito3.SetVar("Y", -100)
						Dorito2 = nil
						Dorito3 = nil
						phases[1] = 91
					end
				elseif backwards then
					Dorito2.SetVar("X", 160)
					Dorito3.SetVar("X", 480)
					Dorito2.SetVar("Y", 120)
					Dorito3.SetVar("Y", 120)
					phases[1] = 89
				end
			elseif phases[1] == 91 then
				if SongTime > 62.14 then
					if SongTime <= 68.57 then
						Dorito1.sprite.rotation = 180 - 720/6.43*(SongTime - 62.14)
						if SongTime > 66.57 then
							Dorito1.SetVar("Y", 330 + 50*math.cos(math.rad(180/2*(SongTime - 66.57))))
							Boss.SetVar("Y", 20 - 120*math.cos(math.rad(180/2*(SongTime - 66.57))))
						else
							Boss.SetVar("Y", -100)
							Dorito1.SetVar("Y", 380)
						end
					elseif not backwards then
						Dorito1.sprite.rotation = 180
						Dorito1.SetVar("Y", 280)
						Boss.SetVar("Y", 140)
						phases[1] = 92
					end
				elseif backwards then
					Dorito2 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito2.SetVar("NoDamage", 100000000000)
					Dorito2.SetVar("SpeedRot", 1)
					Dorito2.SetVar("X", 160)
					Dorito2.SetVar("Y", 700)
					Dorito2.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito2)
					Dorito3 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito3.SetVar("NoDamage", 100000000000)
					Dorito3.SetVar("SpeedRot", -1)
					Dorito3.SetVar("X", 480)
					Dorito3.SetVar("Y", 700)
					Dorito3.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito3)
					Boss.SetVar("Y", 700)
					Dorito1.SetVar("Y", 380)
					Dorito1.sprite.rotation = 180
					phases[1] = 90
				end
			elseif phases[1] == 92 then
				if SongTime > 68.69 then
					if SongTime <= 68.89 then
						Dorito1.SetVar("Y", 290 - 10*math.cos(math.rad(180/0.2*(SongTime - 68.69))))
					elseif SongTime <= 68.99 then
						Dorito1.SetVar("Y", 240 + 60*math.cos(math.rad(90/0.1*(SongTime - 68.89))))
					elseif not backwards then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						Dorito1.sprite.Set("Peer Gynt Level/Poderoso Dorito Metido")
						Dorito1.SetVar("Y", 240)
						Boss.sprite.Set("Peer Gynt Level/Boss3")
						Crack = CreateProjectileAbs("Peer Gynt Level/Crack", 0, 0)
						Crack.sprite.color = {1, 32/255, 112/255}
						Crack.SetVar("NoDamage", 1)
						Crack.SetVar("SpeedRot", 0)
						Crack.SetVar("Altura", 40)
						Crack.SetVar("Horizontal", 0)
						table.insert(Bullets, Crack)
						phases[1] = 93
					end
				elseif backwards then
					Dorito1.SetVar("Y", 280)
					phases[1] = 91
				end
			elseif phases[1] == 93 then
				if SongTime > 68.99 then
					if SongTime <= 69.09 then
						Boss.SetVar("Y", 140 - 60*math.sin(math.rad(90/0.1*(SongTime - 68.99))))
						BG.color = {math.sin(math.rad(90/0.1*(SongTime - 68.99)))/8, 32*math.sin(math.rad(90/0.1*(SongTime - 68.99)))/255/8, 112*math.sin(math.rad(90/0.1*(SongTime - 68.99)))/255/8}
					elseif not backwards then
						Boss.SetVar("Y", 80)
						BG.color = {1/8, 32/255/8, 112/255/8}
						phases[1] = 94
					end
				elseif backwards then
					if not rango or rango <= 10 then
						shakescreen = 0
						rango = 10
					end
					BG.color = {0, 0, 0}
					Dorito1.sprite.Set("Peer Gynt Level/Poderoso Dorito")
					Boss.SetVar("Y", 140)
					Boss.sprite.Set("Peer Gynt Level/Boss2")
					Crack.SetVar("Remove", true)
					Crack = nil
					phases[1] = 92
				end
			elseif phases[1] == 94 then
				if SongTime > 69.09 then
					if not CirclesE then
						CirclesE = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)}
						for i=1,2 do
							CirclesE[i].SetVar("NoDamage", 1)
							CirclesE[i].SetVar("SpeedRot", 0)
							table.insert(Bullets, CirclesE[i])
						end
						CirclesE[1].SetVar("Minus", 50)
						CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
						CirclesE[1].sprite.color = {1, 32/255, 112/255}
						CirclesE[2].sprite.color = {1, 100/255, 175/255}
					end
					if SongTime <= 70.71 then
						Boss.SetVar("Y", 160 - 80*math.cos(math.rad(180/1.62*(SongTime - 69.09))))
						if SongTime > 69.39 and SongTime <= 69.79 then
							Eye2.sprite.color = {(255 - 212/0.4*(SongTime - 69.39))/255, (255 - 250/0.4*(SongTime - 69.39))/255, (255 - 236/0.4*(SongTime - 69.39))/255}
							Eye4.sprite.color = {(255 - 212/0.4*(SongTime - 69.39))/255, (255 - 250/0.4*(SongTime - 69.39))/255, (255 - 236/0.4*(SongTime - 69.39))/255}
							Eye1.SetVar("Scale", 50)
							Eye1.SetVar("Altura", 10)
							Eye1.SetVar("Horizontal", -30)
						elseif SongTime <= 69.39 then
							Eye2.sprite.color = {1,1,1}
							Eye4.sprite.color = {1,1,1}
							Eye1.SetVar("Scale", 50)
							Eye1.SetVar("Altura", 10)
							Eye1.SetVar("Horizontal", -30)
						else
							if SongTime <= 70.29 then
								Eye1.SetVar("Scale", 50 + 20*math.sin(math.rad(90/0.5*(SongTime - 69.79))))
								Eye1.SetVar("Altura", 10)
								Eye1.SetVar("Horizontal", -30)
							else
								Eye1.SetVar("Scale", 70)
								if timer%2 == 0 then
									Eye1.SetVar("Altura", 10 + math.random(2, -2))
									Eye1.SetVar("Horizontal", -30 + math.random(2, -2))
								end
							end
							Eye2.sprite.color = {43/255, 5/255, 19/255}
							Eye4.sprite.color = {43/255, 5/255, 19/255}
						end
					elseif not backwards then
						if not rango or rango <= 5 then
							shakescreen = 0
							rango = 5
						end
						Eye1.SetVar("Scale", 70)
						Eye1.SetVar("Altura", 10)
						Eye1.SetVar("Horizontal", -30)
						Eye2.sprite.color = {0,0,0}
						Eye4.sprite.color = {43/255, 5/255, 19/255}
						Boss.SetVar("Y", 240)
						phases[1] = 95
					end
					CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
					CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
					CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
				elseif backwards then
					if CirclesE then
						for i=1,2 do
							CirclesE[i].SetVar("Remove", true)
						end
					end
					CirclesE = nil
					Boss.SetVar("Y", 80)
					phases[1] = 93
				end
			elseif phases[1] == 95 then
				if SongTime > 70.71 then
					if not Covers then
						Covers = {CreateProjectileAbs("Peer Gynt Level/CircleE", 0, 0), CreateProjectileAbs("Peer Gynt Level/CircleE", 0, 0)}
						for i=1,2 do
							Covers[i].SetVar("NoDamage", 1)
							Covers[i].SetVar("SpeedRot", 0)
							Covers[i].sprite.color = {43/255, 5/255, 19/255}
							Covers[i].SetVar("Altura", 10)
							Covers[i].SetVar("Scale", 0)
							table.insert(Bullets, Covers[i])
						end
						Covers[1].SetVar("Horizontal", -30)
						Covers[2].SetVar("Horizontal", 30)
					end
					if not Tears then
						Tears = {CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Peer Gynt Level/Semicircle", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Peer Gynt Level/Semicircle", 0, 0), CreateProjectileAbs("Pixel", 0, 0), CreateProjectileAbs("Peer Gynt Level/Semicircle", 0, 0)}
						for i=1,6 do
							Tears[i].SetVar("NoDamage", 1)
							Tears[i].SetVar("SpeedRot", 0)
							Tears[i].SetVar("XScale", 6)
							Tears[i].SetVar("YScale", 6)
							Tears[i].SetVar("Altura", 10)
							Tears[i].SetVar("Horizontal", -30)
							Tears[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, Tears[i])
						end
						Tears[1].SetVar("XScale", 6*480)
						Tears[3].SetVar("XScale", 6*480)
						Tears[5].SetVar("XScale", 6*480)
						Tears[1].SetVar("Horizontal", -48)
						Tears[2].SetVar("Horizontal", -48)
						Tears[3].SetVar("Horizontal", -32)
						Tears[4].SetVar("Horizontal", -32)
						Tears[5].SetVar("Horizontal", -8)
						Tears[6].SetVar("Horizontal", -8)
					end
					CirclesE[1].sprite.color = {1,1,1}
					CirclesE[2].sprite.alpha = 0
					if SongTime <= 70.81 then
						Eye1.SetVar("Scale", 70 - 20*math.sin(math.rad(90/0.1*(SongTime - 70.71))))
						Eye1.SetVar("Altura", 10)
						Covers[1].SetVar("Scale", 0)
						Covers[1].SetVar("Altura", 10)
						Covers[1].SetVar("Horizontal", -30)
						CirclesE[1].SetVar("Minus", 50 - 80*math.sin(math.rad(90/0.2*(SongTime - 70.71))))
						CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
						Tears[1].SetVar("YScale", 0)
						Tears[3].SetVar("YScale", 0)
						Tears[5].SetVar("YScale", 0)
						Tears[1].SetVar("Altura", 10)
						Tears[2].SetVar("Altura", 10)
						Tears[3].SetVar("Altura", 10)
						Tears[4].SetVar("Altura", 10)
						Tears[5].SetVar("Altura", 10)
						Tears[6].SetVar("Altura", 10)
					elseif SongTime <= 70.91 then
						Eye1.SetVar("Scale", 50)
						Eye1.SetVar("Altura", 10 - 10/0.5*(SongTime - 70.81))
						Covers[1].SetVar("Scale", 80*math.sin(math.rad(90/0.1*(SongTime - 70.81))))
						Covers[1].SetVar("Altura", 10 - 27*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Covers[1].SetVar("Horizontal", -30 + 12*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						CirclesE[1].SetVar("Minus", 50 - 80*math.sin(math.rad(90/0.2*(SongTime - 70.71))))
						CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
						CirclesE[1].sprite.alpha = 1 - math.sin(math.rad(90/0.1*(SongTime - 70.81)))
						Tears[1].SetVar("YScale", 30*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[3].SetVar("YScale", 30*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[5].SetVar("YScale", 15*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[1].SetVar("Altura", 10 - 18*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[2].SetVar("Altura", 10 - 34*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[3].SetVar("Altura", 10 - 30*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[4].SetVar("Altura", 10 - 46*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[5].SetVar("Altura", 10 - 8*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[6].SetVar("Altura", 10 - 16.5*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
					elseif SongTime <= 71.31 then
						CirclesE[1].sprite.alpha = 0
						Eye1.SetVar("Altura", 10 - 10/0.5*(SongTime - 70.81))
						Covers[1].SetVar("Scale", 80)
						Covers[1].SetVar("Altura", 10 - 27*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Covers[1].SetVar("Horizontal", -30 + 12*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[1].SetVar("YScale", 30*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[3].SetVar("YScale", 30*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[5].SetVar("YScale", 15*480*math.sin(math.rad(90/0.5*(SongTime - 70.81))))
						Tears[1].SetVar("Altura", 10 - 18*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[2].SetVar("Altura", 10 - 34*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[3].SetVar("Altura", 10 - 30*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[4].SetVar("Altura", 10 - 46*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[5].SetVar("Altura", 10 - 8*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
						Tears[6].SetVar("Altura", 10 - 16.5*math.sin(math.rad(90/0.5*(SongTime - 70.81))) - 10/0.5*(SongTime - 70.81))
					elseif not backwards then
						Eye1.SetVar("Scale", 50)
						Eye1.SetVar("Altura", 0)
						Covers[1].SetVar("Scale", 80)
						Covers[1].SetVar("Altura", -17)
						Covers[1].SetVar("Horizontal", -18)
						CirclesE[1].sprite.color = {1, 32/255, 112/255}
						CirclesE[1].sprite.alpha = 1
						CirclesE[2].sprite.alpha = 1
						CirclesE[1].SetVar("Scale", Eye3.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye3.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye3.GetVar("Horizontal"))
						CirclesE[1].SetVar("Minus", 36)
						Tears[1].SetVar("YScale", 30*480)
						Tears[3].SetVar("YScale", 30*480)
						Tears[5].SetVar("YScale", 15*480)
						Tears[1].SetVar("Altura", -18)
						Tears[2].SetVar("Altura", -34)
						Tears[3].SetVar("Altura", -30)
						Tears[4].SetVar("Altura", -46)
						Tears[5].SetVar("Altura", -8)
						Tears[6].SetVar("Altura", -16.5)
						phases[1] = 96
					end
				elseif backwards then
					if not rango or rango <= 5 then
						shakescreen = 0
						rango = 5
					end
					CirclesE[1].sprite.color = {1, 32/255, 112/255}
					CirclesE[2].sprite.alpha = 1
					CirclesE[1].SetVar("Minus", 50)
					CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
					CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
					CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
					if Covers then
						Covers[1].SetVar("Remove", true)
						Covers[2].SetVar("Remove", true)
					end
					if Tears then
						for i=1,#Tears do
							Tears[i].SetVar("Remove", true)
						end
					end
					Covers = nil
					Tears = nil
					Eye1.SetVar("Scale", 70)
					Eye1.SetVar("Altura", 10)
					Eye2.sprite.color = {43/255, 5/255, 19/255}
					phases[1] = 94
				end
			elseif phases[1] == 96 then
				if SongTime > 71.31 then
					if SongTime <= 72.42 then
						if SongTime <= 71.81 then
							Eye3.SetVar("Scale", 36 + 20*math.sin(math.rad(90/0.5*(SongTime - 71.31))))
							Eye3.SetVar("Altura", 10)
							Eye3.SetVar("Horizontal", 34)
						else
							Eye3.SetVar("Scale", 56)
							if timer%2 == 0 then
								Eye3.SetVar("Altura", 10 + math.random(2, -2))
								Eye3.SetVar("Horizontal", 34 + math.random(2, -2))
							end
						end
					elseif not backwards then
						if not rango or rango <= 5 then
							shakescreen = 0
							rango = 5
						end
						Eye4.sprite.color = {0,0,0}
						Eye3.SetVar("Scale", 56)
						Eye3.SetVar("Altura", 10)
						Eye3.SetVar("Horizontal", 34)
						phases[1] = 97
					end
					CirclesE[1].SetVar("Scale", Eye3.GetVar("Scale"))
					CirclesE[1].SetVar("Altura", Eye3.GetVar("Altura"))
					CirclesE[1].SetVar("Horizontal", Eye3.GetVar("Horizontal"))
				elseif backwards then
					Eye3.SetVar("Scale", 36)
					Eye3.SetVar("Altura", 10)
					Eye3.SetVar("Horizontal", 34)
					CirclesE[1].SetVar("Scale", Eye3.GetVar("Scale"))
					phases[1] = 95
				end
			elseif phases[1] == 97 then
				if SongTime > 72.42 then
					if not CirclesE then
						CirclesE = {CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)}
						for i=1,2 do
							CirclesE[i].SetVar("NoDamage", 1)
							CirclesE[i].SetVar("SpeedRot", 0)
							table.insert(Bullets, CirclesE[i])
						end
						CirclesE[1].SetVar("Minus", 50)
						CirclesE[1].SetVar("Scale", Eye1.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye1.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye1.GetVar("Horizontal"))
						CirclesE[1].sprite.color = {1, 32/255, 112/255}
						CirclesE[2].sprite.color = {1, 100/255, 175/255}
					end
					if #Tears <= 6 then
						for i=1,3 do
							local spruait = CreateProjectileAbs("Pixel", 0, 0)
							spruait.SetVar("NoDamage", 1)
							spruait.SetVar("SpeedRot", 0)
							spruait.SetVar("XScale", 4*480)
							spruait.SetVar("YScale", 0)
							spruait.SetVar("Altura", 10)
							spruait.SetVar("Horizontal", 34)
							spruait.sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, spruait)
							table.insert(Tears, spruait)
							local spruait = CreateProjectileAbs("Peer Gynt Level/Semicircle", 0, 0)
							spruait.SetVar("NoDamage", 1)
							spruait.SetVar("SpeedRot", 0)
							spruait.SetVar("XScale", 4)
							spruait.SetVar("YScale", 4)
							spruait.SetVar("Altura", 10)
							spruait.SetVar("Horizontal", 34)
							spruait.sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, spruait)
							table.insert(Tears, spruait)
						end
						Tears[7].SetVar("Horizontal", 20)
						Tears[8].SetVar("Horizontal", 20)
						Tears[9].SetVar("Horizontal", 32)
						Tears[10].SetVar("Horizontal", 32)
						Tears[11].SetVar("Horizontal", 50)
						Tears[12].SetVar("Horizontal", 50)
					end
					CirclesE[1].sprite.color = {1,1,1}
					CirclesE[2].sprite.alpha = 0
					if SongTime <= 72.52 then
						Eye3.SetVar("Scale", 56 - 20*math.sin(math.rad(90/0.1*(SongTime - 72.42))))
						Eye3.SetVar("Altura", 10)
						Covers[2].SetVar("Scale", 0)
						Covers[2].SetVar("Altura", 10)
						Covers[2].SetVar("Horizontal", 30)
						CirclesE[1].SetVar("Minus", 36 - 66*math.sin(math.rad(90/0.2*(SongTime - 72.42))))
						CirclesE[1].SetVar("Scale", Eye3.GetVar("Scale"))
						CirclesE[1].SetVar("Altura", Eye3.GetVar("Altura"))
						CirclesE[1].SetVar("Horizontal", Eye3.GetVar("Horizontal"))
						CirclesE[1].sprite.alpha = 1
						Tears[7].SetVar("YScale", 0)
						Tears[9].SetVar("YScale", 0)
						Tears[11].SetVar("YScale", 0)
						Tears[7].SetVar("Altura", 10)
						Tears[8].SetVar("Altura", 10)
						Tears[9].SetVar("Altura", 10)
						Tears[10].SetVar("Altura", 10)
						Tears[11].SetVar("Altura", 10)
						Tears[12].SetVar("Altura", 10)
					elseif SongTime <= 73.02 then
						if SongTime <= 72.62 then
							Covers[2].SetVar("Scale", 100*math.sin(math.rad(90/0.1*(SongTime - 72.52))))
							CirclesE[1].sprite.alpha = 1 - math.sin(math.rad(90/0.1*(SongTime - 72.52)))
							CirclesE[1].SetVar("Minus", 36 - 66*math.sin(math.rad(90/0.2*(SongTime - 72.42))))
						else
							Covers[2].SetVar("Scale", 100)
							CirclesE[1].sprite.alpha = 0
						end
						Covers[2].SetVar("Altura", 10 - 23*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Covers[2].SetVar("Horizontal", 30 - 20*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Eye3.SetVar("Scale", 36)
						Eye3.SetVar("Altura", 10 - 17/0.5*(SongTime - 72.52))
						Tears[7].SetVar("YScale", 20*480*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[9].SetVar("YScale", 20*480*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[11].SetVar("YScale", 10*480*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[7].SetVar("Altura", 10 - 30*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[8].SetVar("Altura", 10 - 41*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[9].SetVar("Altura", 10 - 42*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[10].SetVar("Altura", 10 - 53*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[11].SetVar("Altura", 10 - 22.5*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
						Tears[12].SetVar("Altura", 10 - 28.5*math.sin(math.rad(90/0.5*(SongTime - 72.52))))
					elseif not backwards then
						if CirclesE then
							CirclesE[1].SetVar("Remove", true)
							CirclesE[2].SetVar("Remove", true)
						end
						CirclesE = nil
						Covers[2].SetVar("Scale", 100)
						Covers[2].SetVar("Altura", -13)
						Covers[2].SetVar("Horizontal", 10)
						Eye3.SetVar("Scale", 36)
						Eye3.SetVar("Altura", -7)
						Tears[7].SetVar("YScale", 20*480)
						Tears[9].SetVar("YScale", 20*480)
						Tears[11].SetVar("YScale", 10*480)
						Tears[7].SetVar("Altura", -20)
						Tears[8].SetVar("Altura", -31)
						Tears[9].SetVar("Altura", -32)
						Tears[10].SetVar("Altura", -43)
						Tears[11].SetVar("Altura", -12.5)
						Tears[12].SetVar("Altura", -18.5)
						phases[1] = 98
					end
				elseif backwards then
					if not rango or rango <= 5 then
						shakescreen = 0
						rango = 5
					end
					if Tears > 6 then
						for i=7,#Tears do
							Tears[i - tableaux].SetVar("Remove", true)
							table.remove(Tears, i - tableaux)
							tableaux = tableaux + 1
						end
						tableaux = 0
					end
					Covers[2].SetVar("Scale", 0)
					Covers[2].SetVar("Altura", 10)
					Covers[2].SetVar("Horizontal", 34)
					Eye3.SetVar("Altura", 10)
					CirclesE[1].sprite.color = {1, 32/255, 112/255}
					CirclesE[2].sprite.alpha = 1
					Eye4.sprite.color = {43/255, 5/255, 19/255}
					phases[1] = 96
				end
			elseif phases[1] == 98 then
				if SongTime > 74.14 then
					if not Anim then
						Anim = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
						Anim.SetVar("NoDamage", 10000000)
						Anim.SetVar("SpeedRot", -3)
						Anim.SetVar("X", 320)
						Anim.SetVar("Y", 240)
						Anim.sprite.color = {1, 32/255, 112/255}
						Anim.sprite.Scale(200/310, 200/310)
						Anim.sprite.alpha = 0
						table.insert(Bullets, Anim)
					end
					Boss.sprite.Set("Peer Gynt Level/Boss4")
					if SongTime <= 74.54 then
						Boss.sprite.Scale((130 + 70*math.sin(math.rad(90/0.4*(SongTime - 74.14))))/480, (130 + 70*math.sin(math.rad(90/0.4*(SongTime - 74.14))))/480)
						Anim.sprite.alpha = math.sin(math.rad(180/0.4*(SongTime - 74.14)))
					elseif not backwards then
						Boss.sprite.Scale(200/480, 200/480)
						Anim.SetVar("Remove", true)
						Anim = nil
						phases[1] = 99
					end
				elseif backwards then
					Boss.sprite.Set("Peer Gynt Level/Boss3")
					Boss.sprite.Scale(130/480, 130/480)
					Anim.SetVar("Remove", true)
					Anim = nil
					phases[1] = 97
				end
			elseif phases[1] == 99 then
				if SongTime > 80.94 then
					if SongTime <= 82.29 then
						Boss.SetVar("Y", 340 - 100*math.cos(math.rad(180/1.35*(SongTime - 80.94))))
					elseif not backwards then
						Boss.SetVar("Y", 440)
						desenfoque[3] = true
						phases[1] = 100
					end
				elseif backwards then
					Boss.SetVar("Y", 240)
					phases[1] = 98
				end
			elseif phases[1] == 100 then
				if SongTime > 82.29 then
					if SongTime <= 88.29 then
						Boss.SetVar("Y", 440 - 20*math.sin(math.rad(90/1*(SongTime - 82.29))))
						Boss.SetVar("X", 320 - 20*math.sin(math.rad(90/1.5*(SongTime - 82.29))))
					elseif not backwards then
						Boss.SetVar("Y", 440)
						Boss.SetVar("X", 320)
						phases[1] = 101
					end
				elseif backwards then
					Boss.SetVar("Y", 440)
					Boss.SetVar("X", 320)
					phases[1] = 99
				end
			elseif phases[1] == 101 then
				if SongTime > 88.29 then
					if SongTime <= 90.29 then
						Boss.SetVar("Y", 540 - 100*math.cos(math.rad(180/2*(SongTime - 88.29))))
					elseif not backwards then
						Boss.SetVar("Y", 640)
						phases[1] = 102
					end
				elseif backwards then
					Boss.SetVar("Y", 440)
					phases[1] = 100
				end
			elseif phases[1] == 102 then
				if SongTime > 91.42 then
					if not Head then
						Head = CreateProjectileAbs("Peer Gynt Level/Boss5", 0, 0)
						Jaw = CreateProjectileAbs("Peer Gynt Level/Boss6", 0, 0)
						Eyes = CreateProjectileAbs("Peer Gynt Level/Eye3", 0, 0)
						Head.SetVar("NoDamage", 1)
						Jaw.SetVar("NoDamage", 1)
						Eyes.SetVar("NoDamage", 1)
						Head.SetVar("SpeedRot", 0)
						Jaw.SetVar("SpeedRot", 0)
						Eyes.SetVar("SpeedRot", 0)
						Head.SetVar("PX", 320)
						Head.SetVar("PY", 700)
						Jaw.SetVar("Altura", 60)
						Head.SetVar("Absoluto", true)
						Jaw.SetVar("Absoluto", true)
						Eyes.SetVar("Absoluto", true)
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.color = {1, 32/255, 112/255}
						table.insert(Bullets, Head)
						table.insert(Bullets, Jaw)
						table.insert(Bullets, Eyes)
					end
					if SongTime <= 96.22 then
						Head.SetVar("PY", 700 - 350*math.sin(math.rad(90/4.8*(SongTime - 91.42))))
						Jaw.SetVar("Altura", 60 + 2*math.sin(math.rad(720/4.8*(SongTime - 91.42))))
					elseif not backwards then
						Head.SetVar("PY", 350)
						Jaw.SetVar("Altura", 60)
						phases[1] = 103
					end
				elseif backwards then
					if Head then
						Head.SetVar("Remove", true)
						Jaw.SetVar("Remove", true)
						Eyes.SetVar("Remove", true)
					end
					Head = nil
					Jaw = nil
					Eyes = nil
					phases[1] = 101
				end
			elseif phases[1] == 103 then
				if SongTime > 96.43 then
					if not Data1 then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						Data1 = true
					end
					if SongTime <= 96.53 then
						Head.sprite.Scale((240 + 200*math.sin(math.rad(90/0.1*(SongTime - 96.43))))/480, (240 + 200*math.sin(math.rad(90/0.1*(SongTime - 96.43))))/480)
						Head.SetVar("PY", 350 - 75*math.sin(math.rad(90/0.1*(SongTime - 96.43))))
						Jaw.SetVar("Altura", 60 + 170*math.sin(math.rad(90/0.1*(SongTime - 96.43))))
					elseif not backwards then
						Data1 = nil
						for j=1,2 do
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 335, Y = 240, Eliminate = {Right = 1440, Left = -800, Up = 480, Down = 0}, Direction = 0, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 335}})
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 305, Y = 240, Eliminate = {Right = 1440 , Left = -800, Up = 480, Down = 0}, Direction = 2, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 305}})
						end
						Head.sprite.Scale(440/480, 440/480)
						Head.SetVar("PY", 275)
						Jaw.SetVar("Altura", 230)
						phases[1] = 104
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.Scale(240/480, 240/480)
					Head.SetVar("PY", 350)
					Jaw.SetVar("Altura", 60)
					phases[1] = 102
				end
			elseif phases[1] == 104 then
				if SongTime > 96.75 then
					if SongTime <= 96.85 then
						Head.sprite.Scale((240 + 200*math.cos(math.rad(90/0.1*(SongTime - 96.75))))/480, (240 + 200*math.cos(math.rad(90/0.1*(SongTime - 96.75))))/480)
						Head.SetVar("PY", 230 + 45*math.cos(math.rad(90/0.1*(SongTime - 96.75))))
						Jaw.SetVar("Altura", 60 + 170*math.cos(math.rad(90/0.1*(SongTime - 96.75))))
					elseif not backwards then
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PY", 230)
						Jaw.SetVar("Altura", 60)
						phases[1] = 105
					end
				elseif backwards then
					Head.sprite.Scale(440/480, 440/480)
					Head.SetVar("PY", 275)
					Jaw.SetVar("Altura", 230)
					phases[1] = 103
				end
			elseif phases[1] == 105 then
				if SongTime > 96.98 then
					if SongTime <= 97.18 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PX", 320 - 10*math.sin(math.rad(90/0.4*(SongTime - 96.98))))
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 96.98)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 96.98)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 96.98))))
					elseif SongTime <= 97.28 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/480)
						Head.SetVar("PX", 320 - 10*math.sin(math.rad(90/0.4*(SongTime - 96.98))))
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 96.98)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 96.98)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 97.18))))
					elseif SongTime <= 97.38 then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 97.18, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.18))))/480)
						Head.SetVar("PX", 310)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 97.18, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PX", 310)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
						phases[1] = 106
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.SetVar("PX", 320)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 60)
					phases[1] = 104
				end
			elseif phases[1] == 106 then
				if SongTime > 97.41 then
					if SongTime <= 97.61 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PX", 310 + 20*math.sin(math.rad(90/0.4*(SongTime - 97.41))))
						Head.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 97.41)))
						Jaw.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 97.41)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 97.41))))
					elseif SongTime <= 97.71 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/480)
						Head.SetVar("PX", 310 + 20*math.sin(math.rad(90/0.4*(SongTime - 97.41))))
						Head.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 97.41)))
						Jaw.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 97.41)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 97.61))))
					elseif SongTime <= 97.81 then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 97.61, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 97.61))))/480)
						Head.SetVar("PX", 330)
						Head.sprite.rotation = 15
						Jaw.sprite.rotation = 15
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 97.61, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PX", 330)
						Head.sprite.rotation = 15
						Jaw.sprite.rotation = 15
						Jaw.SetVar("Altura", 60)
						phases[1] = 107
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.SetVar("PX", 310)
					Head.sprite.rotation = -15
					Jaw.sprite.rotation = -15
					Jaw.SetVar("Altura", 60)
					phases[1] = 105
				end
			elseif phases[1] == 107 then
				if SongTime > 97.84 then
					if SongTime <= 98.04 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PX", 330 - 20*math.sin(math.rad(90/0.4*(SongTime - 97.84))))
						Head.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 97.84)))
						Jaw.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 97.84)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 97.84))))
					elseif SongTime <= 98.14 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 98.04))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 98.04))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.04))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.04))))/480)
						Head.SetVar("PX", 330 - 20*math.sin(math.rad(90/0.4*(SongTime - 97.84))))
						Head.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 97.84)))
						Jaw.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 97.84)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 98.04))))
					elseif not backwards then
						for i=1,16 do
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 320, Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 98.04, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
						end
						Head.sprite.color = {1, 1, 1}
						Head.sprite.Scale(300/480, 300/480)
						Head.SetVar("PX", 310)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
						phases[1] = 108
					end
				elseif backwards then
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.SetVar("PX", 330)
					Head.sprite.rotation = 15
					Jaw.sprite.rotation = 15
					Jaw.SetVar("Altura", 60)
					phases[1] = 106
				end
			elseif phases[1] == 108 then
				if SongTime > 98.15 then
					if not Data1 then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						Data1 = true
					end
					if SongTime <= 98.25 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 98.05))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 98.05))))/255}
						Head.sprite.Scale((300 + 140*math.sin(math.rad(90/0.1*(SongTime - 98.15))))/480, (300 + 140*math.sin(math.rad(90/0.1*(SongTime - 98.15))))/480)
						Head.SetVar("PY", 230 + 45*math.sin(math.rad(90/0.1*(SongTime - 98.15))))
						Head.SetVar("PX", 310 + 10*math.sin(math.rad(90/0.1*(SongTime - 98.15))))
						Jaw.SetVar("Altura", 60 + 170*math.sin(math.rad(90/0.1*(SongTime - 98.15))))
						Head.sprite.rotation = -15 + 15*math.sin(math.rad(90/0.1*(SongTime - 98.15)))
						Jaw.sprite.rotation = -15 + 15*math.sin(math.rad(90/0.1*(SongTime - 98.15)))
					elseif not backwards then
						Data1 = nil
						for j=1,2 do
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 335, Y = 240, Eliminate = {Right = 1440, Left = -800, Up = 480, Down = 0}, Direction = 0, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 335}})
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 305, Y = 240, Eliminate = {Right = 1440 , Left = -800, Up = 480, Down = 0}, Direction = 2, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 305}})
						end
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.SetVar("PY", 275)
						Head.SetVar("PX", 320)
						Jaw.SetVar("Altura", 230)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						phases[1] = 109
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 1, 1}
					Head.sprite.Scale(300/480, 300/480)
					Head.SetVar("PY", 230)
					Head.SetVar("PX", 310)
					Jaw.SetVar("Altura", 60)
					Head.sprite.rotation = -15
					Jaw.sprite.rotation = -15
					phases[1] = 107
				end
			elseif phases[1] == 109 then
				if SongTime > 98.47 then
					if SongTime <= 98.57 then
						Head.sprite.Scale((240 + 200*math.cos(math.rad(90/0.1*(SongTime - 98.47))))/480, (240 + 200*math.cos(math.rad(90/0.1*(SongTime - 98.47))))/480)
						Head.SetVar("PY", 230 + 45*math.cos(math.rad(90/0.1*(SongTime - 98.47))))
						Jaw.SetVar("Altura", 60 + 170*math.cos(math.rad(90/0.1*(SongTime - 98.47))))
					elseif not backwards then
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PY", 230)
						Jaw.SetVar("Altura", 60)
						phases[1] = 110
					end
				elseif backwards then
					Head.sprite.Scale(440/480, 440/480)
					Head.SetVar("PY", 275)
					Jaw.SetVar("Altura", 230)
					phases[1] = 108
				end
			elseif phases[1] == 110 then
				if SongTime > 98.7 then
					if SongTime <= 98.9 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 98.7)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 98.7)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 98.7))))
					elseif SongTime <= 99 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/480)
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 98.7)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 98.7)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 98.9))))
					elseif SongTime <= 99.1 then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 98.9, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 98.9))))/480)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 98.9, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
						phases[1] = 111
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 60)
					phases[1] = 109
				end
			elseif phases[1] == 111 then
				if SongTime > 99.13 then
					if SongTime <= 99.33 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 99.13)))
						Jaw.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 99.13)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 99.13))))
					elseif SongTime <= 99.43 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/480)
						Head.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 99.13)))
						Jaw.sprite.rotation = -15 + 30*math.sin(math.rad(90/0.4*(SongTime - 99.13)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 99.33))))
					elseif SongTime <= 99.53 then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 99.33, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.33))))/480)
						Head.sprite.rotation = 15
						Jaw.sprite.rotation = 15
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 99.33, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = 15
						Jaw.sprite.rotation = 15
						Jaw.SetVar("Altura", 60)
						phases[1] = 112
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.sprite.rotation = -15
					Jaw.sprite.rotation = -15
					Jaw.SetVar("Altura", 60)
					phases[1] = 110
				end
			elseif phases[1] == 112 then
				if SongTime > 99.56 then
					if SongTime <= 99.76 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 99.56)))
						Jaw.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 99.56)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 99.56))))
					elseif SongTime <= 99.86 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 99.76))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 99.76))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.76))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 99.76))))/480)
						Head.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 99.56)))
						Jaw.sprite.rotation = 15 - 30*math.sin(math.rad(90/0.4*(SongTime - 99.56)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 99.76))))
					elseif not backwards then
						for i=1,16 do
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 360/32, SpawnTime = 99.76, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32}, NoLag = true})
						end
						Head.sprite.color = {1, 1, 1}
						Head.sprite.Scale(300/480, 300/480)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
						phases[1] = 113
					end
				elseif backwards then
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.sprite.rotation = 15
					Jaw.sprite.rotation = 15
					Jaw.SetVar("Altura", 60)
					phases[1] = 111
				end
			elseif phases[1] == 113 then
				if SongTime > 99.87 then
					if not Data1 then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						Data1 = true
					end
					if SongTime <= 99.97 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 99.77))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 99.77))))/255}
						Head.sprite.Scale((300 + 140*math.sin(math.rad(90/0.1*(SongTime - 99.87))))/480, (300 + 140*math.sin(math.rad(90/0.1*(SongTime - 99.87))))/480)
						Head.SetVar("PY", 230 + 45*math.sin(math.rad(90/0.1*(SongTime - 99.87))))
						Jaw.SetVar("Altura", 60 + 170*math.sin(math.rad(90/0.1*(SongTime - 99.87))))
						Head.sprite.rotation = -15 + 15*math.sin(math.rad(90/0.1*(SongTime - 99.87)))
						Jaw.sprite.rotation = -15 + 15*math.sin(math.rad(90/0.1*(SongTime - 99.87)))
					elseif not backwards then
						Data1 = nil
						for j=1,2 do
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 175, Y = 240, Eliminate = {Right = 1440, Left = -800, Up = 480, Down = 0}, Direction = 0, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 175}})
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 145, Y = 240, Eliminate = {Right = 1440 , Left = -800, Up = 480, Down = 0}, Direction = 2, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 145}})
						end
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.SetVar("PY", 275)
						Jaw.SetVar("Altura", 230)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						phases[1] = 114
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 1, 1}
					Head.sprite.Scale(300/480, 300/480)
					Head.SetVar("PY", 230)
					Jaw.SetVar("Altura", 60)
					Head.sprite.rotation = -15
					Jaw.sprite.rotation = -15
					phases[1] = 112
				end
			elseif phases[1] == 114 then
				if SongTime > 100.19 then
					if SongTime <= 100.29 then
						Head.sprite.Scale((240 + 200*math.cos(math.rad(90/0.1*(SongTime - 100.19))))/480, (240 + 200*math.cos(math.rad(90/0.1*(SongTime - 100.19))))/480)
						Head.SetVar("PY", 230 + 45*math.cos(math.rad(90/0.1*(SongTime - 100.19))))
						Jaw.SetVar("Altura", 60 + 170*math.cos(math.rad(90/0.1*(SongTime - 100.19))))
					elseif not backwards then
						Head.sprite.Scale(240/480, 240/480)
						Head.SetVar("PY", 230)
						Jaw.SetVar("Altura", 60)
						Boss.sprite.SetVar("Remove", true)
						for i=1,#Triangulos do
							Triangulos[i].sprite.SetVar("Remove", true)
						end
						Dorito1.sprite.SetVar("Remove", true)
						Dientes.sprite.SetVar("Remove", true)
						Covers[1].sprite.SetVar("Remove", true)
						Covers[2].sprite.SetVar("Remove", true)
						Crack.sprite.SetVar("Remove", true)
						Eye3.sprite.SetVar("Remove", true)
						Eye1.sprite.SetVar("Remove", true)
						for i=1,#Tears do
							Tears[i].sprite.SetVar("Remove", true)
						end
						Eye4.sprite.SetVar("Remove", true)
						Eye2.sprite.SetVar("Remove", true)
						Boss = nil
						Triangulos = nil
						Dorito1 = nil
						Dientes = nil
						Covers = nil
						Crack = nil
						Eye3 = nil
						Eye1 = nil
						Tears = nil
						Eye4 = nil
						Eye2 = nil
						phases[1] = 115
					end
				elseif backwards then
					Head.sprite.Scale(440/480, 440/480)
					Head.SetVar("PY", 275)
					Jaw.SetVar("Altura", 230)
					phases[1] = 113
				end
			elseif phases[1] == 115 then
				if SongTime > 100.42 then
					if SongTime <= 100.62 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 100.42)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 100.42)))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - 100.42))))
					elseif SongTime <= 100.72 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/480)
						Head.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 100.42)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.4*(SongTime - 100.42)))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - 100.62))))
					elseif SongTime <= 100.82 then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 100.62, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - 100.62))))/480)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i, SpawnTime = 100.62, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = -15
						Jaw.sprite.rotation = -15
						Jaw.SetVar("Altura", 60)
						phases[1] = 116
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 60)
					phases[1] = 114
				end
			elseif phases[1] >= 116 and phases[1] <= 119 then
				if SongTime > 100.85 + 0.43*(phases[1] - 116) then
					if SongTime <= 101.05 + 0.43*(phases[1] - 116) then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = (-15 + 30*math.sin(math.rad(90/0.4*(SongTime - (100.85 + 0.43*(phases[1] - 116))))))*(1 - 2*(phases[1]%2))
						Jaw.sprite.rotation = (-15 + 30*math.sin(math.rad(90/0.4*(SongTime - (100.85 + 0.43*(phases[1] - 116))))))*(1 - 2*(phases[1]%2))
						Jaw.SetVar("Altura", 60 + 50*math.sin(math.rad(90/0.2*(SongTime - (100.85 + 0.43*(phases[1] - 116))))))
					elseif SongTime <= 101.15 + 0.43*(phases[1] - 116) then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/480)
						Head.sprite.rotation = (-15 + 30*math.sin(math.rad(90/0.4*(SongTime - (100.85 + 0.43*(phases[1] - 116))))))*(1 - 2*(phases[1]%2))
						Jaw.sprite.rotation = (-15 + 30*math.sin(math.rad(90/0.4*(SongTime - (100.85 + 0.43*(phases[1] - 116))))))*(1 - 2*(phases[1]%2))
						Jaw.SetVar("Altura", 110 - 50*math.sin(math.rad(90/0.1*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))
					elseif SongTime <= 101.25 + 0.43*(phases[1] - 116) then
						if not Data1 and not backwards then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 4*(phases[1] - 115), SpawnTime = 101.05 + 0.43*(phases[1] - 116), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 4*(phases[1] - 115)}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/255}
						Head.sprite.Scale((240 + 60*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/480, (240 + 60*math.sin(math.rad(180/0.2*(SongTime - (101.05 + 0.43*(phases[1] - 116))))))/480)
						Head.sprite.rotation = 15*(1 - 2*(phases[1]%2))
						Jaw.sprite.rotation = 15*(1 - 2*(phases[1]%2))
						Jaw.SetVar("Altura", 60)
					elseif not backwards then
						if not Data1 then
							for i=1,16 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 4.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/16*i + 4*(phases[1] - 115), SpawnTime = 101.05 + 0.43*(phases[1] - 116), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 4*(phases[1] - 115)}, NoLag = true})
							end
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(240/480, 240/480)
						Head.sprite.rotation = 15*(1 - 2*(phases[1]%2))
						Jaw.sprite.rotation = 15*(1 - 2*(phases[1]%2))
						Jaw.SetVar("Altura", 60)
						phases[1] = phases[1] + 1
					end
				elseif backwards then
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(240/480, 240/480)
					Head.sprite.rotation = -15*(1 - 2*(phases[1]%2))
					Jaw.sprite.rotation = -15*(1 - 2*(phases[1]%2))
					Jaw.SetVar("Altura", 60)
					phases[1] = phases[1] - 1
				end
			elseif phases[1] == 120 then
				if SongTime > 102.64 then
					if SongTime <= 103.06 then
						Head.sprite.rotation = -15*math.cos(math.rad(90/0.42*(SongTime - 102.64)))
						Jaw.sprite.rotation = -15*math.cos(math.rad(90/0.42*(SongTime - 102.64)))
						Head.SetVar("PY", 230 + 170*math.sin(math.rad(90/0.42*(SongTime - 102.64))))
						Jaw.SetVar("Altura", 60 - 5*math.sin(math.rad(90/0.42*(SongTime - 102.64))))
					elseif not backwards then
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Head.SetVar("PY", 400)
						Jaw.SetVar("Altura", 55)
						phases[1] = 121
					end
				elseif backwards then
					Head.sprite.rotation = -15
					Jaw.sprite.rotation = -15
					Head.SetVar("PY", 230)
					Jaw.SetVar("Altura", 60)
					phases[1] = 119
				end
			elseif phases[1] == 121 then
				if SongTime > 103.19 then
					if not Columna then
						Columna = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)}
						for i=1,3 do
							Columna[i].SetVar("NoDamage", 1)
							Columna[i].SetVar("SpeedRot", -2)
							Columna[i].sprite.Scale((270 - 30*i)/480, (270 - 30*i)/480)
							Columna[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, Columna[i])
						end
					end
					if SongTime <= 103.29 then
						Head.SetVar("PY", 400 - 320*math.sin(math.rad(90/0.1*(SongTime - 103.19))))
					elseif SongTime <= 103.59 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 103.29, Direction = 3, X = 480, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 103.29, Direction = 3, X = 480, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
							Data1 = true
						end
						Head.SetVar("PY", 160 - 80*math.cos(math.rad(180/0.3*(SongTime - 103.29))))
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 103.29, Direction = 3, X = 480, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 103.29, Direction = 3, X = 480, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						end
						Data1 = nil
						Head.SetVar("PY", 240)
						phases[1] = 122
					end
				elseif backwards then
					Data1 = nil
					if Columna then
						for i=1,#Columna do
							Columna[i].SetVar("Remove", true)
						end
					end
					Columna = nil
					Head.SetVar("PY", 300)
					phases[1] = 120
				end
			elseif phases[1] == 122 then
				if SongTime > 103.72 then
					if SongTime <= 104.57 then
						Head.SetVar("PX", 400 + 80*math.cos(math.rad(180/0.85*(SongTime - 103.72))))
						Head.SetVar("PY", 270 - 30*math.cos(math.rad(180/0.85*(SongTime - 103.72))))
						Jaw.SetVar("Altura", 55 + 5*math.sin(math.rad(90/0.2*math.min(SongTime - 103.72, 0.2))) + 2*math.sin(math.rad(180/0.85*(SongTime - 103.72))))
					elseif not backwards then
						Head.SetVar("PX", 320)
						Head.SetVar("PY", 300)
						Jaw.SetVar("Altura", 60)
						phases[1] = 123
					end
				elseif backwards then
					Head.SetVar("PX", 480)
					Head.SetVar("PY", 240)
					Jaw.SetVar("Altura", 55)
					phases[1] = 121
				end
			elseif phases[1] == 123 then
				if SongTime > 104.57 then
					if SongTime <= 104.9 then
						Head.SetVar("PY", 300 + 100*math.sin(math.rad(90/0.33*(SongTime - 104.57))))
						Jaw.SetVar("Altura", 60 - 5*math.sin(math.rad(90/0.33*(SongTime - 104.57))))
					elseif not backwards then
						Head.SetVar("PY", 400)
						Jaw.SetVar("Altura", 55)
						phases[1] = 124
					end
				elseif backwards then
					Head.SetVar("PY", 300)
					Jaw.SetVar("Altura", 60)
					phases[1] = 122
				end
			elseif phases[1] == 124 then
				if SongTime > 104.9 then
					if SongTime <= 105 then
						Head.SetVar("PY", 400 - 320*math.sin(math.rad(90/0.1*(SongTime - 104.9))))
					elseif SongTime <= 105.3 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 105, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 105, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
							Data1 = true
						end
						Head.SetVar("PY", 160 - 80*math.cos(math.rad(180/0.3*(SongTime - 105))))
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 105, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 105, Direction = 3, X = 320, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						end
						Data1 = nil
						Head.SetVar("PY", 240)
						phases[1] = 125
					end
				elseif backwards then
					Data1 = nil
					Head.SetVar("PY", 300)
					phases[1] = 123
				end
			elseif phases[1] == 125 then
				if SongTime > 105.43 then
					if SongTime <= 106.28 then
						Head.SetVar("PX", 240 + 80*math.cos(math.rad(180/0.85*(SongTime - 105.43))))
						Head.SetVar("PY", 270 - 30*math.cos(math.rad(180/0.85*(SongTime - 105.43))))
						Jaw.SetVar("Altura", 55 + 5*math.sin(math.rad(90/0.2*math.min(SongTime - 105.43, 0.2))) + 2*math.sin(math.rad(180/0.85*(SongTime - 105.43))))
					elseif not backwards then
						Head.SetVar("PX", 160)
						Head.SetVar("PY", 300)
						Jaw.SetVar("Altura", 60)
						phases[1] = 126
					end
				elseif backwards then
					Head.SetVar("PX", 320)
					Head.SetVar("PY", 240)
					Jaw.SetVar("Altura", 55)
					phases[1] = 124
				end
			elseif phases[1] == 126 then
				if SongTime > 106.28 then
					if SongTime <= 106.62 then
						Head.SetVar("PY", 300 + 100*math.sin(math.rad(90/0.34*(SongTime - 106.28))))
						Jaw.SetVar("Altura", 60 - 5*math.sin(math.rad(90/0.34*(SongTime - 106.28))))
					elseif not backwards then
						Head.SetVar("PY", 400)
						Jaw.SetVar("Altura", 55)
						phases[1] = 127
					end
				elseif backwards then
					Head.SetVar("PY", 300)
					Jaw.SetVar("Altura", 60)
					phases[1] = 125
				end
			elseif phases[1] == 127 then
				if SongTime > 106.62 then
					if SongTime <= 106.72 then
						Head.SetVar("PY", 400 - 320*math.sin(math.rad(90/0.1*(SongTime - 106.62))))
					elseif SongTime <= 107.02 then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 106.72, Direction = 3, X = 160, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 106.72, Direction = 3, X = 160, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
							Data1 = true
						end
						Head.SetVar("PY", 160 - 80*math.cos(math.rad(180/0.3*(SongTime - 106.72))))
					elseif not backwards then
						if not Data1 then
							if not rango or rango <= 10 then
								movement = {0, "Down"}
								rango = 10
							end
							table.insert(GeneraMontes, {SpawnTime = 106.72, Direction = 3, X = 160, Stay = 0.4, Lenght = 90, Sentido = 1, Increment = 20, Speed = 0.03})
							table.insert(GeneraMontes, {SpawnTime = 106.72, Direction = 3, X = 160, Stay = 0.4, Lenght = 90, Sentido = -1, Increment = 20, Speed = 0.03})
						end
						Data1 = nil
						Head.SetVar("PY", 240)
						phases[1] = 128
					end
				elseif backwards then
					Data1 = nil
					Head.SetVar("PY", 300)
					phases[1] = 126
				end
			elseif phases[1] == 128 then
				if SongTime > 107.15 then
					if SongTime <= 109.72 then
						Head.SetVar("PX", 140 + 20*math.cos(math.rad(180/2.57*(SongTime - 107.15))))
						Head.SetVar("PY", 235 + 5*math.cos(math.rad(180/2.57*(SongTime - 107.15))))
						Jaw.SetVar("Altura", 55 + 5*math.sin(math.rad(90/0.2*math.min(SongTime - 107.15, 0.2))) + 2*math.sin(math.rad(540/2.57*(SongTime - 107.15))))
					elseif not backwards then
						Head.SetVar("PX", 120)
						Head.SetVar("PY", 230)
						Jaw.SetVar("Altura", 60)
						phases[1] = 129
					end
				elseif backwards then
					Head.SetVar("PX", 160)
					Head.SetVar("PY", 240)
					Jaw.SetVar("Altura", 55)
					phases[1] = 127
				end
			elseif phases[1] == 129 then
				if SongTime > 109.72 then
					if not Data1 then
						if not rango or rango <= 10 then
							shakescreen = 0
							rango = 10
						end
						Data1 = true
					end
					if not Columna then
						Columna = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)}
						for i=1,3 do
							Columna[i].SetVar("NoDamage", 1)
							Columna[i].SetVar("SpeedRot", -2)
							Columna[i].sprite.Scale((270 - 30*i)/480, (270 - 30*i)/480)
							Columna[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, Columna[i])
						end
					end
					Eyes.sprite.Set("Peer Gynt Level/Eye3")
					if SongTime <= 109.82 then
						for i=1,3 do
							Columna[i].sprite.Scale((270 - 30*i)/480*math.cos(math.rad(90/0.1*(SongTime - 109.72))), (270 - 30*i)/480*math.cos(math.rad(90/0.1*(SongTime - 109.72))))
						end
						Head.sprite.Scale((240 + 200*math.sin(math.rad(90/0.1*(SongTime - 109.72))))/480, (240 + 200*math.sin(math.rad(90/0.1*(SongTime - 109.72))))/480)
						Head.SetVar("PY", 230 + 45*math.sin(math.rad(90/0.1*(SongTime - 109.72))))
						Jaw.SetVar("Altura", 60 + 210*math.sin(math.rad(90/0.1*(SongTime - 109.72))))
					elseif not backwards then
						Data1 = nil
						for i=1,3 do
							Columna[i].SetVar("Remove", true)
						end
						Columna = nil
						for j=1,2 do
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 135, Y = 240, Eliminate = {Right = 1440, Left = -800, Up = 480, Down = 0}, Direction = 0, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 175}})
							local Misiles = {}
							for i=0,10 do
								local Bullet = CreateProjectileAbs("Peer Gynt Level/Effect", 0, 0)
								Bullet.sprite.color = {1,32/255,112/255}
								Bullet.SetVar("Ang", math.random(360))
								Bullet.SetVar("Incremento", math.random(360))
								table.insert(Misiles, Bullet)
							end
							table.insert(Snake, {Bullets = Misiles, X = 105, Y = 240, Eliminate = {Right = 1440 , Left = -800, Up = 480, Down = 0}, Direction = 2, Height = 85, Vel = 6, Pulse = 10/480, Scale = 30/480, Espaciado = math.random(20, 40), Rateo = 1, Hide = {X = 145}})
						end
						Head.sprite.Scale(440/480, 440/480)
						Head.SetVar("PY", 275)
						Jaw.SetVar("Altura", 270)
						Eyes.sprite.Set("Peer Gynt Level/Eye4")
						phases[1] = 130
					end
				elseif backwards then
					Eyes.sprite.Set("Peer Gynt Level/Eye3")
					for i=1,3 do
						Columna[i].sprite.Scale((270 - 30*i)/480, (270 - 30*i)/480)
					end
					Data1 = nil
					Head.sprite.Scale(240/480, 240/480)
					Head.SetVar("PY", 230)
					Jaw.SetVar("Altura", 60)
					phases[1] = 128
				end
			elseif phases[1] == 130 then
				if SongTime > 110.04 then
					if SongTime <= 110.14 then
						Head.SetVar("PY", 200 + 75*math.cos(math.rad(90/0.1*(SongTime - 110.04))))
						Jaw.SetVar("Altura", 110 + 160*math.cos(math.rad(90/0.1*(SongTime - 110.04))))
					elseif not backwards then
						Head.SetVar("PY", 200)
						Head.SetVar("Permanent", 0)
						Jaw.SetVar("Altura", 110)
						Scroll = {X = -3, Y = 0}
						phases[1] = 131
					end
				elseif backwards then
					Head.SetVar("PY", 275)
					Jaw.SetVar("Altura", 270)
					phases[1] = 129
				end
			elseif phases[1] >= 131 and phases[1] <= 139 then
				if SongTime > 110.14 then
					Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					if SongTime > 110.14 + 0.86*(phases[1] - 131) then
						if SongTime <= 110.57 + 0.86*(phases[1] - 131) then
							Head.sprite.color = {1, 32/255, 112/255}
							Head.sprite.Scale(440/480, 440/480)
							Head.sprite.rotation = 15*math.sin(math.rad(90/0.43*(SongTime - (110.14 + 0.86*(phases[1] - 131)))))
							Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.43*(SongTime - (110.14 + 0.86*(phases[1] - 131)))))
							Jaw.SetVar("Altura", 110 + 140*math.sin(math.rad(90/0.43*(SongTime - (110.14 + 0.86*(phases[1] - 131))))))
							Head.SetVar("PX", 273 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 153*math.cos(math.rad(90/0.53*(SongTime - (110.14 + 0.86*(phases[1] - 131))))))
						elseif SongTime <= 110.67 + 0.86*(phases[1] - 131) then
							Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/255}
							Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/480)
							Head.sprite.rotation = 15*math.cos(math.rad(90/0.1*(SongTime - (110.57 + 0.86*(phases[1] - 131)))))
							Jaw.sprite.rotation = -15*math.cos(math.rad(90/0.1*(SongTime - (110.57 + 0.86*(phases[1] - 131)))))
							Jaw.SetVar("Altura", 110 + 140*math.cos(math.rad(90/0.1*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))
							Head.SetVar("PX", 273 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 153*math.cos(math.rad(90/0.53*(SongTime - (110.14 + 0.86*(phases[1] - 131))))))
						elseif SongTime <= 110.77 + 0.86*(phases[1] - 131) then
							if not Data1 then
								if not backwards then
									Head.SetVar("Permanent", Head.GetVar("Permanent") + 153)
								else
									Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
								end
								if not rango or rango <= 5 then
									shakescreen = 0
									rango = 5
								end
								local randomizador = math.random(360)
								Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
								for i=1,32 do
									local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
									misil.sprite.color = {1, 32/255, 112/255}
									table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 110.37 + 0.86*(phases[1] - 131), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
								end
								Data1 = true
							end
							Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/255}
							Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - (110.57 + 0.86*(phases[1] - 131))))))/480)
							Head.sprite.rotation = 0
							Jaw.sprite.rotation = 0
							Jaw.SetVar("Altura", 110)
						elseif not backwards then
							if not Data1 then
								if not rango or rango <= 5 then
									shakescreen = 0
									rango = 5
								end
								local randomizador = math.random(360)
								Head.SetVar("Permanent", Head.GetVar("Permanent") + 153)
								Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
								for i=1,32 do
									local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
									misil.sprite.color = {1, 32/255, 112/255}
									table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 110.37 + 0.86*(phases[1] - 131), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
								end
							end
							Data1 = nil
							Head.sprite.color = {1, 32/255, 112/255}
							Head.sprite.Scale(440/480, 440/480)
							Head.sprite.rotation = 0
							Jaw.sprite.rotation = 0
							Jaw.SetVar("Altura", 110)
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						if not Data1 then
							Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
							Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					if not Data1 then
						Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
						Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					end
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(440/480, 440/480)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 110)
					Scroll = nil
					phases[1] = 130
				end
			elseif phases[1] == 140 then
				if SongTime > 117.65 then
					if not Data1 and backwards then
						Head.SetVar("Permanent", Head.GetVar("Permanent") - 240)
						Data1 = true
					end
					if not Dorito2 then
						Dorito2 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
						Dorito2.SetVar("NoDamage", 100000000000)
						Dorito2.SetVar("SpeedRot", -2)
						Dorito2.SetVar("X", 800)
						Dorito2.SetVar("Y", 240)
						Dorito2.SetVar("Absoluto", true)
						Dorito2.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito2)
					end
					if not Dorito3 then
						Dorito3 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
						Dorito3.SetVar("NoDamage", 100000000000)
						Dorito3.SetVar("SpeedRot", -2)
						Dorito3.SetVar("X", 800)
						Dorito3.SetVar("Y", 240)
						Dorito3.SetVar("Absoluto", true)
						Dorito3.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito3)
					end
					if SongTime <= 118 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
						Dorito2.SetVar("X", 800)
						Dorito3.SetVar("X", 800)
						Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", 200)
					elseif SongTime <= 118.43 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 15*math.sin(math.rad(90/0.43*(SongTime - 118)))
						Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.43*(SongTime - 118)))
						Jaw.SetVar("Altura", 110 + 140*math.sin(math.rad(90/0.43*(SongTime - 118))))
						Dorito2.SetVar("X", 800 - 220*math.sin(math.rad(90/0.53*(SongTime - 118))))
						Dorito3.SetVar("X", 800 - 460*math.sin(math.rad(90/0.53*(SongTime - 118))))
						Head.SetVar("PX", 600 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 480*math.cos(math.rad(90/0.53*(SongTime - 118))))
						Head.SetVar("PY", 200 + 60*math.sin(math.rad(90/0.43*(SongTime - 118))))
					elseif SongTime <= 118.53 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(90/0.1*(SongTime - 118.43))))/255, (112 + 143*math.sin(math.rad(90/0.1*(SongTime - 118.43))))/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 5 + 10*math.cos(math.rad(90/0.1*(SongTime - 118.43)))
						Jaw.sprite.rotation = -5 - 10*math.cos(math.rad(90/0.1*(SongTime - 118.43)))
						Jaw.SetVar("Altura", 180 + 70*math.cos(math.rad(90/0.1*(SongTime - 118.43))))
						Dorito2.SetVar("X", 800 - 220*math.sin(math.rad(90/0.53*(SongTime - 118))))
						Dorito3.SetVar("X", 800 - 460*math.sin(math.rad(90/0.53*(SongTime - 118))))
						Head.SetVar("PX", 600 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 480*math.cos(math.rad(90/0.53*(SongTime - 118))))
						Head.SetVar("PY", 260)
					elseif SongTime <= 118.63 then
						if not Data2 then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
							Data2 = true
						end
						Head.sprite.color = {1, (32 + 223*math.cos(math.rad(90/0.1*(SongTime - 118.53))))/255, (112 + 143*math.cos(math.rad(90/0.1*(SongTime - 118.53))))/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 5 + 10*math.sin(math.rad(90/0.2*(SongTime - 118.53)))
						Jaw.sprite.rotation = -5 - 10*math.sin(math.rad(90/0.2*(SongTime - 118.53)))
						Jaw.SetVar("Altura", 180 + 70*math.sin(math.rad(90/0.2*(SongTime - 118.53))))
						Dorito2.SetVar("X", 580)
						Dorito3.SetVar("X", 340)
						Head.SetVar("PX", 600 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", 260)
					elseif SongTime <= 118.96 then
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 5 + 10*math.sin(math.rad(90/0.2*math.min(SongTime - 118.53, 0.2)))
						Jaw.sprite.rotation = -5 - 10*math.sin(math.rad(90/0.2*math.min(SongTime - 118.53, 0.2)))
						Jaw.SetVar("Altura", 180 + 70*math.sin(math.rad(90/0.2*math.min(SongTime - 118.53, 0.2))))
						Dorito2.SetVar("X", 580)
						Dorito3.SetVar("X", 340)
						Head.SetVar("PX", 600 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 240*math.sin(math.rad(90/0.33*math.max(SongTime - 118.73, 0))))
						Head.SetVar("PY", 260 - 60*math.sin(math.rad(90/0.33*math.max(SongTime - 118.73, 0))))
					elseif SongTime <= 119.06 then
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/255}
						Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/480)
						Head.sprite.rotation = 15*math.cos(math.rad(90/0.1*(SongTime - 118.96)))
						Jaw.sprite.rotation = -15*math.cos(math.rad(90/0.1*(SongTime - 118.96)))
						Jaw.SetVar("Altura", 250 - 140*math.sin(math.rad(90/0.1*(SongTime - 118.96))))
						Dorito2.SetVar("X", 580)
						Dorito3.SetVar("X", 340)
						Head.SetVar("PX", 600 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 240*math.sin(math.rad(90/0.33*math.max(SongTime - 118.73, 0))))
						Head.SetVar("PY", 260 - 60*math.sin(math.rad(90/0.33*math.max(SongTime - 118.73, 0))))
					elseif SongTime <= 119.16 then
						if not Data1 and not backwards then
							if not rango or rango <= 5 then
								shakescreen = 0
								rango = 5
							end
							local randomizador = math.random(360)
							Head.SetVar("PX", 360 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
							for i=1,32 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 118.66, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
							end
							Data1 = true
						end
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/255}
						Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - 118.96))))/480)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
						Dorito2.SetVar("X", 580)
						Dorito3.SetVar("X", 340)
						Head.SetVar("PX", 360 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", 200)
					elseif not backwards then
						Head.SetVar("Permanent", Head.GetVar("Permanent") + 240)
						if not Data1 then
							if not rango or rango <= 5 then
								shakescreen = 0
								rango = 5
							end
							local randomizador = math.random(360)
							Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
							for i=1,32 do
								local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 118.66, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
							end
						end
						Data1 = nil
						Data2 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
						Dorito2.SetVar("X", 580)
						Dorito3.SetVar("X", 340)
						Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", 200)
						phases[1] = 141
					end
				elseif backwards then
					if not Data1 then
						Head.SetVar("Permanent", Head.GetVar("Permanent") - 240)
					end
					Data1 = nil
					Data2 = nil
					if Dorito2 then
						Dorito2.SetVar("Remove", true)
					end
					if Dorito3 then
						Dorito3.SetVar("Remove", true)
					end
					Dorito2 = nil
					Dorito3 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(440/480, 440/480)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 110)
					Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					Head.SetVar("PY", 200)
					phases[1] = 139
				end
			elseif phases[1] >= 141 and phases[1] <= 143 then
				if SongTime > 119.16 then
					Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					if SongTime > 119.39 + 0.86*(phases[1] - 141) then
						if SongTime <= 119.82 + 0.86*(phases[1] - 141) then
							Head.sprite.color = {1, 32/255, 112/255}
							Head.sprite.Scale(440/480, 440/480)
							Head.sprite.rotation = 15*math.sin(math.rad(90/0.43*(SongTime - (119.39 + 0.86*(phases[1] - 141)))))
							Jaw.sprite.rotation = -15*math.sin(math.rad(90/0.43*(SongTime - (119.39 + 0.86*(phases[1] - 141)))))
							Jaw.SetVar("Altura", 110 + 140*math.sin(math.rad(90/0.43*(SongTime - (119.39 + 0.86*(phases[1] - 141))))))
							Head.SetVar("PX", 273 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 153*math.cos(math.rad(90/0.53*(SongTime - (119.39 + 0.86*(phases[1] - 141))))))
						elseif SongTime <= 119.92 + 0.86*(phases[1] - 141) then
							Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/255}
							Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/480)
							Head.sprite.rotation = 15*math.cos(math.rad(90/0.1*(SongTime - (119.82 + 0.86*(phases[1] - 141)))))
							Jaw.sprite.rotation = -15*math.cos(math.rad(90/0.1*(SongTime - (119.82 + 0.86*(phases[1] - 141)))))
							Jaw.SetVar("Altura", 110 + 140*math.cos(math.rad(90/0.1*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))
							Head.SetVar("PX", 273 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 153*math.cos(math.rad(90/0.53*(SongTime - (119.39 + 0.86*(phases[1] - 141))))))
						elseif SongTime <= 120.02 + 0.86*(phases[1] - 141) then
							if not Data1 then
								if not backwards then
									Head.SetVar("Permanent", Head.GetVar("Permanent") + 153)
								else
									Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
								end
								if not rango or rango <= 5 then
									shakescreen = 0
									rango = 5
								end
								local randomizador = math.random(360)
								Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
								for i=1,32 do
									local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
									misil.sprite.color = {1, 32/255, 112/255}
									table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 119.52 + 0.86*(phases[1] - 141), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
								end
								Data1 = true
							end
							Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/255, (112 + 143*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/255}
							Head.sprite.Scale((440 + 60*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/480, (440 + 60*math.sin(math.rad(180/0.2*(SongTime - (119.82 + 0.86*(phases[1] - 141))))))/480)
							Head.sprite.rotation = 0
							Jaw.sprite.rotation = 0
							Jaw.SetVar("Altura", 110)
						elseif not backwards then
							if not Data1 then
								if not rango or rango <= 5 then
									shakescreen = 0
									rango = 5
								end
								local randomizador = math.random(360)
								Head.SetVar("Permanent", Head.GetVar("Permanent") + 153)
								Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
								for i=1,32 do
									local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0, "BelowBullet")
									misil.sprite.color = {1, 32/255, 112/255}
									table.insert(Movement, {Bullet = misil, X = Head.GetVar("PX"), Y = 240, Vel = 7.5, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 20}, Direction = 360/32*i + randomizador, SpawnTime = 119.52 + 0.86*(phases[1] - 141), Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/32*i + randomizador}, NoLag = true})
								end
							end
							Data1 = nil
							Head.sprite.color = {1, 32/255, 112/255}
							Head.sprite.Scale(440/480, 440/480)
							Head.sprite.rotation = 0
							Jaw.sprite.rotation = 0
							Jaw.SetVar("Altura", 110)
							phases[1] = phases[1] + 1
						end
					elseif backwards then
						if not Data1 then
							Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
							Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						end
						Data1 = nil
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.Scale(440/480, 440/480)
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
						phases[1] = phases[1] - 1
					end
				elseif backwards then
					if not Data1 then
						Head.SetVar("Permanent", Head.GetVar("Permanent") - 153)
						Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					end
					Data1 = nil
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.Scale(440/480, 440/480)
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 110)
					phases[1] = 140
				end
			elseif phases[1] == 144 then
				if SongTime > 121.74 then
					if SongTime <= 121.97 then
						Eyes.sprite.alpha = 1
						Head.sprite.Set("Peer Gynt Level/Boss5")
						Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", 200)
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.rotation = 0
						Jaw.sprite.rotation = 0
						Jaw.SetVar("Altura", 110)
					elseif SongTime <= 122.15 then
						Eyes.sprite.alpha = 1
						Head.sprite.Set("Peer Gynt Level/Boss5")
						Head.SetVar("PX", 200 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") - 80*math.cos(math.rad(90/0.18*(SongTime - 121.97))))
						Head.SetVar("PY", 200)
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.rotation = 7*math.sin(math.rad(90/0.18*(SongTime - 121.97)))
						Jaw.sprite.rotation = -7*math.sin(math.rad(90/0.18*(SongTime - 121.97)))
						Jaw.SetVar("Altura", 110 + 70*math.sin(math.rad(90/0.18*(SongTime - 121.97))))
					elseif SongTime <= 122.65 then
						if SongTime > 122.25 then
							Eyes.sprite.alpha = 0
							Head.sprite.Set("Peer Gynt Level/Boss7")
						else
							Eyes.sprite.alpha = 1
							Head.sprite.Set("Peer Gynt Level/Boss5")
						end
						Head.SetVar("PX", 200 - 180*(SongTime - 110.14) + Head.GetVar("Permanent") + 80*math.sin(math.rad(90/0.1*math.min(SongTime - 122.15, 0.1))))
						Head.SetVar("PY", 200)
						Head.sprite.color = {1, (32 + 223*math.sin(math.rad(180/0.1*math.min(SongTime - 122.15, 0.1))))/255, (112 + 143*math.sin(math.rad(180/0.1*math.min(SongTime - 122.15, 0.1))))/255}
						Head.sprite.rotation = 7 - 3*math.sin(math.rad(90/0.1*math.min(SongTime - 122.15, 0.1)))
						Jaw.sprite.rotation = -7 - 11*math.sin(math.rad(90/0.1*math.min(SongTime - 122.15, 0.1)))
						Jaw.SetVar("Altura", 180)
						if SongTime > 122.25 and not Data1 then
							for i=1,30 do
								local Misil = CreateProjectileAbs("Peer Gynt Level/Piece"..math.random(4), 0, 0, "Top")
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.alpha = 0.5
								Misil.sprite.Scale(0.5, 0.5)
								Misil.SetVar("NoDamage", 100000000)
								Misil.sprite.rotation = math.random(360)
								table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - (Jaw.GetVar("Altura") + math.random(-75,75))*math.sin(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.cos(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + (Jaw.GetVar("Altura") + math.random(-75,75))*math.cos(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.sin(math.rad(Head.sprite.rotation)), Vel = math.random(5,40)/10, Fuerza = math.random(-30,100)/10, Gravedad = 0.2, VelRot = math.random(-20,20)/10, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
							end
							local Misil = CreateProjectileAbs("Peer Gynt Level/Boss8", 0, 0, "Top")
							Misil.sprite.color = {1/2, 32/255/2, 112/255/2}
							Misil.sprite.Scale(440/480, 440/480)
							Misil.SetVar("NoDamage", 100000000)
							Misil.sprite.rotation = Head.sprite.rotation
							table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)), Vel = 2, Fuerza = 3, Gravedad = 0.2, VelRot = -1, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
							Data1 = true
						end
					elseif SongTime <= 124.65 then
						Eyes.sprite.alpha = 0
						Head.sprite.Set("Peer Gynt Level/Boss7")
						Head.SetVar("PX", 280 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", -600 + 800*math.cos(math.rad(90/2*(SongTime - 122.65))))
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.rotation = 4
						Jaw.sprite.rotation = -18
						Jaw.SetVar("Altura", 180)
						if not Data1 then
							for i=1,30 do
								local Misil = CreateProjectileAbs("Peer Gynt Level/Piece"..math.random(4), 0, 0, "Top")
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.alpha = 0.5
								Misil.sprite.Scale(0.5, 0.5)
								Misil.SetVar("NoDamage", 100000000)
								Misil.sprite.rotation = math.random(360)
								table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - (Jaw.GetVar("Altura") + math.random(-75,75))*math.sin(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.cos(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + (Jaw.GetVar("Altura") + math.random(-75,75))*math.cos(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.sin(math.rad(Head.sprite.rotation)), Vel = math.random(5,40)/10, Fuerza = math.random(-30,100)/10, Gravedad = 0.2, VelRot = math.random(-20,20)/10, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
							end
							local Misil = CreateProjectileAbs("Peer Gynt Level/Boss8", 0, 0, "Top")
							Misil.sprite.color = {1/2, 32/255/2, 112/255/2}
							Misil.sprite.Scale(440/480, 440/480)
							Misil.SetVar("NoDamage", 100000000)
							Misil.sprite.rotation = Head.sprite.rotation
							table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)), Vel = 2, Fuerza = 3, Gravedad = 0.2, VelRot = -1, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
							Data1 = true
						end
					elseif not backwards then
						Eyes.sprite.alpha = 0
						Head.sprite.Set("Peer Gynt Level/Boss7")
						Head.SetVar("PX", 280 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
						Head.SetVar("PY", -600)
						Head.sprite.color = {1, 32/255, 112/255}
						Head.sprite.rotation = 4
						Jaw.sprite.rotation = -18
						Jaw.SetVar("Altura", 180)
						if not Data1 then
							for i=1,30 do
								local Misil = CreateProjectileAbs("Peer Gynt Level/Piece"..math.random(4), 0, 0, "Top")
								Misil.sprite.color = {1, 32/255, 112/255}
								Misil.sprite.alpha = 0.5
								Misil.sprite.Scale(0.5, 0.5)
								Misil.SetVar("NoDamage", 100000000)
								Misil.sprite.rotation = math.random(360)
								table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - (Jaw.GetVar("Altura") + math.random(-75,75))*math.sin(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.cos(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + (Jaw.GetVar("Altura") + math.random(-75,75))*math.cos(math.rad(Head.sprite.rotation)) + (130 + math.random(-5,5))*math.sin(math.rad(Head.sprite.rotation)), Vel = math.random(5,40)/10, Fuerza = math.random(-30,100)/10, Gravedad = 0.2, VelRot = math.random(-20,20)/10, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
							end
							local Misil = CreateProjectileAbs("Peer Gynt Level/Boss8", 0, 0, "Top")
							Misil.sprite.color = {1/2, 32/255/2, 112/255/2}
							Misil.sprite.Scale(440/480, 440/480)
							Misil.SetVar("NoDamage", 100000000)
							Misil.sprite.rotation = Head.sprite.rotation
							table.insert(Caida, {Bullet = Misil, X = Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)), Y = Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)), Vel = 2, Fuerza = 3, Gravedad = 0.2, VelRot = -1, SpawnTime = 122.25, Absoluto = true, Remove = {Right = 940, Left = -300, Down = -300}})
						end
						Data1 = nil
						phases[1] = 145
					end
				elseif backwards then
					Data1 = nil
					Eyes.sprite.alpha = 1
					Head.sprite.Set("Peer Gynt Level/Boss5")
					Head.SetVar("PX", 120 - 180*(SongTime - 110.14) + Head.GetVar("Permanent"))
					Head.SetVar("PY", 200)
					Head.sprite.color = {1, 32/255, 112/255}
					Head.sprite.rotation = 0
					Jaw.sprite.rotation = 0
					Jaw.SetVar("Altura", 110)
					phases[1] = 143
				end
			elseif phases[1] == 145 then
				if SongTime > 128.72 and not backwards then
					for i=1,8 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.SetVar("NoDamage", 1)
						table.insert(Barras3, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Vel = -0.25, Lenght = {Current = 60, Increment = 80}, Inicial = 128.72, Appear = 130.72, Disappear = 136.72, NoColor = true, Final = true})
					end
					phases[1] = 146
				elseif SongTime <= 130.82 and backwards then
					for i=1,8 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.SetVar("NoDamage", 1)
						table.insert(Barras3, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Vel = -0.25, Lenght = {Current = 60, Increment = 80}, Inicial = 128.72, Appear = 130.72, Disappear = 136.72, NoColor = true, Final = true})
					end
					phases[1] = 144
				end
			elseif phases[1] == 146 then
				if SongTime > 130.82 then
					--End
				elseif backwards then
					phases[1] = 145
				end
			end
			if phases[2] >= 0 and phases[2] <= 26 then
				if SongTime >= 0.86 + 0.425*phases[2] then
					if not Triangulos then
						Triangulos = {CreateProjectileAbs("JS&B Library Sprites/Triangulo", 320, 240), CreateProjectileAbs("JS&B Library Sprites/Triangulo", 320, 240)}
						Triangulos[1].SetVar("SpeedRot", 0)
						Triangulos[1].SetVar("NoDamage", 1)
						Triangulos[1].SetVar("Rot", -45)
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].SetVar("SpeedRot", 0)
						Triangulos[2].SetVar("NoDamage", 1)
						Triangulos[2].SetVar("Rot", 45)
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						table.insert(Bullets, Triangulos[1])
						table.insert(Bullets, Triangulos[2])
					end
					if SongTime <= 1.07 + 0.425*phases[2] then
						if not Data1 then
							if not backwards then
								local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Triangulos[1].GetVar("X"), Y = Triangulos[1].GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = Triangulos[1].sprite.rotation + 90, SpawnTime = 0.86 + 0.425*phases[2]})
								local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
								misil.sprite.color = {1, 32/255, 112/255}
								table.insert(Movement, {Bullet = misil, X = Triangulos[2].GetVar("X"), Y = Triangulos[2].GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = Triangulos[2].sprite.rotation + 90, SpawnTime = 0.86 + 0.425*phases[2]})
							end
							Data1 = Boss.sprite.xscale*480
						end
						Boss.sprite.Scale((Data1 - 20*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480, (Data1 - 20*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480)
						Boss.sprite.color = {1, (53 - 21*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255, (126 - 14*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255}
						if Eye1 then
							Eye1.sprite.color = {1, (53 - 21*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255, (126 - 14*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255}
							Eye1.sprite.Scale((Data2*480 - 2*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480, (Data2*480 - 2*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480)
						end
						Triangulos[1].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255}
						Triangulos[2].sprite.color = {1, (143.5 - 111.5*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255, (183.5 - 71.5*math.cos(math.rad(360/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/255}
						Triangulos[1].sprite.Scale((10 + 5*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480, (10 + 5*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480)
						Triangulos[2].sprite.Scale((10 + 5*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480, (10 + 5*math.sin(math.rad(180/0.15*math.min(SongTime - (0.86 + 0.425*phases[2]), 0.15))))/480)
					elseif SongTime > 1.07 + 0.425*phases[2] and not backwards then
						if not Data1 then
							local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = Triangulos[1].GetVar("X"), Y =  Triangulos[1].GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 10/480, Increment = 22/480, Time = 5}, Direction = Triangulos[1].sprite.rotation + 90, SpawnTime = 0.86 + 0.425*phases[2]})
							local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = Triangulos[2].GetVar("X"), Y =  Triangulos[2].GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 10/480, Increment = 22/480, Time = 5}, Direction = Triangulos[2].sprite.rotation + 90, SpawnTime = 0.86 + 0.425*phases[2]})
						else
							Boss.sprite.Scale(Data1/480, Data1/480)
							Data1 = nil
						end
						if Eye1 then
							Eye1.sprite.color = {1, 32/255, 112/255}
							Eye1.sprite.Scale(Data2, Data2)
						end
						Boss.sprite.color = {1, 32/255, 112/255}
						Triangulos[1].sprite.color = {1, 32/255, 112/255}
						Triangulos[1].sprite.Scale(10/480, 10/480)
						Triangulos[2].sprite.color = {1, 32/255, 112/255}
						Triangulos[2].sprite.Scale(10/480, 10/480)
						phases[2] = phases[2] + 1
					end
				elseif backwards then
					if Data1 then
						Boss.sprite.Scale(Data1/480, Data1/480)
						Data1 = nil
					end
					if Eye1 then
						Eye1.sprite.color = {1, 32/255, 112/255}
						Eye1.sprite.Scale(Data2, Data2)
					end
					Boss.sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.color = {1, 32/255, 112/255}
					Triangulos[1].sprite.Scale(10/480, 10/480)
					Triangulos[2].sprite.color = {1, 32/255, 112/255}
					Triangulos[2].sprite.Scale(10/480, 10/480)
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 27 or phases[2] == 28 then
				if SongTime > 14.43 + 0.18*(phases[2] - 27) and not backwards then
					table.insert(Circles, {X = 480 - 320*(phases[2] - 27), Y = 120, Inicial = 14.43 + 0.18*(phases[2] - 27), Appear = 15.43 + 0.18*(phases[2] - 27), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 15.73 + 0.18*(phases[2] - 27) and backwards then
					table.insert(Circles, {X = 480 - 320*(phases[2] - 27), Y = 120, Inicial = 14.43 + 0.18*(phases[2] - 27), Appear = 15.43 + 0.18*(phases[2] - 27), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 29 then
				if SongTime > 16.14 and not backwards then
					table.insert(Circles, {X = 320, Y = 100, Inicial = 16.14, Appear = 17.14, SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = 30
				elseif SongTime <= 17.44 and backwards then
					table.insert(Circles, {X = 320, Y = 100, Inicial = 16.14, Appear = 17.14, SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = 28
				end
			elseif phases[2] == 30 or phases[2] == 31 then
				if SongTime > 16.23 + 0.18*(phases[2] - 30) and not backwards then
					table.insert(Circles, {X = 520 - 400*(phases[2] - 30), Y = 380, Inicial = 16.23 + 0.18*(phases[2] - 30), Appear = 17.23 + 0.18*(phases[2] - 30), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					table.insert(Circles, {X = 540 - 440*(phases[2] - 30), Y = 170, Inicial = 16.23 + 0.18*(phases[2] - 30), Appear = 17.23 + 0.18*(phases[2] - 30), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 17.53 + 0.18*(phases[2] - 30) and backwards then
					table.insert(Circles, {X = 520 - 400*(phases[2] - 30), Y = 380, Inicial = 16.23 + 0.18*(phases[2] - 30), Appear = 17.23 + 0.18*(phases[2] - 30), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					table.insert(Circles, {X = 540 - 440*(phases[2] - 30), Y = 170, Inicial = 16.23 + 0.18*(phases[2] - 30), Appear = 17.23 + 0.18*(phases[2] - 30), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] >= 32 and phases[2] <= 43 then
				if SongTime > 20 + 0.43*(phases[2] - 32) and not backwards then
					for i=1,6 do
						repeat
							pos = {math.random(25, 615), math.random(25, 455)}
							done = true
							for i=1,#Appear do
								if pos[1] >= Appear[i].X - 45 and pos[1] <= Appear[i].X + 45 and pos[2] >= Appear[i].Y - 45 and pos[2] <= Appear[i].Y + 45 then
									done = nil
								end
							end
							if pos[1] >= 240 and pos[1] <= 400 and pos[2] >= 160 and pos[2] <= 320 then
								done = nil
							end
						until done
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), X = pos[1], Y = pos[2], Initial = 20 + 0.43*(phases[2] - 32), Delay = 1, Stay = 0.5, Scale = 40/480, Increase = 10/480})
						pos = nil
						done = nil
					end
					phases[2] = phases[2] + 1
				elseif SongTime <= 21.7 + 0.43*(phases[2] - 32) and backwards then
					for i=1,6 do
						repeat
							pos = {math.random(25, 615), math.random(25, 455)}
							done = true
							for i=1,#Appear do
								if pos[1] >= Appear[i].X - 45 and pos[1] <= Appear[i].X + 45 and pos[2] >= Appear[i].Y - 45 and pos[2] <= Appear[i].Y + 45 then
									done = nil
								end
							end
							if pos[1] >= 240 and pos[1] <= 400 and pos[2] >= 160 and pos[2] <= 320 then
								done = nil
							end
						until done
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0), X = pos[1], Y = pos[2], Initial = 20 + 0.43*(phases[2] - 32), Delay = 1, Stay = 0.5, Scale = 40/480, Increase = 10/480})
						pos = nil
						done = nil
					end
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 44 then
				if SongTime > 27 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = 320, PY = 240, Grosor = 20, Ang = 45*i, Inicial = 27, Appear = 27.86, Disappear = 28.28})
						end
						Data1 = true
					end
					if SongTime > 27.43 and SongTime <= 27.68 then
						for i=1,#Barras2 do
							Barras2[i].Ang = 45*i - 67.5*math.sin(math.rad(90/0.25*(SongTime - 27.43)))
						end
					elseif SongTime > 27.68 then
						for i=1,#Barras2 do
							Barras2[i].Ang = 45*i - 67.5
						end
						if not backwards then
							Data1 = nil
							phases[2] = 45
						end
					end
				elseif backwards then
					Data1 = nil
					phases[2] = 43
				end
			elseif phases[2] == 45 then
				if SongTime > 28.71 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Inicial = 28.71, Appear = 29.57, Disappear = 30, Especiales = true})
						end
						Data1 = math.random(360)
					end
					if SongTime <= 29.32 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.61*(SongTime - 28.71)))
						end
					elseif SongTime <= 29.57 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.25*(SongTime - 29.32)))
						end
					else
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i
						end
						if not backwards then
							Data1 = nil
							phases[2] = 46
						end
					end
				elseif SongTime <= 28.38 and backwards then
					Data1 = nil
					phases[2] = 44
				end
			elseif phases[2] == 46 then
				if SongTime > 30.43 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Inicial = 30.43, Appear = 31.29, Disappear = 31.72, Especiales = true})
						end
						Data1 = math.random(360)
					end
					if SongTime <= 31.04 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i - 45*math.sin(math.rad(90/0.61*(SongTime - 30.43)))
						end
					elseif SongTime <= 31.29 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i - 45*math.sin(math.rad(90/0.25*(SongTime - 31.04)))
						end
					else
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i
						end
						if not backwards then
							Data1 = nil
							phases[2] = 47
						end
					end
				elseif SongTime <= 30.1 and backwards then
					Data1 = nil
					phases[2] = 45
				end
			elseif phases[2] == 47 then
				if SongTime > 32 and not backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = -10 + 660*i, Y = 0, VelRot = -5, Initial = 32, Delay = 1, Stay = 1.62, Scale = 200/480, Increase = 20/480, Rot = 90*i})
					end
					phases[2] = 48
				elseif SongTime <= 31.82 and backwards then
					phases[2] = 46
				end
			elseif phases[2] == 48 then
				if SongTime <= 34.82 and #Appear < 2 and backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = -10 + 660*i, Y = 0, VelRot = -5, Initial = 32, Delay = 1, Stay = 1.62, Scale = 200/480, Increase = 20/480, Rot = 90*i})
					end
				end
				if SongTime > 33.86 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Inicial = 33.86, Appear = 34.72, Disappear = 35.15, Especiales = true})
						end
						Data1 = math.random(360)
					end
					if SongTime <= 34.47 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.61*(SongTime - 33.86)))
						end
					elseif SongTime <= 34.72 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.25*(SongTime - 34.47)))
						end
					else
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i
						end
						if not backwards then
							Data1 = nil
							phases[2] = 49
						end
					end
				elseif backwards then
					Data1 = nil
					phases[2] = 47
				end
			elseif phases[2] == 49 then
				if SongTime > 35.57 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Inicial = 35.57, Appear = 36.43, Disappear = 36.86, Especiales = true})
						end
						Data1 = math.random(360)
					end
					if SongTime <= 36.18 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i - 45*math.sin(math.rad(90/0.61*(SongTime - 35.57)))
						end
					elseif SongTime <= 36.43 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i - 45*math.sin(math.rad(90/0.25*(SongTime - 36.18)))
						end
					else
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i
						end
						if not backwards then
							Data1 = nil
							phases[2] = 50
						end
					end
				elseif SongTime <= 35.25 and backwards then
					Data1 = nil
					phases[2] = 48
				end
			elseif phases[2] == 50 then
				if SongTime > 37.29 then
					if not Data1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Inicial = 37.29, Appear = 38.15, Disappear = 38.58, Especiales = true})
						end
						Data1 = math.random(360)
					end
					if SongTime <= 37.9 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.61*(SongTime - 37.29)))
						end
					elseif SongTime <= 38.15 then
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i + 45*math.sin(math.rad(90/0.25*(SongTime - 37.9)))
						end
					else
						for i=1,#Barras2 do
							Barras2[i].Ang = Data1 + 45*i
						end
						if not backwards then
							Data1 = nil
							phases[2] = 51
						end
					end
				elseif SongTime <= 36.96 and backwards then
					Data1 = nil
					phases[2] = 49
				end
			elseif phases[2] == 51 then
				if SongTime > 38.86 and not backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = -10 + 660*i, Y = 0, VelRot = -5, Initial = 38.86, Delay = 1, Stay = 1.62, Scale = 200/480, Increase = 20/480, Rot = -90*i})
					end
					phases[2] = 52
				elseif SongTime <= 38.68 and backwards then
					phases[2] = 50
				end
			elseif phases[2] >= 52 and phases[2] <= 54 then
				if SongTime <= 40.68 and #Appear < 2 and backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = -10 + 660*i, Y = 0, VelRot = -5, Initial = 38.86, Delay = 1, Stay = 1.62, Scale = 200/480, Increase = 20/480, Rot = -90*i})
					end
				end
				if SongTime > 39 + 0.43*(phases[2] - 52) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 60, Ang = 0, Inicial = 39 + 0.43*(phases[2] - 52), Appear = 39.7 + 0.43*(phases[2] - 52), Disappear = 39.9 + 0.43*(phases[2] - 52), Trace = true})
					phases[2] = phases[2] + 1
				elseif SongTime <= 40 + 0.43*(phases[2] - 52) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 60, Ang = 0, Inicial = 39 + 0.43*(phases[2] - 52), Appear = 39.7 + 0.43*(phases[2] - 52), Disappear = 39.9 + 0.43*(phases[2] - 52), Trace = true})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 55 then
				if SongTime > 40.07 then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(480/480, 800/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 40.07, Disappear = 41.57})
					phases[2] = 56
				elseif SongTime <= 40.86 and not backwards then
					phases[2] = 54
				end
			elseif phases[2] >= 56 and phases[2] <= 61 then
				if SongTime > 41 then
					if SongTime > 41 + 0.215*(phases[2] - 56) and not backwards then
						table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 41 + 0.215*(phases[2] - 56), Appear = 42 + 0.215*(phases[2] - 56), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
						phases[2] = phases[2] + 1
					elseif SongTime <= 42.3 + 0.215*(phases[2] - 56) and backwards then
						table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 41 + 0.215*(phases[2] - 56), Appear = 42 + 0.215*(phases[2] - 56), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
						phases[2] = phases[2] - 1
					end
				elseif SongTime <= 41.57 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(480/480, 800/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 40.07, Disappear = 41.57})
					phases[2] = 55
				end
			elseif phases[2] == 62 then
				if SongTime > 44.42 and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 44.42, Appear = 45.42, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 63
				elseif SongTime <= 45.95 and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 44.42, Appear = 45.42, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 61
				end
			elseif phases[2] >= 63 and phases[2] <= 66 then
				if SongTime > 44.85 + 0.215*(phases[2] - 63) and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 44.85 + 0.215*(phases[2] - 63), Appear = 45.85 + 0.215*(phases[2] - 63), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 46.15 + 0.215*(phases[2] - 63) and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 44.85 + 0.215*(phases[2] - 63), Appear = 45.85 + 0.215*(phases[2] - 63), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 67 then
				if SongTime > 45.71 and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 45.71, Appear = 46.71, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 68
				elseif SongTime <= 47.24 and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 45.71, Appear = 46.71, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 66
				end
			elseif phases[2] >= 68 and phases[2] <= 70 then
				if SongTime > 46.14 + 0.215*(phases[2] - 68) and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 46.14 + 0.215*(phases[2] - 68), Appear = 47.14 + 0.215*(phases[2] - 68), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 47.44 + 0.215*(phases[2] - 68) and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 46.14 + 0.215*(phases[2] - 68), Appear = 47.14 + 0.215*(phases[2] - 68), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] >= 71 and phases[2] <= 76 then
				if SongTime > 49.57 + 0.215*(phases[2] - 71) and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 49.57 + 0.215*(phases[2] - 71), Appear = 50.57 + 0.215*(phases[2] - 71), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 50.87 + 0.215*(phases[2] - 71) and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 49.57 + 0.215*(phases[2] - 71), Appear = 50.57 + 0.215*(phases[2] - 71), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 77 then
				if SongTime > 50.86 and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 50.86, Appear = 51.86, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 78
				elseif SongTime <= 52.29 and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 45.71, Appear = 46.71, SpawnTime = 0.1, Stay = 0.33, Scale = {Standard = 200, Increment = 60}})
					phases[2] = 76
				end
			elseif phases[2] >= 78 and phases[2] <= 80 then
				if SongTime > 51.29 + 0.215*(phases[2] - 78) and not backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 51.29 + 0.215*(phases[2] - 78), Appear = 52.29 + 0.215*(phases[2] - 78), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] + 1
				elseif SongTime <= 52.59 + 0.215*(phases[2] - 78) and backwards then
					table.insert(Circles, {X = math.random(100, 540), Y = math.random(100, 380), Inicial = 51.29 + 0.215*(phases[2] - 78), Appear = 52.29 + 0.215*(phases[2] - 78), SpawnTime = 0.1, Stay = 0.1, Scale = {Standard = 200, Increment = 0}})
					phases[2] = phases[2] - 1
				end
			elseif phases[2] >= 81 and phases[2] <= 88 then
				if SongTime > 53.27 + 0.05*(phases[2] - 81) and not backwards then
					for i=0,1 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = 320 - (10 + 20*(phases[2] - 81))*(1 - 2*i), Grosor = 20, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 53.27 + 0.05*(phases[2] - 81), Appear = 55.27 + 0.05*(phases[2] - 81), Disappear = 55.47 + 0.05*(phases[2] - 81)})
					end
					phases[2] = phases[2] + 1
				elseif SongTime <= 55.57 + 0.05*(phases[2] - 81) and backwards then
					for i=0,1 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = 320 - (10 + 20*(phases[2] - 81))*(1 - 2*i), Grosor = 20, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 53.27 + 0.05*(phases[2] - 81), Appear = 55.27 + 0.05*(phases[2] - 81), Disappear = 55.47 + 0.05*(phases[2] - 81)})
					end
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 89 then
				if SongTime > 60.14 and not backwards then
					if Dorito1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras3, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Vel = -0.5, Lenght = {Current = 60, Increment = 80}, Inicial = 60.14, Appear = 62.14, Disappear = 68.57, Follow = true})
						end
						Dorito1.sprite.SendToTop()
					end
					phases[2] = 90
				elseif SongTime <= 68.67 and backwards then
					if Dorito1 then
						for i=1,8 do
							local Misil = CreateProjectileAbs("Pixel", -100, -100)
							local Warning = CreateSprite("Pixel","BelowPlayer")
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.SetVar("NoDamage", 1)
							Warning.color = {1, 32/255, 112/255}
							table.insert(Barras3, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i, Vel = -0.5, Lenght = {Current = 60, Increment = 80}, Inicial = 60.14, Appear = 62.14, Disappear = 68.57, Follow = true})
						end
						Dorito1.sprite.SendToTop()
					end
					phases[2] = 88
				end
			elseif phases[2] == 90 then
				if SongTime > 65.57 and not backwards then
					local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = 180
					spruait.Scale(130/480, 130/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 172.5, Appear = 65.57, Disappear = 68.57})
					local spruait = CreateSprite("Pixel","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.Scale(130, 150)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 65, Appear = 65.57, Disappear = 68.57})
					phases[2] = 91
				elseif SongTime <= 68.57 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = 180
					spruait.Scale(130/480, 130/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 172.5, Appear = 65.57, Disappear = 68.57})
					local spruait = CreateSprite("Pixel","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.Scale(130, 150)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 65, Appear = 65.57, Disappear = 68.57})
					phases[2] = 89
				end
			elseif phases[2] == 91 then
				if SongTime > 69.71 and not backwards then
					local randomizador = math.random(45, 90)
					for i=1,4 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i + randomizador, Inicial = 69.71, Appear = 70.71, Disappear = 71.71, Especiales = true})
					end
					phases[2] = 92
				elseif SongTime <= 71.81 and backwards then
					local randomizador = math.random(45, 90)
					for i=1,4 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i + randomizador, Inicial = 69.71, Appear = 70.71, Disappear = 71.71, Especiales = true})
					end
					phases[2] = 90
				end
			elseif phases[2] == 92 then
				if SongTime > 71.42 and not backwards then
					local randomizador = math.random(-135, -90)
					for i=1,4 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i + randomizador, Inicial = 71.42, Appear = 72.42, Disappear = 73.42, Especiales = true})
					end
					phases[2] = 93
				elseif SongTime <= 73.52 and backwards then
					local randomizador = math.random(-135, -90)
					for i=1,4 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = 45*i + randomizador, Inicial = 71.42, Appear = 72.42, Disappear = 73.42, Especiales = true})
					end
					phases[2] = 91
				end
			elseif phases[2] == 93 then
				if SongTime > 73.14 and not backwards then
					for i=1,8 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras3, {Bullet = Misil, Warn = Warning, PX = 320, PY = 240, Grosor = 20, Ang = 45*i, Vel = 0.5, Lenght = {Current = 60, Increment = 80}, Inicial = 73.14, Appear = 74.14, Disappear = 75.14, Lider = true})
					end
					phases[2] = 94
				elseif SongTime <= 75.24 and backwards then
					for i=1,8 do
						local Misil = CreateProjectileAbs("Pixel", -100, -100)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.SetVar("NoDamage", 1)
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras3, {Bullet = Misil, Warn = Warning, PX = 320, PY = 240, Grosor = 20, Ang = 45*i, Vel = 0.5, Lenght = {Current = 60, Increment = 80}, Inicial = 73.14, Appear = 74.14, Disappear = 75.14, Lider = true})
					end
					phases[2] = 92
				end
			elseif phases[2] >= 94 and phases[2] <= 112 then
				if SongTime > 80.86 + 0.05*(phases[2] - 94) and not backwards then
					if phases[2] <= 95 then
						if phases[2] == 94 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {420 + 90*(phases[2] - 94), 440, 0.25*(phases[2] - 94), 110, 10}, Gusanito = {87.86, 180}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {420 + 90*(phases[2] - 94), 440, 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 96 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 440, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 99 then
						if phases[2] == 98 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 330 - 90*(phases[2] - 97), 0.25*(phases[2] - 94), 110, 10}, Gusanito = {86.14, 90}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 330 - 90*(phases[2] - 97), 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 100 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 40, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 105 then
						if phases[2] == 102 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {530 - 105*(phases[2] - 101), 30 - 20*math.sin(math.rad(180/4*(phases[2] - 101))), 0.25*(phases[2] - 94), 120, 10}, Gusanito = {82.71, 0}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {530 - 105*(phases[2] - 101), 30 - 20*math.sin(math.rad(180/4*(phases[2] - 101))), 0.25*(phases[2] - 94), 120, 10}})
						end
					elseif phases[2] == 106 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 40, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 109 then
						if phases[2] == 107 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 150 + 90*(phases[2] - 107), 0.25*(phases[2] - 94), 110, 10}, Gusanito = {84.43, 270}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 150 + 90*(phases[2] - 107), 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 110 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 440, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 112 then
						if phases[2] == 112 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {130 + 90*(phases[2] - 111), 440, 0.25*(phases[2] - 94), 110, 10}, Gusanito = {87.86, 180}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {130 + 90*(phases[2] - 111), 440, 0.25*(phases[2] - 94), 110, 10}})
						end
					end
					phases[2] = phases[2] + 1
				elseif SongTime <= 80.86 + 0.05*(phases[2] - 94) and backwards then
					if phases[2] <= 95 then
						if phases[2] == 94 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {420 + 90*(phases[2] - 94), 440, 0.25*(phases[2] - 94), 110, 10}, Gusanito = {87.86, 180}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {420 + 90*(phases[2] - 94), 440, 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 96 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 440, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 99 then
						if phases[2] == 98 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 330 - 90*(phases[2] - 97), 0.25*(phases[2] - 94), 110, 10}, Gusanito = {86.14, 90}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 330 - 90*(phases[2] - 97), 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 100 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {630, 40, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 105 then
						if phases[2] == 102 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {530 - 105*(phases[2] - 101), 30 - 20*math.sin(math.rad(180/4*(phases[2] - 101))), 0.25*(phases[2] - 94), 120, 10}, Gusanito = {82.71, 0}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {530 - 105*(phases[2] - 101), 30 - 20*math.sin(math.rad(180/4*(phases[2] - 101))), 0.25*(phases[2] - 94), 120, 10}})
						end
					elseif phases[2] == 106 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 40, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 109 then
						if phases[2] == 107 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 150 + 90*(phases[2] - 107), 0.25*(phases[2] - 94), 110, 10}, Gusanito = {84.43, 270}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 150 + 90*(phases[2] - 107), 0.25*(phases[2] - 94), 110, 10}})
						end
					elseif phases[2] == 110 then
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {10, 440, 0.25*(phases[2] - 94), 180, 20}})
					elseif phases[2] <= 112 then
						if phases[2] == 112 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {130 + 90*(phases[2] - 111), 440, 0.25*(phases[2] - 94), 110, 10}, Gusanito = {87.86, 180}})
						else
							table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), VelRot = -2, Initial = 80.86 + 0.05*(phases[2] - 94), Delay = 1, Stay = 6.86 - 0.025*(phases[2] - 94), Increase = 10/310, Zoom = {130 + 90*(phases[2] - 111), 440, 0.25*(phases[2] - 94), 110, 10}})
						end
					end
					phases[2] = phases[2] - 1
				end
			elseif phases[2] == 113 then
				if SongTime > 88.57 then
					if not CircleS then
						CircleS = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0, "BelowBullet")
						CircleS.SetVar("NoDamage", 1)
						CircleS.SetVar("SpeedRot", 0)
						CircleS.SetVar("X", 620)
						CircleS.SetVar("Y", 240)
						CircleS.sprite.color = {1, 32/255, 112/255}
						CircleS.sprite.Scale(0, 0)
						table.insert(Bullets, CircleS)
						for i=1,#Appear do
							if Appear[i].Zoom then
								Appear[i].Bullet.sprite.SendToTop()
							end
						end
					end
					if SongTime <= 89.57 then
						CircleS.sprite.Scale(240*math.sin(math.rad(90/1*(SongTime - 88.57)))/480, 240*math.sin(math.rad(90/1*(SongTime - 88.57)))/480)
					elseif not backwards then
						local randomizador = math.random(360)
						for i=1,16 do
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 620, Y = 240, Vel = 3, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 10}, Direction = 360/16*i + randomizador, SpawnTime = 89.57, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + randomizador}, NoLag = true})
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 620, Y = 240, Vel = 3.75, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 10}, Direction = 360/16*i + 360/32 + randomizador, SpawnTime = 89.57, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32 + randomizador}, NoLag = true})
						end
						local misil = CreateProjectileAbs("JS&B Library Sprites/Explotion/1", 0, 0)
						misil.SetVar("NoDamage", 10000000)
						misil.SetVar("SpeedRot", 0)
						misil.SetVar("X", 620)
						misil.SetVar("Y", 240)
						misil.SetVar("Anim", 1)
						misil.sprite.Scale(240/178, 240/178)
						table.insert(Bullets, misil)
						CircleS.SetVar("Remove", true)
						CircleS = nil
						phases[2] = 114
					end
				elseif backwards then
					if CircleS then
						CircleS.SetVar("Remove", true)
					end
					CircleS = nil
					phases[2] = 112
				end
			elseif phases[2] == 114 then
				if SongTime > 90.29 then
					if not CircleS then
						CircleS = CreateProjectileAbs("JS&B Library Sprites/Circle", 0, 0)
						CircleS.SetVar("NoDamage", 1)
						CircleS.SetVar("SpeedRot", 0)
						CircleS.SetVar("X", 20)
						CircleS.SetVar("Y", 240)
						CircleS.sprite.color = {1, 32/255, 112/255}
						CircleS.sprite.Scale(0, 0)
						table.insert(Bullets, CircleS)
					end
					if SongTime <= 91.29 then
						CircleS.sprite.Scale(240*math.sin(math.rad(90/1*(SongTime - 90.29)))/480, 240*math.sin(math.rad(90/1*(SongTime - 90.29)))/480)
					elseif not backwards then
						local randomizador = math.random(360)
						for i=1,16 do
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 20, Y = 240, Vel = 3, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 10}, Direction = 360/16*i + randomizador, SpawnTime = 91.29, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + randomizador}, NoLag = true})
							local misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
							misil.sprite.color = {1, 32/255, 112/255}
							table.insert(Movement, {Bullet = misil, X = 20, Y = 240, Vel = 3.75, VelRot = -5, Scale = {Initial = 0, Increment = 30/310, Time = 10}, Direction = 360/16*i + 360/32 + randomizador, SpawnTime = 91.29, Ondulacion = {Radio = -5, Time = -0.5, Angle = 360/16*i + 360/32 + randomizador}, NoLag = true})
						end
						local misil = CreateProjectileAbs("JS&B Library Sprites/Explotion/1", 0, 0)
						misil.SetVar("NoDamage", 10000000)
						misil.SetVar("SpeedRot", 0)
						misil.SetVar("X", 20)
						misil.SetVar("Y", 240)
						misil.SetVar("Anim", 1)
						misil.sprite.Scale(240/178, 240/178)
						table.insert(Bullets, misil)
						CircleS.SetVar("Remove", true)
						CircleS = nil
						phases[2] = 115
					end
				elseif backwards then
					if CircleS then
						CircleS.SetVar("Remove", true)
					end
					CircleS = nil
					phases[2] = 113
				end
			elseif phases[2] == 115 then
				if SongTime > 94.43 and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 94.43, Appear = 96.43, Disappear = 96.75})
					phases[2] = 116
				elseif SongTime <= 96.85 and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 94.43, Appear = 96.43, Disappear = 96.75})
					phases[2] = 114
				end
			elseif phases[2] == 116 then
				if SongTime > 97.15 and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 97.15, Appear = 98.15, Disappear = 98.47})
					phases[2] = 117
				elseif SongTime <= 98.57 and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 97.15, Appear = 98.15, Disappear = 98.47})
					phases[2] = 115
				end
			elseif phases[2] == 117 then
				if SongTime > 98.87 and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 98.87, Appear = 99.87, Disappear = 100.19})
					phases[2] = 118
				elseif SongTime <= 100.29 and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 98.87, Appear = 99.87, Disappear = 100.19})
					phases[2] = 116
				end
			elseif phases[2] == 118 then
				if SongTime > 101.29 and not backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(960/480, 1600/480)
					table.insert(Warnings, {Sprite = spruait, X = 480, Y = 25, Appear = 101.29, Disappear = 103.29})
					phases[2] = 119
				elseif SongTime <= 103.29 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(960/480, 1600/480)
					table.insert(Warnings, {Sprite = spruait, X = 480, Y = 25, Appear = 101.29, Disappear = 103.29})
					phases[2] = 117
				end
			elseif phases[2] == 119 then
				if SongTime > 104 and not backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(480/480, 800/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 104, Disappear = 105})
					phases[2] = 120
				elseif SongTime <= 105 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(480/480, 800/480)
					table.insert(Warnings, {Sprite = spruait, X = 320, Y = 56, Appear = 104, Disappear = 105})
					phases[2] = 118
				end
			elseif phases[2] == 120 then
				if SongTime > 105.72 and not backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(960/480, 1600/480)
					table.insert(Warnings, {Sprite = spruait, X = 160, Y = 25, Appear = 105.72, Disappear = 106.72})
					phases[2] = 121
				elseif SongTime <= 106.72 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Shoot","BelowPlayer")
					spruait.color = {1, 32/255, 112/255}
					spruait.rotation = -90
					spruait.Scale(960/480, 1600/480)
					table.insert(Warnings, {Sprite = spruait, X = 160, Y = 25, Appear = 105.72, Disappear = 106.72})
					phases[2] = 119
				end
			elseif phases[2] == 121 then
				if SongTime > 107.72 and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 107.72, Appear = 109.72, Disappear = 110.04})
					phases[2] = 122
				elseif SongTime <= 110.14 and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100)
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.sprite.color = {1, 32/255, 112/255}
					Misil.SetVar("NoDamage", 1)
					Warning.color = {1, 32/255, 112/255}
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, PX = -20, PY = 240, Grosor = 160, Ang = 0, Inicial = 107.72, Appear = 109.72, Disappear = 110.04})
					phases[2] = 120
				end
			elseif phases[2] == 122 then
				if SongTime > 117.53 and not backwards then
					local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
					spruait.color = {0, 1, 1}
					spruait.rotation = -90
					spruait.Scale(130/480, 130/480)
					table.insert(Warnings, {Sprite = spruait, X = 347.5, Y = 240, Appear = 117.53, Disappear = 118.53})
					local spruait = CreateSprite("Pixel","BelowPlayer")
					spruait.color = {0, 1, 1}
					spruait.Scale(270, 130)
					table.insert(Warnings, {Sprite = spruait, X = 515, Y = 240, Appear = 117.53, Disappear = 118.53})
					phases[2] = 123
				elseif SongTime <= 118.53 and backwards then
					local spruait = CreateSprite("Peer Gynt Level/Semicircle","BelowPlayer")
					spruait.color = {0, 1, 1}
					spruait.rotation = -90
					spruait.Scale(130/480, 130/480)
					table.insert(Warnings, {Sprite = spruait, X = 347.5, Y = 240, Appear = 117.53, Disappear = 118.53})
					local spruait = CreateSprite("Pixel","BelowPlayer")
					spruait.color = {0, 1, 1}
					spruait.Scale(270, 130)
					table.insert(Warnings, {Sprite = spruait, X = 515, Y = 240, Appear = 117.53, Disappear = 118.53})
					phases[2] = 121
				end
			elseif phases[2] == 123 then
				if SongTime > 119.16 then
					if not Dorito2 then
						Dorito2 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
						Dorito2.SetVar("NoDamage", 100000000000)
						Dorito2.SetVar("SpeedRot", -2)
						Dorito2.SetVar("X", 800)
						Dorito2.SetVar("Y", 240)
						Dorito2.SetVar("Absoluto", true)
						Dorito2.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito2)
					end
					if not Dorito3 then
						Dorito3 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
						Dorito3.SetVar("NoDamage", 100000000000)
						Dorito3.SetVar("SpeedRot", -2)
						Dorito3.SetVar("X", 800)
						Dorito3.SetVar("Y", 240)
						Dorito3.SetVar("Absoluto", true)
						Dorito3.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito3)
					end
					if not Dorito5 then
						Dorito5 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
						Dorito5.SetVar("NoDamage", 1)
						Dorito5.SetVar("SpeedRot", 0)
						Dorito5.SetVar("Absoluto", true)
						Dorito5.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito5)
					end
					if not Dorito4 then
						Dorito4 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito", 0, 0)
						Dorito4.SetVar("NoDamage", 1)
						Dorito4.SetVar("SpeedRot", 0)
						Dorito4.SetVar("X", 800)
						Dorito4.SetVar("Y", 240)
						Dorito4.SetVar("Absoluto", true)
						Dorito4.sprite.Scale(100/480, 100/480)
						table.insert(Bullets, Dorito4)
					end
					Dorito4.sprite.rotation = Head.sprite.rotation + 180
					Dorito4.SetVar("X", Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)))
					Dorito4.SetVar("Y", Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)))
					if SongTime <= 120.21 then
						Dorito2.SetVar("X", 520 + 60*math.cos(math.rad(180/1.05*(SongTime - 119.16))))
						Dorito2.SetVar("Y", 320 - 80*math.cos(math.rad(180/1.05*(SongTime - 119.16))))
						Dorito3.SetVar("X", 400 - 60*math.cos(math.rad(180/1.05*(SongTime - 119.16))))
						Dorito3.SetVar("Y", 160 + 80*math.cos(math.rad(180/1.05*(SongTime - 119.16))))
					elseif not backwards then
						Dorito2.SetVar("X", 460)
						Dorito2.SetVar("Y", 400)
						Dorito3.SetVar("X", 460)
						Dorito3.SetVar("Y", 80)
						phases[2] = 124
					end
				elseif backwards then
					if Dorito4 then
						Dorito4.SetVar("Remove", true)
					end
					if Dorito5 then
						Dorito5.SetVar("Remove", true)
					end
					if Dorito3 then
						Dorito3.SetVar("X", 340)
						Dorito3.SetVar("X", 240)
					end
					if Dorito2 then
						Dorito2.SetVar("X", 580)
						Dorito2.SetVar("Y", 240)
					end
					Dorito4 = nil
					phases[2] = 122
				end
			elseif phases[2] == 124 then
				Dorito4.sprite.rotation = Head.sprite.rotation + 180
				Dorito4.SetVar("X", Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)))
				Dorito4.SetVar("Y", Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)))
				if SongTime > 120.21 and not backwards then
					if not Laser1 then
						Laser1 = CreateProjectileAbs("Pixel", 0, 0, "BelowPlayer")
						Laser1.SetVar("NoDamage", 1000000000)
						Laser1.SetVar("SpeedRot", 0)
						Laser1.SetVar("Absoluto", true)
						Laser1.sprite.color = {0, 1, 1}
						Laser1.sprite.Scale(0, 10)
						table.insert(Bullets, Laser1)
					end
					if not Laser2 then
						Laser2 = CreateProjectileAbs("Pixel", 0, 0, "BelowPlayer")
						Laser2.SetVar("NoDamage", 1000000000)
						Laser2.SetVar("SpeedRot", 0)
						Laser2.SetVar("Absoluto", true)
						Laser2.sprite.color = {0, 1, 1}
						Laser2.sprite.Scale(0, 10)
						table.insert(Bullets, Laser2)
					end
					if SongTime <= 120.43 then
						Dorito2.SetVar("X", 460)
						Dorito3.SetVar("X", 460)
						Laser1.sprite.xscale = 0
						Laser2.sprite.xscale = 0
					elseif SongTime <= 120.53 then
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))/0.1*(SongTime - 120.43)
						Laser2.sprite.xscale = 0
					elseif SongTime <= 121.29 then
						Dorito2.SetVar("X", 460)
						Dorito3.SetVar("X", 460)
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = 0
					elseif SongTime <= 121.39 then
						Dorito2.SetVar("X", 460)
						Dorito3.SetVar("X", 460)
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2))/0.1*(SongTime - 121.29)
					elseif SongTime <= 122.15 then
						Dorito2.SetVar("X", 460)
						Dorito3.SetVar("X", 460)
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2))
					elseif SongTime <= 122.55 then
						if not Data2 then
							if not rango or rango <= 10 then
								shakescreen = 0
								rango = 10
							end
						end
						Dorito4.SetVar("X", 88 + 232*math.sin(math.rad(90/0.4*(SongTime - 122.15))))
						Dorito4.SetVar("Y", 378 - 28*math.sin(math.rad(90/0.4*(SongTime - 122.15))))
						Dorito2.SetVar("X", 460 + 60*math.sin(math.rad(90/0.4*(SongTime - 122.15))))
						Dorito3.SetVar("X", 460 + 60*math.sin(math.rad(90/0.4*(SongTime - 122.15))))
						Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
						Dorito4.sprite.rotation = 184 + 1256/14.56*(SongTime - 122.15)
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2))
					elseif not backwards then
						Data2 = nil
						Dorito4.SetVar("X", 320)
						Dorito4.SetVar("Y", 350)
						Dorito2.SetVar("X", 520)
						Dorito3.SetVar("X", 520)
						Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
						Dorito4.sprite.rotation = 184 + 1256/14.56*(SongTime - 122.15)
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2))
						phases[2] = 125
					end
					Laser1.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), Dorito4.GetVar("X") - Dorito2.GetVar("X"))/math.pi*180
					Laser2.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), Dorito4.GetVar("X") - Dorito3.GetVar("X"))/math.pi*180
					Laser1.SetVar("X", Dorito2.GetVar("X") + Laser1.sprite.xscale/2*math.cos(math.rad(Laser1.sprite.rotation)))
					Laser1.SetVar("Y", Dorito2.GetVar("Y") + Laser1.sprite.xscale/2*math.sin(math.rad(Laser1.sprite.rotation)))
					Laser2.SetVar("X", Dorito3.GetVar("X") + Laser2.sprite.xscale/2*math.cos(math.rad(Laser2.sprite.rotation)))
					Laser2.SetVar("Y", Dorito3.GetVar("Y") + Laser2.sprite.xscale/2*math.sin(math.rad(Laser2.sprite.rotation)))
				elseif backwards then
					Data2 = nil
					if Laser1 then
						Laser1.SetVar("Remove", true)
					end
					if Laser2 then
						Laser2.SetVar("Remove", true)
					end
					if Dorito2 then
						Dorito2.SetVar("X", 460)
					end
					if Dorito3 then
						Dorito3.SetVar("X", 460)
					end
					Laser1 = nil
					Laser2 = nil
					phases[2] = 123
				end
			elseif phases[2] == 125 then
				if SongTime > 122.55 then
					if SongTime <= 123.85 then
						if Scroll then
							Scroll.X = -3 + 3*math.sin(math.rad(90/1.3*(SongTime - 122.55)))
						end
						Dorito4.SetVar("Y", 295 + 55*math.cos(math.rad(180/1.3*(SongTime - 122.55))))
						Dorito2.SetVar("X", 700 - 180*math.cos(math.rad(90/1.3*(SongTime - 122.55))))
						Dorito2.SetVar("Y", 540 - 140*math.cos(math.rad(90/1.3*(SongTime - 122.55))))
						Dorito3.SetVar("X", 700 - 180*math.cos(math.rad(90/1.3*(SongTime - 122.55))))
						Dorito3.SetVar("Y", -60 + 140*math.cos(math.rad(90/1.3*(SongTime - 122.55))))
						Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
						Dorito4.sprite.rotation = 184 + 1256/14.56*(SongTime - 122.15)
						Laser1.sprite.yscale = 10 - 10*math.sin(math.rad(90/0.2*math.min(SongTime - 122.55, 0.2)))
						Laser2.sprite.yscale = 10 - 10*math.sin(math.rad(90/0.2*math.min(SongTime - 122.55, 0.2)))
						BG.color = {math.cos(math.rad(90/1.3*(SongTime - 122.55)))/8, 32*math.cos(math.rad(90/1.3*(SongTime - 122.55)))/255/8, 112*math.cos(math.rad(90/1.3*(SongTime - 122.55)))/255/8}
					elseif not backwards then
						Scroll = nil
						Dorito4.SetVar("Y", 240)
						Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
						Dorito4.sprite.rotation = 184 + 1256/14.56*(SongTime - 122.15)
						Dorito2.SetVar("Remove", true)
						Dorito3.SetVar("Remove", true)
						Laser1.SetVar("Remove", true)
						Laser2.SetVar("Remove", true)
						Dorito2 = nil
						Dorito3 = nil
						Laser1 = nil
						Laser2 = nil
						BG.color = {0, 0, 0}
						phases[2] = 126
					end
					if Laser1 then
						Laser1.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2))
						Laser2.sprite.xscale = math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2))
						Laser1.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), Dorito4.GetVar("X") - Dorito2.GetVar("X"))/math.pi*180
						Laser2.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), Dorito4.GetVar("X") - Dorito3.GetVar("X"))/math.pi*180
						Laser1.SetVar("X", Dorito2.GetVar("X") + Laser1.sprite.xscale/2*math.cos(math.rad(Laser1.sprite.rotation)))
						Laser1.SetVar("Y", Dorito2.GetVar("Y") + Laser1.sprite.xscale/2*math.sin(math.rad(Laser1.sprite.rotation)))
						Laser2.SetVar("X", Dorito3.GetVar("X") + Laser2.sprite.xscale/2*math.cos(math.rad(Laser2.sprite.rotation)))
						Laser2.SetVar("Y", Dorito3.GetVar("Y") + Laser2.sprite.xscale/2*math.sin(math.rad(Laser2.sprite.rotation)))
					end
				elseif backwards then
					Scroll = {X = -3, Y = 0}
					Dorito4.SetVar("Y", 350)
					Dorito2.SetVar("X", 520)
					Dorito2.SetVar("Y", 400)
					Dorito3.SetVar("X", 520)
					Dorito3.SetVar("Y", 80)
					Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
					Dorito4.sprite.rotation = 184 + 1076/14.56*(SongTime - 122.15)
					Laser1.sprite.Scale(math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito2.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), 2)), 10)
					Laser2.sprite.Scale(math.sqrt(math.pow(Dorito4.GetVar("X") - Dorito3.GetVar("X"), 2) + math.pow(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), 2)), 10)
					Laser1.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito2.GetVar("Y"), Dorito4.GetVar("X") - Dorito2.GetVar("X"))/math.pi*180
					Laser2.sprite.rotation = math.atan2(Dorito4.GetVar("Y") - Dorito3.GetVar("Y"), Dorito4.GetVar("X") - Dorito3.GetVar("X"))/math.pi*180
					Laser1.SetVar("X", Dorito2.GetVar("X") + Laser1.sprite.xscale/2*math.cos(math.rad(Laser1.sprite.rotation)))
					Laser1.SetVar("Y", Dorito2.GetVar("Y") + Laser1.sprite.xscale/2*math.sin(math.rad(Laser1.sprite.rotation)))
					Laser2.SetVar("X", Dorito3.GetVar("X") + Laser2.sprite.xscale/2*math.cos(math.rad(Laser2.sprite.rotation)))
					Laser2.SetVar("Y", Dorito3.GetVar("Y") + Laser2.sprite.xscale/2*math.sin(math.rad(Laser2.sprite.rotation)))
					BG.color = {1/8, 32/255/8, 112/255/8}
					phases[2] = 124
				end
			elseif phases[2] == 126 then
				if SongTime > 123.85 then
					if SongTime <= 136.71 then
						Dorito4.SetVar("Y", 240 + 10*math.sin(math.rad(2160/12.86*(SongTime - 123.85))))
						Dorito4.sprite.alpha = 0.5 + 0.5*math.cos(math.rad(5220/14.56*(SongTime - 122.15)))
						Dorito4.sprite.rotation = 184 + 1256/14.56*(SongTime - 122.15)
					elseif not backwards then
						Dorito4.SetVar("Remove", true)
						Dorito4 = nil
						Dorito5.SetVar("NoDamage", 1000000000)
						Dorito5.SetVar("Y", 240)
						Dorito5.sprite.alpha = 1
						Dorito5.sprite.rotation = 0
						phases[2] = 127
					end
				elseif backwards then
					Dorito2 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito2.SetVar("NoDamage", 100000000000)
					Dorito2.SetVar("SpeedRot", -2)
					Dorito2.SetVar("X", 800)
					Dorito2.SetVar("Y", 240)
					Dorito2.SetVar("Absoluto", true)
					Dorito2.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito2)
					Dorito3 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito3.SetVar("NoDamage", 100000000000)
					Dorito3.SetVar("SpeedRot", -2)
					Dorito3.SetVar("X", 800)
					Dorito3.SetVar("Y", 240)
					Dorito3.SetVar("Absoluto", true)
					Dorito3.sprite.Scale(100/480, 100/480)
					table.insert(Bullets, Dorito3)
					Laser1 = CreateProjectileAbs("Pixel", 0, 0, "BelowPlayer")
					Laser1.SetVar("NoDamage", 1000000000)
					Laser1.SetVar("SpeedRot", 0)
					Laser1.SetVar("X", 0)
					Laser1.SetVar("Y", 0)
					Laser1.SetVar("Absoluto", true)
					Laser1.sprite.color = {0, 1, 1}
					Laser1.sprite.Scale(0, 0)
					table.insert(Bullets, Laser1)
					Laser2 = CreateProjectileAbs("Pixel", 0, 0, "BelowPlayer")
					Laser2.SetVar("NoDamage", 1000000000)
					Laser2.SetVar("SpeedRot", 0)
					Laser2.SetVar("X", 0)
					Laser2.SetVar("Y", 0)
					Laser2.SetVar("Absoluto", true)
					Laser2.sprite.color = {0, 1, 1}
					Laser2.sprite.Scale(0, 0)
					table.insert(Bullets, Laser2)
					phases[2] = 125
				end
			elseif phases[2] == 127 then
				if SongTime > 138.5 then
					if SongTime <= 139.25 then
						Dorito5.sprite.alpha = math.cos(math.rad(90/0.75*(SongTime - 138.5)))
					elseif not backwards then
						Dorito5.SetVar("Remove", true)
						Dorito5 = nil
						phases[2] = 128
					end
				elseif backwards then
					Dorito4 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito", 0, 0)
					Dorito4.SetVar("NoDamage", 1)
					Dorito4.SetVar("SpeedRot", 0)
					Dorito4.SetVar("X", 320)
					Dorito4.SetVar("Y", 240)
					Dorito4.SetVar("Absoluto", true)
					Dorito4.sprite.Scale(100/480, 100/480)
					Dorito4.sprite.alpha = 0
					table.insert(Bullets, Dorito4)
					phases[2] = 126
				end
			elseif phases[2] == 128 then
				if SongTime > 139.25 then
					--End
				elseif backwards then
					Dorito5 = CreateProjectileAbs("Peer Gynt Level/Poderoso Dorito Bueno", 0, 0)
					Dorito5.SetVar("NoDamage", 1)
					Dorito5.SetVar("SpeedRot", 0)
					Dorito5.SetVar("X", 320)
					Dorito5.SetVar("Y", 240)
					Dorito5.SetVar("Absoluto", true)
					Dorito5.sprite.Scale(100/480, 100/480)
					Dorito5.sprite.alpha = 0
					table.insert(Bullets, Dorito5)
					phases[2] = 127
				end
			end
			if phases[3] == 0 then
				if SongTime > 10.71 and not backwards then
					pos = {90, 550}
					for i=1,2 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = pos[i], Grosor = 220, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 10.71, Appear = 12.43, Disappear = 13.29, Shake = true})
					end
					phases[3] = 1
				elseif SongTime <= 13.39 and backwards then
					pos = {90, 550}
					for i=1,2 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = pos[i], Grosor = 220, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 10.71, Appear = 12.43, Disappear = 13.29, Shake = true})
					end
					phases[3] = -1
				end
			elseif phases[3] == 1 then
				if SongTime > 21 then
					if SongTime <= 25.2 and timer%6 == 0 and not backwards then
						local Misil = CreateProjectileAbs("Peer Gynt Level/Dorito", 0, 0)
						Misil.sprite.color = {1, 32/255, 112/255}
						Misil.sprite.Scale(20/480, 20/480)
						table.insert(Caida, {Bullet = Misil, X = math.random(5, 635), Y = 490, Vel = 0, Fuerza = 0, Gravedad = 0.2, VelRot = 4, SpawnTime = SongTime, Remove = {Right = 660, Left = -20, Down = -20}})
					elseif SongTime > 25.2 and not backwards then
						phases[3] = 2
					end
				elseif backwards then
					phases[3] = 0
				end
			elseif phases[3] == 2 then
				if SongTime > 25.2 then
					if SongTime <= 26 and timer%2 == 0 and not backwards then
						for i=1,2 do
							local Misil = CreateProjectileAbs("Peer Gynt Level/Dorito", 0, 0)
							Misil.sprite.color = {1, 32/255, 112/255}
							Misil.sprite.Scale(20/480, 20/480)
							table.insert(Caida, {Bullet = Misil, X = math.random(300, 340), Y = 490, Vel = 0, Fuerza = 0, Gravedad = 0.2, VelRot = 4, SpawnTime = SongTime, Remove = {Right = 660, Left = -20, Down = 210}, Especiales = true})
						end
					elseif SongTime > 26 and not backwards then
						phases[3] = 3
					end
				elseif backwards then
					phases[3] = 1
				end
			elseif phases[3] == 3 then
				if SongTime > 27.84 then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(6)
							for j=1,#pos do
								if pos[i] == pos[j] and i ~= j then
									done = nil
								end
							end
						until done
						done = nil
					end
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[1], PY = 500, X = 0, Y = -50, Stay = 12, Appear = 27.84, Eliminate = 28.28, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[2], PY = 500, X = 0, Y = -50, Stay = 25, Appear = 27.84, Eliminate = 28.5, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[3], PY = 500, X = 0, Y = -50, Stay = 37, Appear = 27.84, Eliminate = 28.71, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[4], PY = 500, X = 0, Y = -50, Stay = 50, Appear = 27.84, Eliminate = 28.93, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[5], PY = 500, X = 0, Y = -50, Stay = 62, Appear = 27.84, Eliminate = 29.14, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[6], PY = 500, X = 0, Y = -50, Stay = 75, Appear = 27.84, Eliminate = 29.36, NoCegar = true})
					phases[3] = 4
				elseif backwards then
					phases[3] = 2
				end
			elseif phases[3] == 4 then
				if SongTime > 29.57 then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(6)
							for j=1,#pos do
								if pos[i] == pos[j] and i ~= j then
									done = nil
								end
							end
						until done
						done = nil
					end
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[1], PY = -20, X = 0, Y = 50, Stay = 12, Appear = 29.57, Eliminate = 30.01, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[2], PY = -20, X = 0, Y = 50, Stay = 25, Appear = 29.57, Eliminate = 30.23, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[3], PY = -20, X = 0, Y = 50, Stay = 37, Appear = 29.57, Eliminate = 30.44, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[4], PY = -20, X = 0, Y = 50, Stay = 50, Appear = 29.57, Eliminate = 30.66, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[5], PY = -20, X = 0, Y = 50, Stay = 62, Appear = 29.57, Eliminate = 30.87, NoCegar = true})
					table.insert(Explotions, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Explosive", 0, 500), VelRot = 10, Misiles = 6, Vel = 5, ScaleLimit = 40, PX = 640/7*pos[6], PY = -20, X = 0, Y = 50, Stay = 75, Appear = 29.57, Eliminate = 31.09, NoCegar = true})
					phases[3] = 5
				elseif backwards then
					phases[3] = 2
				end
			elseif phases[3] == 5 then
				if SongTime > 33.85 and not backwards then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(10, 630)
							for j=1,#pos do
								if pos[i] <= pos[j] + 40 and pos[i] >= pos[j] - 40 and i ~= j then
									done = nils
								end
							end
						until done
						done = nil
					end
					for i=1,6 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = -10, Grosor = 20, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 33.85, Appear = 35.14 + 0.215*(i - 1), Disappear = 36.43, Go = {-10, pos[i]}})
					end
					phases[3] = 6
				elseif backwards then
					phases[3] = 2
				end
			elseif phases[3] == 6 then
				if SongTime > 35.57 and not backwards then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(10, 630)
							for j=1,#pos do
								if pos[i] <= pos[j] + 40 and pos[i] >= pos[j] - 40 and i ~= j then
									done = nils
								end
							end
						until done
						done = nil
					end
					for i=1,6 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = 650, Grosor = 20, Direction = 1, Phase = 0, Intensidad = 10, Inicial = 35.57, Appear = 36.86 + 0.215*(i - 1), Disappear = 38.14, Go = {650, pos[i]}})
					end
					phases[3] = 7
				elseif SongTime <= 36.53 and backwards then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(10, 630)
							for j=1,#pos do
								if pos[i] <= pos[j] + 40 and pos[i] >= pos[j] - 40 and i ~= j then
									done = nils
								end
							end
						until done
						done = nil
					end
					for i=1,6 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = -10, Grosor = 20, Direction = 3, Phase = 0, Intensidad = 10, Inicial = 33.85, Appear = 35.14 + 0.215*(i - 1), Disappear = 36.43, Go = {-10, pos[i]}})
					end
					phases[3] = 5
				end
			elseif phases[3] == 7 then
				if SongTime > 46.43 and not backwards then
					for i=0,6 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = 320, Y = 240, VelRot = 5 - 10*(i%2), Initial = 46.43, Delay = 2 + 0.05*i, Stay = 5.13 - 0.05*i, Scale = 50/480, Increase = 20/480, Rotate = {0, 75*i, 1 - 2*(i%2)}})
						if i > 0 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = 320, Y = 240, VelRot = 5 - 10*(i%2), Initial = 46.43, Delay = 2 + 0.05*i, Stay = 5.13 - 0.05*i, Scale = 50/480, Increase = 20/480, Rotate = {0, -75*i, 1 - 2*(i%2)}})
						end
					end
					phases[3] = 8
				elseif SongTime <= 38.24 and backwards then
					pos = {0,0,0,0,0,0}
					for i=1,6 do
						repeat
							done = true
							pos[i] = math.random(10, 630)
							for j=1,#pos do
								if pos[i] <= pos[j] + 40 and pos[i] >= pos[j] - 40 and i ~= j then
									done = nils
								end
							end
						until done
						done = nil
					end
					for i=1,6 do
						local Misil = CreateProjectileAbs("Pixel", 0, 0)
						local Warning = CreateSprite("Pixel","BelowPlayer")
						Misil.sprite.color = {1, 32/255, 112/255}
						Warning.color = {1, 32/255, 112/255}
						table.insert(Barras, {Bullet = Misil, Warn = Warning, PX = 650, Grosor = 20, Direction = 1, Phase = 0, Intensidad = 10, Inicial = 35.57, Appear = 36.86 + 0.215*(i - 1), Disappear = 38.14, Go = {650, pos[i]}})
					end
					phases[3] = 6
				end
			elseif phases[3] >= 8 and phases[3] <= 11 then
				if SongTime > 53.76 then
					if SongTime > 62.57 + 0.215*(phases[3] - 8) and not backwards then
						local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
						misil.sprite.color = {1, 32/255, 112/255}
						table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 62.57 + 0.215*(phases[3] - 8)})
						phases[3] = phases[3] + 1
					end
				elseif backwards then
					for i=0,6 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = 320, Y = 240, VelRot = 5 - 10*(i%2), Initial = 46.43, Delay = 2 + 0.05*i, Stay = 5.13 - 0.05*i, Scale = 50/480, Increase = 20/480, Rotate = {0, 75*i, 1 - 2*(i%2)}})
						if i > 0 then
							table.insert(Appear, {Bullet = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0), X = 320, Y = 240, VelRot = 5 - 10*(i%2), Initial = 46.43, Delay = 2 + 0.05*i, Stay = 5.13 - 0.05*i, Scale = 50/480, Increase = 20/480, Rotate = {0, -75*i, 1 - 2*(i%2)}})
						end
					end
					phases[3] = 7
				end
			elseif phases[3] >= 12 and phases[3] <= 16 then
				if SongTime > 63.43 + 0.1*(phases[3] - 12) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 63.43 + 0.1*(phases[3] - 12)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 11
				end
			elseif phases[3] >= 17 and phases[3] <= 21 then
				if SongTime > 64.28 + 0.1*(phases[3] - 17) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 64.28 + 0.1*(phases[3] - 17)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 16
				end
			elseif phases[3] >= 22 and phases[3] <= 25 then
				if SongTime > 64.71 + 0.215*(phases[3] - 22) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 64.71 + 0.215*(phases[3] - 22)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 21
				end
			elseif phases[3] >= 26 and phases[3] <= 28 then
				if SongTime > 65.57 + 0.1*(phases[3] - 26) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 65.57 + 0.1*(phases[3] - 26)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 25
				end
			elseif phases[3] >= 29 and phases[3] <= 33 then
				if SongTime > 66 + 0.1*(phases[3] - 29) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 66 + 0.1*(phases[3] - 29)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 28
				end
			elseif phases[3] >= 34 and phases[3] <= 38 then
				if SongTime > 66.33 + 0.1*(phases[3] - 34) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 66.33 + 0.1*(phases[3] - 34)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 33
				end
			elseif phases[3] >= 39 and phases[3] <= 41 then
				if SongTime > 66.66 + 0.215*(phases[3] - 39) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 66.66 + 0.215*(phases[3] - 39)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 38
				end
			elseif phases[3] >= 42 and phases[3] <= 46 then
				if SongTime > 67.29 + 0.1*(phases[3] - 42) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 67.29 + 0.1*(phases[3] - 42)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 41
				end
			elseif phases[3] >= 47 and phases[3] <= 48 then
				if SongTime > 67.71 + 0.215*(phases[3] - 47) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 67.71 + 0.215*(phases[3] - 47)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 46
				end
			elseif phases[3] >= 49 and phases[3] <= 53 then
				if SongTime > 68.14 + 0.1*(phases[3] - 49) and not backwards then
					local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100)
					misil.sprite.color = {1, 32/255, 112/255}
					table.insert(Movement, {Bullet = misil, X = Dorito1.GetVar("X"), Y = Dorito1.GetVar("Y"), Vel = 4, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = math.random(360), SpawnTime = 68.14 + 0.1*(phases[3] - 49)})
					phases[3] = phases[3] + 1
				elseif backwards then
					phases[3] = 48
				end
			elseif phases[3] >= 54 and phases[3] <= 65 then
				if SongTime > 74.85 + 0.43*(phases[3] - 54) and not backwards then
					for i=1,2 do
						repeat
							done = true
							pos = {math.random(100, 540), math.random(100, 380)}
							if pos[1] >= 220 and pos[1] <= 420 and pos[2] >= 140 and pos[2] <= 340 then
								done = nil
							end
						until done
						done = nil
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), PX = pos[1], PY = pos[2], Direction = math.random(360), Vel = 1, VelRot = -2, Initial = 74.85 + 0.43*(phases[3] - 54), Delay = 1, Stay = 1, Scale = 100/310, Increase = 10/310})
						pos = nil
					end
					phases[3] = phases[3] + 1
				elseif SongTime <= 77.05 + 0.43*(phases[3] - 54) and backwards then
					for i=1,2 do
						repeat
							done = true
							pos = {math.random(100, 540), math.random(100, 380)}
							if pos[1] >= 220 and pos[1] <= 420 and pos[2] >= 140 and pos[2] <= 340 then
								done = nil
							end
						until done
						done = nil
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), PX = pos[1], PY = pos[2], Direction = math.random(360), Vel = 1, VelRot = -2, Initial = 74.85 + 0.43*(phases[3] - 54), Delay = 1, Stay = 1, Scale = 100/310, Increase = 10/310})
						pos = nil
					end
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 66 and phases[3] <= 68 then
				if SongTime > 79.98 + 0.43*(phases[3] - 66) and not backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), X = 320, Y = 240, VelRot = -2, Initial = 79.98 + 0.43*(phases[3] - 66), Delay = 1, Stay = 1, Scale = 100/310, Increase = 10/310, Around = {60*(phases[3] - 66) + 180*i, 79.98}})
					end
					phases[3] = phases[3] + 1
				elseif SongTime <= 82.18 + 0.43*(phases[3] - 66) and backwards then
					for i=0,1 do
						table.insert(Appear, {Bullet = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), X = 320, Y = 240, VelRot = -2, Initial = 79.98 + 0.43*(phases[3] - 66), Delay = 1, Stay = 1, Scale = 100/310, Increase = 10/310, Around = {60*(phases[3] - 66) + 180*i, 79.98}})
					end
					phases[3] = phases[3] - 1
				end
			elseif phases[3] == 69 then
				if SongTime > 90 then
					for j=0,4 do
						local gusano = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Skorpy", 0, 0)}
						for i=1,6 do
							gusano[i].SetVar("NoDamage", 1)
							gusano[i].SetVar("SpeedRot", -2)
							gusano[i].SetVar("X", 640/4*j)
							gusano[i].SetVar("Y", 520)
							gusano[i].SetVar("PX", 640/4*j)
							gusano[i].SetVar("PY", 520)
							gusano[i].sprite.Scale(60/310, 60/310)
							gusano[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, gusano[i])
						end
						gusano[6].SetVar("SpeedRot", 0)
						gusano[6].sprite.Scale(60/480, 60/480)
						table.insert(Scorpion, {Head = gusano[6], Body = {gusano[5], gusano[4], gusano[3], gusano[2], gusano[1]}, X = 640/4*j, Y = 520, SpawnTime = 90, Direction = 180})
					end
					if not backwards then
						phases[3] = 70
					else
						phases[3] = 68
					end
				elseif backwards then
					phases[3] = 68
				end
			elseif phases[3] == 70 then
				if SongTime > 91.71 then
					for j=0,3 do
						local gusano = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Skorpy", 0, 0)}
						for i=1,6 do
							gusano[i].SetVar("NoDamage", 1)
							gusano[i].SetVar("SpeedRot", -2)
							gusano[i].SetVar("X", 70 + 640/4*j)
							gusano[i].SetVar("Y", -40)
							gusano[i].SetVar("PX", 70 + 640/4*j)
							gusano[i].SetVar("PY", -40)
							gusano[i].sprite.Scale(60/310, 60/310)
							gusano[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, gusano[i])
						end
						gusano[6].SetVar("SpeedRot", 0)
						gusano[6].sprite.Scale(60/480, 60/480)
						table.insert(Scorpion, {Head = gusano[6], Body = {gusano[5], gusano[4], gusano[3], gusano[2], gusano[1]}, X = 70 + 640/4*j, Y = -40, SpawnTime = 91.71, Direction = 0})
					end
					if not backwards then
						phases[3] = 71
					else
						phases[3] = 69
					end
				elseif backwards then
					phases[3] = 69
				end
			elseif phases[3] == 71 then
				if SongTime > 98.57 then
					if SongTime <= 99.87 then
						Head.SetVar("PX", 240 + 80*math.cos(math.rad(180/1.3*(SongTime - 98.57))))
					elseif not backwards then
						Head.SetVar("PX", 160)
						phases[3] = 72
					end
				elseif backwards then
					Head.SetVar("PX", 320)
					phases[3] = 70
				end
			elseif phases[3] == 72 then
				if SongTime > 100.29 then
					if SongTime <= 102.43 then
						Head.SetVar("PX", 320 - 160*math.cos(math.rad(180/2.14*(SongTime - 100.29))))
					elseif not backwards then
						Head.SetVar("PX", 480)
						phases[3] = 73
					end
				elseif backwards then
					Head.SetVar("PX", 160)
					phases[3] = 71
				end
			elseif phases[3] == 73 then
				if SongTime > 107.14 then
					for j=0,3 do
						local gusano = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Skorpy", 0, 0)}
						for i=1,6 do
							gusano[i].SetVar("NoDamage", 1)
							gusano[i].SetVar("SpeedRot", -2)
							gusano[i].SetVar("X", 680)
							gusano[i].SetVar("Y", 480 - 160*j)
							gusano[i].SetVar("PX", 680)
							gusano[i].SetVar("PY", 480 - 160*j)
							gusano[i].sprite.Scale(60/310, 60/310)
							gusano[i].sprite.color = {1, 32/255, 112/255}
							table.insert(Bullets, gusano[i])
						end
						gusano[6].SetVar("SpeedRot", 0)
						gusano[6].sprite.Scale(60/480, 60/480)
						table.insert(Scorpion, {Head = gusano[6], Body = {gusano[5], gusano[4], gusano[3], gusano[2], gusano[1]}, X = 680, Y = 480 - 160*j, SpawnTime = 107.14, Direction = 90})
					end
					if not backwards then
						phases[3] = 74
					else
						phases[3] = 72
					end
				elseif backwards then
					phases[3] = 72
				end
			elseif phases[3] >= 74 and phases[3] <= 79 then
				if SongTime > 123.29 + 0.215*(phases[3] - 74) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 123.29 + 0.215*(phases[3] - 74), Appear = 124.29 + 0.215*(phases[3] - 74), Disappear = 125.29 + 0.215*(phases[3] - 74), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 125.39 + 0.215*(phases[3] - 74) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 123.29 + 0.215*(phases[3] - 74), Appear = 124.29 + 0.215*(phases[3] - 74), Disappear = 125.29 + 0.215*(phases[3] - 74), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 80 and phases[3] <= 83 then
				if SongTime > 125 + 0.215*(phases[3] - 80) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 125 + 0.215*(phases[3] - 80), Appear = 126 + 0.215*(phases[3] - 80), Disappear = 127 + 0.215*(phases[3] - 80), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 127.1 + 0.215*(phases[3] - 80) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 125 + 0.215*(phases[3] - 80), Appear = 126 + 0.215*(phases[3] - 80), Disappear = 127 + 0.215*(phases[3] - 80), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 84 and phases[3] <= 88 then
				if SongTime > 125.86 + 0.1*(phases[3] - 84) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 125.86 + 0.1*(phases[3] - 84), Appear = 126.86 + 0.1*(phases[3] - 84), Disappear = 127.86 + 0.1*(phases[3] - 84), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 127.96 + 0.1*(phases[3] - 84) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 125.86 + 0.1*(phases[3] - 84), Appear = 126.86 + 0.1*(phases[3] - 84), Disappear = 127.86 + 0.1*(phases[3] - 84), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 89 and phases[3] <= 92 then
				if SongTime > 126.72 + 0.32*(phases[3] - 89) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 126.72 + 0.32*(phases[3] - 89), Appear = 127.72 + 0.32*(phases[3] - 89), Disappear = 128.72 + 0.32*(phases[3] - 89), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 129.82 + 0.32*(phases[3] - 89) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 126.72 + 0.32*(phases[3] - 89), Appear = 127.72 + 0.32*(phases[3] - 89), Disappear = 128.72 + 0.32*(phases[3] - 89), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 93 and phases[3] <= 97 then
				if SongTime > 128.22 + 0.215*(phases[3] - 93) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 128.22 + 0.215*(phases[3] - 93), Appear = 129.22 + 0.215*(phases[3] - 93), Disappear = 130.22 + 0.215*(phases[3] - 93), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 130.32 + 0.215*(phases[3] - 93) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 128.22 + 0.215*(phases[3] - 93), Appear = 129.22 + 0.215*(phases[3] - 93), Disappear = 130.22 + 0.215*(phases[3] - 93), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 98 and phases[3] <= 102 then
				if SongTime > 129.29 + 0.1*(phases[3] - 98) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 129.29 + 0.1*(phases[3] - 98), Appear = 130.29 + 0.1*(phases[3] - 98), Disappear = 131.29 + 0.1*(phases[3] - 98), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 131.39 + 0.1*(phases[3] - 98) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 129.29 + 0.1*(phases[3] - 98), Appear = 130.29 + 0.1*(phases[3] - 98), Disappear = 131.29 + 0.1*(phases[3] - 98), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 103 and phases[3] <= 108 then
				if SongTime > 130.14 + 0.215*(phases[3] - 103) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 130.14 + 0.215*(phases[3] - 103), Appear = 131.14 + 0.215*(phases[3] - 103), Disappear = 132.14 + 0.215*(phases[3] - 103), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 132.24 + 0.215*(phases[3] - 103) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 130.14 + 0.215*(phases[3] - 103), Appear = 131.14 + 0.215*(phases[3] - 103), Disappear = 132.14 + 0.215*(phases[3] - 103), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 109 and phases[3] <= 112 then
				if SongTime > 131.86 + 0.215*(phases[3] - 109) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 131.86 + 0.215*(phases[3] - 109), Appear = 132.86 + 0.215*(phases[3] - 109), Disappear = 133.86 + 0.215*(phases[3] - 109), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 133.96 + 0.215*(phases[3] - 109) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 131.86 + 0.215*(phases[3] - 109), Appear = 132.86 + 0.215*(phases[3] - 109), Disappear = 133.86 + 0.215*(phases[3] - 109), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 113 and phases[3] <= 117 then
				if SongTime > 132.72 + 0.1*(phases[3] - 113) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 132.72 + 0.1*(phases[3] - 113), Appear = 133.72 + 0.1*(phases[3] - 113), Disappear = 134.72 + 0.1*(phases[3] - 113), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 134.82 + 0.1*(phases[3] - 113) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 132.72 + 0.1*(phases[3] - 113), Appear = 133.72 + 0.1*(phases[3] - 113), Disappear = 134.72 + 0.1*(phases[3] - 113), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] >= 118 and phases[3] <= 121 then
				if SongTime > 133.57 + 0.32*(phases[3] - 118) and not backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 133.57 + 0.32*(phases[3] - 118), Appear = 134.57 + 0.32*(phases[3] - 118), Disappear = 135.57 + 0.32*(phases[3] - 118), NoColor = true, Final = true})
					phases[3] = phases[3] + 1
				elseif SongTime <= 135.67 + 0.32*(phases[3] - 118) and backwards then
					local Misil = CreateProjectileAbs("Pixel", -100, -100, "BelowBullet")
					local Warning = CreateSprite("Pixel","BelowPlayer")
					Misil.SetVar("NoDamage", 1)
					table.insert(Barras2, {Bullet = Misil, Warn = Warning, Grosor = 20, Ang = math.random(360), Inicial = 133.57 + 0.32*(phases[3] - 118), Appear = 134.57 + 0.32*(phases[3] - 118), Disappear = 135.57 + 0.32*(phases[3] - 118), NoColor = true, Final = true})
					phases[3] = phases[3] - 1
				end
			elseif phases[3] == 122 then
				if SongTime > 136.72 and not backwards then
					for i=1,32 do
						local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", -100, -100, "BelowBullet")
						misil.sprite.color = {1, 32/255, 112/255}
						table.insert(Movement, {Bullet = misil, X = Dorito5.GetVar("X"), Y = Dorito5.GetVar("Y"), Vel = 3, VelRot = 6, Scale = {Initial = 32/480, Increment = 0/480, Time = 10}, Direction = 360/32*i, SpawnTime = 136.72})
					end
					phases[3] = 123
				elseif backwards then
					phases[3] = 121
				end
			elseif phases[3] == 123 then
				if SongTime > 136.72 then
					--End
				elseif backwards then
					phases[3] = 121
				end
			end
		end
		if SongTime > 74.54 and Boss then
			Boss.sprite.Scale((200 + 20*math.sin(math.rad(90/1*(SongTime - 74.54))))/480, (200 + 20*math.sin(math.rad(90/1*(SongTime - 74.54))))/480)
		end
		if Triangulos and (SongTime <= 13.09 or SongTime > 13.54) then
			for i=1,#Triangulos do
				if Triangulos[i].GetVar("Rot") then
					Triangulos[i].sprite.rotation = Boss.sprite.rotation + Triangulos[i].GetVar("Rot")
					Triangulos[i].SetVar("X", Boss.GetVar("X") - (240*Boss.sprite.xscale + 240*Triangulos[i].sprite.xscale + 4)*math.sin(math.rad(Triangulos[i].sprite.rotation)))
					Triangulos[i].SetVar("Y", Boss.GetVar("Y") + (240*Boss.sprite.xscale + 240*Triangulos[i].sprite.xscale + 4)*math.cos(math.rad(Triangulos[i].sprite.rotation)))
					if #Triangulos > 2 and Triangulos[i].GetVar("Scale") then
						Triangulos[i].sprite.Scale(Triangulos[i].GetVar("Scale")/130*Boss.sprite.xscale, Triangulos[i].GetVar("Scale")/130*Boss.sprite.xscale)
					end
				end
			end
		end
		if Dientes then
			Eye1.sprite.Scale(Eye1.GetVar("Scale")/160*Boss.sprite.xscale, Eye1.GetVar("Scale")/160*Boss.sprite.xscale)
			Dientes.sprite.Scale(12.5/160*Boss.sprite.xscale*480/200*Dientes.GetVar("Multiplicador"), 12.5/160*Boss.sprite.xscale*480/200)
			Eye1.sprite.rotation = Boss.sprite.rotation
			Dientes.sprite.rotation = Boss.sprite.rotation
			Eye1.SetVar("X", Boss.GetVar("X") - Eye1.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Eye1.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
			Dientes.SetVar("X", Boss.GetVar("X") - Dientes.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			Eye1.SetVar("Y", Boss.GetVar("Y") + Eye1.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Eye1.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			Dientes.SetVar("Y", Boss.GetVar("Y") + Dientes.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
			if Crack then
				Crack.sprite.rotation = Boss.sprite.rotation
				Crack.sprite.Scale(100/160*Boss.sprite.xscale, 100/160*Boss.sprite.xscale)
				Crack.SetVar("X", Boss.GetVar("X") - Crack.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Crack.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
				Crack.SetVar("Y", Boss.GetVar("Y") + Crack.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Crack.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
				Dorito1.sprite.rotation = Boss.sprite.rotation + 180
				Dorito1.sprite.Scale(100/160*Boss.sprite.xscale, 100/160*Boss.sprite.xscale)
				Dorito1.SetVar("X", Boss.GetVar("X") - Dorito1.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Dorito1.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
				Dorito1.SetVar("Y", Boss.GetVar("Y") + Dorito1.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Dorito1.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			end
			if CirclesE then
				CirclesE[1].sprite.Scale(math.max(CirclesE[1].GetVar("Scale") - CirclesE[1].GetVar("Minus"), 0)/160*Boss.sprite.xscale, math.max(CirclesE[1].GetVar("Scale") - CirclesE[1].GetVar("Minus"), 0)/160*Boss.sprite.xscale)
				CirclesE[2].sprite.Scale(math.max(CirclesE[1].GetVar("Scale") - (CirclesE[1].GetVar("Minus") + 14), 0)/160*Boss.sprite.xscale, math.max(CirclesE[1].GetVar("Scale") - (CirclesE[1].GetVar("Minus") + 14), 0)/160*Boss.sprite.xscale)
				for i=1,2 do
					CirclesE[i].SetVar("X", Boss.GetVar("X") - CirclesE[1].GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + CirclesE[1].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
					CirclesE[i].SetVar("Y", Boss.GetVar("Y") + CirclesE[1].GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + CirclesE[1].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
				end
			end
			if Eye2 then
				Eye2.SetVar("Altura", Eye1.GetVar("Altura"))
				Eye2.SetVar("Horizontal", Eye1.GetVar("Horizontal"))
				Eye2.sprite.Scale((Eye1.GetVar("Scale") - 14)/160*Boss.sprite.xscale, (Eye1.GetVar("Scale") - 14)/160*Boss.sprite.xscale)
				Eye2.SetVar("X", Boss.GetVar("X") - Eye2.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Eye2.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
				Eye2.SetVar("Y", Boss.GetVar("Y") + Eye2.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Eye2.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			end
			if Eye3 then
				Eye3.sprite.Scale(Eye3.GetVar("Scale")/160*Boss.sprite.xscale, Eye3.GetVar("Scale")/160*Boss.sprite.xscale)
				Eye3.SetVar("X", Boss.GetVar("X") - Eye3.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Eye3.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
				Eye3.SetVar("Y", Boss.GetVar("Y") + Eye3.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Eye3.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			end
			if Eye4 then
				Eye4.SetVar("Altura", Eye3.GetVar("Altura"))
				Eye4.SetVar("Horizontal", Eye3.GetVar("Horizontal"))
				if SongTime%0.6 > 0.4 and SongTime <= 68.99 then
					Eye4.sprite.Scale((22 - 10*math.abs(math.sin(math.rad(360/0.2*(SongTime%0.6 - 0.4)))))/160*Boss.sprite.xscale, (22 - 10*math.abs(math.sin(math.rad(360/0.2*(SongTime%0.6 - 0.4)))))/160*Boss.sprite.xscale)
				else
					Eye4.sprite.Scale((Eye3.GetVar("Scale") - 14)/160*Boss.sprite.xscale, (Eye3.GetVar("Scale") - 14)/160*Boss.sprite.xscale)
				end
				Eye4.SetVar("X", Boss.GetVar("X") - Eye4.GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Eye4.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
				Eye4.SetVar("Y", Boss.GetVar("Y") + Eye4.GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Eye4.GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
			end
			if Tears then
				for i=1,#Tears do
					Tears[i].sprite.Scale(Tears[i].GetVar("XScale")/160*Boss.sprite.xscale, Tears[i].GetVar("YScale")/160*Boss.sprite.xscale)
					Tears[i].SetVar("X", Boss.GetVar("X") - Tears[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Tears[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
					Tears[i].SetVar("Y", Boss.GetVar("Y") + Tears[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Tears[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
				end
			end
			if Covers then
				for i=1,2 do
					Covers[i].sprite.Scale(Covers[i].GetVar("Scale")*4.8/160*Boss.sprite.xscale, Covers[i].GetVar("Scale")*4.8/160*Boss.sprite.xscale)
					Covers[i].SetVar("X", Boss.GetVar("X") - Covers[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Covers[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
					Covers[i].SetVar("Y", Boss.GetVar("Y") + Covers[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Covers[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
				end
			end
			if Canon then
				for i=1,#Canon do
					Canon[i].sprite.rotation = Boss.sprite.rotation + Canon[i].GetVar("Rot")
					Canon[i].SetVar("X", Boss.GetVar("X") - Canon[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)) + Canon[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)))
					Canon[i].SetVar("Y", Boss.GetVar("Y") + Canon[i].GetVar("Altura")/160*Boss.sprite.yscale*480*math.cos(math.rad(Boss.sprite.rotation)) + Canon[i].GetVar("Horizontal")/160*Boss.sprite.yscale*480*math.sin(math.rad(Boss.sprite.rotation)))
				end
			end
		end
		if Head then
			if Columna then
				for i=1,3 do
					Columna[i].SetVar("X", Head.GetVar("PX"))
				end
				Columna[3].SetVar("Y", Head.GetVar("PY") + 120)
				Columna[2].SetVar("Y", Head.GetVar("PY") + 210)
				Columna[1].SetVar("Y", Head.GetVar("PY") + 320)
			end
			Head.SetVar("X", Head.GetVar("PX") - Jaw.GetVar("Altura")*math.sin(math.rad(Head.sprite.rotation)))
			Head.SetVar("Y", Head.GetVar("PY") + Jaw.GetVar("Altura")*math.cos(math.rad(Head.sprite.rotation)))
			Eyes.SetVar("X", Head.GetVar("X") + 23.5/(200/480)*Head.sprite.xscale*math.sin(math.rad(Head.sprite.rotation)))
			Eyes.SetVar("Y", Head.GetVar("Y") - 23.5/(200/480)*Head.sprite.yscale*math.cos(math.rad(Head.sprite.rotation)))
			Jaw.SetVar("X", Head.GetVar("PX") + Jaw.GetVar("Altura")*math.sin(math.rad(Jaw.sprite.rotation)))
			Jaw.SetVar("Y", Head.GetVar("PY") - Jaw.GetVar("Altura")*math.cos(math.rad(Jaw.sprite.rotation)))
			Eyes.sprite.Scale(Head.sprite.xscale, Head.sprite.yscale)
			Jaw.sprite.Scale(Head.sprite.xscale, Head.sprite.yscale)
			Eyes.sprite.rotation = Head.sprite.rotation
			Jaw.sprite.color = Head.sprite.color
		end
		if Dorito5 and Dorito4 then
			Dorito5.SetVar("X", Dorito4.GetVar("X"))
			Dorito5.SetVar("Y", Dorito4.GetVar("Y"))
			Dorito5.sprite.rotation = Dorito4.sprite.rotation
			Dorito5.sprite.alpha = 1 - Dorito4.sprite.alpha
		end
		for i=1,#Bullets do
			if Bullets[i].GetVar("Parpadear") then
				if SongTime%4 > 0.4 and SongTime%4 <= 0.6 then
					Bullets[i].sprite.yscale = Data2*math.abs(math.cos(math.rad(180/0.2*(SongTime%4 - 0.4))))
				elseif SongTime%4 > 0.7 and SongTime%4 <= 0.9 then
					Bullets[i].sprite.yscale = Data2*math.abs(math.cos(math.rad(180/0.2*(SongTime%4 - 0.7))))
				end
			elseif Bullets[i].GetVar("Anim") then
				Bullets[i].SetVar("Anim", Bullets[i].GetVar("Anim") + 1)
				if Bullets[i].GetVar("Anim") < 11 and Bullets[i].GetVar("Anim")%2 == 0 then
					Bullets[i].sprite.Set("JS&B Library Sprites/Explotion/"..Bullets[i].GetVar("Anim")/2)
				elseif Bullets[i].GetVar("Anim") >= 11 then
					Bullets[i].SetVar("Remove", true)
				end
			end
		end
		for i=1,#Caida do
			local Datos = Caida[i]
			if Datos.Especiales and Datos.Y <= 260 then
				if Datos.X > 320 then
					Datos.X = math.max(Datos.X - 4, 320)
				elseif Datos.X < 320 then
					Datos.X = math.min(Datos.X + 4, 320)
				end
				Datos.Bullet.sprite.Scale(math.max(Datos.Bullet.sprite.xscale - 4/480, 0), math.max(Datos.Bullet.sprite.yscale - 4/480, 0))
			end
		end
		for i=1,#Barras3 do
			local Datos = Barras3[i]
			if Datos.Follow then
				Datos.PX = Dorito1.GetVar("X")
				Datos.PY = Dorito1.GetVar("Y")
			elseif Datos.Final then
				if Dorito5 then
					Datos.PX = Dorito5.GetVar("X")
					Datos.PY = Dorito5.GetVar("Y")
				else
					Datos.PX = 320
					Datos.PY = 240
				end
				Datos.Bullet.sprite.color = {0.75 + 0.25*math.cos(math.rad(5220/14.56*(SongTime - 122.15))), (87.75 - 55.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255, (147.75 - 35.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255}
				Datos.Warn.color = {0.75 + 0.25*math.cos(math.rad(5220/14.56*(SongTime - 122.15))), (87.75 - 55.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255, (147.75 - 35.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255}
			end
		end
		for i=1,#Barras2 do
			local Datos = Barras2[i]
			if Datos.Especiales then
				Datos.PX = Boss.GetVar("X")
				Datos.PY = Boss.GetVar("Y")
			elseif Datos.Trace then
				Datos.PX = Boss.GetVar("X")
				Datos.PY = Boss.GetVar("Y")
				Datos.Ang = Boss.sprite.rotation + 270
			elseif Datos.Final then
				if Dorito5 then
					Datos.PX = Dorito5.GetVar("X")
					Datos.PY = Dorito5.GetVar("Y")
				else
					Datos.PX = 320
					Datos.PY = 240
				end
				Datos.Bullet.sprite.color = {0.75 + 0.25*math.cos(math.rad(5220/14.56*(SongTime - 122.15))), (87.75 - 55.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255, (147.75 - 35.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255}
				Datos.Warn.color = {0.75 + 0.25*math.cos(math.rad(5220/14.56*(SongTime - 122.15))), (87.75 - 55.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255, (147.75 - 35.75*math.cos(math.rad(5220/14.56*(SongTime - 122.15))))/255}
			end
		end
		for i=1,#Barras do
			local Datos = Barras[i]
			if Datos.Go then
				if SongTime <= Datos.Inicial + 0.4 then
					Datos.PX = Datos.Go[1] + (Datos.Go[2] - Datos.Go[1])*math.sin(math.rad(90/0.4*(SongTime - Datos.Inicial)))
				else
					Datos.PX = Datos.Go[2]
				end
			end
		end
		for i=1,#Appear do
			local Datos = Appear[i]
			if Datos.Rot then
				Datos.Rot = Datos.Rot + 4*NewAudio.GetPitch("Song")
				Datos.Y = 240 + 140*math.sin(math.rad(Datos.Rot))
			elseif Datos.Rotate then
				Datos.Rotate[1] = Datos.Rotate[1] + 1*Datos.Rotate[3]*NewAudio.GetPitch("Song")
				Datos.X = 320 + Datos.Rotate[2]*math.cos(math.rad(Datos.Rotate[1]))
				Datos.Y = 240 + Datos.Rotate[2]*math.sin(math.rad(Datos.Rotate[1]))
			elseif Datos.Around then
				Datos.Around[3] = 90/3*(SongTime - Datos.Around[2])
				Datos.X = Boss.GetVar("X") + 150*math.cos(math.rad(Datos.Around[1] + Datos.Around[3]))
				Datos.Y = Boss.GetVar("Y") + 150*math.sin(math.rad(Datos.Around[1] + Datos.Around[3]))
			elseif Datos.Zoom then
				Datos.X = Datos.Zoom[1] + 20*math.sin(math.rad(90/1*(SongTime - (74.54 + Datos.Zoom[3]))))
				Datos.Y = Datos.Zoom[2] + 20*math.sin(math.rad(90/1.5*(SongTime - (74.54 + Datos.Zoom[3]))))
				if Datos.Gusanito then
					if SongTime > Datos.Gusanito[1] - 1 then
						if SongTime <= Datos.Gusanito[1] then
							Datos.NoColor = true
							Datos.VelRot = -2
							Datos.Bullet.sprite.Set("Peer Gynt Level/Spiky")
							Datos.Zoom[6] = nil
							if SongTime%0.04 <= 0.02 then
								Datos.Bullet.sprite.color = {1, 32/255, 112/255}
							else
								Datos.Bullet.sprite.color = {1,1,1}
							end
						elseif not Datos.Gusanito[3] then
							local misil = CreateProjectileAbs("JS&B Library Sprites/Explotion/1", 0, 0)
							misil.SetVar("NoDamage", 10000000)
							misil.SetVar("SpeedRot", 0)
							misil.SetVar("X", Datos.X)
							misil.SetVar("Y", Datos.Y)
							misil.SetVar("Anim", 1)
							misil.sprite.Scale(Datos.Zoom[4]/178, Datos.Zoom[4]/178)
							table.insert(Bullets, misil)
							Datos.VelRot = 0
							Datos.Bullet.sprite.rotation = Datos.Gusanito[2]
							Datos.Bullet.sprite.Set("Peer Gynt Level/Egg")
							Datos.Bullet.sprite.color = {1, 32/255, 112/255}
							Datos.Zoom[6] = 480
							local gusano = {CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0), CreateProjectileAbs("Peer Gynt Level/Skorpy", 0, 0)}
							for i=1,6 do
								gusano[i].SetVar("NoDamage", 1)
								gusano[i].SetVar("SpeedRot", -2)
								gusano[i].SetVar("X", Datos.X)
								gusano[i].SetVar("Y", Datos.Y)
								gusano[i].SetVar("PX", Datos.X)
								gusano[i].SetVar("PY", Datos.Y)
								gusano[i].sprite.Scale(60/310, 60/310)
								gusano[i].sprite.color = {1, 32/255, 112/255}
								gusano[i].sprite.layer = "BelowBullet"
								table.insert(Bullets, gusano[i])
							end
							gusano[6].SetVar("SpeedRot", 0)
							gusano[6].sprite.Scale(60/480, 60/480)
							table.insert(Scorpion, {Head = gusano[6], Body = {gusano[5], gusano[4], gusano[3], gusano[2], gusano[1]}, X = Datos.X, Y = Datos.Y, SpawnTime = Datos.Gusanito[1], Direction = Datos.Gusanito[2]})
							if Datos.Gusanito[2] == 0 then
								for i=1,10 do
									local Misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
									Misil.sprite.color = {1, 32/255, 112/255}
									Misil.sprite.Scale(20/310, 20/310)
									table.insert(Caida, {Bullet = Misil, X = Datos.X + math.random(-10, 10), Y = Datos.Y, Vel = math.random(-20, 20)/10, Fuerza = math.random(30, 60)/10, Gravedad = 0.2, VelRot = -2, SpawnTime = Datos.Gusanito[1], Remove = {Right = 660, Left = -20, Down = -20}})
								end
							elseif Datos.Gusanito[2] == 90 then
								for i=1,10 do
									local Misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
									Misil.sprite.color = {1, 32/255, 112/255}
									Misil.sprite.Scale(20/310, 20/310)
									table.insert(Caida, {Bullet = Misil, X = Datos.X, Y = Datos.Y + math.random(-10, 10), Vel = math.random(-60, -30)/10, Fuerza = math.random(30)/10, Gravedad = 0.2, VelRot = -2, SpawnTime = Datos.Gusanito[1], Remove = {Right = 660, Left = -20, Down = -20}})
								end
							elseif Datos.Gusanito[2] == 180 then
								for i=1,10 do
									local Misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
									Misil.sprite.color = {1, 32/255, 112/255}
									Misil.sprite.Scale(20/310, 20/310)
									table.insert(Caida, {Bullet = Misil, X = Datos.X + math.random(-20, 20), Y = Datos.Y + math.random(-20), Vel = math.random(-5, 5)/10, Fuerza = math.random(-30, -10)/10, Gravedad = 0.2, VelRot = -2, SpawnTime = Datos.Gusanito[1], Remove = {Right = 660, Left = -20, Down = -20}})
								end
							elseif Datos.Gusanito[2] == 270 then
								for i=1,10 do
									local Misil = CreateProjectileAbs("Peer Gynt Level/Spiky", 0, 0)
									Misil.sprite.color = {1, 32/255, 112/255}
									Misil.sprite.Scale(20/310, 20/310)
									table.insert(Caida, {Bullet = Misil, X = Datos.X, Y = Datos.Y + math.random(-10, 10), Vel = math.random(30, 60)/10, Fuerza = math.random(30)/10, Gravedad = 0.2, VelRot = -2, SpawnTime = Datos.Gusanito[1], Remove = {Right = 660, Left = -20, Down = -20}})
								end
							end
							for j=1,#Appear do
								local Datos = Appear[j]
								if Datos.Zoom then
									Datos.Bullet.sprite.SendToTop()
								end
							end
							Datos.Gusanito[3] = true
						end
					else
						Datos.NoColor = nil
						Datos.VelRot = -2
						Datos.Bullet.sprite.Set("Peer Gynt Level/Spiky")
						Datos.Bullet.sprite.color = {1, 32/255, 112/255}
						Datos.Zoom[6] = nil
					end
				end
				Datos.Scale = (Datos.Zoom[4] + Datos.Zoom[5]*math.sin(math.rad(90/1*(SongTime - (74.54 + Datos.Zoom[3])))))/(Datos.Zoom[6] or 310)
			end
		end
		for i=1,#Movement do
			local Datos = Movement[i]
			if Datos.Tiempo then
				if SongTime > Datos.Tiempo then
					Datos.Bullet.sprite.alpha = Datos.Bullet.sprite.alpha - (SongTime - Datos.Tiempo)*2
				end
			elseif Datos.Especiales then
				while Datos.Especiales <= SongTime do
					for j=0,1 do
						local misil = CreateProjectileAbs("JS&B Library Sprites/Bullet", 0, 0)
						misil.sprite.color = {1, 32/255, 112/255}
						table.insert(Movement, {Bullet = misil, X = Datos.X + Datos.Vel*60*math.cos(math.rad(Datos.Direction))*(SongTime - Datos.SpawnTime) + math.random(-20, 20)*math.cos(math.rad(Datos.Direction - 270)), Y = Datos.Y + Datos.Vel*60*math.sin(math.rad(Datos.Direction))*(Datos.Especiales - Datos.SpawnTime) + math.random(-20, 20)*math.sin(math.rad(Datos.Direction - 270)), Vel = math.random(20, 40)/10, VelRot = 4, Scale = {Initial = 20/480, Increment = 0, Time = 0}, Direction = Datos.Direction - 210 + math.random(60), SpawnTime = Datos.Especiales, LifeTime = 0.8, NoLag = true, Tiempo = Datos.Especiales + 0.3})
						Datos.Bullet.sprite.SendToTop()
					end
					Datos.Especiales = Datos.Especiales + 0.08
				end
			elseif Datos.Desacelerar then
				Datos.X = Datos.Desacelerar[1].X + Datos.Desacelerar[2]*math.sin(math.rad(90/Datos.LifeTime*(SongTime - Datos.SpawnTime)))*math.cos(math.rad(Datos.Direction))
				Datos.Y = Datos.Desacelerar[1].Y + Datos.Desacelerar[2]*math.sin(math.rad(90/Datos.LifeTime*(SongTime - Datos.SpawnTime)))*math.sin(math.rad(Datos.Direction))
				Datos.Bullet.MoveToAbs(Datos.X, Datos.Y)
				if math.sqrt(math.pow(Datos.X - Datos.Desacelerar[1].X, 2) + math.pow(Datos.Y - Datos.Desacelerar[1].Y, 2)) > Datos.Desacelerar[3] then
					local misil = CreateProjectileAbs("Peer Gynt Level/Shoot", -100, -100, "BelowPlayer")
					misil.sprite.color = {1, 32/255, 112/255}
					misil.sprite.rotation = Datos.Direction
					table.insert(Movement, {Bullet = misil, X = Datos.Desacelerar[1].X + Datos.Desacelerar[3]*math.cos(math.rad(Datos.Direction)), Y = Datos.Desacelerar[1].Y + Datos.Desacelerar[3]*math.sin(math.rad(Datos.Direction)), Vel = 0, Scale = {Initial = Datos.Scale.Initial, Increment = 0/480, Time = 1}, Direction = 0, SpawnTime = Datos.SpawnTime, LifeTime = 0.5, Desacelerar = {{X = Datos.Desacelerar[1].X + Datos.Desacelerar[3]*math.cos(math.rad(Datos.Direction)), Y = Datos.Desacelerar[1].Y + Datos.Desacelerar[3]*math.sin(math.rad(Datos.Direction))}, 0, 0}})
					Datos.Desacelerar[3] = Datos.Desacelerar[3] + 50
					Datos.Bullet.sprite.SendToTop()
				end
				if SongTime > Datos.SpawnTime + Datos.LifeTime - 0.2 then
					Datos.Bullet.sprite.alpha = math.cos(math.rad(90/0.2*(SongTime - (Datos.SpawnTime + Datos.LifeTime - 0.2))))
				end
			end
		end
		for i=1,#Especial do
			local misil = Especial[i - tableaux]
			if misil and misil.isactive then
				if SongTime%0.04 <= 0.02 then
					misil.sprite.color = {1, 32/255, 112/255}
				else
					misil.sprite.color = {1,1,1}
				end
			else
				table.remove(Especial, i - tableaux)
				tableaux = tableaux + 1
			end
		end
		tableaux = 0
		for i=1,#Scorpion do
			local Datos = Scorpion[i - tableaux]
			if Scroll then
				Datos.X = Datos.X + Scroll.X*NewAudio.GetPitch("Song")
				Datos.Y = Datos.Y + Scroll.Y*NewAudio.GetPitch("Song")
			end
			if SongTime > Datos.SpawnTime and Datos.Head.GetVar("Y") <= 540 + 50*#Datos.Body and Datos.Head.GetVar("Y") >= -60 - 50*#Datos.Body and Datos.Head.GetVar("X") <= 700 + 50*#Datos.Body and Datos.Head.GetVar("X") >= -60 - 50*#Datos.Body then
				Datos.Head.sprite.rotation = Datos.Direction - 20*math.cos(math.rad(180/1*(SongTime - Datos.SpawnTime)))
				if Datos.Direction == 0 then
					Datos.Head.SetVar("X", Datos.X + 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("Y", Datos.Y + 250/1*(SongTime - Datos.SpawnTime))
				elseif Datos.Direction == 90 then
					Datos.Head.SetVar("X", Datos.X - 250/1*(SongTime - Datos.SpawnTime))
					Datos.Head.SetVar("Y", Datos.Y + 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("PX", Datos.X + 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("PY", Datos.Y + 250/1*(SongTime - Datos.SpawnTime))
				elseif Datos.Direction == 180 then
					Datos.Head.SetVar("X", Datos.X - 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("Y", Datos.Y - 250/1*(SongTime - Datos.SpawnTime))
				elseif Datos.Direction == 270 then
					Datos.Head.SetVar("X", Datos.X + 250/1*(SongTime - Datos.SpawnTime))
					Datos.Head.SetVar("Y", Datos.Y - 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("PX", Datos.X - 40*math.sin(math.rad(180/1*(SongTime - Datos.SpawnTime))))
					Datos.Head.SetVar("PY", Datos.Y - 250/1*(SongTime - Datos.SpawnTime))
				end
				for i=1,#Datos.Body do
					if i == 1 and math.sqrt(math.pow(Datos.Head.GetVar("Y") - Datos.Body[i].GetVar("Y"), 2) + math.pow(Datos.Head.GetVar("X") - Datos.Body[i].GetVar("X"), 2)) > 50 then
						if Datos.Direction%180 == 0 then
							Datos.Body[i].SetVar("X", Datos.Head.GetVar("X") - 50*math.cos(math.atan2(Datos.Head.GetVar("Y") - Datos.Body[i].GetVar("Y"), Datos.Head.GetVar("X") - Datos.Body[i].GetVar("X"))))
							Datos.Body[i].SetVar("Y", Datos.Head.GetVar("Y") - 50*math.sin(math.atan2(Datos.Head.GetVar("Y") - Datos.Body[i].GetVar("Y"), Datos.Head.GetVar("X") - Datos.Body[i].GetVar("X"))))
						else
							Datos.Body[i].SetVar("PX", Datos.Head.GetVar("PX") - 50*math.cos(math.atan2(Datos.Head.GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Head.GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("PY", Datos.Head.GetVar("PY") - 50*math.sin(math.atan2(Datos.Head.GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Head.GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("X", Datos.Head.GetVar("X") + 50*math.sin(math.atan2(Datos.Head.GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Head.GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("Y", Datos.Head.GetVar("Y") - 50*math.cos(math.atan2(Datos.Head.GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Head.GetVar("PX") - Datos.Body[i].GetVar("PX"))))
						end
					elseif i > 1 and math.sqrt(math.pow(Datos.Body[i - 1].GetVar("Y") - Datos.Body[i].GetVar("Y"), 2) + math.pow(Datos.Body[i - 1].GetVar("X") - Datos.Body[i].GetVar("X"), 2)) > 50 then
						if Datos.Direction%180 == 0 then
							Datos.Body[i].SetVar("X", Datos.Body[i - 1].GetVar("X") - 50*math.cos(math.atan2(Datos.Body[i - 1].GetVar("Y") - Datos.Body[i].GetVar("Y"), Datos.Body[i - 1].GetVar("X") - Datos.Body[i].GetVar("X"))))
							Datos.Body[i].SetVar("Y", Datos.Body[i - 1].GetVar("Y") - 50*math.sin(math.atan2(Datos.Body[i - 1].GetVar("Y") - Datos.Body[i].GetVar("Y"), Datos.Body[i - 1].GetVar("X") - Datos.Body[i].GetVar("X"))))
						else
							Datos.Body[i].SetVar("PX", Datos.Body[i - 1].GetVar("PX") - 50*math.cos(math.atan2(Datos.Body[i - 1].GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Body[i - 1].GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("PY", Datos.Body[i - 1].GetVar("PY") - 50*math.sin(math.atan2(Datos.Body[i - 1].GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Body[i - 1].GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("X", Datos.Body[i - 1].GetVar("X") + 50*math.sin(math.atan2(Datos.Body[i - 1].GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Body[i - 1].GetVar("PX") - Datos.Body[i].GetVar("PX"))))
							Datos.Body[i].SetVar("Y", Datos.Body[i - 1].GetVar("Y") - 50*math.cos(math.atan2(Datos.Body[i - 1].GetVar("PY") - Datos.Body[i].GetVar("PY"), Datos.Body[i - 1].GetVar("PX") - Datos.Body[i].GetVar("PX"))))
						end
					end
				end
			else
				Datos.Head.SetVar("Remove", true)
				for i=1,#Datos.Body do
					Datos.Body[i].SetVar("Remove", true)
				end
				table.remove(Scorpion, i - tableaux)
				tableaux = tableaux + 1
			end
		end
		tableaux = 0
		JSB()
		if SongTime > 27.1 and Boss then
			if Canon then
				Canon[3].sprite.SendToTop()
				Canon[4].sprite.SendToTop()
				Canon[5].sprite.SendToTop()
			end
			Boss.sprite.SendToTop()
			if Triangulos then
				for i=1,#Triangulos do
					Triangulos[i].sprite.SendToTop()
				end
			end
			if Dorito1 then
				Dorito1.sprite.SendToTop()
			end
			if Dientes then
				Dientes.sprite.SendToTop()
			end
			if Covers then
				Covers[1].sprite.SendToTop()
				Covers[2].sprite.SendToTop()
			end
			if Crack then
				Crack.sprite.SendToTop()
			end
			if Canon then
				Canon[1].sprite.SendToTop()
				Canon[2].sprite.SendToTop()
			end
			if Eye3 then
				Eye3.sprite.SendToTop()
			end
			if Eye1 then
				Eye1.sprite.SendToTop()
			end
			if Tears then
				for i=1,#Tears do
					Tears[i].sprite.SendToTop()
				end
			end
			if Eye4 then
				Eye4.sprite.SendToTop()
			end
			if Eye2 then
				Eye2.sprite.SendToTop()
			end
			if CirclesE then
				CirclesE[1].sprite.SendToTop()
				CirclesE[2].sprite.SendToTop()
			end
		end
		if Head then
			Jaw.sprite.SendToTop()
			Head.sprite.SendToTop()
			Eyes.sprite.SendToTop()
		end
		Black.SendToTop()
		if Input.GetKey("P") == 1 then
			Pause = 0
			if not NewAudio.isStopped("Song") then
				Detenido = true
				NewAudio.Pause("Song")
			end
		end
	else
		if Pause == 0 then
			if not Text and not Option1 and not Option2 then
				Text = CreateSprite("Menu/"..GetAlMightyGlobal("Idioma").."/Pausa","Top")
				Option1 = CreateSprite("Menu/"..GetAlMightyGlobal("Idioma").."/Continuar","Top")
				Option2 = CreateSprite("Menu/"..GetAlMightyGlobal("Idioma").."/Quitar","Top")
				Text.MoveTo(320, 260)
				Option1.MoveTo(170, 200)
				Option2.MoveTo(470, 200)
			end
			Black.alpha = Black.alpha + 0.02
			Text.alpha = Black.alpha*2
			Option1.alpha = Black.alpha*2
			Option2.alpha = Black.alpha*2
			if Black.alpha >= 0.5 then
				Pause = 1
				Audio.PlaySound("pip")
			end
		elseif Pause == 1 then
			Option1.color = {1,1,0}
			Option2.color = {1,1,1}
			if Input.Right == 1 then
				Pause = 2
				Audio.PlaySound("pip")
			elseif Input.Confirm == 1 then
				Audio.PlaySound("confirm")
				Option1.color = {1,1,1}
				Option2.color = {1,1,1}
				Pause = 3
			end
		elseif Pause == 2 then
			Option1.color = {1,1,1}
			Option2.color = {1,1,0}
			if Input.Left == 1 then
				Pause = 1
				Audio.PlaySound("pip")
			elseif Input.Confirm == 1 then
				Audio.PlaySound("confirm")
				Option1.color = {1,1,1}
				Option2.color = {1,1,1}
				Pause = 4
			end
		elseif Pause == 3 then
			Black.alpha = Black.alpha - 0.02
			Text.alpha = Black.alpha*2
			Option1.alpha = Black.alpha*2
			Option2.alpha = Black.alpha*2
			if Black.alpha <= 0 then
				Text.Remove()
				Option1.Remove()
				Option2.Remove()
				Text = nil
				Option1 = nil
				Option2 = nil
				if Detenido then
					NewAudio.Unpause("Song")
					Detenido = nil
				end
				Pause = nil
			end
		elseif Pause == 4 then
			Black.alpha = Black.alpha + 0.02
			Text.alpha = Text.alpha - 0.04
			Option1.alpha = Text.alpha
			Option2.alpha = Text.alpha
			if Black.alpha >= 1 then
				if not wait2 then
					wait2 = 0
				end
				wait2 = wait2 + 1
				if wait2 == 60 then
					Text.Remove()
					Option1.Remove()
					Option2.Remove()
					Text = nil
					Option1 = nil
					Option2 = nil
					Pause = 5
					EndAll = true
				end
			end
		end
	end
	if EndAll then
		RemoveAll()
		Black.Remove()
		BG.Remove()
		if TituloSong then
			TituloSong.Remove()
		end
		if VersionLevel then
			VersionLevel.Remove()
		end
		if Advice then
			Advice.Remove()
		end
		NewAudio.Stop("Song")
		NewAudio.DestroyChannel("Song")
		Encounter["nextwaves"] = {"Menu"}
		SetRealGlobal("Extras", 4)
		State("ACTIONSELECT")
		State("DEFENDING")
	end
end

function Reset()
	timer = 30
	phases = {0,0,0}
	hits = 0
	Triangulos = nil
	Eye1 = nil
	Eye2 = nil
	Eye3 = nil
	Eye4 = nil
	Laser1 = nil
	Laser2 = nil
	Dientes = nil
	Bars = nil
	RightArm = nil
	LeftArm = nil
	BG.color = {0,0,0}
	Data1 = nil
	Data2 = nil
	Ojo = nil
	Covers = nil
	Columna = nil
	Crack = nil
	Head = nil
	Jaw = nil
	Eyes = nil
	CirclesE = nil
	CircleS = nil
	Canon = nil
	Tears = nil
	Dorito1 = nil
	Dorito2 = nil
	Dorito3 = nil
	Dorito4 = nil
	Dorito5 = nil
	Anim = nil
end

function OnHit(bullet)
	if (not bullet.GetVar("NoDamage") or (bullet.GetVar("NoDamage") and bullet.GetVar("NoDamage") < 0)) and not murio and not damaged and not Dash and bullet.sprite.alpha >= 0.5 then
		hits = hits + 1
		if hits >= maxhits then
			Audio.PlaySound("dead2")
			murio = true
		else
			Audio.PlaySound("hit")
			HurtAnim = math.atan2(PosY-bullet.absy,PosX-bullet.absx)/math.pi*180
		end
		Muerte.alpha = 1
		Muerte.color = {1,32/255,112/255}
		damaged = 0
	end
end