return function(q)local U=FX.Club.Z:Clone()U.PrimaryPart.CFrame=q local j={U.Floor["\049"].Size,U.Floor["\050"].Size;U.Floor["\051"].Size;U.Floor["\052"].Size;U.Floor["\053"].Size;U.Floor["\054"].Size;U.Floor["\055"].Size,U.Floor["\056"].Size;U.Floor["\057"].Size,U.Floor["\049\048"].Size;U.Floor["\049\049"].Size}local Z=U.Floor.Size U.Floor.Size=Vector3.new()U.Floor.Transparency=1;(coroutine.wrap(function()for q,U in pairs(U.Floor:GetChildren())do if U:IsA("\077\101\115\104\080\097\114\116")then U.Transparency=1 U.Size=Vector3.new()end end end))()U.Parent=workspace.Debris local K=RS.Sounds.Club.Z.Impact:Clone()K.Parent=U.Floor K:Play()local m=RS.Sounds.Club.Z.Explosion:Clone()m.Parent=U.Floor m:Play();(coroutine.wrap(function()for q,Z in pairs(U.Floor:GetChildren())do if Z:IsA("\077\101\115\104\080\097\114\116")then local q=tonumber(Z.Name)Z.Transparency=0;(TS:Create(Z,TweenInfo.new(.18,Enum.EasingStyle.Back,Enum.EasingDirection.Out),{Size=j[q]})):Play()local K=U.Dust:Clone()K.Parent=Z K:Emit(K:GetAttribute("\069\109\105\116\067\111\117\110\116"))task.wait(.015)end end end))()U.Floor.Transparency=0;(TS:Create(U.Floor,TweenInfo.new(.25,Enum.EasingStyle.Back,Enum.EasingDirection.Out),{Size=Z})):Play()local H=U.Dust:Clone()H.Parent=U.Floor H:Emit(H:GetAttribute("\069\109\105\116\067\111\117\110\116"))debrisModule.Shockwave(q.Position,25,55)task.delay(4,function()for q,U in pairs(U.Floor:GetChildren())do if U:IsA("\077\101\115\104\080\097\114\116")then local q=tonumber(U.Name);(TS:Create(U,TweenInfo.new(.35,Enum.EasingStyle.Back,Enum.EasingDirection.In),{Size=Vector3.new()})):Play()task.wait(.025)end end task.wait(.3);(TS:Create(U.Floor,TweenInfo.new(.35,Enum.EasingStyle.Back,Enum.EasingDirection.In),{Size=Vector3.new()})):Play()game.Debris:AddItem(U,2)end)end
-- FUNCTIONS --
return function(TargetCF)
	local spikes = FX.Club.Z:Clone()
	spikes.PrimaryPart.CFrame = TargetCF

	local originalSizeList = {
		spikes.Floor["1"].Size,
		spikes.Floor["2"].Size,
		spikes.Floor["3"].Size,
		spikes.Floor["4"].Size,
		spikes.Floor["5"].Size,
		spikes.Floor["6"].Size,
		spikes.Floor["7"].Size,
		spikes.Floor["8"].Size,
		spikes.Floor["9"].Size,
		spikes.Floor["10"].Size,
		spikes.Floor["11"].Size,
	}

	local floorSize = spikes.Floor.Size
	spikes.Floor.Size = Vector3.new()
	spikes.Floor.Transparency = 1

	coroutine.wrap(function() -- THREAD TO MAKE SPIKES INVISIBLE
		for i, v in pairs(spikes.Floor:GetChildren()) do
			if v:IsA("MeshPart") then
				v.Transparency = 1
				v.Size = Vector3.new()
			end
		end
	end)()

	spikes.Parent = workspace.Debris

	local impactSFX = RS.Sounds.Club.Z.Impact:Clone()
	impactSFX.Parent = spikes.Floor
	impactSFX:Play()

	local expSFX = RS.Sounds.Club.Z.Explosion:Clone()
	expSFX.Parent = spikes.Floor
	expSFX:Play()

	coroutine.wrap(function()
		for i, v in pairs(spikes.Floor:GetChildren()) do
			if v:IsA("MeshPart") then
				local spikeIndex = tonumber(v.Name)
				v.Transparency = 0
				TS:Create(
					v,
					TweenInfo.new(0.18, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
					{ Size = originalSizeList[spikeIndex] }
				):Play()

				local dustFX = spikes.Dust:Clone()
				dustFX.Parent = v
				dustFX:Emit(dustFX:GetAttribute("EmitCount"))

				task.wait(0.015)
			end
		end
	end)()

	spikes.Floor.Transparency = 0
	TS:Create(spikes.Floor, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = floorSize })
		:Play()

	local dustFX = spikes.Dust:Clone()
	dustFX.Parent = spikes.Floor
	dustFX:Emit(dustFX:GetAttribute("EmitCount"))

	debrisModule.Shockwave(TargetCF.Position, 25, 55)

	task.delay(4, function()
		--coroutine.wrap(function()
		for i, v in pairs(spikes.Floor:GetChildren()) do
			if v:IsA("MeshPart") then
				local spikeIndex = tonumber(v.Name)
				TS:Create(
					v,
					TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.In),
					{ Size = Vector3.new() }
				):Play()
				task.wait(0.025)
			end
		end
		--end)()
		task.wait(0.3)

		TS:Create(
			spikes.Floor,
			TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.In),
			{ Size = Vector3.new() }
		):Play()
		game.Debris:AddItem(spikes, 2)
	end)
end
