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

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
