Animations not replicating properly

Scenario
I have been trying to code a light weapon script for a group project. The idea is to allow players to have as many tools as they want, which means many animations will be recycled.

Problem
Unfortunately, once an animation has been run once, it won’t replicate to other clients on any tool besides the one it was run on first time. This only affects the looped animations though, unlooped animations still replicate fine

Tried and failed solutions
So far I have tried having the weapon use a unique instance of (the same) animation (inside the tool which is server replicated); having all weapons use the same animation instance; and even using the server to activate the animations (which I know is a big no-no for player animations).

The animation is being played on the default R15 rig (so not a custom player-model), is set to the proper type (e.g. core, action), and works perfectly on the first tool used.

RELEVANT CODE

*cough*

–Loading Animations
local function AnimationLoading()
local bin = game.ReplicatedStorage.Animations:WaitForChild(“Long”)
AnimShoot = PH:loadAnimation(bin.Fire)
AnimIdle = PH:loadAnimation(bin.R15Idle)
AnimMove = PH:loadAnimation(bin.R15Move)
end
AnimationLoading()
wait()
–//END

–Playing Animations
function Bullet(hit)
AnimShoot:Play()
tool.GunEvent:FireServer(hit)
end

if PH.MoveDirection ~= Vector3.new(0,0,0) then
AnimMove:Play()
AnimIdle:Stop()
elseif PH.MoveDirection == Vector3.new(0,0,0) then
AnimIdle:Play()
AnimMove:Stop()
end

–//END

(“Long” is replaced by “Short” for the other weapon type)

EVIDENCE CACHE

Links

https://gyazo.com/6a040eb48268dadf88035b8966466b4a - P1&2 both use first long
https://gyazo.com/0236508b7191a0cab472c9fc30012b04 - P1&2 both use second long
https://gyazo.com/fc292c4059e47c54505c924f7b4503f5 - P1 uses their 1st short, P2 uses their 2nd
https://gyazo.com/46de7d86169e56a68a64dfbb2caf1272 - P1 uses their 2nd short, P1 uses their 1st
https://gyazo.com/037b9cb734b5cd692bb02c2d2c75909c - P1&2 both use their respective 1st short