We do have a way to get the icon_states, but I am talking about how many frames? total delay? or delay for each frame? wether it has a moving state?
example
get_icon_info(icon,icon_state,frame,moving=0)
//set moving = 1 to know about moving_state frames of the icon
if you send the icon only you get a list of all icon_states // no point in that
if you send with an icon_state we get the total no. of frames in the icon_state and the sum of all delays of each frame.Also you could get to know if it has a moving state.
if send an icon_state and a frame then you get the delay for that frame.
Why I asked? It could pose more flexibility to the BYOND icon system.
However My intention was to get the delay and multiply it with a constant which is appropriatley choosen according to world.tick_lag.
Because if I want my process to be faster I would reduce tick_lag, but then the icon animation would be so fast and aggressive.
Alternate solution would be some icon_delay_multipier or something which multiplies each and every delay in every frame of every icon_state with a constant. I hope at least that would be easy to implement.
Though, if your goal is to change the speed of an animation, I'm not sure this would be the best way to handle it.