This is inaccurate and covered in the reference guide.

You make one call citing the interacting object and every animate proc under that inherits the one above it. Redefining it resets the animation.

Ex: In the reference:

obj/spell/proc/Spin()
    // cast a spell on a monster: make the icon spin
    // this animation takes 3s total (6 ticks * 5)
    animate(src, transform = turn(matrix(), 120), time = 2, loop = 5)
    animate(transform = turn(matrix(), 240), time = 2)
    animate(transform = null, time = 2)