Should NPC animations with hitboxes and animation-events be server sided or localized

So I am making an NPC that attacks using energy blasts and animation and all that. My question is that I keep reading that animations should play from a local script that fires for all clients to see the same exact NPC doing the same movement, but if the animation is a skill like magic beams, shouldn’t the animation be server-sided so that the magic skill or whatever synchronizes hitting the player? i tend to think localized animations have some real time delay or am i wrong? thanks for answering

The server needs to replicate the keyframes to the client anyways when playing the animation on the server side, so it doesn’t cost anything to have the client play the animation instead.

It’s always a better idea to play animations on the client, in the rare exception you’re using AnimationEvents to determine when attacks, but AnimationEvents are only useful for games that have timeslow mechanics.

so should I not use animationEvents? I’m trying to perfectly time some vfx with the animation thats why im using animationEvents, but let me know if theres a better way. also what do you mean timeslow mechanics?