That's definitely the more usual way to do things. Handling the numbers client-side (or, at least without validation) leads to all sorts of issues. Especially if the client and server become out of sync. On a bad connection, the game would be unplayable and not just due to lag. You'd think you were facing east shooting at a kobold, but would really be facing west, 10 meters away, shooting at a wall.
I simplified to the principles but Ryiad has it more precisely.
To be honest I'm not positive of everything they're computing on the client versus the server. For example arrows can sometimes appear to be out of sync with the bow animations, and sometimes spells become out of sync with the visual of the timer on the client.
Movement is definitely client-side prediction (ie client says "I'm moving here" and server pings back with corrections on an as needed basis which can cause a rubber-banding effect). I don't know how much that extends to the rest of the game. I have to imagine the actions would be the same but I no longer have a slow connection to verify how those behave. I'm currently sitting at around 15ms latency to the server.
with another behavior worthy to be notified :
during a long lag (from human perspective) all your actions (keystroke/ mouse) are timely taken into account. Like a key-frame animation to be delayed and played instantly.
a simple example :
you're soloing a quest as a cleric or a paladin , 5 HP left and a shaman kobold coming straight forward to take care of you.
At this precise point, in 3s you're dead if you don't cast Sovereign Host feat (full heal). but ...... long lag of 10s.
here 2 possibilities :
a/- you do nothing because you think you have to wait .
b/- you continue the timeline of events with your fingers on the keyboard and the mouse : you self-heal quickly and put the focus the foe to blast him with an enhanced searing light, all this while nothing moves on the screen.
guess what ? the system won't wait for you but will process all the keystroke timely once it receives the music score. So 10s later :
a/ - you're dead
b/ - he(it) 's dead