When the player touches the void after being launched by a bomb, they just bounce on the void.
local direction = (humanoidRootPart.Position - flingExplosion.Position).Unit
local forceMagnitude = (touchedPlayer == owner and bombPower)
local impulse = direction * forceMagnitude * humanoidRootPart.AssemblyMass
humanoidRootPart:ApplyImpulse(impulse)
This is how the player is flung. I have no clue why is this happening
I have also tried completely stopping the player’s momentum, and nothing happened. This only happens if you enter the void from the bomb’s explosion
That would probably work, but I feel like it’s a bandage to the actual problem at hand. Also, I am not working on the full game so I am not sure if that would be viable in the game.
If you want an actual solution, I can say the problem is with the impulse obviously. Have you considered using something simple like a linear velocity? I actually don’t use any of the sort myself, so I may be using the wrong term.
Something in that category, though
Edit: In my game, punches can throw you off the baseplate, and when they do, they don’t bounce you like that. I simply set the humanoid state to fallingdown, maybe you could try doing that if it doesn’t impact the game too much? (I also use applyimpulse)
This post reminded me of a weird bug of when you touch objects/players they get flung lol
(It doesn’t also spin the character)
Pretty cool bug
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
game:GetService("RunService").Heartbeat:Connect(function()
if LocalPlayer.Character then
local Char = LocalPlayer.Character
local Root = Char:FindFirstChild("HumanoidRootPart") or Char:FindFirstChild("Torso") or Char:FindFirstChild("UpperTorso")
if Root then
local OriginalVelocity = Root.Velocity
Root.Velocity = Vector3.new(10000, 10000, 10000)
game:GetService("RunService").RenderStepped:Wait()
Root.Velocity = OriginalVelocity
game:GetService("RunService").Stepped:Wait()
end
end
end)