local function G(G,M)local t local function m()t={}t.LastUpdate=tick()t.Parts={}for G=1,6,1 do local m=EFFECT_LIB.NewInvisiblePart()m.Transparency=1 local D=Instance.new("\070\105\114\101")D.Color=Color3.new(255,0,127)D.SecondaryColor=Color3.new(255,85,127)D.Heat=5 D.Size=4 D.Parent=m t.Parts[G]=m m.Parent=M end end local function D()local M=EFFECT_LIB.Loop(4)local m=EFFECT_LIB.Loop(.8)for D=1,#t.Parts,1 do t.Parts[D].CFrame=(((G.CFrame*CFrame.Angles(1,math.rad(M*360+(360/#t.Parts)*(D-1)),0))*CFrame.new(0,0,-3))*CFrame.Angles(0,math.rad(90),0))*CFrame.Angles(math.rad(m*-360+D*180),0,0)end end local function n()M:ClearAllChildren()t=nil end return{Start=m,Update=D,Stop=n}end return G
--Main function
local function AttachAuraControl(source_part, eff_cont) --(source_part, effect_container)
	local AnimObj

	local function Start()
		AnimObj = {}
		AnimObj["LastUpdate"] = tick()

		AnimObj["Parts"] = {}

		for i = 1, 6 do
			local np = EFFECT_LIB.NewInvisiblePart()
			np.Transparency = 1

			local fire = Instance.new("Fire")
			fire.Color = Color3.new(255, 0, 127)
			fire.SecondaryColor = Color3.new(255, 85, 127)
			fire.Heat = 5
			fire.Size = 4
			fire.Parent = np

			AnimObj["Parts"][i] = np

			np.Parent = eff_cont
		end
	end

	local function Update()
		local loop = EFFECT_LIB.Loop(4)
		local loop2 = EFFECT_LIB.Loop(0.8)

		for i = 1, #AnimObj["Parts"] do
			AnimObj["Parts"][i].CFrame = source_part.CFrame
				* CFrame.Angles(1, math.rad(loop * 360 + (360 / #AnimObj["Parts"] * (i - 1))), 0)
				* CFrame.new(0, 0, -3)
				* CFrame.Angles(0, math.rad(90), 0)
				* CFrame.Angles(math.rad(loop2 * -360 + (i * 180)), 0, 0)
		end
	end

	local function Stop()
		eff_cont:ClearAllChildren()
		AnimObj = nil
	end

	return { Start = Start, Update = Update, Stop = Stop }
end

return AttachAuraControl
