You could try making a ray from the player that fired the projectile to the player that was hit, then get the direction, convert the direction to a unit vector, like this
local ray = workspace:Raycast(Player1.Tool.Handle.Position , script.Parent.Position)
TouchedPart:ApplyImpulse(ray.Direction.Unit * 500)
This assumes that the projectile is a part and that this script ia parented to the part.
ADDITIONALLY, you can use the Debris:AddItem() function so that you don’t have to worry about destroying it later on
local Force = -50 --We don't want to make this literally send the Player to Brazil
BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
BodyVelocity.Velocity = TargetCharacter.HumanoidRootPart.CFrame.LookVector * Force
game.Debris:AddItem(BodyVelocity, 1)