local function i(i,M)local Y local function U()Y={}Y.MainPart=EFFECT_LIB.NewInvisiblePart()Y.Emitter=script.Fire:clone()Y.Emitter.Parent=Y.MainPart Y.MainPart.Parent=M end local function X()local M=EFFECT_LIB.Loop(1)Y.MainPart.CFrame=(i.CFrame*CFrame.Angles(0,math.rad(M*360),0))*CFrame.new(0,0,-3)local U=GenColor(tick(),5)Y.Emitter.Color=U end local function C()M:ClearAllChildren()Y=nil end return{Start=U;Update=X,Stop=C}end return i
--Main function
local function AttachAuraControl(source_part, eff_cont) --(source_part, effect_container)
	local AnimObj

	local function Start()
		AnimObj = {}
		AnimObj["MainPart"] = EFFECT_LIB.NewInvisiblePart()

		AnimObj["Emitter"] = script.Fire:clone()
		AnimObj["Emitter"].Parent = AnimObj["MainPart"]

		AnimObj["MainPart"].Parent = eff_cont
	end

	local function Update()
		local loop = EFFECT_LIB.Loop(1)
		AnimObj["MainPart"].CFrame = source_part.CFrame
			* CFrame.Angles(0, math.rad(loop * 360), 0)
			* CFrame.new(0, 0, -3)
		local get_col = GenColor(tick(), 5)
		AnimObj["Emitter"].Color = get_col
	end

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

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

return AttachAuraControl
