local function d(d,y)local I local function t()I={}I.LastUpdate=tick()I.Parts={}for d=1,3,1 do local t=EFFECT_LIB.NewInvisiblePart()local Z=script.Energy:Clone()Z.Parent=t Z.Enabled=true I.Parts[d]=t t.Parent=y end end local function Z()local y=EFFECT_LIB.Loop(6)for t=1,#I.Parts,1 do I.Parts[t].CFrame=(d.CFrame*CFrame.Angles(0,math.rad(-y*360+(360/#I.Parts)*(t-1)),0))*CFrame.new(0,-3,-3.2)end end local function a()y:ClearAllChildren()I=nil end return{Start=t;Update=Z,Stop=a}end return d
--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, 3 do
			local np = EFFECT_LIB.NewInvisiblePart()

			local particlez = script.Energy:Clone()
			particlez.Parent = np
			particlez.Enabled = true

			AnimObj["Parts"][i] = np

			np.Parent = eff_cont
		end
	end

	local function Update()
		local loop = EFFECT_LIB.Loop(6)

		for i = 1, #AnimObj["Parts"] do
			AnimObj["Parts"][i].CFrame = source_part.CFrame
				* CFrame.Angles(0, math.rad(-loop * 360 + (360 / #AnimObj["Parts"] * (i - 1))), 0)
				* CFrame.new(0, -3, -3.2) --* 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
