Anim stops halfway when in water

  1. What do you want to achieve?
    For my anim to work as seen in the screenshot but in the water.

image

  1. What is the issue?
    Anytime in enter the water the anim turns to this:

image
If it helps the anim goes back to normal when i leave the water.

Also the anim is supposed to play in the water (which is does) but when it starts its freezes alot and still goes into that half way form.

  1. What solutions have you tried so far?
    Looked on devforum but i could find anything about anims begin bugged like this when entering the water.
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")

local active = game.ReplicatedStorage:WaitForChild("ToolsRemoteEvents").Bouy.Activate
local deActive = game.ReplicatedStorage:WaitForChild("ToolsRemoteEvents").Bouy.Deactivate
local airActive = game.ReplicatedStorage:WaitForChild("ToolsRemoteEvents").Bouy.AirActivate
local airDective = game.ReplicatedStorage:WaitForChild("ToolsRemoteEvents").Bouy.AirUnactive

local bouy = script.Parent
local air = script.Parent.Handle.ParticleEmitter

local bouyActAnim = script.Parent.BouyActiveAnim
local bouyActPlayer = hum:LoadAnimation(bouyActAnim)


bouy.Equipped:Connect(function(plr)
	active:FireServer(plr)
end)

bouy.Unequipped:Connect(function(plr)
	deActive:FireServer(plr)
end)

airActive.OnClientEvent:Connect(function()
	air.Enabled = true
	task.wait(0.1)
	bouyActPlayer:Play()
end)

airDective.OnClientEvent:Connect(function()
	air.Enabled = false
	print("active")
	
	if bouyActPlayer.IsPlaying == true then
		print("stoping")
		bouyActPlayer:Stop()
	end
end)