The video shows that it throws behind them, then goes to the intended position
function Bomb:Throw()
-- Create an offset for gravity to give it upward's momentum
local g = Vector3.new(0, -workspace.Gravity, 0);
-- Starting position
local x0 = self.model.PrimaryPart.Position;
-- Ending position
local x1 = self.model.Parent.PrimaryPart.CFrame * Vector3.new(0,0,-(self.throwDistance * 2));
-- Calculate velocity
local velocity = (x1 - x0 - 0.5*g*self.throwTime*self.throwTime) / self.throwTime;
for _, v in ipairs(self.model:GetChildren()) do
v:SetNetworkOwner(nil);
end
self.model:FindFirstChild('GripWeld', true):Destroy();
self.model:SetPrimaryPartCFrame(self.model.Parent.RightHand.RightGripAttachment.WorldCFrame)
self.model.PrimaryPart.Velocity = velocity;
print('velocity set')