local function D(D,f)local s local function T()s={}s.MainPart=EFFECT_LIB.NewInvisiblePart()s.Emitter=script.Fire:clone()s.Emitter.Parent=s.MainPart s.MainPart.Parent=f end local function l()local f=EFFECT_LIB.Loop(1)s.MainPart.CFrame=(D.CFrame*CFrame.Angles(0,math.rad(f*360),0))*CFrame.new(0,0,-3)local T=GenColor(tick(),5)s.Emitter.Color=T end local function B()f:ClearAllChildren()s=nil end return{Start=T;Update=l;Stop=B}end return D

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
