-- Decompiled with the Synapse X Luau decompiler.


local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
function lerp(p1, p2, p3)
	return p1 + (p2 - p1) * p3;
end;
function quadBezier(p4, p5, p6, p7)
	return lerp(lerp(p5, p6, p4), lerp(p6, p7, p4), p4);
end;
function ShootFire(p8, p9, p10)
	local u1 = workspace:GetServerTimeNow();
	coroutine.wrap(function()
		local v2 = v1.Assets.Models.PickupParticle:Clone();
		v2.Parent = workspace;
		local u2 = p9 + Vector3.new(0, math.random(0, 25), 0) + (p9 - p10).Unit:Cross(Vector3.yAxis) * math.random(-40, 40);
		v1.Functions.Util.RenderLoop(p8 - u1, function(p11, p12, p13)
			if v2 then
				v2.CFrame = CFrame.new(v1.Functions.Util.QuadBezier(p13, p9, u2, p10), v1.Functions.Util.QuadBezier(p13 + 0.01, p9, u2, p10));
			end;
		end);
		local v3 = v1.Assets.Models.HitParticle:Clone();
		v3.CFrame = v2.CFrame;
		v3.Parent = workspace;

			for v7, v8 in pairs(v3.Attachment:GetChildren()) do
			if v7 then

			else
				break;
			end;
			if v8.ClassName == "ParticleEmitter" then
				v8:Emit(tonumber(string.gsub(v8.Name, "%D", "")));
			end;		
		end;
		v2:Destroy();
		task.delay(1, v3.Destroy, v3);
	end)();
end;
function FireAt(...)
	ShootFire(...);
	v1.Network.Fire("Shoot Fire At", ...);
end;
v1.Signal.Fired("Replicate Shoot Fire", FireAt);
v1.Network.Fired("Replicate Shoot Fire", FireAt);

