Reading the script that you have, it would appear that each lava_effects object would spawn, and assign itself a random timer interval. When the timer activates, it would spawn the effects, and assign itself a new random timer interval.
It would continually repeat the above, and it would run the init hook every time the player reloaded. Have you tried it yet, and what doesn't work?
*Technically the init hook isn't needed (if the timers are all active), but what it does is randomize all of the effect timers when the player reloads.
What you could use it for, is to randomly disable or enable the timers at load, and this could change each time the game is reloaded.
________________________________________________________________________________
That gives me a wonderful idea... Use an onInit hook to shuffle the solutions, and behavior of puzzle & traps at each reload—if they have not yet been interacted with.

I was going to do this with the ORRR2 slider puzzle, but learned that potentially half of the possible shuffles are physically impossible to solve... so I had to leave it fixed in a known good position.